[
  {
    "path": ".gitattributes",
    "content": "src/ThirdParty/* linguist-vendored\n"
  },
  {
    "path": ".github/dependabot.yml",
    "content": "##\n## Copyright (c) 2023 Sebastian Pipping <sebastian@pipping.org>\n##\n## This program is free software; you can redistribute it and/or modify\n## it under the terms of the GNU General Public License as published by\n## the Free Software Foundation; either version 2 of the License, or\n## (at your option) any later version.\n##\n## This program is distributed in the hope that it will be useful,\n## but WITHOUT ANY WARRANTY; without even the implied warranty of\n## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n## GNU General Public License for more details.\n##\n## You should have received a copy of the GNU General Public License\n## along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nversion: 2\nupdates:\n\n  - package-ecosystem: \"github-actions\"\n    commit-message:\n      include: \"scope\"\n      prefix: \"Actions\"\n    directory: \"/\"\n    labels:\n      - \"enhancement\"\n    schedule:\n      interval: \"weekly\"\n"
  },
  {
    "path": ".github/workflows/build.yml",
    "content": "name: C/C++ CI\n\non:\n  push:\n  pull_request:\n  schedule:\n    - cron: '0 4 * * 5'  # Every Friday at 4am\n\n# Drop permissions to minimum for security\npermissions:\n  contents: read\n\njobs:\n  build:\n\n    runs-on: ubuntu-22.04\n    strategy:\n      fail-fast: false\n      matrix:\n        config:\n        - {\n            name: \"Ubuntu_GCC\",\n            os: ubuntu-22.04,\n            cc: \"gcc\",\n            cxx: \"g++\",\n            crypto: \"libgcrypt-dev\"\n        }\n        - {\n            name: \"Ubuntu_CLANG\",\n            os: ubuntu-22.04,\n            cc: \"clang\",\n            cxx: \"clang++\",\n            crypto: \"libgcrypt-dev\",\n            configure_args: \"--enable-asan\"\n        }\n        - {\n            name: \"Ubuntu_GCC\",\n            os: ubuntu-22.04,\n            cc: \"gcc\",\n            cxx: \"g++\",\n            crypto: \"libgcrypt-dev\",\n            configure_args: \"--without-ldap\"\n        }\n        - {\n            name: \"Ubuntu_GCC\",\n            os: ubuntu-22.04,\n            cc: \"gcc\",\n            cxx: \"g++\",\n            crypto: \"libgcrypt-dev\",\n            configure_args: \"--enable-debug-build\"\n        }\n        - {\n            name: \"Ubuntu_GCC\",\n            os: ubuntu-22.04,\n            cc: \"gcc\",\n            cxx: \"g++\",\n            crypto: \"libgcrypt-dev\",\n            configure_args: \"--enable-asan\"\n        }\n        - {\n            name: \"Ubuntu_GCC\",\n            os: ubuntu-22.04,\n            cc: \"gcc\",\n            cxx: \"g++\",\n            crypto: \"libgcrypt-dev\",\n            configure_args: \"--with-crypto-library=gcrypt\"\n        }\n        - {\n            name: \"Ubuntu_GCC\",\n            os: ubuntu-22.04,\n            cc: \"gcc\",\n            cxx: \"g++\",\n            crypto: \"libsodium-dev\",\n            configure_args: \"--with-crypto-library=sodium\"\n        }\n        - {\n            name: \"Ubuntu_GCC\",\n            os: ubuntu-22.04,\n            cc: \"gcc\",\n            cxx: \"g++\",\n            crypto: \"libssl-dev\",\n            configure_args: \"--with-crypto-library=openssl\"\n        }\n\n\n\n\n    steps:\n    - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4.2.2\n\n    - name: installing dependencies\n      run: |\n        sudo apt-get -qq update\n        sudo apt-get install -y ansible\n        sudo apt-get install -y libudev-dev libsodium-dev libqb-dev libcap-ng-dev libseccomp-dev\n        sudo apt-get install -y libglib2.0-dev libdbus-glib-1-dev libxml2-utils libpolkit-gobject-1-dev xsltproc\n        sudo apt-get install -y lcov\n        sudo apt-get install -y aspell aspell-en\n        sudo apt-get install -y libprotobuf-dev protobuf-compiler\n        sudo apt-get install -y libldap-dev\n        sudo apt-get install -y valgrind\n        sudo apt-get install -y asciidoc docbook-xml docbook-xsl\n        sudo apt-get install -y umockdev libumockdev-dev\n        sudo gem install coveralls-lcov\n        sudo apt-get install -y ${{ matrix.config.cc }}\n        sudo apt-get install -y ${{ matrix.config.cxx }} || true\n        sudo apt-get install -y ${{ matrix.config.crypto }}\n        sudo apt-get install -y astyle\n\n    - name: setup environment\n      run: |\n        cd src/Tests/LDAP/ansible\n        ansible-playbook -i ./hosts -u root --connection=local playbook.yml\n\n    - name: build\n      run: |\n        ./autogen.sh\n        mkdir build && cd build\n        ${{ matrix.config.cc }} --version\n        ${{ matrix.config.cxx }} --version\n        CC=${{ matrix.config.cc }} CXX=${{ matrix.config.cxx }} ../configure --enable-werror --disable-silent-rules --with-bundled-catch --with-bundled-pegtl --with-ldap --enable-full-test-suite ${{ matrix.config.configure_args }}\n        make \"-j$(nproc)\"\n\n    - name: install (off-system, for coverage)\n      run: |-\n        set -x -o pipefail\n        make -C build DESTDIR=\"${PWD}\"/ROOT install\n        find ROOT/ -not -type d | sort | xargs ls -l\n        rm -Rf find ROOT/  # to not interfere with check-driver.sh\n\n    - name: check\n      run: sudo make -C build check -j1 || { find -name test-suite.log -print -exec cat {} \\; ; false ; }\n\n    - name: distcheck\n      run: sudo make -C build distcheck -j1 || { find -name test-suite.log -print -exec cat {} \\; ; false ; }\n"
  },
  {
    "path": ".github/workflows/docker.yml",
    "content": "##\n## Copyright (c) 2022 Sebastian Pipping <sebastian@pipping.org>\n##\n## This program is free software; you can redistribute it and/or modify\n## it under the terms of the GNU General Public License as published by\n## the Free Software Foundation; either version 2 of the License, or\n## (at your option) any later version.\n##\n## This program is distributed in the hope that it will be useful,\n## but WITHOUT ANY WARRANTY; without even the implied warranty of\n## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n## GNU General Public License for more details.\n##\n## You should have received a copy of the GNU General Public License\n## along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nname: Build on non-Ubuntu Linux using Docker\n\non:\n  push:\n  pull_request:\n  schedule:\n    - cron: '0 4 * * 5'  # Every Friday at 4am\n\n# Drop permissions to minimum for security\npermissions:\n  contents: read\n\njobs:\n  build_docker:\n    strategy:\n      fail-fast: false\n      matrix:\n        linux_distro:\n        - Alpine Linux 3.21  # with musl\n        - CentOS 8.2         # with GCC 8.5.0\n        # - Debian Buster with GCC 9.2  # stock buster has GCC 8.3 - temporarily disabled\n        - Ubuntu 22.04       # because super popular\n        - Ubuntu 25.04       # because GCC 15+\n\n    name: Build on ${{ matrix.linux_distro }} using Docker\n    runs-on: ubuntu-22.04\n\n    steps:\n    - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4.2.2\n\n    - name: Build on ${{ matrix.linux_distro }} using Docker\n      run:  |\n        set -x\n\n        # Create tarballs used by Dockerfile\n        git submodule update --init\n        git archive -o usbguard.tar HEAD\n        ( cd src/ThirdParty/PEGTL/ && git archive -o ../../../pegtl.tar HEAD )\n        ( cd src/ThirdParty/Catch/ && git archive -o ../../../catch.tar HEAD )\n\n        # Build using Docker\n        linux_distro=\"$(tr '[:upper:]' '[:lower:]' <<<\"${{ matrix.linux_distro }}\" | sed 's,[ .],_,g')\"\n        docker build -f scripts/docker/build_on_\"${linux_distro}\".Dockerfile .\n"
  },
  {
    "path": ".github/workflows/polkit.yml",
    "content": "##\n## Copyright (c) 2022 Sebastian Pipping <sebastian@pipping.org>\n##\n## This program is free software; you can redistribute it and/or modify\n## it under the terms of the GNU General Public License as published by\n## the Free Software Foundation; either version 2 of the License, or\n## (at your option) any later version.\n##\n## This program is distributed in the hope that it will be useful,\n## but WITHOUT ANY WARRANTY; without even the implied warranty of\n## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n## GNU General Public License for more details.\n##\n## You should have received a copy of the GNU General Public License\n## along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nname: Check for Polkit policy parse errors\n\non:\n  push:\n  pull_request:\n  schedule:\n    - cron: '0 4 * * 5'  # Every Friday at 4am\n\n# Drop permissions to minimum for security\npermissions:\n  contents: read\n\njobs:\n  polkit_policies:\n\n    name: Check for Polkit policy parse errors\n    runs-on: ubuntu-22.04\n\n    steps:\n    - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4.2.2\n\n    - name: Install runtime dependencies\n      run:  |\n        set -x\n        sudo apt-get update\n        sudo apt-get install --no-install-recommends --yes -V expat\n\n    - name: Check for Polkit policy parse errors\n      run:  |\n        # This will work around pkaction exiting with unjustified(?)\n        # code 1 on Ubuntu 20.04\n        check_polkit_action() { pkaction -v -a \"$1\" | tee /dev/stderr | fgrep -q 'implicit any' ; }\n\n        set -x\n        actions=(\n            org.usbguard.Devices1.listDevices\n            org.usbguard.Devices1.applyDevicePolicy\n            org.usbguard.Policy1.appendRule\n            org.usbguard.Policy1.listRules\n            org.usbguard.Policy1.removeRule\n            org.usbguard1.getParameter\n            org.usbguard1.setParameter\n        )\n\n        # Self-test: Assert that prior to installation, our Polkit \"actions\"\n        # are unknown to PolKit.\n        ! check_polkit_action \"${actions[0]}\"\n\n        # Install the policy so that polkin can find it\n        xmlwf      src/DBus/org.usbguard1.policy\n        sudo cp -v src/DBus/org.usbguard1.policy /usr/share/polkit-1/actions/\n\n        # Assert that after installation, all of our Polkit \"actions\" are known.\n        # This detects parse error regressions.\n        for action in \"${actions[@]}\"; do\n            check_polkit_action \"${action}\"\n        done\n"
  },
  {
    "path": ".gitignore",
    "content": "/libusbguard.pc\n/usbguard\n/usbguard-daemon\n/usbguard-daemon.conf\n/usbguard-dbus\n/usbguard-rule-parser\nMakefile\nMakefile.in\n.deps\n.libs\nlibtool\nconfigure\nconfig/\nconfig.log\nconfig.status\nbuild/\n.dirstamp\n.ycm_extra_conf.py\nstamp-h1\ntest-driver\n*~\n*.sw[po]\n*.l[oa]\n*.o\naclocal.m4\nautom4te.cache/\nm4/libtool.m4\nm4/ltoptions.m4\nm4/ltsugar.m4\nm4/ltversion.m4\nm4/lt~obsolete.m4\nsrc/build-config.h.in.in\n"
  },
  {
    "path": ".gitmodules",
    "content": "[submodule \"src/ThirdParty/Catch\"]\n\tpath = src/ThirdParty/Catch\n\turl = https://github.com/philsquared/Catch\n[submodule \"src/ThirdParty/PEGTL\"]\n\tpath = src/ThirdParty/PEGTL\n\turl = https://github.com/ColinH/PEGTL\n"
  },
  {
    "path": ".lgtm.yml",
    "content": "# lgtm.yml configuration file for C/C++ analysis\n# of USBGuard on lgtm.com:\n# https://lgtm.com/projects/g/USBGuard/usbguard\n\nextraction:\n  cpp:\n    prepare:\n      # Most Debian/Ubuntu package dependencies\n      # are automatically detected, but this one\n      # is not. The team at lgtm.com are looking\n      # into it.\n      packages:\n        - libdbus-glib-1-dev\n\n    after_prepare:\n      - ./autogen.sh\n\n    configure:\n      command: |-\n        ${CC:-cc} --version\n        ${CXX:-c++} --version\n        ./configure --with-bundled-pegtl || { cat config.log ; false ; }\n"
  },
  {
    "path": "CHANGELOG.md",
    "content": "# Change Log\n\n## 1.1.4 - 2025-07-15\n\n### Fixed\n\n- Add tmpfiles.d file for /var/log/usbguard\n- Ignore errors from rmdir during uninstallation\n- Fix regression when specifying IPC privileges using UID\n- Fix support for loongarch\n- Adapt for protobuf 3.0 API changes\n- Add support for Catch2 v3\n- new configure option --enable/disable-catch\n- add FDStreamBuf destructor to stop fd leak\n\n## 1.1.3 - 2024-06-06\n\n### Fixed\n- Addressed several cases where either RuleFile or RuleFolder was not set.\n- Resolved a race condition during fork where the parent process did not wait until everything was initialized in the child process.\n- Included missing documentation in the tarball.\n- Fixed compatibility issues with GCC 13+.\n\n### Added\n- Implemented detection of integer overflow for device IDs to ensure that each device can be uniquely identified by a single ID.\n- Enhanced the service file to disable the Linux kernel's Out-Of-Memory (OOM) killing of processes for this unit.\n- D-bus: check if the client requested interactive authentication, as some clients do not prompt for passwords.\n- Made minor adjustments to the documentation.\n- RuleFolder is enabled by default. At startup, the path to folder must exist and be accessible by the daemon.\n\n## 1.1.2 - 2022-09-02\n\n### Fixed\n- Polkit: Always allow getParameter/listDevices/listRules in active sessions\n- D-Bus: Send reply on auth failure\n- Polkit: Unreference PolkitAuthorizationResult and PolkitAuthority structs if needed\n\n## 1.1.1 - 2022-03-15\n\n### Fixed\n- Restore support for access control filenames without a group\n\n## 1.1.0 - 2022-02-24\n\n### Added\n- Started building with C++17\n- Tree-like list-devices output\n- Added CAP_AUDIT_WRITE capability to service file\n- Added support for lower OpenSSL versions prior to 1.1.0\n- Added a new signal: DevicePolicyApplied\n\n### Fixed/Changed\n- Moved PIDFile from /var/run to /run\n- Fixed linker isssues with disable-static\n- Enhanced bash-completion script\n- Make username/group checking consistent with useradd manual page definition \n  (with addition of capital letters)\n- Fixed multiple IPC related bugs\n- Fixed race condition when accessing port/connect_type for USB devices\n- Using bundled catch v2.13.8 \n- Using bundled PEGTL v3.2.5\n- Fixed usbguard-rule-parser file opening\n- Fix unauthorized access via D-Bus [CVE-2019-25058]\n\n\n## 1.0.0 - 2021-01-13\n\n### Added\n- Added openssl support\n- Starting with libtool versioning\n- Added interface for IPC permission query\n- Introduced partial rule concept fo CLI\n- Added WithConnectType for ldap rule\n\n### Fixed/Changed\n- Daemon does not apply the policy when\n  \"change\" action event appears anymore\n- IPCClientPrivate@disconnect is thread safe\n- Enforced loading of files from .d/ directory\n  in alphabetical order\n- Improved CLI behaviour to be consistent\n- Clarified rule's label documentation\n\n\n## 0.7.8 - 2020-05-20\n\n### Fixed\n- Fixed segfaults with rules.d feature\n\n\n## 0.7.7 - 2020-05-19\n\n### Added\n- Added readwritepath to service file\n- Added match-all keyword to rules language\n- Added rules.d feature\n - daemon can load multiple rule files from rules.d/\n- Included with-connect-type in dbus signal\n\n### Fixed/Changed\n- Fixed sigwaitinfo handling\n- Fixed possible data corruption on stack with appendRule via dbus\n- Fixed ENOBUFS errno handling on netlink socket\n - daemon can survive and wait until socket is readable again\n\n### Removed\n- Dropped unused PIDFile from service file\n- Dropped deprecated dbus-glib dependency\n\n\n## 0.7.6 - 2019-11-08\n\n### Added\n- Added missing options in manpage usbguard-daemon(8)\n- Extended the functionality of allow/block/reject commands\n - the command can handle rule as a param and not only its ID\n - e.g. in case of allow, command will allow each device that matches provided rule\n- Added debug info for malformed descriptors\n\n### Fixed/Changed\n- Changed default backend to uevent\n- Fixed handling of add uevents during scanning\n - now we are sure that the enumeration is completed before processing any uevent\n - we are trying to avoid a race where the kernel is still enumerating the devices\n - and send the uevent while the parent is being authorised\n- Silenced 'bind' and 'unbind' uevents\n\n\n## 0.7.5 - 2019-07-02\n\n### Added\n- Added daemon configuration option HidePII\n- Added check to avoid conflict between ASAN and TSAN\n- Added daemon configuration option for authorized_default\n- Added devpath option to generate-policy\n- Added # line comments to the rule grammar\n- Added ImplicitPolicyTarget to get/set parameter methods\n- Added option to filter rules by label when listing\n- Added the label attribute to rule\n- Added PropertyParameterChanged signal\n- Added support for portX/connect_type attribute\n- Added temporary option to append-rule\n- Added versioning to DBus service\n- Added optional LDAP support\n\n### Fixed/Changed\n- Fixed invalid return value in Rule::Attribute::setSolveEqualsOrdered\n- Fixed KeyValueParser to validate keys only when known names are set\n- Fixed uninitialized variables found by coverity\n- Fixes and cleanups based on LGTM.com report\n- Hardened systemd service\n- Rename ListRules parameter 'query' to 'label'\n- Skip empty lines in usbguard-rule-parser\n\n### Removed\n- The proof-of-concept Qt applet was removed. It is going to be maintained in a simplified form as a separate project.\n\n\n## 0.7.4 - 2018-07-12\n\n### Fixed/Changed\n\n- Fixed conditional manual page generation & installation\n- Replaced Boost library based ext/stdio_filebuf.h implementation\n  with a custom FDStreamBuf implementation\n\n\n## 0.7.3 - 2018-07-11\n\n### Changed\n\n- usbguard-daemon will now exit with an error if it fails to open\n  a logging file or audit event file.\n- Updated PEGTL submodule and dropped support for older PEGTL API\n- Modified the present device enumeration algorithm to be more\n  reliable. Enumeration timeouts won't cause usbguard-daemon process\n  to exit anymore.\n- Manual pages are now generated using asciidoc (a2x) instead of\n  asciidoctor.\n- Generation and installation of manual pages is now optional.\n- Fixed several bugs D-Bus interface XML specification\n\n### Added\n\n- umockdev based device manager capable of simulating devices based\n  on umockdev-record files.\n- Boost libraries can be used as ext/stdio_filebuf.h header file source.\n\n### Removed\n\n- Removed DummyDevices.tar.xz tarball that was supposed to be used for\n  testing.\n\n## 0.7.2 - 2018-01-22\n\n### Fixed/Changed\n\n- Fixed memory leaks in usbguard::Hash class.\n- Fixed file descriptor leaks in usbguard::SysFSDevice class.\n- Skip audit backend logging when no backend was set.\n\n### Added\n\n- Added zsh completion & other scripts to the distribution tarball.\n\n## 0.7.1 - 2017-11-30\n\n### Added\n- CLI: usbguard watch command now includes an -e <path> option to run an executable\n  for every received event. Event data are passed to the executable via environment\n  variables.\n- usbguard-daemon: added \"-K\" option which can disable logging to console.\n- Added zsh autocompletion support.\n- usbguard-daemon: added \"-f\" option which enabled double-fork daemonization procedure.\n- Added AuditBackend usbguard-daemon configuration option for selecting audit log backend.\n- Linux Audit support via new LinuxAudit backend.\n- Added missing RuleCondition.hpp header file to the public API headers.\n- Code Style specification via AStyle configuration file.\n\n### Removed\n- Removed Utility.hpp header file from public API headers\n- Reduced usage of raw C pointers throughout the code\n\n### Changed\n- Qt Applet: disabled session management\n- usbguard-daemon console logging output is enabled by default now. Previously,\n  the -k option had to be passed to enable the output.\n- Replaced --enable-maintainer-mode configure option with --enable-full-test-suite\n  option. When the new option is not used during the configure phase, only a basic\n  set of test is run during the make check phase.\n- usbguard-daemon now opens configuration in read-only mode\n- Fixed UEventDeviceManager to work with Linux Kernel >= 4.13\n- Refactored audit logging to support different audit log backends\n- Reformatted source code to conform to the code style.\n- Made the configuration parser strict. Unknown directives and wrong syntax will\n  cause an error.\n- Reformatted documentation from markdown to asciidoc format.\n\n## 0.7.0 - 2017-04-12\n### Added\n- Added InsertedDevicePolicy configuration option to control the policy\n  method for inserted devices.\n- Added RestoreControllerDeviceState configuration option.\n- Added DeviceManagerBackend configuration option. This option can be used\n  to select from several device manager backend implementations.\n- Implemented an uevent based device manager backend.\n- Added setParameter, getParameter IPC (incl. D-Bus) methods.\n- Added set-parameter, get-parameter CLI subcommands.\n- Qt Applet: Added Spanish (es_AR) translation.\n- Create empty rules.conf file at install time (make install).\n- Support for numeric UID/GID values in IPCAllowedUsers and IPCAllowedGroups\n  settings.\n- If bash completion support is detected at configure time, install the bash\n  completion script during make install.\n- Added new configuration setting: IPCAccessControlFiles.\n- IPC access is now configurable down to a section and privilege\n  level per user and/or group.\n- Added add-user, remove-user usbuard CLI subcommands for creating, removing\n  IPC access control files.\n- Added AuditFilePath configuration option for setting the location of the\n  USBGuard audit events log file path. If set, the usbguard-daemon will log\n  policy and device related actions and whether they succeeded or not.\n\n### Removed\n- Removed UDev based device manager backend and UDev related dependencies.\n- Removed UDev development files/API dependency\n\n### Changed\n- Reset Linux root hub bcdDevice value before updating device hash. This is\n  a backwards incompatible change because it changes how the device hash is\n  computed for Linux root hub devices.\n- Refactored low-level USB device handling into SysFSDevice class which\n  represents a device in the /sys filesystem (sysfs).\n- Removed usage of `readdir_r` because it's obsolete. Replaced with readdir\n  with the assumption that its usage is thread-safe if the directory handle\n  passed to it is not shared between threads.\n- Extended test suite with use case tests.\n- Install the usbguard-daemon configuration and policy file with strict file\n  permissions to prevent policy leaks.\n- Fixed several memory leaks.\n- Don't pre-resolve user and group names in IPCAllowedUsers and IPCAllowedGroups\n  settings. Instead, resolve the name during the IPC authentication phase.\n- Changed default values of PresentDevicePolicy (to apply-policy) and\n  IPCAllowedGroups (removed wheel group entry) settings in the shipped\n  usbguard-daemon.conf configuration file.\n\n## 0.6.2 - 2016-09-18\n### Changed\n- Wait for disconnect in IPCClient dtor if needed\n- Qt Applet: Fixed loading of decision method and default decision settings\n\n## 0.6.1 - 2016-09-16\n### Changed\n- Refactored logging subsystem\n- Fixed handling of IPC disconnect in the IPCClient class\n- Qt Applet: Fixed handling of main window minimization and maximization\n- Fixed building on architectures that don't provide required atomic operations.\n  The libatomic emulation library will be used in such cases.\n- Fixed several typos in the documentation\n\n### Added\n- Implemented a simple internal logger\n- Access to the logger via public API\n- Improved logging coverage. Logging output can be enabled either via\n  CLI options or by setting the `USBGUARD_DEBUG` environment variable to 1.\n- Qt Applet: UI translation support.\n- Qt Applet: Czech (cs_CZ) translation\n\n### Removed\n- Removed spdlog dependency\n\n## 0.6.0 - 2016-09-04\n### Changed\n- Fixed the daemon to use the match target when matching device rules.\n  This fixes matching devices against the rules in the policy.\n- Switched to protobuf based IPC\n- Simplified the IPC and D-Bus interfaces\n- Refactored custom exceptions\n\n### Added\n- Added DevicePresenceChanged signal for notifying about device\n  insertions, updates and removals\n- Added DevicePolicyChanged signal for notifying about device\n  policy changes.\n- Added ExceptionMessage signal for sending asynchronous exceptions\n  to the IPC/D-Bus clients.\n- Extended the usbguard CLI watch subcommand with the ability to\n  wait for the IPC connection to become available. See the new `-w`\n  and `-o` options for details.\n\n### Removed\n- Removed nlohmann/json submodule\n- Removed allowDevice, blockDevice and rejectDevice methods from\n  the IPC and D-Bus interface.\n- Removed DeviceAllowed, DeviceBlocked and DeviceRejected signals\n  from the IPC and D-Bus interface (replaced by single signal)\n- Removed DeviceInserted, DevicePresent and DeviceRemoved signals\n  from the IPC and D-Bus interface (replaced by single signal)\n\n## 0.5.14 - 2016-08-18\n### Changed\n- Fixed unknown descriptor type handling\n\n## 0.5.13 - 2016-08-16\n### Changed\n- refactored USB parser to support multiple handlers per USB descriptor type\n- Qt Applet: device list should be always expanded\n\n### Added\n- added support for an audio device related endpoint descriptor\n\n## 0.5.12 - 2016-08-14\n### Changed\n- Fixed a bug in matching USB interface types with wildcards\n- usbguard-daemon will now abort at startup if the rule file contains\n  syntax error instead of continuing with an empty rule set\n\n## 0.5.11 - 2016-08-13\n### Added\n- Maintainer script for spellchecking source archive files\n- Rule::Attribute class for representing the rule attributes\n- USBDeviceID class for representing the USB device ID\n- configure script option to control the bundling of PEGTL source files\n- id attribute to the rule language for specifying the USB device ID\n- Added a parent device ID field (and methods) to the Device class which\n  tracks the ID of the parent device\n- Implemented \"parent-hash\" attribute for associating a device with its\n  parent device.\n- The QtSvg module/library is now needed to compile the Qt applet\n- Qt Applet: Device Dialog settings work now\n- Qt Applet: The settings state is now remembered (via Qt's QSettings class)\n- Qt Applet: Implemented serial number masking\n- Qt Applet: Initial implementation of DeviceDialog window position randomization\n- Qt Applet: IPC exceptions are shown in the message log\n- Qt Applet: added an initial implementation of the device list with the ability\n             to change authorization target for each device\n- Qt Applet: show a grey version of the USBGuard icon in IPC disconnected state\n- usbguard-daemon.conf: added DeviceRulesWithPort setting (set to false by default)\n- Added support for selecting crypto backend library at compile time using the\n  --with-crypto-library configure script switch\n\n### Changed\n- **IMPORTANT**: The device hash value computation was changed to include the\n  USB descriptor data. Additionally, the algorithm was changed to SHA-256 and\n  the hash value representation to base64. These changes are backwards incompatible\n  and existing policies that use the hash attribute need to be updated.\n- Reimplemented the rule parser using PEGTL\n- Changed public API of the Rule and Device classes because of the new\n  Rule::Attribute class rule attribute representation\n- Extended the public IPCClient::IPCDisconnected method to include exception\n  related information\n- All rule attributes now support both the single and multivalued form\n- A rule attribute can now be specified only once\n- The default usbguard-daemon.conf and usbguard.service files now respect\n  the paths set by the configure script\n- New Qt applet icons with\n- Fixed Qt applet so that it doesn't show an empty window when starting\n- Qt Applet: Reject button is hidden by default.\n- Updated usbguard-daemon manual page\n- Permanent device specific rules managed by allowDevice, blockDevice and\n  rejectDevice actions are now handled properly. Existing device rules are\n  updated instead of just appending new rules to the policy.\n- usbguard-daemon.conf: changed the default configuration value of\n  PresentControllerPolicy to keep\n- Changed the device hashing algorithm to SHA-256\n- Switched hash value representation from hex to base64\n\n### Removed\n- Removed Quex related files\n- The \"from Rule\" Device class constructor was removed because it's use case\n  is unclear and it wasn't used anywhere\n\n## 0.5.10 - 2016-07-08\n### Changed\n- Changed versioning scheme to include a release number. Releases will be\n  rolled out more often during a milestone (x.y -- currently 0.5) development.\n- Enhancements of the usbguard command-line interface.\n- Manual pages are now generated from their source (markdown) during the build\n  process.\n- A default usbguard-daemon configuration file is now installed.\n\n### Added\n- Merged usbguard-applet-qt (sub)project into usbguard.\n- Added a D-Bus bridge component which exposes a D-Bus interface to usbguard.\n\n### Fixed\n- Fixed USB descriptor data parsing. Previously, many real-world cases of\n  descriptors weren't parsed correctly because of a naive implementation of the\n  parser.\n- Fixed systemd integration.\n- Fixed issues: #84, #83, #80, #79, #78, #77, #76, #75, #74, #73, #72, #71,\n  #70, #69, #68, #56, #54, #53, #51, #50, #44.\n\n## 0.4 - 2016-02-07\n### Changed\n- The daemon is now capable of dropping process capabilities and uses a seccomp\n  based syscall allowlist. Options to enable these features were added to the\n  usbguard-daemon command.\n- Devices connected at the start of the daemon are now recognized and the\n  DevicePresent signal is sent for each of them.\n- The library API was extended with the Device and DeviceManager classes.\n- Implemented the usbguard CLI, see usbguard(1) for available commands.\n- Initial authorization policies can be now easily generated using the usbguard\n  generate-policy command.\n- Extended the rule language with rule conditions. See usbguard-rules.conf(5)\n  for details.\n- Moved logging code into the shared library. You can use static methods of the\n  Logger class to configure logging behaviour.\n- Removed the bundled libsodium and libqb libraries.\n\n### Added\n- New configuration options for setting the implicit policy target and how to\n  handle the present devices are now available.\n\n### Fixed\n- String values read from the device are now properly escaped and length limits\n  on these values are enforced.\n- Fixed several bugs.\n- Resolved issues: #46, #45, #41, #40, #37, #32, #31, #28, #25, #24, #21, #16,\n  #13, #9, #4\n\n### Removed\n- The device hashing procedure was altered and generates different hash values.\n  If you are using the hash attribute in your rules, you'll have to update the\n  values.\n- The bundled libsodium and libqb were removed. You'll have to compile and\n  install them separately if your distribution doesn't provide them as\n  packages.\n\n## 0.3p3 - 2015-04-14\n### Changed\n- use AC_CHECK_HEADER instead of a pkg-config based check for json and spdlog\n- make check target available\n\n## 0.3p2 - 2015-04-02\n### Changed\n- SHM permissions are set to uid of the client process and gid of the daemon\n  with rw-rw---- mode (0660).\n- added --with-bundled-json and --with-bundled-spdlog configure options to\n  enable/disable the usage of the bundled libraries\n\n## 0.3p1 - 2015-04-10\n### Removed\n- removed bundled cppformat copylib\n\n## 0.3 - 2015-04-09\n### Changed\n- Implemented a DAC based IPC access control\n\n## Added\n- Ship man pages for usbguard-daemon, usbguard-daemon.conf and\n  usbguard-rules.conf\n- Ship the LICENSE file\n\n### Fixed\n- Fixed appending of permanent rules\n- Fixed distribution RPM spec file. Thanks to Petr Lautrbach and Ralf\n  Corsepius for review.\n- Resolved issues: #18 #19 #13\n\n## 0.2 - 2015-04-03\n### Changed\n- Reworked device hashing.\n- Rule language changes\n  - set operators\n  - renamed \"port\" to \"via-port\"\n  - added \"with-interface\" matching attribute\n  - removed the \"class\" attribute\n- The IPCClient, ConfigFile, Rule and RuleSet classes are now shipped in a\n  shared library.\n- Created abstract interface for OS specific USB device handling.\n- Changed default daemon config path to /etc/usbguard/usbguard-daemon.conf.\n- Implemented basic USB descriptor structure parsing and improved\n  interface type handling\n- The IPC API was changed:\n  - added new signal, DevicePresent, which signals that a device was\n    already present at the start of the IPC session\n  - the DeviceInserted and DevicePresent signals pass interface types that\n    the device supports\n  - the explicit string arguments of the signals are now passed as a map\n\n### Added\n- Support for modifying permanent rules over the IPC interface.\n\n### Fixed\n- Resolved issues: #1 #2 #5 #6 #10 #11\n"
  },
  {
    "path": "LICENSE",
    "content": "                    GNU GENERAL PUBLIC LICENSE\n                       Version 2, June 1991\n\n Copyright (C) 1989, 1991 Free Software Foundation, Inc.,\n 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The licenses for most software are designed to take away your\nfreedom to share and change it.  By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users.  This\nGeneral Public License applies to most of the Free Software\nFoundation's software and to any other program whose authors commit to\nusing it.  (Some other Free Software Foundation software is covered by\nthe GNU Lesser General Public License instead.)  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n  To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have.  You must make sure that they, too, receive or can get the\nsource code.  And you must show them these terms so they know their\nrights.\n\n  We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n  Also, for each author's protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware.  If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors' reputations.\n\n  Finally, any free program is threatened constantly by software\npatents.  We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary.  To prevent this, we have made it clear that any\npatent must be licensed for everyone's free use or not licensed at all.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                    GNU GENERAL PUBLIC LICENSE\n   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n  0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License.  The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage.  (Hereinafter, translation is included without limitation in\nthe term \"modification\".)  Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope.  The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n  1. You may copy and distribute verbatim copies of the Program's\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n  2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n    a) You must cause the modified files to carry prominent notices\n    stating that you changed the files and the date of any change.\n\n    b) You must cause any work that you distribute or publish, that in\n    whole or in part contains or is derived from the Program or any\n    part thereof, to be licensed as a whole at no charge to all third\n    parties under the terms of this License.\n\n    c) If the modified program normally reads commands interactively\n    when run, you must cause it, when started running for such\n    interactive use in the most ordinary way, to print or display an\n    announcement including an appropriate copyright notice and a\n    notice that there is no warranty (or else, saying that you provide\n    a warranty) and that users may redistribute the program under\n    these conditions, and telling the user how to view a copy of this\n    License.  (Exception: if the Program itself is interactive but\n    does not normally print such an announcement, your work based on\n    the Program is not required to print an announcement.)\n\nThese requirements apply to the modified work as a whole.  If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works.  But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n  3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n    a) Accompany it with the complete corresponding machine-readable\n    source code, which must be distributed under the terms of Sections\n    1 and 2 above on a medium customarily used for software interchange; or,\n\n    b) Accompany it with a written offer, valid for at least three\n    years, to give any third party, for a charge no more than your\n    cost of physically performing source distribution, a complete\n    machine-readable copy of the corresponding source code, to be\n    distributed under the terms of Sections 1 and 2 above on a medium\n    customarily used for software interchange; or,\n\n    c) Accompany it with the information you received as to the offer\n    to distribute corresponding source code.  (This alternative is\n    allowed only for noncommercial distribution and only if you\n    received the program in object code or executable form with such\n    an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it.  For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable.  However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n  4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License.  Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n  5. You are not required to accept this License, since you have not\nsigned it.  However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works.  These actions are\nprohibited by law if you do not accept this License.  Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n  6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions.  You may not impose any further\nrestrictions on the recipients' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n  7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all.  For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices.  Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n  8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded.  In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n  9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\nEach version is given a distinguishing version number.  If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation.  If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n  10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission.  For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this.  Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\n                            NO WARRANTY\n\n  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nconvey the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the program's name and a brief idea of what it does.>\n    Copyright (C) <year>  <name of author>\n\n    This program is free software; you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation; either version 2 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License along\n    with this program; if not, write to the Free Software Foundation, Inc.,\n    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n\nAlso add information on how to contact you by electronic and paper mail.\n\nIf the program is interactive, make it output a short notice like this\nwhen it starts in an interactive mode:\n\n    Gnomovision version 69, Copyright (C) year name of author\n    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n    This is free software, and you are welcome to redistribute it\n    under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License.  Of course, the commands you use may\nbe called something other than `show w' and `show c'; they could even be\nmouse-clicks or menu items--whatever suits your program.\n\nYou should also get your employer (if you work as a programmer) or your\nschool, if any, to sign a \"copyright disclaimer\" for the program, if\nnecessary.  Here is a sample; alter the names:\n\n  Yoyodyne, Inc., hereby disclaims all copyright interest in the program\n  `Gnomovision' (which makes passes at compilers) written by James Hacker.\n\n  <signature of Ty Coon>, 1 April 1989\n  Ty Coon, President of Vice\n\nThis General Public License does not permit incorporating your program into\nproprietary programs.  If your program is a subroutine library, you may\nconsider it more useful to permit linking proprietary applications with the\nlibrary.  If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License.\n"
  },
  {
    "path": "Makefile.am",
    "content": "##\n## Copyright (C) 2016 Red Hat, Inc.\n##\n## This program is free software; you can redistribute it and/or modify\n## it under the terms of the GNU General Public License as published by\n## the Free Software Foundation; either version 2 of the License, or\n## (at your option) any later version.\n##\n## This program is distributed in the hope that it will be useful,\n## but WITHOUT ANY WARRANTY; without even the implied warranty of\n## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n## GNU General Public License for more details.\n##\n## You should have received a copy of the GNU General Public License\n## along with this program.  If not, see <http://www.gnu.org/licenses/>.\n##\n## Authors: Daniel Kopecek <dkopecek@redhat.com>\n##          Jiri Vymazal   <jvymazal@redhat.com>\n##          Attila Lakatos <alakatos@redhat.com>\n##\nSUBDIRS=src/Tests/\n\nACLOCAL_AMFLAGS= -I m4\nEXTRA_DIST =\\\n\tLICENSE \\\n\tusbguard-daemon.conf.in \\\n\tusbguard.service.in \\\n\tVERSION \\\n\tCHANGELOG.md \\\n\tsrc/astylerc \\\n\tsrc/test_filesystem.cpp \\\n\tscripts/usbguard-zsh-completion \\\n\tscripts/modeline.vim \\\n\tscripts/astyle.sh \\\n\tscripts/reformat-sources.sh \\\n\tscripts/usb-descriptor-collect.sh\n\nBUILT_SOURCES=\\\n\tsrc/build-config.h\n\n$(top_builddir)/src/build-config.h: $(top_builddir)/src/build-config.h.in\n\t$(SED) \\\n\t  -e \"s|[$$]{localstatedir}|${localstatedir}|g\" \\\n\t  -e \"s|[$$]{exec_prefix}|${prefix}|g\" \\\n\t  -e \"s|[$$]{datarootdir}|${datarootdir}|g\" \\\n\t  -e \"s|[$$]{datadir}|${pkgdatadir}|g\" \\\n\t  -e \"s|[$$]{sysconfdir}|${sysconfdir}|g\" \\\n\t  -e \"s|[$$]{prefix}|${prefix}|g\" \\\n\t  -e \"s|[$$]{PACKAGE_TARNAME}|${PACKAGE_TARNAME}|g\" \\\n\t  $^ > $@ || rm -f $@\n\nDISTCLEANFILES=\\\n\t$(BUILT_SOURCES)\n\nAM_DISTCHECK_CONFIGURE_FLAGS=\\\n\t--enable-full-test-suite \\\n\t--with-bundled-catch \\\n\t--with-bundled-pegtl\n\nCLEANFILES=\n\nman_ADOC_FILES=\\\n\tdoc/man/usbguard.1.adoc \\\n\tdoc/man/usbguard-dbus.8.adoc \\\n\tdoc/man/usbguard-daemon.8.adoc \\\n\tdoc/man/usbguard-daemon.conf.5.adoc \\\n\tdoc/man/usbguard-ldap.conf.5.adoc \\\n\tdoc/man/usbguard-rules.conf.5.adoc\n\nman_ROFF_FILES=\\\n\t$(man_ADOC_FILES:.adoc=.roff)\n\nEXTRA_DIST+=\\\n\t$(man_ADOC_FILES) \\\n\tdoc/man/example-allow-device.adoc \\\n\tdoc/man/example-initial-policy.adoc \\\n\tdoc/man/footer.adoc\n\nCLEANFILES+=\\\n\t$(man_ROFF_FILES) \\\n\t$(man_ROFF_FILES:.roff=)\n\nif DOCS_ENABLED\nBUILT_SOURCES+=\\\n\t$(man_ROFF_FILES)\n\n$(top_builddir)/%.roff: %.adoc\n\t$(MKDIR_P) $$(dirname $@)\n\t$(A2X) -v -f manpage $^ -D $(top_builddir)/$$(dirname $@)\n\t$(INSTALL) -m 644 $(top_builddir)/$(@:.roff=) $(top_builddir)/$@\nendif\n\ninstall-data-hook: install-daemon-conf install-systemd-service install-data-dbus install-tmpfiles\nuninstall-hook: uninstall-daemon-conf uninstall-systemd-service uninstall-data-dbus uninstall-tmpfiles\n\nCLEANFILES+=\\\n\t$(top_builddir)/usbguard-daemon.conf\n\nusbguard-daemon.conf: $(top_builddir)/usbguard-daemon.conf.in\n\t$(SED) \\\n\t  -e \"s|%sysconfdir%|${sysconfdir}|g\" \\\n\t  -e \"s|%localstatedir%|${localstatedir}|g\" \\\n\t  $^ > $@ || rm -f $@\n\nusbguard_confdir= $(sysconfdir)/usbguard\n\ndistuninstallcheck_listfiles= find . -type f ! -name rules.conf -print\n\nEXTRA_DIST+=usbguard-tmpfiles.conf\n\ninstall-tmpfiles:\n\tmkdir -p ${DESTDIR}$(prefix)/lib/tmpfiles.d/\n\t$(INSTALL_DATA) -m 640 ${srcdir}/usbguard-tmpfiles.conf ${DESTDIR}$(prefix)/lib/tmpfiles.d/usbguard.conf\n\nuninstall-tmpfiles:\n\trm ${DESTDIR}$(prefix)/lib/tmpfiles.d/usbguard.conf\n\ninstall-daemon-conf: $(top_builddir)/usbguard-daemon.conf\n\t$(MKDIR_P) $(DESTDIR)/$(usbguard_confdir)\n\t$(MKDIR_P) $(DESTDIR)/$(usbguard_confdir)/IPCAccessControl.d\n\t$(MKDIR_P) $(DESTDIR)/${localstatedir}/log/usbguard\n\tchmod 0700 $(DESTDIR)/${localstatedir}/log/usbguard\n\t$(INSTALL) -m 600 $(top_builddir)/usbguard-daemon.conf \\\n\t  $(DESTDIR)/$(usbguard_confdir)/usbguard-daemon.conf\n\tif ! test -f \"$(DESTDIR)/$(usbguard_confdir)/rules.conf\"; then \\\n\t  touch $(DESTDIR)/$(usbguard_confdir)/rules.conf && \\\n\t  chmod 600 $(DESTDIR)/$(usbguard_confdir)/rules.conf; \\\n\tfi\n\nuninstall-daemon-conf:\n\trm -f $(DESTDIR)/$(usbguard_confdir)/usbguard-daemon.conf\n\nif SYSTEMD_SUPPORT_ENABLED\nCLEANFILES+=\\\n\t$(top_builddir)/usbguard.service\n\nusbguard.service: $(top_srcdir)/usbguard.service.in\n\t$(SED) \\\n\t  -e \"s|%sbindir%|${sbindir}|\" \\\n\t  -e \"s|%sysconfdir%|${sysconfdir}|\" \\\n\t  -e \"s|%localstatedir%|${localstatedir}|\" \\\n\t   $^ > $@ || rm -f $@\n\ninstall-systemd-service: $(top_builddir)/usbguard.service\n\t$(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR)\n\t$(INSTALL) -m 644 $(top_builddir)/usbguard.service \\\n\t $(DESTDIR)$(SYSTEMD_UNIT_DIR)/usbguard.service\n\nuninstall-systemd-service:\n\trm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/usbguard.service\nelse\ninstall-systemd-service:\nuninstall-systemd-service:\nendif\n\nif DOCS_ENABLED\nman8_MANS=\\\n\t$(top_builddir)/doc/man/usbguard-daemon.8\n\nman5_MANS=\\\n\t$(top_builddir)/doc/man/usbguard-daemon.conf.5 \\\n\t$(top_builddir)/doc/man/usbguard-rules.conf.5\n\nman1_MANS=\\\n\t$(top_builddir)/doc/man/usbguard.1\nelse\nman8_MANS=\nman5_MANS=\nman1_MANS=\nendif\n\nAM_CPPFLAGS=\\\n\t-I$(top_srcdir)/src \\\n\t-I$(top_srcdir)/src/Library/public\n\npkgconfigdir = $(libdir)/pkgconfig\npkgconfig_DATA = libusbguard.pc\n\nlib_LTLIBRARIES=\\\n\tlibusbguard.la\n\nlibusbguard_la_CPPFLAGS=\\\n\t-fPIC \\\n\t-I$(top_srcdir)/src \\\n\t-I$(top_srcdir)/src/Library \\\n\t-I$(top_srcdir)/src/Library/public \\\n\t-I$(top_builddir)/src/Library/IPC \\\n\t${BOOST_CPPFLAGS} \\\n\t${PTHREAD_CPPFLAGS} \\\n\t@qb_CFLAGS@ \\\n\t@protobuf_CFLAGS@ \\\n\t@crypto_CFLAGS@ \\\n\t@pegtl_CFLAGS@ \\\n\t@umockdev_CFLAGS@\n\nlibusbguard_la_LDFLAGS=\\\n\t-no-undefined \\\n\t-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \\\n\t${BOOST_LDFLAGS}\n\nlibusbguard_la_LIBADD=\\\n\t@qb_LIBS@ \\\n\t@protobuf_LIBS@ \\\n\t@crypto_LIBS@ \\\n\t@pegtl_LIBS@ \\\n\t@atomic_LIBS@ \\\n\t@umockdev_LIBS@ \\\n\t${BOOST_IOSTREAMS_LIB} \\\n\t${PTHREAD_CFLAGS} \\\n\t${PTHREAD_LIBS}\n\nEXTRA_DIST+=\\\n\tsrc/Library/IPC/Devices.proto \\\n\tsrc/Library/IPC/Exception.proto \\\n\tsrc/Library/IPC/Message.proto \\\n\tsrc/Library/IPC/Policy.proto \\\n\tsrc/Library/IPC/Rule.proto \\\n\tsrc/Library/IPC/Parameter.proto\n\nnodist_libusbguard_la_SOURCES=\\\n\tsrc/Library/IPC/Message.pb.cc \\\n\tsrc/Library/IPC/Message.pb.h \\\n\tsrc/Library/IPC/Rule.pb.cc \\\n\tsrc/Library/IPC/Rule.pb.h \\\n\tsrc/Library/IPC/Devices.pb.cc \\\n\tsrc/Library/IPC/Devices.pb.h \\\n\tsrc/Library/IPC/Exception.pb.cc \\\n\tsrc/Library/IPC/Exception.pb.h \\\n\tsrc/Library/IPC/Policy.pb.cc \\\n\tsrc/Library/IPC/Policy.pb.h \\\n\tsrc/Library/IPC/Parameter.pb.cc \\\n\tsrc/Library/IPC/Parameter.pb.h\n\nBUILT_SOURCES+=\\\n\t$(nodist_libusbguard_la_SOURCES)\n\nCLEANFILES+=\\\n\t$(nodist_libusbguard_la_SOURCES)\n\nlibusbguard_la_SOURCES=\\\n\tsrc/Common/ByteOrder.hpp \\\n\tsrc/Common/FDInputStream.hpp \\\n\tsrc/Common/Thread.hpp \\\n\tsrc/Common/Utility.cpp \\\n\tsrc/Common/Utility.hpp \\\n\tsrc/Common/LDAPUtil.cpp \\\n\tsrc/Common/LDAPUtil.hpp \\\n\tsrc/Library/AllowedMatchesCondition.cpp \\\n\tsrc/Library/AllowedMatchesCondition.hpp \\\n\tsrc/Library/Base64.cpp \\\n\tsrc/Library/Base64.hpp \\\n\tsrc/Library/ConfigFilePrivate.cpp \\\n\tsrc/Library/ConfigFilePrivate.hpp \\\n\tsrc/Library/DeviceBase.cpp \\\n\tsrc/Library/DeviceBase.hpp \\\n\tsrc/Library/DeviceManagerBase.cpp \\\n\tsrc/Library/DeviceManagerBase.hpp \\\n\tsrc/Library/DeviceManagerPrivate.cpp \\\n\tsrc/Library/DeviceManagerPrivate.hpp \\\n\tsrc/Library/DevicePrivate.cpp \\\n\tsrc/Library/DevicePrivate.hpp \\\n\tsrc/Library/FixedStateCondition.cpp \\\n\tsrc/Library/FixedStateCondition.hpp \\\n\tsrc/Library/Hash.cpp \\\n\tsrc/Library/Hash.hpp \\\n\tsrc/Library/IPCClientPrivate.cpp \\\n\tsrc/Library/IPCClientPrivate.hpp \\\n\tsrc/Library/IPCPrivate.cpp \\\n\tsrc/Library/IPCPrivate.hpp \\\n\tsrc/Library/IPCServerPrivate.cpp \\\n\tsrc/Library/IPCServerPrivate.hpp \\\n\tsrc/Library/Init.cpp \\\n\tsrc/Library/KeyValueParserPrivate.cpp \\\n\tsrc/Library/KeyValueParserPrivate.hpp \\\n\tsrc/Library/LocaltimeCondition.cpp \\\n\tsrc/Library/LocaltimeCondition.hpp \\\n\tsrc/Library/RandomStateCondition.cpp \\\n\tsrc/Library/RandomStateCondition.hpp \\\n\tsrc/Library/RuleAppliedCondition.cpp \\\n\tsrc/Library/RuleAppliedCondition.hpp \\\n\tsrc/Library/RuleEvaluatedCondition.cpp \\\n\tsrc/Library/RuleEvaluatedCondition.hpp \\\n\tsrc/Library/RuleParser/Actions.hpp \\\n\tsrc/Library/RuleParser/Grammar.hpp \\\n\tsrc/Library/RulePrivate.cpp \\\n\tsrc/Library/RulePrivate.hpp \\\n\tsrc/Library/SysFSDevice.cpp \\\n\tsrc/Library/SysFSDevice.hpp \\\n\tsrc/Library/UEvent.cpp \\\n\tsrc/Library/UEvent.hpp \\\n\tsrc/Library/UEventDeviceManager.cpp \\\n\tsrc/Library/UEventDeviceManager.hpp \\\n\tsrc/Library/UEventParser.cpp \\\n\tsrc/Library/UEventParser.hpp \\\n\tsrc/Library/UMockdevDeviceManager.cpp \\\n\tsrc/Library/UMockdevDeviceManager.hpp \\\n\tsrc/Library/UMockdevDeviceDefinition.cpp \\\n\tsrc/Library/UMockdevDeviceDefinition.hpp \\\n\tsrc/Library/Utility.cpp \\\n\tsrc/Library/Utility.hpp \\\n\tsrc/Library/public/usbguard/Audit.cpp \\\n\tsrc/Library/public/usbguard/ConfigFile.cpp \\\n\tsrc/Library/public/usbguard/Device.cpp \\\n\tsrc/Library/public/usbguard/DeviceManager.cpp \\\n\tsrc/Library/public/usbguard/DeviceManagerHooks.cpp \\\n\tsrc/Library/public/usbguard/IPCClient.cpp \\\n\tsrc/Library/public/usbguard/IPCServer.cpp \\\n\tsrc/Library/public/usbguard/KeyValueParser.cpp \\\n\tsrc/Library/public/usbguard/Logger.cpp \\\n\tsrc/Library/public/usbguard/MemoryRuleSet.cpp \\\n\tsrc/Library/public/usbguard/Policy.cpp \\\n\tsrc/Library/public/usbguard/Rule.cpp \\\n\tsrc/Library/public/usbguard/RuleCondition.cpp \\\n\tsrc/Library/public/usbguard/RuleParser.cpp \\\n\tsrc/Library/public/usbguard/RuleParser.hpp \\\n\tsrc/Library/public/usbguard/RuleSet.cpp \\\n\tsrc/Library/public/usbguard/Typedefs.cpp \\\n\tsrc/Library/public/usbguard/USB.cpp \\\n\tsrc/Library/public/usbguard/USBGuard.cpp\n\npkginclude_HEADERS=\\\n\tsrc/Library/public/usbguard/Audit.hpp \\\n\tsrc/Library/public/usbguard/ConfigFile.hpp \\\n\tsrc/Library/public/usbguard/Device.hpp \\\n\tsrc/Library/public/usbguard/DeviceManager.hpp \\\n\tsrc/Library/public/usbguard/DeviceManagerHooks.hpp \\\n\tsrc/Library/public/usbguard/Exception.hpp \\\n\tsrc/Library/public/usbguard/IPCClient.hpp \\\n\tsrc/Library/public/usbguard/IPCServer.hpp \\\n\tsrc/Library/public/usbguard/Interface.hpp \\\n\tsrc/Library/public/usbguard/KeyValueParser.hpp \\\n\tsrc/Library/public/usbguard/Logger.hpp \\\n\tsrc/Library/public/usbguard/MemoryRuleSet.hpp \\\n\tsrc/Library/public/usbguard/Policy.hpp \\\n\tsrc/Library/public/usbguard/Predicates.hpp \\\n\tsrc/Library/public/usbguard/Rule.hpp \\\n\tsrc/Library/public/usbguard/RuleCondition.hpp \\\n\tsrc/Library/public/usbguard/RuleSet.hpp \\\n\tsrc/Library/public/usbguard/Typedefs.hpp \\\n\tsrc/Library/public/usbguard/USB.hpp \\\n\tsrc/Library/public/usbguard/USBGuard.hpp\n\n# Workaround for generated protobuf code mishaps\n#```\n# error: no previous declaration for 'void usbguard::IPC::protobuf_Message_2eproto::AddDescriptorImpl()' [-Werror=missing-declarations]\n#  void AddDescriptorImpl() {\n#       ^~~~~~~~~~~~~~~~~\n#```\n%.pb.lo : CXXFLAGS += -Wno-missing-declarations\n\n%.pb.cc %.pb.h: %.proto\n\t$(MKDIR_P) $(top_builddir)/src/Library/IPC\n\t@PROTOC@ --cpp_out=$(top_builddir)/src/Library/IPC --proto_path=$(top_srcdir)/src/Library/IPC \"$<\"\n\tsed -i -e '1i#ifndef __clang_analyzer__' -e '$$a#endif' \"$@\"\n\nsbin_PROGRAMS=\\\n\tusbguard-daemon\n\nusbguard_daemon_SOURCES=\\\n\tsrc/Daemon/Daemon.cpp \\\n\tsrc/Daemon/Daemon.hpp \\\n\tsrc/Daemon/main.cpp \\\n\tsrc/Daemon/FileRuleSet.cpp \\\n\tsrc/Daemon/FileRuleSet.hpp \\\n\tsrc/Daemon/LDAPHandler.cpp \\\n\tsrc/Daemon/LDAPHandler.hpp \\\n\tsrc/Daemon/LDAPRuleSet.cpp \\\n\tsrc/Daemon/LDAPRuleSet.hpp \\\n\tsrc/Daemon/NSHandler.cpp \\\n\tsrc/Daemon/NSHandler.hpp \\\n\tsrc/Daemon/RuleSetFactory.cpp \\\n\tsrc/Daemon/RuleSetFactory.hpp \\\n\tsrc/Daemon/Seccomp.c \\\n\tsrc/Daemon/Seccomp.h \\\n\tsrc/Common/Utility.hpp \\\n\tsrc/Common/Utility.cpp \\\n\tsrc/Daemon/FileAuditBackend.hpp \\\n\tsrc/Daemon/FileAuditBackend.cpp \\\n\tsrc/Daemon/LinuxAuditBackend.hpp \\\n\tsrc/Daemon/LinuxAuditBackend.cpp\n\nusbguard_daemon_CXXFLAGS=\\\n\t$(PTHREAD_CFLAGS)\n\nusbguard_daemon_CPPFLAGS=\\\n\t-fPIE \\\n\t$(AM_CPPFLAGS) \\\n\t@ldap_CFLAGS@ \\\n\t@seccomp_CFLAGS@ \\\n\t@libcapng_CFLAGS@ \\\n\t@audit_CFLAGS@\n\nusbguard_daemon_LDADD=\\\n\t$(top_builddir)/libusbguard.la \\\n\t@ldap_LIBS@ \\\n\t@seccomp_LIBS@ \\\n\t@libcapng_LIBS@ \\\n\t@audit_LIBS@ \\\n\t$(PTHREAD_LIBS)\n\nEXTRA_DIST +=\\\n\tREADME.adoc \\\n\tsrc/ThirdParty/Catch \\\n\tsrc/ThirdParty/PEGTL\n\nbin_PROGRAMS=\\\n\tusbguard \\\n\tusbguard-rule-parser\n\nusbguard_SOURCES=\\\n\tsrc/CLI/usbguard.cpp \\\n\tsrc/CLI/usbguard.hpp \\\n\tsrc/CLI/usbguard-list-devices.hpp \\\n\tsrc/CLI/usbguard-list-devices.cpp \\\n\tsrc/CLI/usbguard-allow-device.hpp \\\n\tsrc/CLI/usbguard-allow-device.cpp \\\n\tsrc/CLI/usbguard-block-device.hpp \\\n\tsrc/CLI/usbguard-block-device.cpp \\\n\tsrc/CLI/usbguard-reject-device.hpp \\\n\tsrc/CLI/usbguard-reject-device.cpp \\\n\tsrc/CLI/usbguard-apply-device-policy.hpp \\\n\tsrc/CLI/usbguard-apply-device-policy.cpp \\\n\tsrc/CLI/usbguard-list-rules.hpp \\\n\tsrc/CLI/usbguard-list-rules.cpp \\\n\tsrc/CLI/usbguard-append-rule.hpp \\\n\tsrc/CLI/usbguard-append-rule.cpp \\\n\tsrc/CLI/usbguard-remove-rule.hpp \\\n\tsrc/CLI/usbguard-remove-rule.cpp \\\n\tsrc/CLI/usbguard-generate-policy.cpp \\\n\tsrc/CLI/usbguard-generate-policy.hpp \\\n\tsrc/CLI/usbguard-watch.hpp \\\n\tsrc/CLI/usbguard-watch.cpp \\\n\tsrc/CLI/IPCSignalWatcher.hpp \\\n\tsrc/CLI/IPCSignalWatcher.cpp \\\n\tsrc/CLI/PolicyGenerator.hpp \\\n\tsrc/CLI/PolicyGenerator.cpp \\\n\tsrc/CLI/usbguard-read-descriptor.hpp \\\n\tsrc/CLI/usbguard-read-descriptor.cpp \\\n\tsrc/CLI/usbguard-set-parameter.hpp \\\n\tsrc/CLI/usbguard-set-parameter.cpp \\\n\tsrc/CLI/usbguard-get-parameter.hpp \\\n\tsrc/CLI/usbguard-get-parameter.cpp \\\n\tsrc/CLI/usbguard-add-user.cpp \\\n\tsrc/CLI/usbguard-add-user.hpp \\\n\tsrc/CLI/usbguard-remove-user.cpp \\\n\tsrc/CLI/usbguard-remove-user.hpp \\\n\tsrc/CLI/usbguard-print-version.cpp \\\n\tsrc/CLI/usbguard-print-version.hpp\n\nusbguard_CXXFLAGS=\\\n\t$(PTHREAD_CFLAGS)\n\nusbguard_CPPFLAGS=\\\n\t-fPIE \\\n\t$(AM_CPPFLAGS) \\\n\t-I$(top_srcdir)/src/CLI\n\nusbguard_LDADD=\\\n\t$(top_builddir)/libusbguard.la \\\n\t${PTHREAD_LIBS}\n\nif ENABLE_BASH_COMPLETION\nbashcompletiondir = $(BASH_COMPLETION_DIR)\ndist_bashcompletion_DATA = $(top_srcdir)/scripts/bash_completion/usbguard\nendif\n\nusbguard_rule_parser_SOURCES=\\\n\tsrc/CLI/usbguard-rule-parser.cpp\n\nusbguard_rule_parser_CPPFLAGS=\\\n\t-fPIE \\\n\t$(AM_CPPFLAGS) \\\n\t-I$(top_srcdir)/src/CLI\n\nusbguard_rule_parser_LDADD=\\\n\t$(top_builddir)/libusbguard.la\n\n#\n# DBus Bridge\n#\nif DBUS_ENABLED\nsbin_PROGRAMS+= usbguard-dbus\n\nif DOCS_ENABLED\nman8_MANS+=\\\n\t$(top_builddir)/doc/man/usbguard-dbus.8\nendif\n\nBUILT_SOURCES+=\\\n\tsrc/DBus/DBusInterface.xml.cstr \\\n\tsrc/DBus/org.usbguard1.service \\\n\tsrc/DBus/usbguard-dbus.service\n\nEXTRA_DIST+=\\\n\tsrc/DBus/org.usbguard1.conf \\\n\tsrc/DBus/org.usbguard1.service.in \\\n\tsrc/DBus/usbguard-dbus.service.in \\\n\tsrc/DBus/org.usbguard1.policy \\\n\tsrc/DBus/DBusInterface.xml\n\nCLEANFILES+=\\\n\t$(top_builddir)/src/DBus/org.usbguard1.service \\\n\t$(top_builddir)/src/DBus/usbguard-dbus.service \\\n\t$(top_builddir)/src/DBus/DBusInterface.xml.cstr\n\nusbguard_dbus_SOURCES=\\\n\tsrc/DBus/gdbus-server.cpp \\\n\tsrc/DBus/DBusBridge.cpp \\\n\tsrc/DBus/DBusBridge.hpp\n\nusbguard_dbus_CPPFLAGS=\\\n\t-fPIE \\\n\t$(AM_CPPFLAGS) \\\n\t-I$(top_builddir)/src/DBus \\\n\t@dbus_CFLAGS@\n\nusbguard_dbus_LDADD=\\\n\t$(top_builddir)/libusbguard.la \\\n\t@dbus_LIBS@\n\n%.xml:\n\txmllint \"$(top_srcdir)/$@\" > /dev/null\n\n%.xml.cstr: %.xml\n\tXMLLINT_INDENT=\"\" xmllint --noblanks --format \"$<\" |\\\n\t  sed -n -e '/<!--/,/-->/ d; s|\\\"|\\\\\"|g; s|.*|\"&\"|; p' > \"$(top_builddir)/$@\"\n\n%.service: %.service.in\n\tsed -e \"s|%{sbindir}%|$(sbindir)|\" \"$<\" > \"$(top_builddir)/$@\"\n\ninstall-data-dbus: $(top_builddir)/src/DBus/org.usbguard1.service install-polkit-policy install-systemd-dbus-service\n\t$(MKDIR_P) $(DESTDIR)$(DBUS_SERVICES_DIR) && \\\n\t  $(INSTALL_DATA) $(top_builddir)/src/DBus/org.usbguard1.service $(DESTDIR)$(DBUS_SERVICES_DIR)\n\t$(MKDIR_P) $(DESTDIR)$(DBUS_BUSCONFIG_DIR) && \\\n\t  $(INSTALL_DATA) $(top_srcdir)/src/DBus/org.usbguard1.conf $(DESTDIR)$(DBUS_BUSCONFIG_DIR)\n\nuninstall-data-dbus: uninstall-polkit-policy uninstall-systemd-dbus-service\n\trm -f $(DESTDIR)$(DBUS_SERVICES_DIR)/org.usbguard1.service\n\t-rmdir $(DESTDIR)$(DBUS_SERVICES_DIR)\n\trm -f $(DESTDIR)$(DBUS_BUSCONFIG_DIR)/org.usbguard1.conf\n\t-rmdir $(DESTDIR)$(DBUS_BUSCONFIG_DIR)\n\ndbus-docs: $(top_srcdir)/src/DBus/DBusInterface.xml\n#\n# Copy the input files to builddir because gdbus-codegen\n# doesn't provide an option to store the output files somewhere\n# else than in the directory where the input files are. And we\n# don't want to create files in the srcdir when building.\n#\n\t$(MKDIR_P) \"$(top_builddir)/src/DBus\"\n\tcp \"$<\" \"$(top_builddir)/src/DBus/\"\n\t$(GDBUS_CODEGEN) --interface-prefix org.usbguard --generate-docbook=docbook \\\n\t  \"$(top_builddir)/src/DBus/DBusInterface.xml\"\n\tfor docbook in $(top_builddir)/docbook-org.usbguard.*.xml; do \\\n\t  $(XSLTPROC) -o \"$$(basename -s .xml $$docbook).html\" \\\n\t  \"$(top_srcdir)/src/ThirdParty/xsl-stylesheets/xhtml-1_1/docbook.xsl\" \\\n\t  \"$(top_builddir)/$$docbook\"; \\\n\tdone\n\nif POLICYKIT_ENABLED\ninstall-polkit-policy:\n\t$(MKDIR_P) $(DESTDIR)$(POLKIT_POLICY_DIR) && \\\n\t  $(INSTALL_DATA) $(top_srcdir)/src/DBus/org.usbguard1.policy $(DESTDIR)$(POLKIT_POLICY_DIR)\n\nuninstall-polkit-policy:\n\trm -f $(DESTDIR)$(POLKIT_POLICY_DIR)/org.usbguard1.policy\n\t-rmdir $(DESTDIR)$(POLKIT_POLICY_DIR)\n\nelse\ninstall-polkit-policy:\nuninstall-polkit-policy:\nendif\n\nif SYSTEMD_SUPPORT_ENABLED\ninstall-systemd-dbus-service: $(top_builddir)/src/DBus/usbguard-dbus.service\n\t$(MKDIR_P) $(DESTDIR)$(SYSTEMD_UNIT_DIR) && \\\n\t  $(INSTALL_DATA) $(top_builddir)/src/DBus/usbguard-dbus.service $(DESTDIR)$(SYSTEMD_UNIT_DIR)\n\nuninstall-systemd-dbus-service:\n\trm -f $(DESTDIR)$(SYSTEMD_UNIT_DIR)/usbguard-dbus.service\n\t-rmdir $(DESTDIR)$(SYSTEMD_UNIT_DIR)\n\nelse\ninstall-systemd-dbus-service:\nuninstall-systemd-dbus-service:\nendif\nelse\ninstall-data-dbus:\nuninstall-data-dbus:\nendif #DBUS_ENABLED\n\n$(DIST_ARCHIVES):\n\ttest -f \"$@\" || $(MAKE) dist\n\nrelease-files: $(DIST_ARCHIVES)\n\t$(eval RELEASE_DIR:=\"release.$(PACKAGE)-$(VERSION)\")\n\t$(eval GPG:=$(shell test -n \"$$QUBES_GPG_DOMAIN\" && echo qubes-gpg-client-wrapper || echo gpg2))\n\t$(MKDIR_P) $(RELEASE_DIR)\n\tcp $(DIST_ARCHIVES) $(RELEASE_DIR)\n\tcd $(RELEASE_DIR) && $(GPG) -b -a -o - $(DIST_ARCHIVES) > $(DIST_ARCHIVES).sig\n\tcd $(RELEASE_DIR) && openssl sha256 $(DIST_ARCHIVES) > $(DIST_ARCHIVES).sum\n\nanalyze-clang:\n\t$(eval ANALYSIS_ROOT:=$(shell mktemp -d -t usbguard-analyze-clang.XXXXXX))\n\t$(eval JOBS:=$(shell grep -c '^processor' /proc/cpuinfo 2> /dev/null || echo 1))\n\tcd \"$(ANALYSIS_ROOT)\" && scan-build $(abs_top_srcdir)/configure $(ANALYZE_CONFIGURE_ARGS)\n\tcd \"$(ANALYSIS_ROOT)\" && scan-build \\\n\t  --status-bugs -maxloop 8 -disable-checker deadcode.DeadStores -o \"$(abs_top_builddir)\" \\\n\t  make -j$(JOBS)\n\trm -rf \"$(ANALYSIS_ROOT)\"\n\n#\n# overriding 'check' target to enable \"make check\" to perform build as well\n#\ncheck: all\n\t$(MAKE) $(AM_MAKEFLAGS) check-recursive\n"
  },
  {
    "path": "README.adoc",
    "content": "USBGuard\n========\n:toc:\n\n[.clearfix]\n--\n[.left]\nimage::https://travis-ci.com/USBGuard/usbguard.svg?branch=master[Travis CI, link=https://travis-ci.com/USBGuard/usbguard]\n[.left]\nimage::https://coveralls.io/repos/github/USBGuard/usbguard/badge.svg[Coverage, link=https://coveralls.io/github/USBGuard/usbguard]\n[.left]\nimage::https://img.shields.io/github/license/USBGuard/usbguard.svg[License, link=https://github.com/USBGuard/usbguard/#license]\n--\n\n== About\n\nUSBGuard is a software framework for implementing USB device authorization policies (what kind of USB devices are authorized) as well as method of use policies (how a USB device may interact with the system).\nSimply put, it is a USB device allowlisting tool.\n\n== Documentation\n\n * User Guide (TBA)\n * Manual Pages\n ** <<doc/man/usbguard-daemon.8.adoc#name, usbguard-daemon(8)>>\n ** <<doc/man/usbguard-daemon.conf.5.adoc#name, usbguard-daemon.conf(5)>>\n ** <<doc/man/usbguard-rules.conf.5.adoc#name, usbguard-rules.conf(5)>>\n ** <<doc/man/usbguard.1.adoc#name, usbguard(1)>>\n ** <<doc/man/usbguard-dbus.8.adoc#name, usbguard-dbus(8)>>\n\n== Compilation & Installation\n\nWARNING: *Prior to starting the USBGuard daemon (or service) for the first time*\n         (but after installation)\n         we need to\n         generate a rules file for USBGuard so that the currently attached\n         USB devices (in particular mouse and keyboard) keep working\n         so that you will not **get locked out of your system**.\n         More on that below at <<before-the-first-start, Before the First Start>>.\n\nTo compile the source code, you will require at least C{plus}{plus}17. +\nIf you are compiling sources from a release tarball, you'll need the development files for:\n\n * https://github.com/ClusterLabs/libqb[libqb] - used for local UNIX socket based IPC\n * https://github.com/google/protobuf[protobuf] - used for IPC message (de)serialization\n * https://download.libsodium.org[libsodium] or https://www.gnupg.org/software/libgcrypt[libgcrypt] - used for hashing\n * https://asciidoc.org[asciidoc (a2x)] - needed to generate documentation\n\nOptionally, you may want to install:\n\n * https://github.com/seccomp/libseccomp[libseccomp] - used to implement a syscall allowlist\n * https://people.redhat.com/sgrubb/libcap-ng/[libcap-ng] - used to drop process capabilities\n\nIf you are on a Debian based GNU/Linux distribution like Ubuntu 21.10,\ninstallation of all build dependencies would be something like this:\n\n    $ sudo apt update && \\\n      sudo apt install --no-install-recommends -V \\\n        asciidoc autoconf automake bash-completion build-essential catch2 \\\n        docbook-xml docbook-xsl git ldap-utils libaudit-dev libcap-ng-dev \\\n        libdbus-glib-1-dev libldap-dev libpolkit-gobject-1-dev libprotobuf-dev \\\n        libqb-dev libseccomp-dev libsodium-dev libtool libxml2-utils \\\n        libumockdev-dev pkg-config protobuf-compiler sudo tao-pegtl-dev xsltproc\n\nAnd then do:\n\n    $ ./configure        # for arguments of interest see below\n    $ make\n    $ make check         # if you would like to run the test suite\n    $ sudo make install\n\nConfigure arguments that deserve explicit mentioning (quoting `./configure --help` output):\n\n      --enable-systemd        install the systemd service unit file (default=no)\n\n      --with-crypto-library   Select crypto backend library. Supported values:\n                              sodium, gcrypt, openssl.\n\n      --with-bundled-catch    Build using the bundled Catch library\n\n      --with-bundled-pegtl    Build using the bundled PEGTL library\n\n      --with-ldap             Build USBGuard with ldap support\n\nIf you want to compile the sources in a cloned repository, you'll have to run the `./autogen.sh` script.\nIt will fetch the sources (via git submodules) of https://github.com/taocpp/PEGTL/[PEGTL] and https://github.com/philsquared/Catch[Catch].\nThe script will then initialize the autotools based build system, e.g. generate the `./configure` script.\n\n== Before the First Start\n\n*Prior to starting the USBGuard daemon (or service) for the first time*\n(but after installation)\nwe need to\ngenerate a rules file for USBGuard so that the currently attached\nUSB devices (in particular mouse and keyboard) keep working\nso that you will not **get locked out of your system**.\n\nA rules file can be generated like this:\n\n    $ sudo sh -c 'usbguard generate-policy > /etc/usbguard/rules.conf'\n\nAfter that, you can safely start service `usbguard`:\n\n    $ sudo systemctl start usbguard.service\n\nAnd you can make systemd start the service every time your boot your machine:\n\n    $ sudo systemctl enable usbguard.service\n\n== License\n\nCopyright (C) 2015-2019 Red Hat, Inc.\n\nThis program is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation; either version 2 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program.  If not, see <http://www.gnu.org/licenses/>.\n"
  },
  {
    "path": "RELEASE_PROCESS.md",
    "content": "# USBGuard Release Process\n\n1. Clean up any artifacts from your local repository.\n\n```\n$ git clean -xfd\n```\n\n2. Setup build directory.\n\n```\n$ ./autogen.sh\n$ mkdir build && cd build\n$ ../configure --enable-full-test-suite --with-crypto-library=gcrypt --with-ldap\n$ make\n```\n\n3. Run the test suite. All the tests must pass.\n\n```\n$ sudo make check\n```\n\n4. Compare previous lib version with current.\n\n```\n$ abidiff --stat ../abi-ref/libusbguard.so.abi .libs/libusbguard.so\n$ cd ..\n```\n\n5. Update the lib version (CURRENT, REVISION, AGE) in `configure.ac` according to comments.\n\n6. Update ABI reference.\n\n```\n$ abidw --out-file abi-ref/libusbguard.so.abi build/.libs/libusbguard.so\n$ sudo rm -rf build\n```\n\n7. Update the `VERSION` file and `CHANGELOG.md`. Commit your changes.\n\n8. Build the final release tarball.\n\n```\n$ ./autogen.sh\n$ mkdir build; cd build\n$ ../configure --with-crypto-library=gcrypt\n$ make dist\n```\n\n9. Tag the release with a signed tag.\n\n```\n$ git tag -s -m \"usbguard-0.x.y\" usbguard-0.x.y\n$ git push origin usbguard-0.x.x\n```\n\n10. Hash and sign the release.\n\n```\n$ sha256sum usbguard-0.x.y.tar.gz > usbguard-0.x.y.tar.gz.sum\n$ gpg --armor --detach-sign usbguard-0.x.y.tar.gz\n$ gpg --clearsign usbguard-0.x.y.tar.gz.sum\n```\n\n11. Create a new GitHub release using the associated tag; add the relevant section from CHANGELOG.md. Upload:\n\n    * usbguard-0.x.y.tar.gz\n    * usbguard-0.x.y.tar.gz.asc\n    * usbguard-0.x.y.tar.gz.sum\n    * usbguard-0.x.y.tar.gz.sum.asc\n"
  },
  {
    "path": "VERSION",
    "content": "1.1.4\n"
  },
  {
    "path": "abi-ref/libusbguard.so.abi",
    "content": "<abi-corpus version='2.4' path='build/.libs/libusbguard.so' architecture='elf-amd-x86_64' soname='libusbguard.so.1'>\n  <elf-needed>\n    <dependency name='libqb.so.100'/>\n    <dependency name='libprotobuf.so.30'/>\n    <dependency name='libgcrypt.so.20'/>\n    <dependency name='libgpg-error.so.0'/>\n    <dependency name='libumockdev.so.0'/>\n    <dependency name='libgobject-2.0.so.0'/>\n    <dependency name='libglib-2.0.so.0'/>\n    <dependency name='libstdc++.so.6'/>\n    <dependency name='libm.so.6'/>\n    <dependency name='libgcc_s.so.1'/>\n    <dependency name='libc.so.6'/>\n    <dependency name='ld-linux-x86-64.so.2'/>\n  </elf-needed>\n  <elf-function-symbols>\n    <elf-symbol name='_ZN8usbguard10AuditEvent11setCommitedEb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10AuditEvent6commitERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10AuditEvent6setKeyERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10AuditEvent7failureEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10AuditEvent7successEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10AuditEventC1EOS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10AuditEventC1ERKNS_13AuditIdentityERSt10shared_ptrINS_12AuditBackendEE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard10AuditEventC2ERKNS_13AuditIdentityERSt10shared_ptrINS_12AuditBackendEE' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10AuditEventC2EOS0_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard10AuditEventC1EOS0_' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10AuditEventC2ERKNS_13AuditIdentityERSt10shared_ptrINS_12AuditBackendEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10AuditEventD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard10AuditEventD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10AuditEventD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10ConfigFile15setSettingValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERS6_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10ConfigFile4openERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10ConfigFile5closeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10ConfigFile5writeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10ConfigFileC1ERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard10ConfigFileC2ERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10ConfigFileC2ERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10ConfigFileD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard10ConfigFileD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10ConfigFileD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10Predicates10isSubsetOfINS_11USBDeviceIDEEEbRKT_S5_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10Predicates10isSubsetOfINS_16USBInterfaceTypeEEEbRKT_S5_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10Predicates10isSubsetOfINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbRKT_SA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10Predicates12isSupersetOfINS_11USBDeviceIDEEEbRKT_S5_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10Predicates12isSupersetOfINS_16USBInterfaceTypeEEEbRKT_S5_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard10Predicates12isSupersetOfINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbRKT_SA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard11USBDeviceID11setVendorIDERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard11USBDeviceID12setProductIDERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard11USBDeviceID13checkDeviceIDERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard11USBDeviceIDC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard11USBDeviceIDC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard11USBDeviceIDC1ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard11USBDeviceIDC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard11USBDeviceIDC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard11USBDeviceIDC2ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard11USBDeviceIDC1ERKS0_' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard11USBDeviceIDC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard11USBDeviceIDC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard11USBDeviceIDD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard11USBDeviceIDD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard11USBDeviceIDD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard11USBDeviceIDaSERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard12AuditBackend6commitERKNS_10AuditEventE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard12AuditBackendC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard12AuditBackendC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard12AuditBackendC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard12AuditBackendD0Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard12AuditBackendD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard12AuditBackendD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard12AuditBackendD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard12toRuleStringINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEES6_RKT_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13AuditIdentityC1Eji' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13AuditIdentityC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard13AuditIdentityC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13AuditIdentityC2Eji' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard13AuditIdentityC1Eji' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13AuditIdentityC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManager11DeviceEventENS0_9EventTypeESt10shared_ptrINS_6DeviceEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManager12insertDeviceESt10shared_ptrINS_6DeviceEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManager12removeDeviceEj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManager13getDeviceListERKNS_4RuleE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManager13getDeviceListEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManager15DeviceExceptionERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManager17eventTypeToStringB5cxx11ENS0_9EventTypeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManager18eventTypeToIntegerENS0_9EventTypeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManager20eventTypeFromIntegerEj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManager20setAuthorizedDefaultENS0_21AuthorizedDefaultTypeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManager29authorizedDefaultTypeToStringB5cxx11ENS0_21AuthorizedDefaultTypeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManager30authorizedDefaultTypeToIntegerENS0_21AuthorizedDefaultTypeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManager31authorizedDefaultTypeFromStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManager31setRestoreControllerDeviceStateEb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManager32authorizedDefaultTypeFromIntegerEi' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManager6createERNS_18DeviceManagerHooksERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManager9getDeviceEj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManagerC1ERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard13DeviceManagerC2ERKS0_' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManagerC1ERNS_18DeviceManagerHooksE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard13DeviceManagerC2ERNS_18DeviceManagerHooksE' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManagerC2ERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManagerC2ERNS_18DeviceManagerHooksE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManagerD0Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManagerD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard13DeviceManagerD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManagerD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13DeviceManageraSERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13MemoryRuleSet4loadEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13MemoryRuleSet4saveEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13MemoryRuleSetC1EPNS_9InterfaceE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13MemoryRuleSetC1ERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard13MemoryRuleSetC2ERKS0_' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13MemoryRuleSetC2EPNS_9InterfaceE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard13MemoryRuleSetC1EPNS_9InterfaceE' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13MemoryRuleSetC2ERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13MemoryRuleSetD0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13MemoryRuleSetD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard13MemoryRuleSetD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13MemoryRuleSetD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13MemoryRuleSetaSERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13RuleConditionC1EOS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13RuleConditionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard13RuleConditionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13RuleConditionC1ERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13RuleConditionC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13RuleConditionC2EOS0_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard13RuleConditionC1EOS0_' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13RuleConditionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13RuleConditionC2ERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard13RuleConditionC1ERKS0_' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13RuleConditionC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard13RuleConditionC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13RuleConditionD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard13RuleConditionD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13RuleConditionD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13RuleConditionaSEOS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13RuleConditionaSERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13RuleConditiondeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard13RuleConditionptEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard14KeyValueParser10viewConfigEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard14KeyValueParser11parseStreamERSi' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard14KeyValueParser6getMapB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard14KeyValueParser9parseLineERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard14KeyValueParserC1ERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS7_bb' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard14KeyValueParserC2ERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS7_bb' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard14KeyValueParserC1ERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EEbb' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard14KeyValueParserC2ERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EEbb' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard14KeyValueParserC2ERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EERKS7_bb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard14KeyValueParserC2ERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EEbb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard14KeyValueParserD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard14KeyValueParserD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard14KeyValueParserD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard16USBInterfaceType10typeStringB5cxx11Ehhhh' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard16USBInterfaceTypeC1ERKNS_22USBInterfaceDescriptorEh' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard16USBInterfaceTypeC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard16USBInterfaceTypeC1Ehhhh' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard16USBInterfaceTypeC2Ehhhh' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard16USBInterfaceTypeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard16USBInterfaceTypeC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard16USBInterfaceTypeC2ERKNS_22USBInterfaceDescriptorEh' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard16USBInterfaceTypeC1ERKNS_22USBInterfaceDescriptorEh' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard16USBInterfaceTypeC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard16USBInterfaceTypeC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard16USBInterfaceTypeC2Ehhhh' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard16USBInterfaceTypeC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard17RuleConditionBase17getImplementationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard17RuleConditionBase17getImplementationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_b' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard17RuleConditionBase4finiEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard17RuleConditionBase4initEPNS_9InterfaceE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard17RuleConditionBase8evaluateERKNS_4RuleE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard17RuleConditionBaseC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_b' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard17RuleConditionBaseC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_b' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard17RuleConditionBaseC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard17RuleConditionBaseC1ERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard17RuleConditionBaseC2ERKS0_' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard17RuleConditionBaseC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_b' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard17RuleConditionBaseC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard17RuleConditionBaseC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard17RuleConditionBaseC2ERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard17RuleConditionBaseD0Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard17RuleConditionBaseD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard17RuleConditionBaseD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard17RuleConditionBaseD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard18DeviceManagerHooks17dmHookDeviceEventENS_13DeviceManager9EventTypeESt10shared_ptrINS_6DeviceEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard19USBDescriptorParser13delDescriptorEh' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard19USBDescriptorParser13setDescriptorEhRKNS_13USBDescriptorE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard19USBDescriptorParser5parseERSi' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard19USBDescriptorParserC1ERNS_24USBDescriptorParserHooksE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard19USBDescriptorParserC2ERNS_24USBDescriptorParserHooksE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard19USBDescriptorParserC1ERNS_24USBDescriptorParserHooksE' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard19USBDescriptorParserD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard19USBDescriptorParserD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard19USBDescriptorParserD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard19getDaemonConfigPathB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard19parseRuleFromStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_mb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard24USBDescriptorParserHooks17loadUSBDescriptorEPNS_19USBDescriptorParserEPKNS_13USBDescriptorE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard24USBDescriptorParserHooks18parseUSBDescriptorEPNS_19USBDescriptorParserEPKNS_13USBDescriptorEPS3_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard24USBDescriptorParserHooksC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard24USBDescriptorParserHooksC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard24USBDescriptorParserHooksC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard24USBParseDeviceDescriptorEPNS_19USBDescriptorParserEPKNS_13USBDescriptorEPS2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard25USBParseUnknownDescriptorEPNS_19USBDescriptorParserEPKNS_13USBDescriptorEPS2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard26USBParseEndpointDescriptorEPNS_19USBDescriptorParserEPKNS_13USBDescriptorEPS2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard27USBParseInterfaceDescriptorEPNS_19USBDescriptorParserEPKNS_13USBDescriptorEPS2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard28getIPCAccessControlFilesPathB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard31USBParseAudioEndpointDescriptorEPNS_19USBDescriptorParserEPKNS_13USBDescriptorEPS2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard31USBParseConfigurationDescriptorEPNS_19USBDescriptorParserEPKNS_13USBDescriptorEPS2_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard31getIPCAccessControlFileBasenameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule10fromStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule10setViaPortERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule11setDeviceIDERKNS_11USBDeviceIDE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule13attributeHashB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule13attributeNameB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule13setParentHashERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule14attributeLabelB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule14targetToStringB5cxx11ENS0_6TargetE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule15attributeSerialB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule15targetToIntegerENS0_6TargetE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule16attributeViaPortB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule16targetFromStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule17attributeDeviceIDEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule17targetFromIntegerEj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule18setWithConnectTypeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule19attributeConditionsEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule19attributeParentHashB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule19setOperatorToStringB5cxx11ERKNS0_11SetOperatorE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule21setOperatorFromStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule22attributeWithInterfaceEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule22updateMetaDataCountersEbb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule24attributeWithConnectTypeB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule7setHashERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule7setNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule8internalEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule8setLabelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_11USBDeviceIDEE14setSetOperatorENS0_11SetOperatorE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_11USBDeviceIDEE3setERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_11USBDeviceIDEE6appendERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_11USBDeviceIDEEC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard4Rule9AttributeINS_11USBDeviceIDEEC2EPKc' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_11USBDeviceIDEEC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_11USBDeviceIDEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard4Rule9AttributeINS_11USBDeviceIDEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_11USBDeviceIDEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_11USBDeviceIDEEaSERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_13RuleConditionEE14setSetOperatorENS0_11SetOperatorE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_13RuleConditionEE6appendEOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_13RuleConditionEE6valuesEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_13RuleConditionEEC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard4Rule9AttributeINS_13RuleConditionEEC2EPKc' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_13RuleConditionEEC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_13RuleConditionEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard4Rule9AttributeINS_13RuleConditionEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_13RuleConditionEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_13RuleConditionEEaSERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_16USBInterfaceTypeEE14setSetOperatorENS0_11SetOperatorE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_16USBInterfaceTypeEE3setERKSt6vectorIS2_SaIS2_EENS0_11SetOperatorE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_16USBInterfaceTypeEE6appendERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_16USBInterfaceTypeEEC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_16USBInterfaceTypeEEC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard4Rule9AttributeINS_16USBInterfaceTypeEEC1EPKc' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_16USBInterfaceTypeEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard4Rule9AttributeINS_16USBInterfaceTypeEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_16USBInterfaceTypeEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINS_16USBInterfaceTypeEEaSERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE14setSetOperatorENS0_11SetOperatorE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3setERKS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE6appendERKS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC1EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2EPKc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC1EPKc' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEaSERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9appliesToERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9setRuleIDEj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9setSerialERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9setTargetENS0_6TargetE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4RuleC1ERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4RuleC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4RuleC2ERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard4RuleC1ERKS0_' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4RuleC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard4RuleC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4RuleD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard4RuleD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4RuleD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4RuleaSERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard5Audit10setBackendESt10unique_ptrINS_12AuditBackendESt14default_deleteIS2_EE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard5Audit10setHidePIIEb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard5Audit11deviceEventERKNS_13AuditIdentityESt10shared_ptrINS_6DeviceEENS_13DeviceManager9EventTypeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard5Audit11deviceEventERKNS_13AuditIdentityESt10shared_ptrINS_6DeviceEES6_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard5Audit11deviceEventESt10shared_ptrINS_6DeviceEENS_13DeviceManager9EventTypeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard5Audit11deviceEventESt10shared_ptrINS_6DeviceEES3_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard5Audit11policyEventERKNS_13AuditIdentityESt10shared_ptrINS_4RuleEENS_6Policy9EventTypeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard5Audit11policyEventERKNS_13AuditIdentityESt10shared_ptrINS_4RuleEES6_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard5Audit11policyEventERKNS_13AuditIdentityESt10shared_ptrINS_6DeviceEENS_4Rule6TargetES8_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard5Audit11policyEventERKNS_13AuditIdentityESt10shared_ptrINS_6DeviceEENS_6Policy9EventTypeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard5Audit11policyEventESt10shared_ptrINS_4RuleEENS_6Policy9EventTypeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard5Audit11policyEventESt10shared_ptrINS_4RuleEES3_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard5Audit11policyEventESt10shared_ptrINS_6DeviceEENS_4Rule6TargetES5_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard5Audit11policyEventESt10shared_ptrINS_6DeviceEENS_6Policy9EventTypeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard5AuditC1ERKNS_13AuditIdentityE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard5AuditC2ERKNS_13AuditIdentityE' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard5AuditC2ERKNS_13AuditIdentityE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device10updateHashEPKvm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device10updateHashERSim' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device11setDeviceIDERKNS_11USBDeviceIDE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device11setParentIDEj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device12finalizeHashB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device13getDeviceRuleEbbb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device13setParentHashERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device14initializeHashEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device14refDeviceMutexEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device14setConnectTypeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device20loadDeviceDescriptorEPNS_19USBDescriptorParserEPKNS_13USBDescriptorE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device22loadEndpointDescriptorEPNS_19USBDescriptorParserEPKNS_13USBDescriptorE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device23loadInterfaceDescriptorEPNS_19USBDescriptorParserEPKNS_13USBDescriptorE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device24refMutableInterfaceTypesEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device27loadConfigurationDescriptorEPNS_19USBDescriptorParserEPKNS_13USBDescriptorE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device5setIDEj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device7setNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device7setPortERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device9setSerialERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Device9setTargetENS_4Rule6TargetE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6DeviceC1ERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard6DeviceC2ERKS0_' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6DeviceC1ERNS_13DeviceManagerE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard6DeviceC2ERNS_13DeviceManagerE' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6DeviceC2ERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6DeviceC2ERNS_13DeviceManagerE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6DeviceD0Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6DeviceD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard6DeviceD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6DeviceD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6DeviceaSERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Logger10setEnabledEbNS_9LogStream5LevelE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Logger12setAuditFileEbRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Logger13addOutputSinkERSt10unique_ptrINS_7LogSinkESt14default_deleteIS2_EE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Logger13delOutputSinkERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Logger13setOutputFileEbRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Logger15setOutputSyslogEbRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Logger16setOutputConsoleEb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Logger20addOutputSink_nolockERSt10unique_ptrINS_7LogSinkESt14default_deleteIS2_EE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Logger20delOutputSink_nolockERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Logger5writeERKNS_9LogStream6SourceENS1_5LevelERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Logger9timestampB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6LoggerC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard6LoggerC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6LoggerC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6LoggerD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard6LoggerD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6LoggerD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6LoggerclERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiS8_NS_9LogStream5LevelE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Policy10appendRuleERKNS_4RuleEj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Policy10getRuleSetEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Policy10removeRuleEj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Policy10setRuleSetESt6vectorISt10shared_ptrINS_7RuleSetEESaIS4_EE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Policy10upsertRuleERKNS_4RuleES3_b' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Policy16setDefaultTargetENS_4Rule6TargetE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Policy17eventTypeToStringB5cxx11ENS0_9EventTypeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Policy4saveEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Policy7getRuleEj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Policy8assignIDESt10shared_ptrINS_4RuleEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Policy8assignIDEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6Policy8getRulesEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6PolicyC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard6PolicyC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard6PolicyC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7LogSinkC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7LogSinkC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard7LogSinkC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7LogSinkD0Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7LogSinkD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard7LogSinkD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7LogSinkD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSet10appendRuleERKNS_4RuleEjb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSet10isWritableEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSet10removeRuleEj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSet10upsertRuleERKNS_4RuleES3_b' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSet11setWritableEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSet13clearWritableEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSet16setDefaultTargetENS_4Rule6TargetE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSet7getRuleEj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSet8assignIDESt10shared_ptrINS_4RuleEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSet8assignIDEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSet8getRulesEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSetC1EPNS_9InterfaceE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard7RuleSetC2EPNS_9InterfaceE' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSetC1ERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard7RuleSetC2ERKS0_' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSetC2EPNS_9InterfaceE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSetC2ERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSetD0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSetD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard7RuleSetD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSetD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSetaSERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard8LDAPUtil13serializeLDIFESt6vectorISt10shared_ptrINS_7RuleSetEESaIS4_EERSoRSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESE_St4lessISE_ESaISt4pairIKSE_SE_EEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard8LDAPUtil6toLDIFESt10shared_ptrIKNS_4RuleEERSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESB_St4lessISB_ESaISt4pairIKSB_SB_EEEb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_S8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9ExceptionC1ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard9ExceptionC2ERKS0_' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9ExceptionC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_S8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard9ExceptionC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_S8_' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9ExceptionC2ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9ExceptionD0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9ExceptionD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard9ExceptionD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9ExceptionD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClient10appendRuleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClient10disconnectEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClient10removeRuleEj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClient11listDevicesERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClient12IPCConnectedEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClient12getParameterERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClient12setParameterERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClient15IPCDisconnectedEbRKNS_12IPCExceptionE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClient16ExceptionMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_S8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClient17applyDevicePolicyEjNS_4Rule6TargetEb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClient19DevicePolicyAppliedEjNS_4Rule6TargetERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClient19DevicePolicyChangedEjNS_4Rule6TargetES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClient19checkIPCPermissionsERKNS_9IPCServer13AccessControl7SectionERKNS2_9PrivilegeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClient21DevicePresenceChangedEjNS_13DeviceManager9EventTypeENS_4Rule6TargetERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClient24PropertyParameterChangedERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_S8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClient4waitEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClient7connectEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClient9listRulesERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClientC1Eb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClientC2Eb' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard9IPCClientC1Eb' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClientD0Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClientD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard9IPCClientD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCClientD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControl12setPrivilegeENS1_7SectionENS1_9PrivilegeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControl15sectionToStringB5cxx11ENS1_7SectionE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControl17privilegeToStringB5cxx11ENS1_9PrivilegeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControl17sectionFromStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControl19privilegeFromStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControl4loadERSi' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControl5clearEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControl5mergeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControl5mergeERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControlC1ENS1_7SectionENS1_9PrivilegeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControlC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControlC1ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard9IPCServer13AccessControlC2ERKS1_' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControlC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControlC2ENS1_7SectionENS1_9PrivilegeE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard9IPCServer13AccessControlC1ENS1_7SectionENS1_9PrivilegeE' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControlC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard9IPCServer13AccessControlC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControlC2ERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControlC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard9IPCServer13AccessControlC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControlD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard9IPCServer13AccessControlD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControlD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13AccessControlaSERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13addAllowedGIDEjRKNS0_13AccessControlE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer13addAllowedUIDEjRKNS0_13AccessControlE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer16ExceptionMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_S8_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer18addAllowedUsernameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_13AccessControlE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer19DevicePolicyAppliedEjNS_4Rule6TargetERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer19DevicePolicyChangedEjNS_4Rule6TargetES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer19addAllowedGroupnameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_13AccessControlE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer21DevicePresenceChangedEjNS_13DeviceManager9EventTypeENS_4Rule6TargetERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer22checkAccessControlNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer24PropertyParameterChangedERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_S8_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer4stopEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServer5startEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServerC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard9IPCServerC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServerC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServerD0Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServerD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9IPCServerD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' alias='_ZN8usbguard9IPCServerD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9InterfaceC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard9InterfaceC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9InterfaceC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9LogStream13levelToStringB5cxx11ENS0_5LevelE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9LogStream14sourceToStringB5cxx11ERKNS0_6SourceE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9LogStream6SourceC1ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard9LogStream6SourceC2ERKS1_' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9LogStream6SourceC2ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9LogStream6SourceD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9LogStream6SourceD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN8usbguard9LogStream6SourceD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9LogStreamC1ERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9LogStreamC1ERNS_6LoggerERKNS0_6SourceENS0_5LevelE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9LogStreamC2ERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9LogStreamC2ERNS_6LoggerERKNS0_6SourceENS0_5LevelE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9LogStreamD0Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9LogStreamD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard9LogStreamD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx11char_traitsIcE2eqERKcS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx11char_traitsIcE6lengthEPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC1EiSt13_Ios_Openmodem' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC2EiSt13_Ios_Openmodem' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC1EiSt13_Ios_Openmodem' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKN8usbguard11USBDeviceIDESt6vectorIS2_SaIS2_EEEC1ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKN8usbguard11USBDeviceIDESt6vectorIS2_SaIS2_EEEC2ERKS4_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKN8usbguard11USBDeviceIDESt6vectorIS2_SaIS2_EEEC2ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKN8usbguard11USBDeviceIDESt6vectorIS2_SaIS2_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKN8usbguard13RuleConditionESt6vectorIS2_SaIS2_EEEC1ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKN8usbguard13RuleConditionESt6vectorIS2_SaIS2_EEEC2ERKS4_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKN8usbguard13RuleConditionESt6vectorIS2_SaIS2_EEEC2ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKN8usbguard13RuleConditionESt6vectorIS2_SaIS2_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKN8usbguard16USBInterfaceTypeESt6vectorIS2_SaIS2_EEEC1ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKN8usbguard16USBInterfaceTypeESt6vectorIS2_SaIS2_EEEC2ERKS4_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKN8usbguard16USBInterfaceTypeESt6vectorIS2_SaIS2_EEEC2ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKN8usbguard16USBInterfaceTypeESt6vectorIS2_SaIS2_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKN8usbguard4RuleESt6vectorIS2_SaIS2_EEEC1ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKN8usbguard4RuleESt6vectorIS2_SaIS2_EEEC2ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKN8usbguard4RuleESt6vectorIS2_SaIS2_EEEC1ERKS4_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEC1ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEC2ERKS8_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEC1IPS6_vEERKNS0_IT_SB_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEC2IPS6_vEERKNS0_IT_SB_EE' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEC2ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEC2IPS6_vEERKNS0_IT_SB_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEC1ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEC2ERKS6_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEC1IPS4_vEERKNS0_IT_S9_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEC2IPS4_vEERKNS0_IT_S9_EE' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEC2ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEC2IPS4_vEERKNS0_IT_S9_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS4_SaIS4_EEEC1ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS4_SaIS4_EEEC2ERKS6_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS4_SaIS4_EEEC2ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS4_SaIS4_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESt6vectorISB_SaISB_EEEC1ERKSD_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESt6vectorISB_SaISB_EEEC2ERKSD_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESt6vectorISB_SaISB_EEEC2ERKSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESt6vectorISB_SaISB_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESt6vectorISB_SaISB_EEEC1ERKSD_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESt6vectorISB_SaISB_EEEC2ERKSD_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESt6vectorISB_SaISB_EEEC2ERKSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESt6vectorISB_SaISB_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESt6vectorISB_SaISB_EEEC1ERKSD_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESt6vectorISB_SaISB_EEEC2ERKSD_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESt6vectorISB_SaISB_EEEC2ERKSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESt6vectorISB_SaISB_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESt6vectorISC_SaISC_EEEC1ERKSE_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESt6vectorISC_SaISC_EEEC2ERKSE_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESt6vectorISC_SaISC_EEEC2ERKSE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESt6vectorISC_SaISC_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESt6vectorISC_SaISC_EEEC1ERKSE_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESt6vectorISC_SaISC_EEEC2ERKSE_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESt6vectorISC_SaISC_EEEC2ERKSE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESt6vectorISC_SaISC_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESt6vectorIS8_SaIS8_EEEC1ERKSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESt6vectorIS8_SaIS8_EEEC2ERKSA_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESt6vectorIS8_SaIS8_EEEC2ERKSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESt6vectorIS8_SaIS8_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC1ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2ERKS2_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC1IPcvEERKNS0_IT_S8_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IPcvEERKNS0_IT_S8_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC1IPcvEERKNS0_IT_S8_EE' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPN8usbguard11USBDeviceIDESt6vectorIS2_SaIS2_EEEC1ERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPN8usbguard11USBDeviceIDESt6vectorIS2_SaIS2_EEEC2ERKS3_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPN8usbguard11USBDeviceIDESt6vectorIS2_SaIS2_EEEC2ERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPN8usbguard11USBDeviceIDESt6vectorIS2_SaIS2_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPN8usbguard13RuleConditionESt6vectorIS2_SaIS2_EEEC1ERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPN8usbguard13RuleConditionESt6vectorIS2_SaIS2_EEEC2ERKS3_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPN8usbguard13RuleConditionESt6vectorIS2_SaIS2_EEEC2ERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPN8usbguard13RuleConditionESt6vectorIS2_SaIS2_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPN8usbguard13USBDescriptorESt6vectorIS2_SaIS2_EEEC1ERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPN8usbguard13USBDescriptorESt6vectorIS2_SaIS2_EEEC2ERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPN8usbguard13USBDescriptorESt6vectorIS2_SaIS2_EEEC1ERKS3_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPN8usbguard13USBDescriptorESt6vectorIS2_SaIS2_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPN8usbguard16USBInterfaceTypeESt6vectorIS2_SaIS2_EEEC1ERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPN8usbguard16USBInterfaceTypeESt6vectorIS2_SaIS2_EEEC2ERKS3_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPN8usbguard16USBInterfaceTypeESt6vectorIS2_SaIS2_EEEC2ERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPN8usbguard4RuleESt6vectorIS2_SaIS2_EEEC1ERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPN8usbguard4RuleESt6vectorIS2_SaIS2_EEEC2ERKS3_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPN8usbguard4RuleESt6vectorIS2_SaIS2_EEEC2ERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPN8usbguard4RuleESt6vectorIS2_SaIS2_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEC1ERKS7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEC2ERKS7_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEC2ERKS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEmmEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIKN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEC1ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIKN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEC2ERKS6_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIKN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEC2ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIKN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEC1ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEC2ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEC1ERKS5_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard6DeviceEESt6vectorIS4_SaIS4_EEEC1ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard6DeviceEESt6vectorIS4_SaIS4_EEEC2ERKS5_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard6DeviceEESt6vectorIS4_SaIS4_EEEC2ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard6DeviceEESt6vectorIS4_SaIS4_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS4_SaIS4_EEEC1ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS4_SaIS4_EEEC2ERKS5_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS4_SaIS4_EEEC2ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS4_SaIS4_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESt6vectorIS8_SaIS8_EEEC1ERKS9_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESt6vectorIS8_SaIS8_EEEC2ERKS9_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESt6vectorIS8_SaIS8_EEEC2ERKS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESt6vectorIS8_SaIS8_EEEmmEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESt6vectorIS8_SaIS8_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIhmESt6vectorIS2_SaIS2_EEEC1ERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIhmESt6vectorIS2_SaIS2_EEEC2ERKS3_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIhmESt6vectorIS2_SaIS2_EEEC2ERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIhmESt6vectorIS2_SaIS2_EEEmmEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIhmESt6vectorIS2_SaIS2_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC1ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2ERKS1_' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2ERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxeqIPKN8usbguard4RuleESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxeqIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T0_EESH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxeqIPKSt10shared_ptrIN8usbguard4RuleEEPS4_St6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T1_EERKNSB_IT0_SD_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxeqIPKSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxeqIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxeqIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESt6vectorIS8_SaIS8_EEEEbRKNS_17__normal_iteratorIT_T0_EESI_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxeqIPSt4pairIhmESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxgeIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxltIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbRKNS_17__normal_iteratorIT_T0_EESE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxltIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxltIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESt6vectorIS8_SaIS8_EEEEbRKNS_17__normal_iteratorIT_T0_EESI_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxltIPSt4pairIhmESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxmiIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSF_SI_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxmiIPKSt10shared_ptrIN8usbguard4RuleEEPS4_St6vectorIS4_SaIS4_EEEEDTmicldtfp_4baseEcldtfp0_4baseEERKNS_17__normal_iteratorIT_T1_EERKNSC_IT0_SE_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxmiIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSD_SG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxmiIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSC_SF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxmiIPN8usbguard11USBDeviceIDESt6vectorIS2_SaIS2_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSA_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxmiIPN8usbguard13RuleConditionESt6vectorIS2_SaIS2_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSA_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxmiIPN8usbguard13USBDescriptorESt6vectorIS2_SaIS2_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSA_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxmiIPN8usbguard16USBInterfaceTypeESt6vectorIS2_SaIS2_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSA_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxmiIPN8usbguard4RuleESt6vectorIS2_SaIS2_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSA_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxmiIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSE_SH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxmiIPSt10shared_ptrIKN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSD_SG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxmiIPSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSC_SF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxmiIPSt10shared_ptrIN8usbguard6DeviceEESt6vectorIS4_SaIS4_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSC_SF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxmiIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESt6vectorIS8_SaIS8_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSG_SJ_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxmiIPSt4pairIhmESt6vectorIS2_SaIS2_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSA_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPKN8usbguard11USBDeviceIDESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPKN8usbguard13RuleConditionESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPKN8usbguard16USBInterfaceTypeESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T0_EESH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPKSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESt6vectorISB_SaISB_EEEEbRKNS_17__normal_iteratorIT_T0_EESM_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESt6vectorISB_SaISB_EEEEbRKNS_17__normal_iteratorIT_T0_EESM_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESt6vectorISB_SaISB_EEEEbRKNS_17__normal_iteratorIT_T0_EESM_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESt6vectorISC_SaISC_EEEEbRKNS_17__normal_iteratorIT_T0_EESN_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESt6vectorISC_SaISC_EEEEbRKNS_17__normal_iteratorIT_T0_EESN_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPKSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESt6vectorIS8_SaIS8_EEEEbRKNS_17__normal_iteratorIT_T0_EESJ_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbRKNS_17__normal_iteratorIT_T0_EESE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPN8usbguard11USBDeviceIDESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPN8usbguard13RuleConditionESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPN8usbguard13USBDescriptorESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPN8usbguard4RuleESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPSt10shared_ptrIKN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEEbRKNS_17__normal_iteratorIT_T0_EESF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPSt10shared_ptrIN8usbguard6DeviceEESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESt6vectorIS8_SaIS8_EEEEbRKNS_17__normal_iteratorIT_T0_EESI_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN9__gnu_cxxneIPSt4pairIhmESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard10AuditEvent4keysB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard10AuditEvent8identityEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard10ConfigFile15getSettingValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard10ConfigFile15hasSettingValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard11USBDeviceID10isSubsetOfERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard11USBDeviceID11getVendorIDB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard11USBDeviceID12getProductIDB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard11USBDeviceID12toRuleStringB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard11USBDeviceID8toStringB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard13AuditIdentity3pidEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard13AuditIdentity3uidEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard13AuditIdentity8toStringB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard13DeviceManager20getAuthorizedDefaultEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard13DeviceManager31getRestoreControllerDeviceStateEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard13RuleCondition12toRuleStringB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard16USBInterfaceType10typeStringB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard16USBInterfaceType12toRuleStringB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard16USBInterfaceType9appliesToERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard16USBInterfaceTypeeqERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard17RuleConditionBase10identifierB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard17RuleConditionBase12hasParameterEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard17RuleConditionBase12toRuleStringB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard17RuleConditionBase8toStringB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard17RuleConditionBase9isNegatedEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard17RuleConditionBase9parameterB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard19USBDescriptorParser13getDescriptorEh' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard19USBDescriptorParser14haveDescriptorEh' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard19USBDescriptorParser19getDescriptorCountsEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule10getViaPortB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule10isImplicitEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule11getDeviceIDEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule13attributeHashB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule13attributeNameB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule13getParentHashB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule14attributeLabelB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule15attributeSerialB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule16attributeViaPortB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule17attributeDeviceIDEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule18getWithConnectTypeB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule19attributeConditionsEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule19attributeParentHashB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule22attributeWithInterfaceEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule24attributeWithConnectTypeB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule7getHashB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule7getNameB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule8getLabelB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule8internalEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule8toStringB5cxx11Ebb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_11USBDeviceIDEE11setOperatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_11USBDeviceIDEE12toRuleStringB5cxx11Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_11USBDeviceIDEE13setSolveAllOfERKSt6vectorIS2_SaIS2_EES8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_11USBDeviceIDEE13setSolveOneOfERKSt6vectorIS2_SaIS2_EES8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_11USBDeviceIDEE14setSolveEqualsERKSt6vectorIS2_SaIS2_EES8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_11USBDeviceIDEE14setSolveNoneOfERKSt6vectorIS2_SaIS2_EES8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_11USBDeviceIDEE16setSolveMatchAllERKSt6vectorIS2_SaIS2_EES8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_11USBDeviceIDEE21setSolveEqualsOrderedERKSt6vectorIS2_SaIS2_EES8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_11USBDeviceIDEE3getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_11USBDeviceIDEE5countEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_11USBDeviceIDEE5emptyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_11USBDeviceIDEE7getNameB5cxx11Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_11USBDeviceIDEE9appliesToERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_13RuleConditionEE11setOperatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_13RuleConditionEE12toRuleStringB5cxx11Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_13RuleConditionEE5countEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_13RuleConditionEE5emptyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_13RuleConditionEE7getNameB5cxx11Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_16USBInterfaceTypeEE11setOperatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_16USBInterfaceTypeEE12toRuleStringB5cxx11Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_16USBInterfaceTypeEE13setSolveAllOfERKSt6vectorIS2_SaIS2_EES8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_16USBInterfaceTypeEE13setSolveOneOfERKSt6vectorIS2_SaIS2_EES8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_16USBInterfaceTypeEE14setSolveEqualsERKSt6vectorIS2_SaIS2_EES8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_16USBInterfaceTypeEE14setSolveNoneOfERKSt6vectorIS2_SaIS2_EES8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_16USBInterfaceTypeEE16setSolveMatchAllERKSt6vectorIS2_SaIS2_EES8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_16USBInterfaceTypeEE21setSolveEqualsOrderedERKSt6vectorIS2_SaIS2_EES8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_16USBInterfaceTypeEE5countEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_16USBInterfaceTypeEE5emptyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_16USBInterfaceTypeEE7getNameB5cxx11Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINS_16USBInterfaceTypeEE9appliesToERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE11setOperatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE12toRuleStringEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE13setSolveAllOfERKSt6vectorIS7_SaIS7_EESD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE13setSolveOneOfERKSt6vectorIS7_SaIS7_EESD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE14setSolveEqualsERKSt6vectorIS7_SaIS7_EESD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE14setSolveNoneOfERKSt6vectorIS7_SaIS7_EESD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE16setSolveMatchAllERKSt6vectorIS7_SaIS7_EESD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE21setSolveEqualsOrderedERKSt6vectorIS7_SaIS7_EESD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5countEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5emptyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE7getNameEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9AttributeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE9appliesToERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9appliesToERKS0_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9appliesToESt10shared_ptrIKS0_E' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9getRuleIDEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9getSerialB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4Rule9getTargetEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard4RulecvbEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard6Device10hashStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard6Device11getDeviceIDEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard6Device11getParentIDEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard6Device14getConnectTypeB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard6Device17getInterfaceTypesEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard6Device5getIDEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard6Device7getHashB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard6Device7getNameB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard6Device7getPortB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard6Device7managerEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard6Device9getSerialB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard6Device9getTargetEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard6Logger4lockEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard6Logger9isEnabledENS_9LogStream5LevelE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard6Policy16getDefaultTargetEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard6Policy20getFirstMatchingRuleESt10shared_ptrIKNS_4RuleEEj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard7LogSink4nameB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard7RuleSet16getDefaultTargetEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard7RuleSet20getFirstMatchingRuleESt10shared_ptrIKNS_4RuleEEj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard7RuleSet9serializeERSo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard9Exception4whatEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard9Exception6objectB5cxx11Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard9Exception6reasonB5cxx11Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard9Exception7contextB5cxx11Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard9Exception7messageB5cxx11Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard9IPCClient11isConnectedEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard9IPCServer13AccessControl11SectionHashclENS1_7SectionE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard9IPCServer13AccessControl12hasPrivilegeENS1_7SectionENS1_9PrivilegeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard9IPCServer13AccessControl4saveERSo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK8usbguard9IPCServer13AccessControl7ac_maskENS1_7SectionE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKN8usbguard11USBDeviceIDESt6vectorIS2_SaIS2_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKN8usbguard11USBDeviceIDESt6vectorIS2_SaIS2_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKN8usbguard13RuleConditionESt6vectorIS2_SaIS2_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKN8usbguard13RuleConditionESt6vectorIS2_SaIS2_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKN8usbguard16USBInterfaceTypeESt6vectorIS2_SaIS2_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKN8usbguard16USBInterfaceTypeESt6vectorIS2_SaIS2_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKN8usbguard4RuleESt6vectorIS2_SaIS2_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEplEl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS4_SaIS4_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS4_SaIS4_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESt6vectorISB_SaISB_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESt6vectorISB_SaISB_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESt6vectorISB_SaISB_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESt6vectorISB_SaISB_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESt6vectorISB_SaISB_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESt6vectorISB_SaISB_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESt6vectorISC_SaISC_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESt6vectorISC_SaISC_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESt6vectorISC_SaISC_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESt6vectorISC_SaISC_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESt6vectorIS8_SaIS8_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESt6vectorIS8_SaIS8_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEplEl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPN8usbguard11USBDeviceIDESt6vectorIS2_SaIS2_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPN8usbguard11USBDeviceIDESt6vectorIS2_SaIS2_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPN8usbguard11USBDeviceIDESt6vectorIS2_SaIS2_EEEplEl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPN8usbguard13RuleConditionESt6vectorIS2_SaIS2_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPN8usbguard13RuleConditionESt6vectorIS2_SaIS2_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPN8usbguard13RuleConditionESt6vectorIS2_SaIS2_EEEmiEl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPN8usbguard13RuleConditionESt6vectorIS2_SaIS2_EEEplEl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPN8usbguard13USBDescriptorESt6vectorIS2_SaIS2_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPN8usbguard13USBDescriptorESt6vectorIS2_SaIS2_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPN8usbguard16USBInterfaceTypeESt6vectorIS2_SaIS2_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPN8usbguard16USBInterfaceTypeESt6vectorIS2_SaIS2_EEEplEl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPN8usbguard4RuleESt6vectorIS2_SaIS2_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPN8usbguard4RuleESt6vectorIS2_SaIS2_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEmiEl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS6_SaIS6_EEEplEl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIKN8usbguard4RuleEESt6vectorIS5_SaIS5_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIKN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIKN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEmiEl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard4RuleEESt6vectorIS4_SaIS4_EEEplEl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard6DeviceEESt6vectorIS4_SaIS4_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard6DeviceEESt6vectorIS4_SaIS4_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS4_SaIS4_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS4_SaIS4_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS4_SaIS4_EEEmiEl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS4_SaIS4_EEEplEl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESt6vectorIS8_SaIS8_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESt6vectorIS8_SaIS8_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESt6vectorIS8_SaIS8_EEEmiEl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESt6vectorIS8_SaIS8_EEEplEl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIhmESt6vectorIS2_SaIS2_EEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIhmESt6vectorIS2_SaIS2_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIhmESt6vectorIS2_SaIS2_EEEmiEl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIhmESt6vectorIS2_SaIS2_EEEplEl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE4baseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNK9__gnu_cxx17__normal_iteratorIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEmiEl' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE12_M_find_nodeEmRS5_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE15_M_bucket_indexERKNS8_16_Hash_node_valueIS6_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE15_M_bucket_indexEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE19_M_find_before_nodeEmRS5_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE21_M_uses_single_bucketEPPNS8_15_Hash_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE4findERS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE8_M_beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE12_M_find_nodeEmRS7_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE15_M_bucket_indexERKNSD_16_Hash_node_valueISB_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE15_M_bucket_indexEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE19_M_find_before_nodeEmRS7_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE21_M_uses_single_bucketEPPNSD_15_Hash_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE4findERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE5emptyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE8_M_beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE12_M_find_nodeEmRS7_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE15_M_bucket_indexERKNSA_16_Hash_node_valueIS8_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE15_M_bucket_indexEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE19_M_find_before_nodeEmRS7_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE21_M_uses_single_bucketEPPNSA_15_Hash_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE21_M_uses_single_bucketEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE8_M_beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE12_M_find_nodeEmRS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE15_M_bucket_indexERKNS9_16_Hash_node_valueIS7_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE15_M_bucket_indexEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE19_M_find_before_nodeEmRS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_uses_single_bucketEPPNS9_15_Hash_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE4findERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE5countERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE8_M_beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE12_M_find_nodeEmRS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE15_M_bucket_indexERKNS4_16_Hash_node_valueIS2_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE15_M_bucket_indexEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE19_M_find_before_nodeEmRS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_uses_single_bucketEPPNS4_15_Hash_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE8_M_beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE12_M_find_nodeEmRS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE15_M_bucket_indexERKNS7_16_Hash_node_valueIS5_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE15_M_bucket_indexEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE19_M_find_before_nodeEmRS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_uses_single_bucketEPPNS7_15_Hash_node_baseE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE4findERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE5emptyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE8_M_beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_Select1stISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEclERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_Select1stISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEEclERKSE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_Select1stISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEclERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10_Select1stISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEEclERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10error_code5valueEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10error_code7messageB5cxx11Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10error_code8categoryEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10unique_ptrIN8usbguard12AuditBackendESt14default_deleteIS1_EE3getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10unique_ptrIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EE3getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10unique_ptrIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS1_EE3getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS1_EEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10unique_ptrIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EE3getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10unique_ptrINSt13__future_base12_Result_baseENS1_8_DeleterEE3getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10unique_ptrINSt13__future_base12_Result_baseENS1_8_DeleterEEcvbEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10unique_ptrINSt13__future_base12_Result_baseENS1_8_DeleterEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10unique_ptrINSt13__future_base12_Result_baseENS1_8_DeleterEEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10unique_ptrINSt13__future_base7_ResultIS_IN6google8protobuf7MessageESt14default_deleteIS4_EEEENS0_12_Result_base8_DeleterEE3getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10unique_ptrINSt13__future_base7_ResultIS_IN6google8protobuf7MessageESt14default_deleteIS4_EEEENS0_12_Result_base8_DeleterEEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10unique_ptrIcPDoFvPvEE3getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt10unique_ptrIcPDoFvPvEEcvbEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt11unique_lockISt5mutexE5mutexEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12_Vector_baseIN8usbguard11USBDeviceIDESaIS1_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12_Vector_baseIN8usbguard13RuleConditionESaIS1_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12_Vector_baseIN8usbguard13USBDescriptorESaIS1_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12_Vector_baseIN8usbguard16USBInterfaceTypeESaIS1_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12_Vector_baseIN8usbguard4RuleESaIS1_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12_Vector_baseISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12_Vector_baseISt10shared_ptrIN8usbguard4RuleEESaIS3_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12_Vector_baseISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE13get_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12_Vector_baseISt4pairIhmESaIS1_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12__shared_ptrIKN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EE3getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12__shared_ptrIN8usbguard12AuditBackendELN9__gnu_cxx12_Lock_policyE2EE3getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12__shared_ptrIN8usbguard12AuditBackendELN9__gnu_cxx12_Lock_policyE2EEcvbEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EE3getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEcvbEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EE3getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12__shared_ptrIN8usbguard7RuleSetELN9__gnu_cxx12_Lock_policyE2EE3getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12__shared_ptrINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2EE3getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12__shared_ptrINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2EE6uniqueEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt12__shared_ptrINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2EEcvbEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EE9_M_valptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEE9_M_valptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEE9_M_valptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13_Rb_tree_nodeISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEE9_M_valptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13__atomic_baseIjEcvjEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13__future_base12_Result_base8_DeleterclEPS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13__future_base13_State_baseV221_M_is_deferred_futureEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13__future_base13_State_baseV27_SetterISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEOS8_EclEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13unordered_mapIN8usbguard9IPCServer13AccessControl7SectionEhNS2_11SectionHashESt8equal_toIS3_ESaISt4pairIKS3_hEEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13unordered_mapIN8usbguard9IPCServer13AccessControl7SectionEhNS2_11SectionHashESt8equal_toIS3_ESaISt4pairIKS3_hEEE4cendEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13unordered_mapIN8usbguard9IPCServer13AccessControl7SectionEhNS2_11SectionHashESt8equal_toIS3_ESaISt4pairIKS3_hEEE4findERS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13unordered_mapIN8usbguard9IPCServer13AccessControl7SectionEhNS2_11SectionHashESt8equal_toIS3_ESaISt4pairIKS3_hEEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S8_EEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S8_EEE4cendEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S8_EEE4findERSE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S8_EEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S8_EEE5emptyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13unordered_mapIhSt6vectorIN8usbguard13USBDescriptorESaIS2_EESt4hashIhESt8equal_toIhESaISt4pairIKhS4_EEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13unordered_mapIhSt6vectorIN8usbguard13USBDescriptorESaIS2_EESt4hashIhESt8equal_toIhESaISt4pairIKhS4_EEE4findERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13unordered_mapIhSt6vectorIN8usbguard13USBDescriptorESaIS2_EESt4hashIhESt8equal_toIhESaISt4pairIKhS4_EEE5countERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13unordered_mapIhmSt4hashIhESt8equal_toIhESaISt4pairIKhmEEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13unordered_mapIhmSt4hashIhESt8equal_toIhESaISt4pairIKhmEEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13unordered_mapIjN8usbguard9IPCServer13AccessControlESt4hashIjESt8equal_toIjESaISt4pairIKjS2_EEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13unordered_mapIjN8usbguard9IPCServer13AccessControlESt4hashIjESt8equal_toIjESaISt4pairIKjS2_EEE4cendEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13unordered_mapIjN8usbguard9IPCServer13AccessControlESt4hashIjESt8equal_toIjESaISt4pairIKjS2_EEE4findERS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13unordered_mapIjN8usbguard9IPCServer13AccessControlESt4hashIjESt8equal_toIjESaISt4pairIKjS2_EEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt13unordered_mapIjN8usbguard9IPCServer13AccessControlESt4hashIjESt8equal_toIjESaISt4pairIKjS2_EEE5emptyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt14_Function_base8_M_emptyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE16_M_get_use_countEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE9_M_uniqueEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt14default_deleteIN8usbguard12AuditBackendEEclEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt14default_deleteIN8usbguard17RuleConditionBaseEEclEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt14default_deleteIN8usbguard7LogSinkEEclEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt14default_deleteIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEEEclEPS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt14default_deleteINSt6thread6_StateEEclEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt15__str_hash_baseIcSaIcENSt7__cxx1112basic_stringIcSt11char_traitsIcES0_EEEclERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt15__uniq_ptr_implIN8usbguard12AuditBackendESt14default_deleteIS1_EE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt15__uniq_ptr_implIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt15__uniq_ptr_implIN8usbguard7LogSinkESt14default_deleteIS1_EE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt15__uniq_ptr_implIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt15__uniq_ptr_implINSt13__future_base12_Result_baseENS1_8_DeleterEE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt15__uniq_ptr_implINSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt15__uniq_ptr_implIcPDoFvPvEE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE16_M_get_use_countEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listIN8usbguard9IPCServer13AccessControl7SectionEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listIN8usbguard9IPCServer13AccessControl7SectionEE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listIN8usbguard9IPCServer13AccessControl7SectionEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listIN8usbguard9IPCServer13AccessControl9PrivilegeEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listIN8usbguard9IPCServer13AccessControl9PrivilegeEE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listIN8usbguard9IPCServer13AccessControl9PrivilegeEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listIPKcE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listIPKcE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listIPKcE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listIcE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listIcE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt16initializer_listIcE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt19__shared_ptr_accessIKN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EE6_M_getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt19__shared_ptr_accessIKN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt19__shared_ptr_accessIKN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt19__shared_ptr_accessIN8usbguard12AuditBackendELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EE6_M_getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt19__shared_ptr_accessIN8usbguard12AuditBackendELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt19__shared_ptr_accessIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EE6_M_getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt19__shared_ptr_accessIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt19__shared_ptr_accessIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt19__shared_ptr_accessIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EE6_M_getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt19__shared_ptr_accessIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt19__shared_ptr_accessIN8usbguard7RuleSetELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EE6_M_getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt19__shared_ptr_accessIN8usbguard7RuleSetELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt19__shared_ptr_accessINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EE6_M_getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt19__shared_ptr_accessINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt19__shared_ptr_accessINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt22bernoulli_distribution10param_type1pEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EE13_M_const_castEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEE13_M_const_castEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEE13_M_const_castEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt23_Rb_tree_const_iteratorISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEE13_M_const_castEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4findERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE5countERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE8key_compEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS8_EESt4lessIS5_ESaISt4pairIKS5_SB_EEE8key_compEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEE4findERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEE8key_compEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt3mapIjSt10shared_ptrIN8usbguard6DeviceEESt4lessIjESaISt4pairIKjS3_EEE8key_compEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt4hashIhEclEh' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt4hashIjEclEj' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt4lessIjEclERKjS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt4lessImEclERKmS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt5ctypeIcE2isEtc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt5ctypeIcE7toupperEc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6atomicIbEcvbEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEE16time_since_epochEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1EEEEE16time_since_epochEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6chrono10time_pointINS_3_V212system_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEE16time_since_epochEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6chrono8durationIlSt5ratioILl1ELl1000000000EEE5countEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6chrono8durationIlSt5ratioILl1ELl1000EEE5countEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6chrono8durationIlSt5ratioILl1ELl1EEE5countEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6thread6get_idEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6thread8joinableEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE12_M_check_lenEmPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE8capacityEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE8max_sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard11USBDeviceIDESaIS1_EEixEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard13RuleConditionESaIS1_EE12_M_check_lenEmPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard13RuleConditionESaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard13RuleConditionESaIS1_EE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard13RuleConditionESaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard13RuleConditionESaIS1_EE8capacityEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard13RuleConditionESaIS1_EE8max_sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard13USBDescriptorESaIS1_EE12_M_check_lenEmPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard13USBDescriptorESaIS1_EE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard13USBDescriptorESaIS1_EE8max_sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE12_M_check_lenEmPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE8capacityEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE8max_sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EEixEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard4RuleESaIS1_EE12_M_check_lenEmPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard4RuleESaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard4RuleESaIS1_EE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard4RuleESaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard4RuleESaIS1_EE5emptyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorIN8usbguard4RuleESaIS1_EE8max_sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_M_check_lenEmPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4cendEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5emptyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE6cbeginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8capacityEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8max_sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE12_M_check_lenEmPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE8max_sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE12_M_check_lenEmPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE6cbeginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE8capacityEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE8max_sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE12_M_check_lenEmPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE8max_sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE5emptyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE5frontEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE8capacityEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE12_M_check_lenEmPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE8max_sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt4pairIhmESaIS1_EE12_M_check_lenEmPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt4pairIhmESaIS1_EE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt4pairIhmESaIS1_EE8max_sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt6vectorISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_node6_M_keyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_Alloc_nodeclIRKS8_EEPSt13_Rb_tree_nodeIS8_EOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS8_EPKSt18_Rb_tree_node_baseRS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4findERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_M_endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_M_rootEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8key_compEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE9_M_mbeginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE10_Auto_node6_M_keyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE8key_compEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE9_M_mbeginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_node6_M_keyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS8_EPKSt18_Rb_tree_node_baseRS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4findERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_M_endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8key_compEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE9_M_mbeginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE10_Auto_node6_M_keyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE21_M_get_Node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE4sizeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE7_M_rootEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE8key_compEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE9_M_mbeginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail10_AllocNodeISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEEclIJRKS8_EEEPS9_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EE7_M_nextEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EE7_M_nextEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb1EE7_M_nextEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEELb0EE7_M_nextEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail10_Hash_nodeISt4pairIKhmELb0EE7_M_nextEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EE7_M_nextEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail10_Select1stclIRKSt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhEEEONS0_10__1st_typeIT_E4typeEOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail10_Select1stclIRKSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEEEEONS0_10__1st_typeIT_E4typeEOSH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail10_Select1stclIRKSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_EEEONS0_10__1st_typeIT_E4typeEOSE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail10_Select1stclIRKSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEEEEONS0_10__1st_typeIT_E4typeEOSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail10_Select1stclIRKSt4pairIKhmEEEONS0_10__1st_typeIT_E4typeEOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail10_Select1stclIRKSt4pairIKjN8usbguard3IPC14MessageHandlerINS4_16IPCServerPrivateEEEEEEONS0_10__1st_typeIT_E4typeEOSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail10_Select1stclIRKSt4pairIKjN8usbguard9IPCServer13AccessControlEEEEONS0_10__1st_typeIT_E4typeEOSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail10_Select1stclIRSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEEEEONS0_10__1st_typeIT_E4typeEOSG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail10_Select1stclIRSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_EEEONS0_10__1st_typeIT_E4typeEOSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail10_Select1stclIRSt4pairIKjN8usbguard3IPC14MessageHandlerINS4_16IPCServerPrivateEEEEEEONS0_10__1st_typeIT_E4typeEOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail10_Select1stclIRSt4pairIKjN8usbguard9IPCServer13AccessControlEEEEONS0_10__1st_typeIT_E4typeEOSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail14_Node_iteratorISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb0ELb1EEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail14_Node_iteratorISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEELb0ELb0EEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail14_Node_iteratorISt4pairIKhmELb0ELb0EEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS4_hENS_10_Select1stENS3_11SectionHashENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EE12_M_copy_codeERNS_21_Hash_node_code_cacheILb1EEERKSE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS4_hENS_10_Select1stENS3_11SectionHashENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EE12_M_hash_codeERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS4_hENS_10_Select1stENS3_11SectionHashENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EE13_M_store_codeERNS_21_Hash_node_code_cacheILb1EEEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS4_hENS_10_Select1stENS3_11SectionHashENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EE15_M_bucket_indexERKNS_16_Hash_node_valueIS7_Lb1EEEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS4_hENS_10_Select1stENS3_11SectionHashENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EE15_M_bucket_indexEmm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS4_hENS_10_Select1stENS3_11SectionHashENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EE7_M_hashEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_N8usbguard9IPCServer13AccessControlEENS_10_Select1stESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EE12_M_hash_codeERS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_N8usbguard9IPCServer13AccessControlEENS_10_Select1stESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EE13_M_store_codeERNS_21_Hash_node_code_cacheILb1EEEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_N8usbguard9IPCServer13AccessControlEENS_10_Select1stESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EE15_M_bucket_indexERKNS_16_Hash_node_valueISC_Lb1EEEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_N8usbguard9IPCServer13AccessControlEENS_10_Select1stESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EE15_M_bucket_indexEmm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_N8usbguard9IPCServer13AccessControlEENS_10_Select1stESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EE7_M_hashEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_S6_ENS_10_Select1stESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EE12_M_hash_codeERS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_S6_ENS_10_Select1stESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EE13_M_store_codeERNS_21_Hash_node_code_cacheILb1EEEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_S6_ENS_10_Select1stESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EE15_M_bucket_indexERKNS_16_Hash_node_valueIS9_Lb1EEEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_S6_ENS_10_Select1stESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EE15_M_bucket_indexEmm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_S6_ENS_10_Select1stESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EE7_M_hashEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEENS_10_Select1stESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EE12_M_hash_codeERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEENS_10_Select1stESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EE13_M_store_codeERNS_21_Hash_node_code_cacheILb0EEEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEENS_10_Select1stESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EE15_M_bucket_indexERKNS_16_Hash_node_valueIS8_Lb0EEEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEENS_10_Select1stESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EE15_M_bucket_indexEmm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEENS_10_Select1stESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EE7_M_hashEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIhSt4pairIKhmENS_10_Select1stESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EE12_M_hash_codeERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIhSt4pairIKhmENS_10_Select1stESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EE13_M_store_codeERNS_21_Hash_node_code_cacheILb0EEEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIhSt4pairIKhmENS_10_Select1stESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EE15_M_bucket_indexERKNS_16_Hash_node_valueIS3_Lb0EEEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIhSt4pairIKhmENS_10_Select1stESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EE15_M_bucket_indexEmm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIhSt4pairIKhmENS_10_Select1stESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EE7_M_hashEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIjSt4pairIKjN8usbguard9IPCServer13AccessControlEENS_10_Select1stESt4hashIjENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EE12_M_hash_codeERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIjSt4pairIKjN8usbguard9IPCServer13AccessControlEENS_10_Select1stESt4hashIjENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EE13_M_store_codeERNS_21_Hash_node_code_cacheILb0EEEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIjSt4pairIKjN8usbguard9IPCServer13AccessControlEENS_10_Select1stESt4hashIjENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EE15_M_bucket_indexERKNS_16_Hash_node_valueIS6_Lb0EEEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIjSt4pairIKjN8usbguard9IPCServer13AccessControlEENS_10_Select1stESt4hashIjENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EE15_M_bucket_indexEmm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hash_code_baseIjSt4pairIKjN8usbguard9IPCServer13AccessControlEENS_10_Select1stESt4hashIjENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EE7_M_hashEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hashtable_baseIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS4_hENS_10_Select1stESt8equal_toIS4_ENS3_11SectionHashENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEE13_M_key_equalsERS6_RKNS_16_Hash_node_valueIS7_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hashtable_baseIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS4_hENS_10_Select1stESt8equal_toIS4_ENS3_11SectionHashENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEE5_M_eqEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hashtable_baseIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS4_hENS_10_Select1stESt8equal_toIS4_ENS3_11SectionHashENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_equalsERS6_mRKNS_16_Hash_node_valueIS7_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hashtable_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_N8usbguard9IPCServer13AccessControlEENS_10_Select1stESt8equal_toIS6_ESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEE13_M_key_equalsERS8_RKNS_16_Hash_node_valueISC_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hashtable_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_N8usbguard9IPCServer13AccessControlEENS_10_Select1stESt8equal_toIS6_ESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEE5_M_eqEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hashtable_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_N8usbguard9IPCServer13AccessControlEENS_10_Select1stESt8equal_toIS6_ESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_equalsERS8_mRKNS_16_Hash_node_valueISC_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hashtable_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_S6_ENS_10_Select1stESt8equal_toIS6_ESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEE13_M_key_equalsERS8_RKNS_16_Hash_node_valueIS9_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hashtable_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_S6_ENS_10_Select1stESt8equal_toIS6_ESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEE5_M_eqEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hashtable_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_S6_ENS_10_Select1stESt8equal_toIS6_ESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_equalsERS8_mRKNS_16_Hash_node_valueIS9_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hashtable_baseIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEENS_10_Select1stESt8equal_toIhESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEE13_M_key_equalsERS2_RKNS_16_Hash_node_valueIS8_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hashtable_baseIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEENS_10_Select1stESt8equal_toIhESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEE5_M_eqEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hashtable_baseIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEENS_10_Select1stESt8equal_toIhESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEE9_M_equalsERS2_mRKNS_16_Hash_node_valueIS8_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hashtable_baseIhSt4pairIKhmENS_10_Select1stESt8equal_toIhESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEE13_M_key_equalsERS2_RKNS_16_Hash_node_valueIS3_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hashtable_baseIhSt4pairIKhmENS_10_Select1stESt8equal_toIhESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEE5_M_eqEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hashtable_baseIhSt4pairIKhmENS_10_Select1stESt8equal_toIhESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEE9_M_equalsERS2_mRKNS_16_Hash_node_valueIS3_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hashtable_baseIjSt4pairIKjN8usbguard9IPCServer13AccessControlEENS_10_Select1stESt8equal_toIjESt4hashIjENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEE13_M_key_equalsERS2_RKNS_16_Hash_node_valueIS6_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hashtable_baseIjSt4pairIKjN8usbguard9IPCServer13AccessControlEENS_10_Select1stESt8equal_toIjESt4hashIjENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEE5_M_eqEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail15_Hashtable_baseIjSt4pairIKjN8usbguard9IPCServer13AccessControlEENS_10_Select1stESt8equal_toIjESt4hashIjENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEE9_M_equalsERS2_mRKNS_16_Hash_node_valueIS6_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEE17_M_node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail17_ReuseOrAllocNodeISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEEclIJRKS8_EEEPS9_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail18_Mod_range_hashingclEmm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail20_Node_const_iteratorISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb0ELb1EEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail20_Node_const_iteratorISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb0ELb1EEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb0ELb1EEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb0ELb1EEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail20_Node_const_iteratorISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEELb0ELb0EEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail20_Node_const_iteratorISt4pairIKhmELb0ELb0EEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail20_Node_const_iteratorISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0ELb0EEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail20_Node_const_iteratorISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0ELb0EEptEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail20_Prime_rehash_policy8_M_stateEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEELb1EE7_M_cgetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail21_Hashtable_ebo_helperILi0ESt8equal_toIN8usbguard9IPCServer13AccessControl7SectionEELb1EE7_M_cgetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail21_Hashtable_ebo_helperILi0ESt8equal_toINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEELb1EE7_M_cgetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail21_Hashtable_ebo_helperILi0ESt8equal_toIhELb1EE7_M_cgetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail21_Hashtable_ebo_helperILi0ESt8equal_toIjELb1EE7_M_cgetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail21_Hashtable_ebo_helperILi1EN8usbguard9IPCServer13AccessControl11SectionHashELb1EE7_M_cgetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail21_Hashtable_ebo_helperILi1ESt4hashINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEELb1EE7_M_cgetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail21_Hashtable_ebo_helperILi1ESt4hashIhELb1EE7_M_cgetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail21_Hashtable_ebo_helperILi1ESt4hashIjELb1EE7_M_cgetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail8_AdaptorISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEdE3maxEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8__detail8_AdaptorISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEdE3minEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8equal_toIN8usbguard9IPCServer13AccessControl7SectionEEclERKS3_S6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8equal_toINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclERKS5_S8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8equal_toIhEclERKhS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8equal_toIjEclERKjS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8functionIFSt10unique_ptrINSt13__future_base12_Result_baseENS2_8_DeleterEEvEEclEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8functionIFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EEclES9_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8functionIFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EEcvbEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt8functionIFiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEclES7_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt9_Any_data9_M_accessEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt9_Any_data9_M_accessINSt13__future_base13_State_baseV27_SetterISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS7_EEOSA_EEEERKT_v' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt9_Any_data9_M_accessIPFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_PK6direntEEERKT_v' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt9_Any_data9_M_accessIPFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESA_EEERKT_v' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt9type_info4nameEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNKSt9type_infoeqERKS_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Hash_impl4hashEPKvmm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeC1IJRKSt21piecewise_construct_tSt5tupleIJRS5_EESO_IJEEEEEPNS8_16_Hashtable_allocISaINS8_10_Hash_nodeIS6_Lb1EEEEEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeC2IJRKSt21piecewise_construct_tSt5tupleIJRS5_EESO_IJEEEEEPNS8_16_Hashtable_allocISaINS8_10_Hash_nodeIS6_Lb1EEEEEEDpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeC2IJRKSt21piecewise_construct_tSt5tupleIJRS5_EESO_IJEEEEEPNS8_16_Hashtable_allocISaINS8_10_Hash_nodeIS6_Lb1EEEEEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE15__fwd_value_forIRKSI_EENSt13__conditionalIXsrSt19is_lvalue_referenceIT_E5valueEE4typeIRKS6_OS6_EERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE16_M_update_bbeginEPNS8_10_Hash_nodeIS6_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE16_M_update_bbeginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE18_M_assign_elementsIRKSI_EEvOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE19_M_allocate_bucketsEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE21_M_deallocate_bucketsEPPNS8_15_Hash_node_baseEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE21_M_deallocate_bucketsEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE21_M_insert_unique_nodeEmmPNS8_10_Hash_nodeIS6_Lb1EEEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE22_M_insert_bucket_beginEmPNS8_10_Hash_nodeIS6_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE22__small_size_thresholdEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE8_M_resetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_assignIRKSI_NS8_10_AllocNodeISaINS8_10_Hash_nodeIS6_Lb1EEEEEEEEvOT_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_assignIRKSI_NS8_17_ReuseOrAllocNodeISaINS8_10_Hash_nodeIS6_Lb1EEEEEEEEvOT_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_rehashEmSt17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEEC1ERKSI_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEEC2ERKSI_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEEC2ERKSI_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS3_hESaIS6_ENSt8__detail10_Select1stESt8equal_toIS3_ENS2_11SectionHashENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb1ELb0ELb1EEEEaSERKSI_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE10_M_emplaceIJRS7_RKSA_EEES6_INSD_14_Node_iteratorISB_Lb0ELb1EEEbESt17integral_constantIbLb1EEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeC1IJRS7_RKSA_EEEPNSD_16_Hashtable_allocISaINSD_10_Hash_nodeISB_Lb1EEEEEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeC2IJRS7_RKSA_EEEPNSD_16_Hashtable_allocISaINSD_10_Hash_nodeISB_Lb1EEEEEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeC1IJRS7_RKSA_EEEPNSD_16_Hashtable_allocISaINSD_10_Hash_nodeISB_Lb1EEEEEEDpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE19_M_allocate_bucketsEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE21_M_deallocate_bucketsEPPNSD_15_Hash_node_baseEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE21_M_deallocate_bucketsEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE21_M_insert_unique_nodeEmmPNSD_10_Hash_nodeISB_Lb1EEEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE22_M_insert_bucket_beginEmPNSD_10_Hash_nodeISB_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE22__small_size_thresholdEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE7emplaceIJRS7_RKSA_EEES6_INSD_14_Node_iteratorISB_Lb0ELb1EEEbEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_rehashEmSt17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_N8usbguard9IPCServer13AccessControlEESaISB_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSD_18_Mod_range_hashingENSD_20_Default_ranged_hashENSD_20_Prime_rehash_policyENSD_17_Hashtable_traitsILb1ELb0ELb1EEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE10_M_emplaceIJRS7_SN_EEES6_INSA_14_Node_iteratorIS8_Lb0ELb1EEEbESt17integral_constantIbLb1EEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeC1IJRS7_SO_EEEPNSA_16_Hashtable_allocISaINSA_10_Hash_nodeIS8_Lb1EEEEEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeC2IJRS7_SO_EEEPNSA_16_Hashtable_allocISaINSA_10_Hash_nodeIS8_Lb1EEEEEEDpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeC2IJRS7_SO_EEEPNSA_16_Hashtable_allocISaINSA_10_Hash_nodeIS8_Lb1EEEEEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE12_Scoped_nodeD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE16_M_update_bbeginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE19_M_allocate_bucketsEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE21_M_deallocate_bucketsEPPNSA_15_Hash_node_baseEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE21_M_deallocate_bucketsEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE21_M_insert_unique_nodeEmmPNSA_10_Hash_nodeIS8_Lb1EEEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE22_M_insert_bucket_beginEmPNSA_10_Hash_nodeIS8_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE22__small_size_thresholdEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE7emplaceIJRS7_SN_EEES6_INSA_14_Node_iteratorIS8_Lb0ELb1EEEbEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE8_M_resetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE9_M_rehashEmSt17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEEC1EOSL_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEEC1EOSL_OSaINSA_10_Hash_nodeIS8_Lb1EEEESt17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEEC2EOSL_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEEC1EOSL_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEEC2EOSL_OSaINSA_10_Hash_nodeIS8_Lb1EEEESt17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEEC1EOSL_OSaINSA_10_Hash_nodeIS8_Lb1EEEESt17integral_constantIbLb1EE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE12_Scoped_nodeC1IJRKSt21piecewise_construct_tSt5tupleIJRS1_EESQ_IJEEEEEPNS9_16_Hashtable_allocISaINS9_10_Hash_nodeIS7_Lb0EEEEEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE12_Scoped_nodeC2IJRKSt21piecewise_construct_tSt5tupleIJRS1_EESQ_IJEEEEEPNS9_16_Hashtable_allocISaINS9_10_Hash_nodeIS7_Lb0EEEEEEDpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE12_Scoped_nodeC2IJRKSt21piecewise_construct_tSt5tupleIJRS1_EESQ_IJEEEEEPNS9_16_Hashtable_allocISaINS9_10_Hash_nodeIS7_Lb0EEEEEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE12_Scoped_nodeD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE12_Scoped_nodeD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE12_Scoped_nodeD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE19_M_allocate_bucketsEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE19_M_find_before_nodeERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_deallocate_bucketsEPPNS9_15_Hash_node_baseEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_deallocate_bucketsEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_insert_unique_nodeEmmPNS9_10_Hash_nodeIS7_Lb0EEEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE22_M_insert_bucket_beginEmPNS9_10_Hash_nodeIS7_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE22_M_remove_bucket_beginEmPNS9_10_Hash_nodeIS7_Lb0EEEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE22__small_size_thresholdEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE5eraseERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE8_M_eraseESt17integral_constantIbLb1EERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE8_M_eraseEmPNS9_15_Hash_node_baseEPNS9_10_Hash_nodeIS7_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEE9_M_rehashEmSt17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEESaIS7_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb0ELb0ELb1EEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE12_Scoped_nodeC1IJRKSt21piecewise_construct_tSt5tupleIJRS1_EESL_IJEEEEEPNS4_16_Hashtable_allocISaINS4_10_Hash_nodeIS2_Lb0EEEEEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE12_Scoped_nodeC2IJRKSt21piecewise_construct_tSt5tupleIJRS1_EESL_IJEEEEEPNS4_16_Hashtable_allocISaINS4_10_Hash_nodeIS2_Lb0EEEEEEDpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE12_Scoped_nodeC2IJRKSt21piecewise_construct_tSt5tupleIJRS1_EESL_IJEEEEEPNS4_16_Hashtable_allocISaINS4_10_Hash_nodeIS2_Lb0EEEEEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE12_Scoped_nodeD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE12_Scoped_nodeD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE12_Scoped_nodeD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE19_M_allocate_bucketsEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_deallocate_bucketsEPPNS4_15_Hash_node_baseEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_deallocate_bucketsEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_insert_unique_nodeEmmPNS4_10_Hash_nodeIS2_Lb0EEEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE22_M_insert_bucket_beginEmPNS4_10_Hash_nodeIS2_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEE9_M_rehashEmSt17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIhSt4pairIKhmESaIS2_ENSt8__detail10_Select1stESt8equal_toIhESt4hashIhENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb1EEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE10_M_emplaceIJRjRKS4_EEES0_INS7_14_Node_iteratorIS5_Lb0ELb0EEEbESt17integral_constantIbLb1EEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE12_Scoped_nodeC1IJRjRKS4_EEEPNS7_16_Hashtable_allocISaINS7_10_Hash_nodeIS5_Lb0EEEEEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE12_Scoped_nodeC2IJRjRKS4_EEEPNS7_16_Hashtable_allocISaINS7_10_Hash_nodeIS5_Lb0EEEEEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE12_Scoped_nodeC1IJRjRKS4_EEEPNS7_16_Hashtable_allocISaINS7_10_Hash_nodeIS5_Lb0EEEEEEDpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE12_Scoped_nodeD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE12_Scoped_nodeD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE12_Scoped_nodeD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE19_M_allocate_bucketsEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_deallocate_bucketsEPPNS7_15_Hash_node_baseEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_deallocate_bucketsEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE21_M_insert_unique_nodeEmmPNS7_10_Hash_nodeIS5_Lb0EEEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE22_M_insert_bucket_beginEmPNS7_10_Hash_nodeIS5_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE22__small_size_thresholdEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE7emplaceIJRjRKS4_EEES0_INS7_14_Node_iteratorIS5_Lb0ELb0EEEbEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEE9_M_rehashEmSt17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_HashtableIjSt4pairIKjN8usbguard9IPCServer13AccessControlEESaIS5_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS7_18_Mod_range_hashingENS7_20_Default_ranged_hashENS7_20_Prime_rehash_policyENS7_17_Hashtable_traitsILb0ELb0ELb1EEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0EE7_M_headERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0EEC1IS5_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0EEC2IS5_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0EEC1IS5_EEOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPN8usbguard12AuditBackendELb0EE7_M_headERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPN8usbguard12AuditBackendELb0EE7_M_headERS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPN8usbguard17RuleConditionBaseELb0EE7_M_headERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPN8usbguard17RuleConditionBaseELb0EE7_M_headERS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPN8usbguard17RuleConditionBaseELb0EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPN8usbguard17RuleConditionBaseELb0EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0EPN8usbguard17RuleConditionBaseELb0EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPN8usbguard7LogSinkELb0EE7_M_headERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPN8usbguard7LogSinkELb0EE7_M_headERS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPN8usbguard7LogSinkELb0EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPN8usbguard7LogSinkELb0EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0EPN8usbguard7LogSinkELb0EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEELb0EE7_M_headERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEELb0EE7_M_headERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEELb0EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0EPN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEELb0EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEELb0EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPNSt13__future_base12_Result_baseELb0EE7_M_headERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPNSt13__future_base12_Result_baseELb0EE7_M_headERS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPNSt13__future_base12_Result_baseELb0EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0EPNSt13__future_base12_Result_baseELb0EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPNSt13__future_base12_Result_baseELb0EEC1IRS2_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPNSt13__future_base12_Result_baseELb0EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPNSt13__future_base12_Result_baseELb0EEC2IRS2_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0EPNSt13__future_base12_Result_baseELb0EEC1IRS2_EEOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEELb0EE7_M_headERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEELb0EE7_M_headERSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEELb0EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEELb0EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0EPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEELb0EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPNSt6thread6_StateELb0EE7_M_headERS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPNSt6thread6_StateELb0EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0EPNSt6thread6_StateELb0EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPNSt6thread6_StateELb0EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPcLb0EE7_M_headERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPcLb0EE7_M_headERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPcLb0EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPcLb0EEC1IRS0_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0EPcLb0EEC2IRS0_EEOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPcLb0EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0EPcLb0EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0EPcLb0EEC2IRS0_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0ERKN8usbguard9IPCServer13AccessControl7SectionELb0EE7_M_headERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0ERKN8usbguard9IPCServer13AccessControl7SectionELb0EEC1ES5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0ERKN8usbguard9IPCServer13AccessControl7SectionELb0EEC2ES5_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0ERKN8usbguard9IPCServer13AccessControl7SectionELb0EEC2ES5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0EE7_M_headERS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0EEC1ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0EEC2ES7_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEELb0EEC2ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0ERKhLb0EE7_M_headERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0ERKhLb0EEC1ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0ERKhLb0EEC2ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0ERKhLb0EEC1ES1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0ERKjLb0EE7_M_headERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0ERKjLb0EEC1ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0ERKjLb0EEC2ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0ERKjLb0EEC1ES1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0ERKmLb0EE7_M_headERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0ERKmLb0EEC1ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm0ERKmLb0EEC2ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm0ERKmLb0EEC1ES1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ENSt13__future_base12_Result_base8_DeleterELb1EE7_M_headERS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ENSt13__future_base12_Result_base8_DeleterELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm1ENSt13__future_base12_Result_base8_DeleterELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ENSt13__future_base12_Result_base8_DeleterELb1EEC1IS2_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ENSt13__future_base12_Result_base8_DeleterELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ENSt13__future_base12_Result_base8_DeleterELb1EEC2IS2_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm1ENSt13__future_base12_Result_base8_DeleterELb1EEC1IS2_EEOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1EPDoFvPvELb0EE7_M_headERS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1EPDoFvPvELb0EEC1IS2_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm1EPDoFvPvELb0EEC2IS2_EEOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1EPDoFvPvELb0EEC2IS2_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ERiLb0EE7_M_headERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ERiLb0EEC1ES0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm1ERiLb0EEC2ES0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ERiLb0EEC2ES0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ESt14default_deleteIN8usbguard12AuditBackendEELb1EE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ESt14default_deleteIN8usbguard17RuleConditionBaseEELb1EE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ESt14default_deleteIN8usbguard17RuleConditionBaseEELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm1ESt14default_deleteIN8usbguard17RuleConditionBaseEELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ESt14default_deleteIN8usbguard17RuleConditionBaseEELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ESt14default_deleteIN8usbguard7LogSinkEELb1EE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ESt14default_deleteIN8usbguard7LogSinkEELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm1ESt14default_deleteIN8usbguard7LogSinkEELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ESt14default_deleteIN8usbguard7LogSinkEELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ESt14default_deleteIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEEELb1EE7_M_headERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ESt14default_deleteIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEEELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm1ESt14default_deleteIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEEELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ESt14default_deleteIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEEELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ESt14default_deleteINSt6thread6_StateEELb1EE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ESt14default_deleteINSt6thread6_StateEELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1ESt14default_deleteINSt6thread6_StateEELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm1ESt14default_deleteINSt6thread6_StateEELb1EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1EiLb0EE7_M_headERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1EiLb0EE7_M_headERS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1EiLb0EEC1IRiEEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm1EiLb0EEC2IRiEEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm1EiLb0EEC1IRiEEOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm2ERiLb0EE7_M_headERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm2ERiLb0EEC1ES0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm2ERiLb0EEC2ES0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm2ERiLb0EEC2ES0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm2EiLb0EE7_M_headERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm2EiLb0EE7_M_headERS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm2EiLb0EEC1IRiEEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10_Head_baseILm2EiLb0EEC2IRiEEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10_Head_baseILm2EiLb0EEC1IRiEEOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10__pair_getILm0EE10__move_getIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt10shared_ptrIN8usbguard24UMockdevDeviceDefinitionEEEEOT_OSt4pairISF_T0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10__pair_getILm0EE10__move_getIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISC_EEEEOT_OSt4pairISH_T0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10__pair_getILm0EE10__move_getIRKjRN8usbguard3IPC14MessageHandlerINS4_16IPCClientPrivateEEEEEOT_OSt4pairISA_T0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10__pair_getILm0EE10__move_getIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_EEOT_OSt4pairIS9_T0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10__pair_getILm1EE10__move_getIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt10shared_ptrIN8usbguard24UMockdevDeviceDefinitionEEEEOT0_OSt4pairIT_SF_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10__pair_getILm1EE10__move_getIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISC_EEEEOT0_OSt4pairIT_SH_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10__pair_getILm1EE10__move_getIRKjRN8usbguard3IPC14MessageHandlerINS4_16IPCClientPrivateEEEEEOT0_OSt4pairIT_SA_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10__pair_getILm1EE10__move_getIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_EEOT0_OSt4pairIT_S9_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10error_codeC1EiRKNSt3_V214error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10error_codeC2EiRKNSt3_V214error_categoryE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10error_codeC1EiRKNSt3_V214error_categoryE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIKN8usbguard4RuleEEC1EOS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIKN8usbguard4RuleEEC1ERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIKN8usbguard4RuleEEC2ERKS3_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIKN8usbguard4RuleEEC1IS1_vEEOS_IT_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIKN8usbguard4RuleEEC1IS1_vEERKS_IT_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIKN8usbguard4RuleEEC2EOS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIKN8usbguard4RuleEEC1EOS3_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIKN8usbguard4RuleEEC2ERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIKN8usbguard4RuleEEC2IS1_vEEOS_IT_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIKN8usbguard4RuleEEC1IS1_vEEOS_IT_E' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIKN8usbguard4RuleEEC2IS1_vEERKS_IT_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIKN8usbguard4RuleEEC1IS1_vEERKS_IT_E' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIKN8usbguard4RuleEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIKN8usbguard4RuleEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIKN8usbguard4RuleEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard12AuditBackendEEC1EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN8usbguard12AuditBackendEEC2EOS2_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard12AuditBackendEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN8usbguard12AuditBackendEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard12AuditBackendEEC1IS1_St14default_deleteIS1_EvEEOSt10unique_ptrIT_T0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard12AuditBackendEEC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard12AuditBackendEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard12AuditBackendEEC2IS1_St14default_deleteIS1_EvEEOSt10unique_ptrIT_T0_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN8usbguard12AuditBackendEEC1IS1_St14default_deleteIS1_EvEEOSt10unique_ptrIT_T0_E' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard12AuditBackendEEaSEOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard13DeviceManagerEEC1INS0_19UEventDeviceManagerEvEEOS_IT_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard13DeviceManagerEEC1INS0_21UMockdevDeviceManagerEvEEOS_IT_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard13DeviceManagerEEC2INS0_19UEventDeviceManagerEvEEOS_IT_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN8usbguard13DeviceManagerEEC1INS0_19UEventDeviceManagerEvEEOS_IT_E' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard13DeviceManagerEEC2INS0_21UMockdevDeviceManagerEvEEOS_IT_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN8usbguard13DeviceManagerEEC1INS0_21UMockdevDeviceManagerEvEEOS_IT_E' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard4RuleEEC1EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN8usbguard4RuleEEC2EOS2_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard4RuleEEC1ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN8usbguard4RuleEEC2ERKS2_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard4RuleEEC1ISaIvEJEEESt20_Sp_alloc_shared_tagIT_EDpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN8usbguard4RuleEEC2ISaIvEJEEESt20_Sp_alloc_shared_tagIT_EDpOT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard4RuleEEC1ISaIvEJRKS1_EEESt20_Sp_alloc_shared_tagIT_EDpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN8usbguard4RuleEEC2ISaIvEJRKS1_EEESt20_Sp_alloc_shared_tagIT_EDpOT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard4RuleEEC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard4RuleEEC2ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard4RuleEEC2ISaIvEJEEESt20_Sp_alloc_shared_tagIT_EDpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard4RuleEEC2ISaIvEJRKS1_EEESt20_Sp_alloc_shared_tagIT_EDpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard4RuleEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard4RuleEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN8usbguard4RuleEED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard4RuleEEaSEOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard4RuleEEaSERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard6DeviceEEC1EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN8usbguard6DeviceEEC2EOS2_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard6DeviceEEC1ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN8usbguard6DeviceEEC2ERKS2_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard6DeviceEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN8usbguard6DeviceEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard6DeviceEEC1INS0_10DeviceBaseEEERKS_IT_EPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN8usbguard6DeviceEEC2INS0_10DeviceBaseEEERKS_IT_EPS1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard6DeviceEEC1INS0_10DeviceBaseEvEEOS_IT_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN8usbguard6DeviceEEC2INS0_10DeviceBaseEvEEOS_IT_E' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard6DeviceEEC1INS0_10DeviceBaseEvEERKS_IT_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN8usbguard6DeviceEEC2INS0_10DeviceBaseEvEERKS_IT_E' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard6DeviceEEC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard6DeviceEEC2ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard6DeviceEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard6DeviceEEC2INS0_10DeviceBaseEEERKS_IT_EPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard6DeviceEEC2INS0_10DeviceBaseEvEEOS_IT_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard6DeviceEEC2INS0_10DeviceBaseEvEERKS_IT_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard6DeviceEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard6DeviceEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN8usbguard6DeviceEED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard6DeviceEEaSERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard7RuleSetEEC1ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN8usbguard7RuleSetEEC2ERKS2_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard7RuleSetEEC2ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard7RuleSetEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrIN8usbguard7RuleSetEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard7RuleSetEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrIN8usbguard7RuleSetEEaSERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrINSt13__future_base13_State_baseV2EEC1ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrINSt13__future_base13_State_baseV2EEC1ISaIvEJEEESt20_Sp_alloc_shared_tagIT_EDpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrINSt13__future_base13_State_baseV2EEC2ISaIvEJEEESt20_Sp_alloc_shared_tagIT_EDpOT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrINSt13__future_base13_State_baseV2EEC2ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrINSt13__future_base13_State_baseV2EEC1ERKS2_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrINSt13__future_base13_State_baseV2EEC2ISaIvEJEEESt20_Sp_alloc_shared_tagIT_EDpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrINSt13__future_base13_State_baseV2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10shared_ptrINSt13__future_base13_State_baseV2EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10shared_ptrINSt13__future_base13_State_baseV2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard12AuditBackendESt14default_deleteIS1_EE11get_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard12AuditBackendESt14default_deleteIS1_EE7releaseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EE11get_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EE5resetEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEC1IS3_vEEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEC2IS3_vEEPS1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEC1IS3_vEEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEC1EOS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEC2IS3_vEEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEC2IS3_vEEv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEC1IS3_vEEv' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEaSEOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS1_EE11get_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS1_EEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS1_EEC2EOS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS1_EEC1IS3_vEEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS1_EEC2IS3_vEEPS1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS1_EEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS1_EEC2IS3_vEEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS1_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EE11get_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EEC1IS6_vEEPS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EEC2IS6_vEEPS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EEC2IS6_vEEPS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt13__future_base12_Result_baseENS1_8_DeleterEE11get_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt13__future_base12_Result_baseENS1_8_DeleterEE4swapERS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt13__future_base12_Result_baseENS1_8_DeleterEEC1INS0_7_ResultIS_IN6google8protobuf7MessageESt14default_deleteIS8_EEEES2_vEEOS_IT_T0_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrINSt13__future_base12_Result_baseENS1_8_DeleterEEC2INS0_7_ResultIS_IN6google8protobuf7MessageESt14default_deleteIS8_EEEES2_vEEOS_IT_T0_E' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt13__future_base12_Result_baseENS1_8_DeleterEEC1IS2_vEEv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrINSt13__future_base12_Result_baseENS1_8_DeleterEEC2IS2_vEEv' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt13__future_base12_Result_baseENS1_8_DeleterEEC2INS0_7_ResultIS_IN6google8protobuf7MessageESt14default_deleteIS8_EEEES2_vEEOS_IT_T0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt13__future_base12_Result_baseENS1_8_DeleterEEC2IS2_vEEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt13__future_base12_Result_baseENS1_8_DeleterEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt13__future_base12_Result_baseENS1_8_DeleterEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrINSt13__future_base12_Result_baseENS1_8_DeleterEED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt13__future_base7_ResultIS_IN6google8protobuf7MessageESt14default_deleteIS4_EEEENS0_12_Result_base8_DeleterEE11get_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt13__future_base7_ResultIS_IN6google8protobuf7MessageESt14default_deleteIS4_EEEENS0_12_Result_base8_DeleterEE7releaseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt13__future_base7_ResultIS_IN6google8protobuf7MessageESt14default_deleteIS4_EEEENS0_12_Result_base8_DeleterEEC1EOSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt13__future_base7_ResultIS_IN6google8protobuf7MessageESt14default_deleteIS4_EEEENS0_12_Result_base8_DeleterEEC1ISA_vEEPS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrINSt13__future_base7_ResultIS_IN6google8protobuf7MessageESt14default_deleteIS4_EEEENS0_12_Result_base8_DeleterEEC2ISA_vEEPS8_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt13__future_base7_ResultIS_IN6google8protobuf7MessageESt14default_deleteIS4_EEEENS0_12_Result_base8_DeleterEEC2EOSB_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrINSt13__future_base7_ResultIS_IN6google8protobuf7MessageESt14default_deleteIS4_EEEENS0_12_Result_base8_DeleterEEC1EOSB_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt13__future_base7_ResultIS_IN6google8protobuf7MessageESt14default_deleteIS4_EEEENS0_12_Result_base8_DeleterEEC2ISA_vEEPS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt13__future_base7_ResultIS_IN6google8protobuf7MessageESt14default_deleteIS4_EEEENS0_12_Result_base8_DeleterEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrINSt13__future_base7_ResultIS_IN6google8protobuf7MessageESt14default_deleteIS4_EEEENS0_12_Result_base8_DeleterEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt13__future_base7_ResultIS_IN6google8protobuf7MessageESt14default_deleteIS4_EEEENS0_12_Result_base8_DeleterEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt6thread6_StateESt14default_deleteIS1_EE11get_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt6thread6_StateESt14default_deleteIS1_EEC1IS3_vEEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrINSt6thread6_StateESt14default_deleteIS1_EEC2IS3_vEEPS1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt6thread6_StateESt14default_deleteIS1_EEC2IS3_vEEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt6thread6_StateESt14default_deleteIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrINSt6thread6_StateESt14default_deleteIS1_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrINSt6thread6_StateESt14default_deleteIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIcPDoFvPvEE11get_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIcPDoFvPvEEC1IS2_vEEPcNSt9enable_ifIXntsrSt19is_lvalue_referenceIT_E5valueEOS8_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrIcPDoFvPvEEC2IS2_vEEPcNSt9enable_ifIXntsrSt19is_lvalue_referenceIT_E5valueEOS8_E4typeE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIcPDoFvPvEEC2IS2_vEEPcNSt9enable_ifIXntsrSt19is_lvalue_referenceIT_E5valueEOS8_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIcPDoFvPvEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt10unique_ptrIcPDoFvPvEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt10unique_ptrIcPDoFvPvEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE7_M_headERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC1EOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2EOS7_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC1IS5_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2EOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2IS5_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC1IS5_EEOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN8usbguard12AuditBackendESt14default_deleteIS1_EEE7_M_headERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN8usbguard12AuditBackendESt14default_deleteIS1_EEE7_M_headERS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEE7_M_headERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEE7_M_headERS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEEC1EOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJPN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEEC2EOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJPN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEEC1EOS5_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN8usbguard7LogSinkESt14default_deleteIS1_EEE7_M_headERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN8usbguard7LogSinkESt14default_deleteIS1_EEE7_M_headERS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN8usbguard7LogSinkESt14default_deleteIS1_EEEC1EOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN8usbguard7LogSinkESt14default_deleteIS1_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJPN8usbguard7LogSinkESt14default_deleteIS1_EEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN8usbguard7LogSinkESt14default_deleteIS1_EEEC2EOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJPN8usbguard7LogSinkESt14default_deleteIS1_EEEC1EOS5_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN8usbguard7LogSinkESt14default_deleteIS1_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EEE7_M_headERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EEE7_M_headERS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJPN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EEEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPNSt13__future_base12_Result_baseENS1_8_DeleterEEE7_M_headERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPNSt13__future_base12_Result_baseENS1_8_DeleterEEE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPNSt13__future_base12_Result_baseENS1_8_DeleterEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJPNSt13__future_base12_Result_baseENS1_8_DeleterEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPNSt13__future_base12_Result_baseENS1_8_DeleterEEEC1IRS2_JS3_EvEEOT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPNSt13__future_base12_Result_baseENS1_8_DeleterEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPNSt13__future_base12_Result_baseENS1_8_DeleterEEEC2IRS2_JS3_EvEEOT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJPNSt13__future_base12_Result_baseENS1_8_DeleterEEEC1IRS2_JS3_EvEEOT_DpOT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEE7_M_headERKSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEE7_M_headERSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEEC1EOSD_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEEC2EOSD_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEEC2EOSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPNSt6thread6_StateESt14default_deleteIS1_EEE7_M_headERS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPNSt6thread6_StateESt14default_deleteIS1_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJPNSt6thread6_StateESt14default_deleteIS1_EEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPNSt6thread6_StateESt14default_deleteIS1_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPcPDoFvPvEEE7_M_headERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPcPDoFvPvEEE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPcPDoFvPvEEEC1IRS0_JS3_EvEEOT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJPcPDoFvPvEEEC2IRS0_JS3_EvEEOT_DpOT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJPcPDoFvPvEEEC2IRS0_JS3_EvEEOT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKN8usbguard9IPCServer13AccessControl7SectionEEE7_M_headERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKN8usbguard9IPCServer13AccessControl7SectionEEEC1EOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJRKN8usbguard9IPCServer13AccessControl7SectionEEEC2EOS6_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKN8usbguard9IPCServer13AccessControl7SectionEEEC1ES5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKN8usbguard9IPCServer13AccessControl7SectionEEEC2EOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKN8usbguard9IPCServer13AccessControl7SectionEEEC2ES5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJRKN8usbguard9IPCServer13AccessControl7SectionEEEC1ES5_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE7_M_headERS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC1EOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC1ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2ES7_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2EOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC1EOS8_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2ES7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKhEE7_M_headERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKhEEC1EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJRKhEEC2EOS2_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKhEEC1ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJRKhEEC2ES1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKhEEC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKhEEC2ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKjEE7_M_headERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKjEEC1EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJRKjEEC2EOS2_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKjEEC1ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKjEEC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKjEEC2ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJRKjEEC1ES1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKmEE7_M_headERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKmEEC1EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKmEEC1ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKmEEC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJRKmEEC1EOS2_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm0EJRKmEEC2ES1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm0EJRKmEEC1ES1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJNSt13__future_base12_Result_base8_DeleterEEE7_M_headERS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJNSt13__future_base12_Result_base8_DeleterEEEC1EOS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJNSt13__future_base12_Result_base8_DeleterEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJNSt13__future_base12_Result_base8_DeleterEEEC1IS2_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJNSt13__future_base12_Result_base8_DeleterEEEC2EOS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm1EJNSt13__future_base12_Result_base8_DeleterEEEC1EOS3_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJNSt13__future_base12_Result_base8_DeleterEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm1EJNSt13__future_base12_Result_base8_DeleterEEEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJNSt13__future_base12_Result_base8_DeleterEEEC2IS2_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm1EJNSt13__future_base12_Result_base8_DeleterEEEC1IS2_EEOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJPDoFvPvEEE7_M_headERS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJPDoFvPvEEEC1IS2_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJPDoFvPvEEEC2IS2_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm1EJPDoFvPvEEEC1IS2_EEOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN8usbguard12AuditBackendEEEE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN8usbguard17RuleConditionBaseEEEE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN8usbguard17RuleConditionBaseEEEEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN8usbguard17RuleConditionBaseEEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN8usbguard17RuleConditionBaseEEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN8usbguard17RuleConditionBaseEEEEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN8usbguard17RuleConditionBaseEEEEC1EOS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN8usbguard17RuleConditionBaseEEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN8usbguard7LogSinkEEEE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN8usbguard7LogSinkEEEEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN8usbguard7LogSinkEEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN8usbguard7LogSinkEEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN8usbguard7LogSinkEEEEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN8usbguard7LogSinkEEEEC1EOS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN8usbguard7LogSinkEEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEEEEE7_M_headERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEEEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEEEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm1EJSt14default_deleteIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEEEEEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJSt14default_deleteINSt6thread6_StateEEEE7_M_headERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJSt14default_deleteINSt6thread6_StateEEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11_Tuple_implILm1EJSt14default_deleteINSt6thread6_StateEEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11_Tuple_implILm1EJSt14default_deleteINSt6thread6_StateEEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE12__assign_oneIN8usbguard16USBInterfaceTypeEKS4_EEvPT_PT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE12__assign_oneIN8usbguard16USBInterfaceTypeES4_EEvPT_PT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKN8usbguard11USBDeviceIDEPS4_EET0_T_S9_S8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKN8usbguard13RuleConditionEPS4_EET0_T_S9_S8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPS8_EET0_T_SD_SC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKSt10shared_ptrIN8usbguard4RuleEEPS6_EET0_T_SB_SA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKSt10shared_ptrIN8usbguard7RuleSetEEPS6_EET0_T_SB_SA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPN8usbguard11USBDeviceIDES5_EET0_T_S7_S6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPN8usbguard13RuleConditionES5_EET0_T_S7_S6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_EET0_T_SB_SA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPSt10shared_ptrIKN8usbguard4RuleEESt20back_insert_iteratorISt6vectorIS7_SaIS7_EEEEET0_T_SF_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPSt10shared_ptrIN8usbguard4RuleEES7_EET0_T_S9_S8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPSt10shared_ptrIN8usbguard4RuleEESt20back_insert_iteratorISt6vectorIS3_IKS5_ESaISB_EEEEET0_T_SG_SF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPSt10shared_ptrIN8usbguard7RuleSetEES7_EET0_T_S9_S8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11__copy_moveILb0ELb1ESt26random_access_iterator_tagE8__copy_mIKN8usbguard16USBInterfaceTypeES4_EEPT0_PT_S9_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11__copy_moveILb0ELb1ESt26random_access_iterator_tagE8__copy_mIN8usbguard16USBInterfaceTypeES4_EEPT0_PT_S8_S6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11__copy_moveILb1ELb0ESt26random_access_iterator_tagE8__copy_mIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_EET0_T_SB_SA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11__copy_moveILb1ELb0ESt26random_access_iterator_tagE8__copy_mIPSt10shared_ptrIN8usbguard4RuleEES7_EET0_T_S9_S8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11atomic_flag7_S_initEb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11atomic_flagC1Eb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11atomic_flagC2Eb' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11atomic_flagC1Eb' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11char_traitsIcE2ltERKcS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11char_traitsIcE6lengthEPKc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11char_traitsIcE7compareEPKcS2_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11unique_lockISt5mutexE4lockEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11unique_lockISt5mutexE6unlockEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11unique_lockISt5mutexEC1ERS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11unique_lockISt5mutexEC2ERS0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11unique_lockISt5mutexEC1ERS0_St12defer_lock_t' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11unique_lockISt5mutexEC2ERS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11unique_lockISt5mutexEC2ERS0_St12defer_lock_t' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11unique_lockISt5mutexEC1ERS0_St12defer_lock_t' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11unique_lockISt5mutexED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt11unique_lockISt5mutexED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt11unique_lockISt5mutexED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIN9__gnu_cxx17__normal_iteratorIPN8usbguard11USBDeviceIDESt6vectorIS5_SaIS5_EEEEEEvT_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIN9__gnu_cxx17__normal_iteratorIPN8usbguard13RuleConditionESt6vectorIS5_SaIS5_EEEEEEvT_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS9_SaIS9_EEEEEEvT_SF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard4RuleEESt6vectorIS7_SaIS7_EEEEEEvT_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS7_SaIS7_EEEEEEvT_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPN3tao5pegtl8positionEEEvT_S6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPN8usbguard11USBDeviceIDEEEvT_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPN8usbguard13RuleConditionEEEvT_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPN8usbguard4RuleEEEvT_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPN8usbguard6UEventEEEvT_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvT_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPSt10shared_ptrIKN8usbguard4RuleEEEEvT_S8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPSt10shared_ptrIN8usbguard4RuleEEEEvT_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPSt10shared_ptrIN8usbguard6DeviceEEEEvT_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPSt10shared_ptrIN8usbguard7RuleSetEEEEvT_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPSt10unique_ptrIN8usbguard24UMockdevDeviceDefinitionESt14default_deleteIS4_EEEEvT_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEEEvT_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEEEvT_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEEEvT_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEEEvT_SF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEEEvT_SF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_EEEvT_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb0EE9__destroyIPSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEvT_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb1EE9__destroyIN9__gnu_cxx17__normal_iteratorIPN8usbguard16USBInterfaceTypeESt6vectorIS5_SaIS5_EEEEEEvT_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb1EE9__destroyIPN6google8protobuf12UnknownFieldEEEvT_S6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb1EE9__destroyIPN8usbguard13USBDescriptorEEEvT_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb1EE9__destroyIPN8usbguard16USBInterfaceTypeEEEvT_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Destroy_auxILb1EE9__destroyIPSt4pairIhmEEEvT_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard11USBDeviceIDESaIS1_EE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard11USBDeviceIDESaIS1_EE12_Vector_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard11USBDeviceIDESaIS1_EE12_Vector_implC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard11USBDeviceIDESaIS1_EE12_Vector_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard11USBDeviceIDESaIS1_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard11USBDeviceIDESaIS1_EE12_Vector_implD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard11USBDeviceIDESaIS1_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard11USBDeviceIDESaIS1_EE13_M_deallocateEPS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard11USBDeviceIDESaIS1_EE17_Vector_impl_dataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard11USBDeviceIDESaIS1_EE17_Vector_impl_dataC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard11USBDeviceIDESaIS1_EE17_Vector_impl_dataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard11USBDeviceIDESaIS1_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard11USBDeviceIDESaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard11USBDeviceIDESaIS1_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard11USBDeviceIDESaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard11USBDeviceIDESaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard11USBDeviceIDESaIS1_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard11USBDeviceIDESaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13RuleConditionESaIS1_EE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13RuleConditionESaIS1_EE12_Vector_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard13RuleConditionESaIS1_EE12_Vector_implC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13RuleConditionESaIS1_EE12_Vector_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13RuleConditionESaIS1_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13RuleConditionESaIS1_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard13RuleConditionESaIS1_EE12_Vector_implD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13RuleConditionESaIS1_EE13_M_deallocateEPS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13RuleConditionESaIS1_EE17_Vector_impl_dataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13RuleConditionESaIS1_EE17_Vector_impl_dataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard13RuleConditionESaIS1_EE17_Vector_impl_dataC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13RuleConditionESaIS1_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13RuleConditionESaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13RuleConditionESaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard13RuleConditionESaIS1_EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13RuleConditionESaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard13RuleConditionESaIS1_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13RuleConditionESaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13USBDescriptorESaIS1_EE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13USBDescriptorESaIS1_EE12_Vector_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard13USBDescriptorESaIS1_EE12_Vector_implC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13USBDescriptorESaIS1_EE12_Vector_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13USBDescriptorESaIS1_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13USBDescriptorESaIS1_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard13USBDescriptorESaIS1_EE12_Vector_implD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13USBDescriptorESaIS1_EE13_M_deallocateEPS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13USBDescriptorESaIS1_EE17_Vector_impl_dataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard13USBDescriptorESaIS1_EE17_Vector_impl_dataC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13USBDescriptorESaIS1_EE17_Vector_impl_dataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13USBDescriptorESaIS1_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13USBDescriptorESaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard13USBDescriptorESaIS1_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13USBDescriptorESaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13USBDescriptorESaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard13USBDescriptorESaIS1_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard13USBDescriptorESaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard16USBInterfaceTypeESaIS1_EE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard16USBInterfaceTypeESaIS1_EE12_Vector_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard16USBInterfaceTypeESaIS1_EE12_Vector_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard16USBInterfaceTypeESaIS1_EE12_Vector_implC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard16USBInterfaceTypeESaIS1_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard16USBInterfaceTypeESaIS1_EE12_Vector_implD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard16USBInterfaceTypeESaIS1_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard16USBInterfaceTypeESaIS1_EE13_M_deallocateEPS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard16USBInterfaceTypeESaIS1_EE17_Vector_impl_dataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard16USBInterfaceTypeESaIS1_EE17_Vector_impl_dataC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard16USBInterfaceTypeESaIS1_EE17_Vector_impl_dataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard16USBInterfaceTypeESaIS1_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard16USBInterfaceTypeESaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard16USBInterfaceTypeESaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard16USBInterfaceTypeESaIS1_EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard16USBInterfaceTypeESaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard16USBInterfaceTypeESaIS1_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard16USBInterfaceTypeESaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard4RuleESaIS1_EE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard4RuleESaIS1_EE12_Vector_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard4RuleESaIS1_EE12_Vector_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard4RuleESaIS1_EE12_Vector_implC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard4RuleESaIS1_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard4RuleESaIS1_EE12_Vector_implD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard4RuleESaIS1_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard4RuleESaIS1_EE13_M_deallocateEPS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard4RuleESaIS1_EE17_Vector_impl_dataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard4RuleESaIS1_EE17_Vector_impl_dataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard4RuleESaIS1_EE17_Vector_impl_dataC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard4RuleESaIS1_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard4RuleESaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard4RuleESaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard4RuleESaIS1_EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard4RuleESaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseIN8usbguard4RuleESaIS1_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseIN8usbguard4RuleESaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implC1EOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implC1ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implC2ERKS6_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implC2EOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implC1EOS8_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implC2ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE13_M_deallocateEPS5_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_create_storageEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataC1EOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataC2EOS8_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataC2EOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC1EOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EOS7_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC1ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ERKS6_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC1EmRKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EmRKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC1EmRKS6_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE12_Vector_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE12_Vector_implC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE12_Vector_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE12_Vector_implD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE13_M_deallocateEPS4_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE17_Vector_impl_dataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE17_Vector_impl_dataC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE17_Vector_impl_dataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIKN8usbguard4RuleEESaIS4_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIKN8usbguard4RuleEESaIS4_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIKN8usbguard4RuleEESaIS4_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIKN8usbguard4RuleEESaIS4_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIKN8usbguard4RuleEESaIS4_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIKN8usbguard4RuleEESaIS4_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard4RuleEESaIS3_EE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard4RuleEESaIS3_EE12_Vector_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard4RuleEESaIS3_EE12_Vector_implC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard4RuleEESaIS3_EE12_Vector_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard4RuleEESaIS3_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard4RuleEESaIS3_EE12_Vector_implD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard4RuleEESaIS3_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard4RuleEESaIS3_EE13_M_deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard4RuleEESaIS3_EE17_Vector_impl_dataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard4RuleEESaIS3_EE17_Vector_impl_dataC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard4RuleEESaIS3_EE17_Vector_impl_dataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard4RuleEESaIS3_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard4RuleEESaIS3_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard4RuleEESaIS3_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard4RuleEESaIS3_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard4RuleEESaIS3_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard4RuleEESaIS3_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard4RuleEESaIS3_EED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE12_Vector_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE12_Vector_implC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE12_Vector_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE12_Vector_implD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE13_M_deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE17_Vector_impl_dataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE17_Vector_impl_dataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE17_Vector_impl_dataC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard6DeviceEESaIS3_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard6DeviceEESaIS3_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard6DeviceEESaIS3_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard6DeviceEESaIS3_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard6DeviceEESaIS3_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard6DeviceEESaIS3_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE12_Vector_implC1ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE12_Vector_implC2ERKS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE12_Vector_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE12_Vector_implC2ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE12_Vector_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE12_Vector_implC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE12_Vector_implD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE13_M_deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE17_M_create_storageEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE17_Vector_impl_data12_M_copy_dataERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE17_Vector_impl_data12_M_swap_dataERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE17_Vector_impl_dataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE17_Vector_impl_dataC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE17_Vector_impl_dataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEC1ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEC1EmRKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEC2EmRKS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEC2ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEC1ERKS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEC2EmRKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EE12_Vector_implC1ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EE12_Vector_implC2ERKSB_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EE12_Vector_implC2ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EE12_Vector_implD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EE13_M_deallocateEPSA_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EE17_Vector_impl_dataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EE17_Vector_impl_dataC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EE17_Vector_impl_dataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EEC1ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EEC2ERKSB_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EEC2ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EE12_Vector_implC1ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EE12_Vector_implC2ERKSB_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EE12_Vector_implC2ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EE12_Vector_implD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EE13_M_deallocateEPSA_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EE17_Vector_impl_dataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EE17_Vector_impl_dataC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EE17_Vector_impl_dataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EEC1ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EEC2ERKSB_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EEC2ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EE12_Vector_implC1ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EE12_Vector_implC2ERKSB_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EE12_Vector_implC2ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EE12_Vector_implD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EE13_M_deallocateEPSA_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EE17_Vector_impl_dataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EE17_Vector_impl_dataC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EE17_Vector_impl_dataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EEC1ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EEC2ERKSB_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EEC2ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EE12_Vector_implC1ERKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EE12_Vector_implC2ERKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EE12_Vector_implC1ERKSC_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EE12_Vector_implD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EE13_M_deallocateEPSB_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EE17_Vector_impl_dataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EE17_Vector_impl_dataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EE17_Vector_impl_dataC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EEC1ERKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EEC2ERKSC_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EEC2ERKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EE12_Vector_implC1ERKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EE12_Vector_implC2ERKSC_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EE12_Vector_implC2ERKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EE12_Vector_implD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EE13_M_deallocateEPSB_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EE17_Vector_impl_dataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EE17_Vector_impl_dataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EE17_Vector_impl_dataC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EEC1ERKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EEC2ERKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EEC1ERKSC_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE12_Vector_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE12_Vector_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE12_Vector_implC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE12_Vector_implD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE13_M_deallocateEPS7_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE17_Vector_impl_dataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE17_Vector_impl_dataC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE17_Vector_impl_dataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIhmESaIS1_EE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIhmESaIS1_EE12_Vector_implC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairIhmESaIS1_EE12_Vector_implC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIhmESaIS1_EE12_Vector_implC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIhmESaIS1_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIhmESaIS1_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairIhmESaIS1_EE12_Vector_implD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIhmESaIS1_EE13_M_deallocateEPS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIhmESaIS1_EE17_Vector_impl_dataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairIhmESaIS1_EE17_Vector_impl_dataC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIhmESaIS1_EE17_Vector_impl_dataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIhmESaIS1_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIhmESaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairIhmESaIS1_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIhmESaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIhmESaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIhmESaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairIhmESaIS1_EED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EE11_M_allocateEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EE12_Vector_implC1ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EE12_Vector_implC2ERKS8_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EE12_Vector_implC2ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EE12_Vector_implD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EE12_Vector_implD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EE12_Vector_implD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EE13_M_deallocateEPS7_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EE17_Vector_impl_dataC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EE17_Vector_impl_dataC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EE17_Vector_impl_dataC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EE19_M_get_Tp_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EEC1ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EEC2ERKS8_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EEC2ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12_Vector_baseISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12_Vector_baseISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__mutex_baseC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__mutex_baseC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__mutex_baseC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIKN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC1EOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIKN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC1ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIKN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC2ERKS5_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIKN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC1IS1_vEEOS_IT_LS4_2EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIKN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC1IS1_vEERKS_IT_LS4_2EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIKN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC2EOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIKN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC1EOS5_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIKN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC2ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIKN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC2IS1_vEEOS_IT_LS4_2EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIKN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC1IS1_vEEOS_IT_LS4_2EE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIKN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC2IS1_vEERKS_IT_LS4_2EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIKN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC1IS1_vEERKS_IT_LS4_2EE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIKN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIKN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIKN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard12AuditBackendELN9__gnu_cxx12_Lock_policyE2EE31_M_enable_shared_from_this_withIS1_S1_EENSt9enable_ifIXntsrNS4_15__has_esft_baseIT0_vEE5valueEvE4typeEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard12AuditBackendELN9__gnu_cxx12_Lock_policyE2EE4swapERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard12AuditBackendELN9__gnu_cxx12_Lock_policyE2EEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard12AuditBackendELN9__gnu_cxx12_Lock_policyE2EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard12AuditBackendELN9__gnu_cxx12_Lock_policyE2EEC1IS1_St14default_deleteIS1_EvEEOSt10unique_ptrIT_T0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard12AuditBackendELN9__gnu_cxx12_Lock_policyE2EEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN8usbguard12AuditBackendELN9__gnu_cxx12_Lock_policyE2EEC1EOS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard12AuditBackendELN9__gnu_cxx12_Lock_policyE2EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN8usbguard12AuditBackendELN9__gnu_cxx12_Lock_policyE2EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard12AuditBackendELN9__gnu_cxx12_Lock_policyE2EEC2IS1_St14default_deleteIS1_EvEEOSt10unique_ptrIT_T0_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN8usbguard12AuditBackendELN9__gnu_cxx12_Lock_policyE2EEC1IS1_St14default_deleteIS1_EvEEOSt10unique_ptrIT_T0_E' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard12AuditBackendELN9__gnu_cxx12_Lock_policyE2EEaSEOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard13DeviceManagerELN9__gnu_cxx12_Lock_policyE2EEC1INS0_19UEventDeviceManagerEvEEOS_IT_LS3_2EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN8usbguard13DeviceManagerELN9__gnu_cxx12_Lock_policyE2EEC2INS0_19UEventDeviceManagerEvEEOS_IT_LS3_2EE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard13DeviceManagerELN9__gnu_cxx12_Lock_policyE2EEC1INS0_21UMockdevDeviceManagerEvEEOS_IT_LS3_2EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN8usbguard13DeviceManagerELN9__gnu_cxx12_Lock_policyE2EEC2INS0_21UMockdevDeviceManagerEvEEOS_IT_LS3_2EE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard13DeviceManagerELN9__gnu_cxx12_Lock_policyE2EEC2INS0_19UEventDeviceManagerEvEEOS_IT_LS3_2EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard13DeviceManagerELN9__gnu_cxx12_Lock_policyE2EEC2INS0_21UMockdevDeviceManagerEvEEOS_IT_LS3_2EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EE31_M_enable_shared_from_this_withIS1_S1_EENSt9enable_ifIXntsrNS4_15__has_esft_baseIT0_vEE5valueEvE4typeEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EE4swapERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC1ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC2ERKS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC1ISaIvEJEEESt20_Sp_alloc_shared_tagIT_EDpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC2ISaIvEJEEESt20_Sp_alloc_shared_tagIT_EDpOT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC1ISaIvEJRKS1_EEESt20_Sp_alloc_shared_tagIT_EDpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC1EOS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC2ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC2ISaIvEJEEESt20_Sp_alloc_shared_tagIT_EDpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC2ISaIvEJRKS1_EEESt20_Sp_alloc_shared_tagIT_EDpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEC1ISaIvEJRKS1_EEESt20_Sp_alloc_shared_tagIT_EDpOT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEaSEOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEaSERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EEC2EOS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EEC1ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EEC2ERKS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EEC1INS0_10DeviceBaseEEERKS_IT_LS3_2EEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EEC2INS0_10DeviceBaseEEERKS_IT_LS3_2EEPS1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EEC1INS0_10DeviceBaseEvEEOS_IT_LS3_2EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EEC1INS0_10DeviceBaseEvEERKS_IT_LS3_2EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EEC2INS0_10DeviceBaseEvEERKS_IT_LS3_2EE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EEC2ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EEC2INS0_10DeviceBaseEEERKS_IT_LS3_2EEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EEC2INS0_10DeviceBaseEvEEOS_IT_LS3_2EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EEC1INS0_10DeviceBaseEvEEOS_IT_LS3_2EE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EEC2INS0_10DeviceBaseEvEERKS_IT_LS3_2EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard6DeviceELN9__gnu_cxx12_Lock_policyE2EEaSERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard7RuleSetELN9__gnu_cxx12_Lock_policyE2EEC1ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN8usbguard7RuleSetELN9__gnu_cxx12_Lock_policyE2EEC2ERKS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard7RuleSetELN9__gnu_cxx12_Lock_policyE2EEC2ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard7RuleSetELN9__gnu_cxx12_Lock_policyE2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrIN8usbguard7RuleSetELN9__gnu_cxx12_Lock_policyE2EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard7RuleSetELN9__gnu_cxx12_Lock_policyE2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrIN8usbguard7RuleSetELN9__gnu_cxx12_Lock_policyE2EEaSERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2EE31_M_enable_shared_from_this_withIS1_S1_EENSt9enable_ifIXntsrNS4_15__has_esft_baseIT0_vEE5valueEvE4typeEPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2EE4swapERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2EE5resetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2EEC1ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2EEC2ERKS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2EEC1ISaIvEJEEESt20_Sp_alloc_shared_tagIT_EDpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2EEC2ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2EEC2ISaIvEJEEESt20_Sp_alloc_shared_tagIT_EDpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2EEC1ISaIvEJEEESt20_Sp_alloc_shared_tagIT_EDpOT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__shared_ptrINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__shared_ptrINSt13__future_base13_State_baseV2ELN9__gnu_cxx12_Lock_policyE2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EEC1ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EEC2ERKS2_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EEC1ERKSt14__shared_countILS1_2EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EEC2ERKSt14__shared_countILS1_2EE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EEC2ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EEC2ERKSt14__shared_countILS1_2EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12__weak_countILN9__gnu_cxx12_Lock_policyE2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12future_errorC1ERKS_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12future_errorC1ESt10error_code' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12future_errorC1ESt11future_errc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12future_errorC2ERKS_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12future_errorC1ERKS_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12future_errorC2ESt10error_code' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12future_errorC1ESt10error_code' is-defined='yes'/>\n    <elf-symbol name='_ZNSt12future_errorC2ESt11future_errc' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt12future_errorC1ESt11future_errc' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EE9_M_valptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEE9_M_valptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEE9_M_valptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13_Rb_tree_nodeISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEE9_M_valptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__atomic_baseIbEC1Eb' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13__atomic_baseIbEC2Eb' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__atomic_baseIbEC2Eb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__atomic_baseIbEaSEb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__atomic_baseIiEC1Ei' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13__atomic_baseIiEC2Ei' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__atomic_baseIiEC2Ei' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__atomic_baseIjEC1Ej' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__atomic_baseIjEC2Ej' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13__atomic_baseIjEC1Ej' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__atomic_baseIjEaSEj' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__atomic_baseImEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base13_State_baseV213_M_set_resultESt8functionIFSt10unique_ptrINS_12_Result_baseENS3_8_DeleterEEvEEb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base13_State_baseV216_M_break_promiseESt10unique_ptrINS_12_Result_baseENS2_8_DeleterEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base13_State_baseV217_M_complete_asyncEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base13_State_baseV221_M_set_retrieved_flagEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base13_State_baseV24waitEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base13_State_baseV28_S_checkIS0_EEvRKSt10shared_ptrIT_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base13_State_baseV28wait_forIlSt5ratioILl1ELl1000EEEESt13future_statusRKNSt6chrono8durationIT_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base13_State_baseV29_M_do_setEPSt8functionIFSt10unique_ptrINS_12_Result_baseENS3_8_DeleterEEvEEPb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base13_State_baseV2C1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base13_State_baseV2C2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13__future_base13_State_baseV2C1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base13_State_baseV2D0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base13_State_baseV2D1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13__future_base13_State_baseV2D2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base13_State_baseV2D2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS4_EEE10_M_destroyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS4_EEE6_M_setEOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS4_EEE8_M_valueEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS4_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS4_EEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS4_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS4_EEED0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS4_EEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS4_EEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS4_EEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13random_deviceC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13random_deviceC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13random_deviceC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13random_deviceD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13random_deviceD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13random_deviceD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13random_deviceclEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIN8usbguard9IPCServer13AccessControl7SectionEhNS2_11SectionHashESt8equal_toIS3_ESaISt4pairIKS3_hEEE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIN8usbguard9IPCServer13AccessControl7SectionEhNS2_11SectionHashESt8equal_toIS3_ESaISt4pairIKS3_hEEEC1ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13unordered_mapIN8usbguard9IPCServer13AccessControl7SectionEhNS2_11SectionHashESt8equal_toIS3_ESaISt4pairIKS3_hEEEC2ERKSB_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIN8usbguard9IPCServer13AccessControl7SectionEhNS2_11SectionHashESt8equal_toIS3_ESaISt4pairIKS3_hEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13unordered_mapIN8usbguard9IPCServer13AccessControl7SectionEhNS2_11SectionHashESt8equal_toIS3_ESaISt4pairIKS3_hEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIN8usbguard9IPCServer13AccessControl7SectionEhNS2_11SectionHashESt8equal_toIS3_ESaISt4pairIKS3_hEEEC2ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIN8usbguard9IPCServer13AccessControl7SectionEhNS2_11SectionHashESt8equal_toIS3_ESaISt4pairIKS3_hEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIN8usbguard9IPCServer13AccessControl7SectionEhNS2_11SectionHashESt8equal_toIS3_ESaISt4pairIKS3_hEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13unordered_mapIN8usbguard9IPCServer13AccessControl7SectionEhNS2_11SectionHashESt8equal_toIS3_ESaISt4pairIKS3_hEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIN8usbguard9IPCServer13AccessControl7SectionEhNS2_11SectionHashESt8equal_toIS3_ESaISt4pairIKS3_hEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIN8usbguard9IPCServer13AccessControl7SectionEhNS2_11SectionHashESt8equal_toIS3_ESaISt4pairIKS3_hEEEaSERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIN8usbguard9IPCServer13AccessControl7SectionEhNS2_11SectionHashESt8equal_toIS3_ESaISt4pairIKS3_hEEEixERS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S8_EEE7emplaceIJRSE_RKS8_EEESD_INSt8__detail14_Node_iteratorISF_Lb0ELb1EEEbEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S8_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S8_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S8_EEEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S8_EEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S8_EEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlESt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S8_EEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEE7emplaceIJRSB_SG_EEESA_INSt8__detail14_Node_iteratorISC_Lb0ELb1EEEbEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEEC1EOSE_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEEC2EOSE_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEEC2EOSE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_S5_EEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIhSt6vectorIN8usbguard13USBDescriptorESaIS2_EESt4hashIhESt8equal_toIhESaISt4pairIKhS4_EEE5eraseERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIhSt6vectorIN8usbguard13USBDescriptorESaIS2_EESt4hashIhESt8equal_toIhESaISt4pairIKhS4_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13unordered_mapIhSt6vectorIN8usbguard13USBDescriptorESaIS2_EESt4hashIhESt8equal_toIhESaISt4pairIKhS4_EEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIhSt6vectorIN8usbguard13USBDescriptorESaIS2_EESt4hashIhESt8equal_toIhESaISt4pairIKhS4_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIhSt6vectorIN8usbguard13USBDescriptorESaIS2_EESt4hashIhESt8equal_toIhESaISt4pairIKhS4_EEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13unordered_mapIhSt6vectorIN8usbguard13USBDescriptorESaIS2_EESt4hashIhESt8equal_toIhESaISt4pairIKhS4_EEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIhSt6vectorIN8usbguard13USBDescriptorESaIS2_EESt4hashIhESt8equal_toIhESaISt4pairIKhS4_EEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIhSt6vectorIN8usbguard13USBDescriptorESaIS2_EESt4hashIhESt8equal_toIhESaISt4pairIKhS4_EEEixERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIhmSt4hashIhESt8equal_toIhESaISt4pairIKhmEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13unordered_mapIhmSt4hashIhESt8equal_toIhESaISt4pairIKhmEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIhmSt4hashIhESt8equal_toIhESaISt4pairIKhmEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIhmSt4hashIhESt8equal_toIhESaISt4pairIKhmEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13unordered_mapIhmSt4hashIhESt8equal_toIhESaISt4pairIKhmEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIhmSt4hashIhESt8equal_toIhESaISt4pairIKhmEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIhmSt4hashIhESt8equal_toIhESaISt4pairIKhmEEEixERS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIjN8usbguard9IPCServer13AccessControlESt4hashIjESt8equal_toIjESaISt4pairIKjS2_EEE7emplaceIJRjRKS2_EEES7_INSt8__detail14_Node_iteratorIS9_Lb0ELb0EEEbEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIjN8usbguard9IPCServer13AccessControlESt4hashIjESt8equal_toIjESaISt4pairIKjS2_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13unordered_mapIjN8usbguard9IPCServer13AccessControlESt4hashIjESt8equal_toIjESaISt4pairIKjS2_EEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIjN8usbguard9IPCServer13AccessControlESt4hashIjESt8equal_toIjESaISt4pairIKjS2_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIjN8usbguard9IPCServer13AccessControlESt4hashIjESt8equal_toIjESaISt4pairIKjS2_EEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt13unordered_mapIjN8usbguard9IPCServer13AccessControlESt4hashIjESt8equal_toIjESaISt4pairIKjS2_EEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt13unordered_mapIjN8usbguard9IPCServer13AccessControlESt4hashIjESt8equal_toIjESaISt4pairIKjS2_EEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerINSt13__future_base13_State_baseV27_SetterISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS7_EEOSA_EEE10_M_destroyERSt9_Any_dataSt17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerINSt13__future_base13_State_baseV27_SetterISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS7_EEOSA_EEE10_M_managerERSt9_Any_dataRKSE_St18_Manager_operation' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerINSt13__future_base13_State_baseV27_SetterISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS7_EEOSA_EEE14_M_get_pointerERKSt9_Any_data' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerINSt13__future_base13_State_baseV27_SetterISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS7_EEOSA_EEE15_M_init_functorIRKSC_EEvRSt9_Any_dataOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerINSt13__future_base13_State_baseV27_SetterISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS7_EEOSA_EEE15_M_init_functorISC_EEvRSt9_Any_dataOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerINSt13__future_base13_State_baseV27_SetterISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS7_EEOSA_EEE21_M_not_empty_functionISC_EEbRKT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerINSt13__future_base13_State_baseV27_SetterISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS7_EEOSA_EEE9_M_createIRKSC_EEvRSt9_Any_dataOT_St17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerINSt13__future_base13_State_baseV27_SetterISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS7_EEOSA_EEE9_M_createISC_EEvRSt9_Any_dataOT_St17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_PK6direntEE10_M_destroyERSt9_Any_dataSt17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_PK6direntEE10_M_managerERSt9_Any_dataRKSF_St18_Manager_operation' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_PK6direntEE14_M_get_pointerERKSt9_Any_data' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_PK6direntEE15_M_init_functorIRKSD_EEvRSt9_Any_dataOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_PK6direntEE15_M_init_functorIRSC_EEvRSt9_Any_dataOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_PK6direntEE21_M_not_empty_functionISC_EEbPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_PK6direntEE9_M_createIRKSD_EEvRSt9_Any_dataOT_St17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_PK6direntEE9_M_createIRSC_EEvRSt9_Any_dataOT_St17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESA_EE10_M_destroyERSt9_Any_dataSt17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESA_EE10_M_managerERSt9_Any_dataRKSE_St18_Manager_operation' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESA_EE14_M_get_pointerERKSt9_Any_data' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESA_EE15_M_init_functorIRKSC_EEvRSt9_Any_dataOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESA_EE15_M_init_functorIRSB_EEvRSt9_Any_dataOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESA_EE21_M_not_empty_functionISB_EEbPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESA_EE9_M_createIRKSC_EEvRSt9_Any_dataOT_St17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_base13_Base_managerIPFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESA_EE9_M_createIRSB_EEvRSt9_Any_dataOT_St17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_baseC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_Function_baseC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_baseC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_baseD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_Function_baseD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Function_baseD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Sp_ebo_helperILi0ESaIvELb1EE6_S_getERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Sp_ebo_helperILi0ESaIvELb1EEC1ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_Sp_ebo_helperILi0ESaIvELb1EEC2ERKS0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Sp_ebo_helperILi0ESaIvELb1EEC2ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Sp_ebo_helperILi0ESt14default_deleteIN8usbguard12AuditBackendEELb1EE6_S_getERS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Sp_ebo_helperILi0ESt14default_deleteIN8usbguard12AuditBackendEELb1EEC1EOS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Sp_ebo_helperILi0ESt14default_deleteIN8usbguard12AuditBackendEELb1EEC2EOS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_Sp_ebo_helperILi0ESt14default_deleteIN8usbguard12AuditBackendEELb1EEC1EOS3_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Sp_ebo_helperILi1ESaIvELb1EE6_S_getERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Sp_ebo_helperILi1ESaIvELb1EEC1ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14_Sp_ebo_helperILi1ESaIvELb1EEC2ERKS0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14_Sp_ebo_helperILi1ESaIvELb1EEC2ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE7_M_swapERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC1ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2ERKS2_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC1ERKSt12__weak_countILS1_2EESt9nothrow_t' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC1IN8usbguard10DeviceBaseESaIvEJRNS4_17DeviceManagerBaseERNS4_11SysFSDeviceEEEERPT_St20_Sp_alloc_shared_tagIT0_EDpOT1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2IN8usbguard10DeviceBaseESaIvEJRNS4_17DeviceManagerBaseERNS4_11SysFSDeviceEEEERPT_St20_Sp_alloc_shared_tagIT0_EDpOT1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC1IN8usbguard12AuditBackendESt14default_deleteIS5_EEEOSt10unique_ptrIT_T0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC1IN8usbguard19UEventDeviceManagerESaIvEJRNS4_18DeviceManagerHooksEEEERPT_St20_Sp_alloc_shared_tagIT0_EDpOT1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2IN8usbguard19UEventDeviceManagerESaIvEJRNS4_18DeviceManagerHooksEEEERPT_St20_Sp_alloc_shared_tagIT0_EDpOT1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC1IN8usbguard21UMockdevDeviceManagerESaIvEJRNS4_18DeviceManagerHooksEEEERPT_St20_Sp_alloc_shared_tagIT0_EDpOT1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2IN8usbguard21UMockdevDeviceManagerESaIvEJRNS4_18DeviceManagerHooksEEEERPT_St20_Sp_alloc_shared_tagIT0_EDpOT1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC1IN8usbguard24UMockdevDeviceDefinitionESt14default_deleteIS5_EEEOSt10unique_ptrIT_T0_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2IN8usbguard24UMockdevDeviceDefinitionESt14default_deleteIS5_EEEOSt10unique_ptrIT_T0_E' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC1IN8usbguard4RuleESaIvEJEEERPT_St20_Sp_alloc_shared_tagIT0_EDpOT1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2IN8usbguard4RuleESaIvEJEEERPT_St20_Sp_alloc_shared_tagIT0_EDpOT1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC1IN8usbguard4RuleESaIvEJRKS5_EEERPT_St20_Sp_alloc_shared_tagIT0_EDpOT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC1INSt13__future_base13_State_baseV2ESaIvEJEEERPT_St20_Sp_alloc_shared_tagIT0_EDpOT1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2INSt13__future_base13_State_baseV2ESaIvEJEEERPT_St20_Sp_alloc_shared_tagIT0_EDpOT1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2ERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2ERKSt12__weak_countILS1_2EESt9nothrow_t' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC1ERKSt12__weak_countILS1_2EESt9nothrow_t' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2IN8usbguard10DeviceBaseESaIvEJRNS4_17DeviceManagerBaseERNS4_11SysFSDeviceEEEERPT_St20_Sp_alloc_shared_tagIT0_EDpOT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2IN8usbguard12AuditBackendESt14default_deleteIS5_EEEOSt10unique_ptrIT_T0_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC1IN8usbguard12AuditBackendESt14default_deleteIS5_EEEOSt10unique_ptrIT_T0_E' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2IN8usbguard19UEventDeviceManagerESaIvEJRNS4_18DeviceManagerHooksEEEERPT_St20_Sp_alloc_shared_tagIT0_EDpOT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2IN8usbguard21UMockdevDeviceManagerESaIvEJRNS4_18DeviceManagerHooksEEEERPT_St20_Sp_alloc_shared_tagIT0_EDpOT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2IN8usbguard24UMockdevDeviceDefinitionESt14default_deleteIS5_EEEOSt10unique_ptrIT_T0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2IN8usbguard4RuleESaIvEJEEERPT_St20_Sp_alloc_shared_tagIT0_EDpOT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2IN8usbguard4RuleESaIvEJRKS5_EEERPT_St20_Sp_alloc_shared_tagIT0_EDpOT1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC1IN8usbguard4RuleESaIvEJRKS5_EEERPT_St20_Sp_alloc_shared_tagIT0_EDpOT1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2INSt13__future_base13_State_baseV2ESaIvEJEEERPT_St20_Sp_alloc_shared_tagIT0_EDpOT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEaSERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15_Rb_tree_header12_M_move_dataERS_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15_Rb_tree_header8_M_resetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15_Rb_tree_headerC1EOS_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15_Rb_tree_headerC2EOS_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15_Rb_tree_headerC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15_Rb_tree_headerC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15_Rb_tree_headerC2EOS_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15_Rb_tree_headerC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__allocated_ptrISaISt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EEEEC1ERSA_PS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__allocated_ptrISaISt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EEEEC2ERSA_PS9_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EEEEC1ERSA_PS9_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__allocated_ptrISaISt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__allocated_ptrISaISt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEEE3getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEEEC1ERS7_PS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEEEC2ERS7_PS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEEEC1ERS7_PS6_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEEEaSEDn' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EEEE3getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EEEEC1ERS7_PS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EEEEC2ERS7_PS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EEEEC1ERS7_PS6_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EEEEaSEDn' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__exception_ptr12__dest_thunkISt12future_errorEEvPv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptr4swapERS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC1EDn' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC1EOS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC1ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__exception_ptr13exception_ptrC2ERKS0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC2EDn' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__exception_ptr13exception_ptrC1EDn' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC2EOS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__exception_ptr13exception_ptrC1EOS0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC2ERKS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__exception_ptr13exception_ptrD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptraSEOS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__exception_ptreqERKNS_13exception_ptrES2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard11USBDeviceIDEE10deallocateEPS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard11USBDeviceIDEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard11USBDeviceIDEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard11USBDeviceIDEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorIN8usbguard11USBDeviceIDEED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard13RuleConditionEE10deallocateEPS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard13RuleConditionEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard13RuleConditionEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorIN8usbguard13RuleConditionEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard13RuleConditionEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard13USBDescriptorEE10deallocateEPS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard13USBDescriptorEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard13USBDescriptorEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorIN8usbguard13USBDescriptorEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard13USBDescriptorEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard16USBInterfaceTypeEE10deallocateEPS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard16USBInterfaceTypeEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard16USBInterfaceTypeEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorIN8usbguard16USBInterfaceTypeEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard16USBInterfaceTypeEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard4RuleEE10deallocateEPS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard4RuleEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard4RuleEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorIN8usbguard4RuleEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIN8usbguard4RuleEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE10deallocateEPS5_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEE10deallocateEPS9_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEE10deallocateEPSE_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEE10deallocateEPSB_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEE10deallocateEPSA_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKhmELb0EEEE10deallocateEPS5_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKhmELb0EEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKhmELb0EEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKhmELb0EEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKhmELb0EEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEE10deallocateEPS8_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorINSt8__detail10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIPNSt8__detail15_Hash_node_baseEE10deallocateEPS2_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIPNSt8__detail15_Hash_node_baseEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIPNSt8__detail15_Hash_node_baseEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIPNSt8__detail15_Hash_node_baseEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorIPNSt8__detail15_Hash_node_baseEED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt10shared_ptrIKN8usbguard4RuleEEE10deallocateEPS4_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt10shared_ptrIKN8usbguard4RuleEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt10shared_ptrIKN8usbguard4RuleEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorISt10shared_ptrIKN8usbguard4RuleEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt10shared_ptrIKN8usbguard4RuleEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt10shared_ptrIN8usbguard4RuleEEE10deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt10shared_ptrIN8usbguard4RuleEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt10shared_ptrIN8usbguard4RuleEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorISt10shared_ptrIN8usbguard4RuleEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt10shared_ptrIN8usbguard4RuleEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt10shared_ptrIN8usbguard6DeviceEEE10deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt10shared_ptrIN8usbguard6DeviceEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt10shared_ptrIN8usbguard6DeviceEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt10shared_ptrIN8usbguard6DeviceEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorISt10shared_ptrIN8usbguard6DeviceEEED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt10shared_ptrIN8usbguard7RuleSetEEE10deallocateEPS3_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt10shared_ptrIN8usbguard7RuleSetEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt10shared_ptrIN8usbguard7RuleSetEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorISt10shared_ptrIN8usbguard7RuleSetEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt10shared_ptrIN8usbguard7RuleSetEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEE10deallocateEPSA_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISB_EEEEE10deallocateEPSG_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISB_EEEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISB_EEEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISB_EEEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISB_EEEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEE10deallocateEPSA_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEEE10deallocateEPS8_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt13_Rb_tree_nodeISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EEE10deallocateEPS9_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorISt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEE10deallocateEPS6_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorISt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EEE10deallocateEPS6_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorISt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEE10deallocateEPSA_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEE10deallocateEPSA_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEE10deallocateEPSA_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEE10deallocateEPSB_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEE10deallocateEPSB_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EE10deallocateEPS7_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairIhmEE10deallocateEPS1_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairIhmEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairIhmEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorISt4pairIhmEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairIhmEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE10deallocateEPS7_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE8allocateEmPKv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIcED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__new_allocatorIcED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__new_allocatorIcED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataIN8usbguard17RuleConditionBaseESt14default_deleteIS1_ELb1ELb1EEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataIN8usbguard17RuleConditionBaseESt14default_deleteIS1_ELb1ELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_dataIN8usbguard17RuleConditionBaseESt14default_deleteIS1_ELb1ELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataIN8usbguard17RuleConditionBaseESt14default_deleteIS1_ELb1ELb1EEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_dataIN8usbguard17RuleConditionBaseESt14default_deleteIS1_ELb1ELb1EEC1EOS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataIN8usbguard17RuleConditionBaseESt14default_deleteIS1_ELb1ELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataIN8usbguard17RuleConditionBaseESt14default_deleteIS1_ELb1ELb1EECI1St15__uniq_ptr_implIS1_S3_EEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataIN8usbguard17RuleConditionBaseESt14default_deleteIS1_ELb1ELb1EECI2St15__uniq_ptr_implIS1_S3_EEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_dataIN8usbguard17RuleConditionBaseESt14default_deleteIS1_ELb1ELb1EECI1St15__uniq_ptr_implIS1_S3_EEPS1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataIN8usbguard17RuleConditionBaseESt14default_deleteIS1_ELb1ELb1EEaSEOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataIN8usbguard7LogSinkESt14default_deleteIS1_ELb1ELb1EEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_dataIN8usbguard7LogSinkESt14default_deleteIS1_ELb1ELb1EEC2EOS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataIN8usbguard7LogSinkESt14default_deleteIS1_ELb1ELb1EEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataIN8usbguard7LogSinkESt14default_deleteIS1_ELb1ELb1EECI1St15__uniq_ptr_implIS1_S3_EEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataIN8usbguard7LogSinkESt14default_deleteIS1_ELb1ELb1EECI2St15__uniq_ptr_implIS1_S3_EEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_dataIN8usbguard7LogSinkESt14default_deleteIS1_ELb1ELb1EECI1St15__uniq_ptr_implIS1_S3_EEPS1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_ELb1ELb1EECI1St15__uniq_ptr_implIS4_S6_EEPS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_dataIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_ELb1ELb1EECI2St15__uniq_ptr_implIS4_S6_EEPS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_ELb1ELb1EECI2St15__uniq_ptr_implIS4_S6_EEPS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataINSt13__future_base12_Result_baseENS1_8_DeleterELb1ELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_dataINSt13__future_base12_Result_baseENS1_8_DeleterELb1ELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataINSt13__future_base12_Result_baseENS1_8_DeleterELb1ELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataINSt13__future_base12_Result_baseENS1_8_DeleterELb1ELb1EECI1St15__uniq_ptr_implIS1_S2_EIS2_EEPS1_OT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataINSt13__future_base12_Result_baseENS1_8_DeleterELb1ELb1EECI2St15__uniq_ptr_implIS1_S2_EIS2_EEPS1_OT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_dataINSt13__future_base12_Result_baseENS1_8_DeleterELb1ELb1EECI1St15__uniq_ptr_implIS1_S2_EIS2_EEPS1_OT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataINSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterELb1ELb1EEC1EOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataINSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterELb1ELb1EEC2EOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_dataINSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterELb1ELb1EEC1EOSC_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataINSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterELb1ELb1EECI1St15__uniq_ptr_implIS9_SB_EEPS9_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_dataINSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterELb1ELb1EECI2St15__uniq_ptr_implIS9_SB_EEPS9_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataINSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterELb1ELb1EECI2St15__uniq_ptr_implIS9_SB_EEPS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataINSt6thread6_StateESt14default_deleteIS1_ELb1ELb1EECI1St15__uniq_ptr_implIS1_S3_EEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_dataINSt6thread6_StateESt14default_deleteIS1_ELb1ELb1EECI2St15__uniq_ptr_implIS1_S3_EEPS1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataINSt6thread6_StateESt14default_deleteIS1_ELb1ELb1EECI2St15__uniq_ptr_implIS1_S3_EEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataIcPDoFvPvELb1ELb1EECI1St15__uniq_ptr_implIcS2_EIS2_EEPcOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_dataIcPDoFvPvELb1ELb1EECI2St15__uniq_ptr_implIcS2_EIS2_EEPcOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_dataIcPDoFvPvELb1ELb1EECI1St15__uniq_ptr_implIcS2_EIS2_EEPcOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard12AuditBackendESt14default_deleteIS1_EE10_M_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard12AuditBackendESt14default_deleteIS1_EE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard12AuditBackendESt14default_deleteIS1_EE7releaseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EE10_M_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EE5resetEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EE7releaseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_implIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEC2EOS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEC1EPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_implIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEC2EPS1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_implIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEC2EPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEaSEOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard7LogSinkESt14default_deleteIS1_EE10_M_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard7LogSinkESt14default_deleteIS1_EE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard7LogSinkESt14default_deleteIS1_EEC1EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_implIN8usbguard7LogSinkESt14default_deleteIS1_EEC2EOS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard7LogSinkESt14default_deleteIS1_EEC1EPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard7LogSinkESt14default_deleteIS1_EEC2EOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN8usbguard7LogSinkESt14default_deleteIS1_EEC2EPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_implIN8usbguard7LogSinkESt14default_deleteIS1_EEC1EPS1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EE10_M_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EEC1EPS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_implIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EEC2EPS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EEC2EPS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implINSt13__future_base12_Result_baseENS1_8_DeleterEE10_M_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implINSt13__future_base12_Result_baseENS1_8_DeleterEE4swapERS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implINSt13__future_base12_Result_baseENS1_8_DeleterEE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implINSt13__future_base12_Result_baseENS1_8_DeleterEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implINSt13__future_base12_Result_baseENS1_8_DeleterEEC1IS2_EEPS1_OT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implINSt13__future_base12_Result_baseENS1_8_DeleterEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_implINSt13__future_base12_Result_baseENS1_8_DeleterEEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implINSt13__future_base12_Result_baseENS1_8_DeleterEEC2IS2_EEPS1_OT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_implINSt13__future_base12_Result_baseENS1_8_DeleterEEC1IS2_EEPS1_OT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implINSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEE10_M_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implINSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implINSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEE7releaseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implINSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEC1EOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_implINSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEC2EOSC_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implINSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEC1EPS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implINSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEC2EOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implINSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEC2EPS9_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_implINSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEC1EPS9_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implINSt6thread6_StateESt14default_deleteIS1_EE10_M_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implINSt6thread6_StateESt14default_deleteIS1_EE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implINSt6thread6_StateESt14default_deleteIS1_EEC1EPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_implINSt6thread6_StateESt14default_deleteIS1_EEC2EPS1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implINSt6thread6_StateESt14default_deleteIS1_EEC2EPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIcPDoFvPvEE10_M_deleterEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIcPDoFvPvEE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIcPDoFvPvEEC1IS2_EEPcOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt15__uniq_ptr_implIcPDoFvPvEEC2IS2_EEPcOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt15__uniq_ptr_implIcPDoFvPvEEC1IS2_EEPcOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_add_ref_copyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_weak_add_refEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE15_M_weak_releaseEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE19_M_release_last_useEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE23_M_add_ref_lock_nothrowEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EED0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Function_handlerIFSt10unique_ptrINSt13__future_base12_Result_baseENS2_8_DeleterEEvENS1_13_State_baseV27_SetterIS0_IN6google8protobuf7MessageESt14default_deleteISA_EEOSD_EEE10_M_managerERSt9_Any_dataRKSH_St18_Manager_operation' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Function_handlerIFSt10unique_ptrINSt13__future_base12_Result_baseENS2_8_DeleterEEvENS1_13_State_baseV27_SetterIS0_IN6google8protobuf7MessageESt14default_deleteISA_EEOSD_EEE9_M_invokeERKSt9_Any_data' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Function_handlerIFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EPSA_E10_M_managerERSt9_Any_dataRKSD_St18_Manager_operation' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Function_handlerIFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EPSA_E9_M_invokeERKSt9_Any_dataS9_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEC1EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEC2EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEC1EPSt18_Rb_tree_node_base' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEmmEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEEC1EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEEC2EPSt18_Rb_tree_node_base' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEEC2EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEEmmEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEC1EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEC2EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEC1EPSt18_Rb_tree_node_base' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEmmEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEEC1EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEEC2EPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt17_Rb_tree_iteratorISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEEC1EPSt18_Rb_tree_node_base' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEEmmEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt17_Rb_tree_iteratorISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt18_Rb_tree_node_base10_S_maximumEPS_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt18_Rb_tree_node_base10_S_minimumEPS_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt18condition_variable10wait_untilINSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEEEESt9cv_statusRSt11unique_lockISt5mutexERKNS1_10time_pointINS1_3_V212steady_clockET_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt18condition_variable17__wait_until_implINSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEEEESt9cv_statusRSt11unique_lockISt5mutexERKNS1_10time_pointINS1_3_V212steady_clockET_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS1_ESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS1_ESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS1_ESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS1_ESaIvELN9__gnu_cxx12_Lock_policyE2EE5_Impl6_M_delEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS1_ESaIvELN9__gnu_cxx12_Lock_policyE2EE5_Impl8_M_allocEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS1_ESaIvELN9__gnu_cxx12_Lock_policyE2EE5_ImplC1ES2_S4_RKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS1_ESaIvELN9__gnu_cxx12_Lock_policyE2EE5_ImplC2ES2_S4_RKS5_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS1_ESaIvELN9__gnu_cxx12_Lock_policyE2EE5_ImplC2ES2_S4_RKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS1_ESaIvELN9__gnu_cxx12_Lock_policyE2EEC1ES2_S4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS1_ESaIvELN9__gnu_cxx12_Lock_policyE2EEC2ES2_S4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS1_ESaIvELN9__gnu_cxx12_Lock_policyE2EEC2ES2_S4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS1_ESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS1_ESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS1_ESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS1_ESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19_Sp_make_shared_tag5_S_tiEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19__ptr_traits_ptr_toIPNSt8__detail10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEES9_Lb0EE10pointer_toERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19__ptr_traits_ptr_toIPNSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEESE_Lb0EE10pointer_toERSE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19__ptr_traits_ptr_toIPNSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEESB_Lb0EE10pointer_toERSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19__ptr_traits_ptr_toIPNSt8__detail10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEESA_Lb0EE10pointer_toERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19__ptr_traits_ptr_toIPNSt8__detail10_Hash_nodeISt4pairIKhmELb0EEES5_Lb0EE10pointer_toERS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19__ptr_traits_ptr_toIPNSt8__detail10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEES8_Lb0EE10pointer_toERS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt19__ptr_traits_ptr_toIPPNSt8__detail15_Hash_node_baseES2_Lb0EE10pointer_toERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC1EOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2EOS8_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC1ERKS7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2ERKS7_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2EOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2ERKS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20_Rb_tree_key_compareISt4lessIjEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20_Rb_tree_key_compareISt4lessIjEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20_Rb_tree_key_compareISt4lessIjEEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20_Rb_tree_key_compareISt4lessImEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20_Rb_tree_key_compareISt4lessImEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20_Rb_tree_key_compareISt4lessImEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__copy_move_backwardILb1ELb0ESt26random_access_iterator_tagE13__copy_move_bIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_EET0_T_SB_SA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__copy_move_backwardILb1ELb0ESt26random_access_iterator_tagE13__copy_move_bIPSt10shared_ptrIN8usbguard4RuleEES7_EET0_T_S9_S8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__copy_move_backwardILb1ELb0ESt26random_access_iterator_tagE13__copy_move_bIPSt10unique_ptrIN8usbguard24UMockdevDeviceDefinitionESt14default_deleteIS5_EES9_EET0_T_SB_SA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__copy_move_backwardILb1ELb0ESt26random_access_iterator_tagE13__copy_move_bIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_ESB_EET0_T_SD_SC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__copy_move_backwardILb1ELb0ESt26random_access_iterator_tagE13__copy_move_bIPSt4pairIhmES5_EET0_T_S7_S6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN8usbguard11USBDeviceIDESt6vectorIS5_SaIS5_EEEEPS5_EET0_T_SE_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN8usbguard13RuleConditionESt6vectorIS5_SaIS5_EEEEPS5_EET0_T_SE_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN8usbguard16USBInterfaceTypeESt6vectorIS5_SaIS5_EEEEPS5_EET0_T_SE_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS9_SaIS9_EEEEPS9_EET0_T_SI_SH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS7_SaIS7_EEEEPS7_EET0_T_SG_SF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS7_SaIS7_EEEEPS7_EET0_T_SG_SF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPKN8usbguard11USBDeviceIDEPS3_EET0_T_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPKN8usbguard13RuleConditionEPS3_EET0_T_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPKN8usbguard4RuleEPS3_EET0_T_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPKPKcPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEET0_T_SE_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEPSC_EET0_T_SH_SG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEPSC_EET0_T_SH_SG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEPSC_EET0_T_SH_SG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEPSD_EET0_T_SI_SH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEPSD_EET0_T_SI_SH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPKSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEPS9_EET0_T_SE_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPN8usbguard11USBDeviceIDES4_EET0_T_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPN8usbguard13RuleConditionES4_EET0_T_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPN8usbguard16USBInterfaceTypeES4_EET0_T_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_EET0_T_SA_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPSt10shared_ptrIN8usbguard4RuleEES6_EET0_T_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPSt10shared_ptrIN8usbguard7RuleSetEES6_EET0_T_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20__uninitialized_copyILb0EE13__uninit_copyISt13move_iteratorIPN8usbguard6UEventEES5_EET0_T_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20back_insert_iteratorISt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS5_EEEC1ERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt20back_insert_iteratorISt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS5_EEEC2ERS7_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20back_insert_iteratorISt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS5_EEEC2ERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20back_insert_iteratorISt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS5_EEEaSEOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20back_insert_iteratorISt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS5_EEEaSERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20back_insert_iteratorISt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS5_EEEdeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt20back_insert_iteratorISt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS5_EEEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt22bernoulli_distribution10param_typeC1Ed' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt22bernoulli_distribution10param_typeC2Ed' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt22bernoulli_distribution10param_typeC1Ed' is-defined='yes'/>\n    <elf-symbol name='_ZNSt22bernoulli_distributionC1Ed' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt22bernoulli_distributionC2Ed' is-defined='yes'/>\n    <elf-symbol name='_ZNSt22bernoulli_distributionC2Ed' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt22bernoulli_distributionclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEbRT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt22bernoulli_distributionclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEbRT_RKNS_10param_typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEC1EPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEC2EPKSt18_Rb_tree_node_base' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEC1ERKSt17_Rb_tree_iteratorIS8_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEC2ERKSt17_Rb_tree_iteratorIS8_E' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEC2EPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEC2ERKSt17_Rb_tree_iteratorIS8_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEEC1ERKSt17_Rb_tree_iteratorISE_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEEC2ERKSt17_Rb_tree_iteratorISE_E' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEEC2ERKSt17_Rb_tree_iteratorISE_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEC1EPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEC1ERKSt17_Rb_tree_iteratorIS8_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEC2EPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEC1EPKSt18_Rb_tree_node_base' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEC2ERKSt17_Rb_tree_iteratorIS8_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEC1ERKSt17_Rb_tree_iteratorIS8_E' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEppEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEEC1ERKSt17_Rb_tree_iteratorIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Rb_tree_const_iteratorISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEEC2ERKSt17_Rb_tree_iteratorIS6_E' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Rb_tree_const_iteratorISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEEC2ERKSt17_Rb_tree_iteratorIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EE5_Impl8_M_allocEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EE5_ImplC1ES2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EE5_ImplC2ES2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EE5_ImplC1ES2_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEC1IJEEES2_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEC1IJRKS1_EEES2_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEC2IJRKS1_EEES2_DpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEC2IJEEES2_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEC1IJEEES2_DpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEC2IJRKS1_EEES2_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EE5_Impl8_M_allocEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EE5_ImplC1ES2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EE5_ImplC2ES2_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EE5_ImplC2ES2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EE6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EEC1IJEEES2_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EEC2IJEEES2_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EEC1IJEEES2_DpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23__atomic_futex_unsignedILj2147483648EE16_M_load_and_testEjjbSt12memory_order' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23__atomic_futex_unsignedILj2147483648EE22_M_load_and_test_untilEjjbSt12memory_orderbNSt6chrono8durationIlSt5ratioILl1ELl1EEEENS3_IlS4_ILl1ELl1000000000EEEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23__atomic_futex_unsignedILj2147483648EE27_M_load_and_test_until_implINSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEEEEjjjbSt12memory_orderRKNS2_10time_pointINS2_3_V212steady_clockET_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23__atomic_futex_unsignedILj2147483648EE29_M_load_and_test_until_steadyEjjbSt12memory_orderbNSt6chrono8durationIlSt5ratioILl1ELl1EEEENS3_IlS4_ILl1ELl1000000000EEEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23__atomic_futex_unsignedILj2147483648EEC1Ej' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23__atomic_futex_unsignedILj2147483648EEC2Ej' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23__atomic_futex_unsignedILj2147483648EEC2Ej' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE3minEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE4seedEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEC1Em' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEC2Em' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEC2Em' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE11lower_boundERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE12emplace_hintIJRS5_SE_EEESt17_Rb_tree_iteratorISA_ESt23_Rb_tree_const_iteratorISA_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4findERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE7emplaceIJRS5_SE_EEES8_ISt17_Rb_tree_iteratorISA_EbEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEC1EOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEC1ERKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEC2ERKSC_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEC2EOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEC1EOSC_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEC2ERKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEaSEOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixEOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS8_EESt4lessIS5_ESaISt4pairIKS5_SB_EEE11lower_boundERSF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS8_EESt4lessIS5_ESaISt4pairIKS5_SB_EEE12emplace_hintIJRSF_SB_EEESt17_Rb_tree_iteratorISG_ESt23_Rb_tree_const_iteratorISG_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS8_EESt4lessIS5_ESaISt4pairIKS5_SB_EEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS8_EESt4lessIS5_ESaISt4pairIKS5_SB_EEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS8_EESt4lessIS5_ESaISt4pairIKS5_SB_EEE5eraseERSF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS8_EESt4lessIS5_ESaISt4pairIKS5_SB_EEE7emplaceIJRSF_SB_EEESE_ISt17_Rb_tree_iteratorISG_EbEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS8_EESt4lessIS5_ESaISt4pairIKS5_SB_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS8_EESt4lessIS5_ESaISt4pairIKS5_SB_EEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS8_EESt4lessIS5_ESaISt4pairIKS5_SB_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS8_EESt4lessIS5_ESaISt4pairIKS5_SB_EEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS8_EESt4lessIS5_ESaISt4pairIKS5_SB_EEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS8_EESt4lessIS5_ESaISt4pairIKS5_SB_EEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEE11lower_boundERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEE5eraseERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjSt4lessIS5_ESaISt4pairIKS5_jEEEixERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapIjSt10shared_ptrIN8usbguard6DeviceEESt4lessIjESaISt4pairIKjS3_EEE11lower_boundERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapIjSt10shared_ptrIN8usbguard6DeviceEESt4lessIjESaISt4pairIKjS3_EEE2atERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapIjSt10shared_ptrIN8usbguard6DeviceEESt4lessIjESaISt4pairIKjS3_EEE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapIjSt10shared_ptrIN8usbguard6DeviceEESt4lessIjESaISt4pairIKjS3_EEE4findERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapIjSt10shared_ptrIN8usbguard6DeviceEESt4lessIjESaISt4pairIKjS3_EEE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapIjSt10shared_ptrIN8usbguard6DeviceEESt4lessIjESaISt4pairIKjS3_EEE5eraseB5cxx11ESt17_Rb_tree_iteratorIS8_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapIjSt10shared_ptrIN8usbguard6DeviceEESt4lessIjESaISt4pairIKjS3_EEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapIjSt10shared_ptrIN8usbguard6DeviceEESt4lessIjESaISt4pairIKjS3_EEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapIjSt10shared_ptrIN8usbguard6DeviceEESt4lessIjESaISt4pairIKjS3_EEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapIjSt10shared_ptrIN8usbguard6DeviceEESt4lessIjESaISt4pairIKjS3_EEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt3mapIjSt10shared_ptrIN8usbguard6DeviceEESt4lessIjESaISt4pairIKjS3_EEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapIjSt10shared_ptrIN8usbguard6DeviceEESt4lessIjESaISt4pairIKjS3_EEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapIjSt10shared_ptrIN8usbguard6DeviceEESt4lessIjESaISt4pairIKjS3_EEEaSERKSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt3mapIjSt10shared_ptrIN8usbguard6DeviceEESt4lessIjESaISt4pairIKjS3_EEEixERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhEC1IJRS4_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES9_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhEC1IJRS4_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhEC2IJRS4_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhEC2IJRS4_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES9_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhEC1IJRS4_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES9_IJDpT0_EE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhEC2IJRS4_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEEC1IS6_S9_Lb1EEERS6_RKS9_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEEC2IS6_S9_Lb1EEERS6_RKS9_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEEC2IS6_S9_Lb1EEERS6_RKS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC1ERKS7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC2ERKS7_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC1IJOS5_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EESB_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC1IJOS5_EJLm0EEJEJEEERSt5tupleIJDpT_EERSA_IJDpT1_EESt12_Index_tupleIJXspT0_EEESJ_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC1IJRS6_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EESB_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC1IJRS6_EJLm0EEJEJEEERSt5tupleIJDpT_EERSA_IJDpT1_EESt12_Index_tupleIJXspT0_EEESJ_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC1IRS5_S9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC2IRS5_S9_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC1IS6_S5_Lb1EEERS6_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC2IS6_S5_Lb1EEERS6_S9_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC2ERKS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC2IJOS5_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EESB_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC1IJOS5_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EESB_IJDpT0_EE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC2IJOS5_EJLm0EEJEJEEERSt5tupleIJDpT_EERSA_IJDpT1_EESt12_Index_tupleIJXspT0_EEESJ_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC1IJOS5_EJLm0EEJEJEEERSt5tupleIJDpT_EERSA_IJDpT1_EESt12_Index_tupleIJXspT0_EEESJ_IJXspT2_EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC2IJRS6_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EESB_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC1IJRS6_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EESB_IJDpT0_EE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC2IJRS6_EJLm0EEJEJEEERSt5tupleIJDpT_EERSA_IJDpT1_EESt12_Index_tupleIJXspT0_EEESJ_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC1IJRS6_EJLm0EEJEJEEERSt5tupleIJDpT_EERSA_IJDpT1_EESt12_Index_tupleIJXspT0_EEESJ_IJXspT2_EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC2IRS5_S9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC2IS6_S5_Lb1EEERS6_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_ED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_ED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_ED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS9_EEEC1IRS6_SC_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS9_EEEC2IRS6_SC_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS9_EEEC1IRS6_SC_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS9_EEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS9_EEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS9_EEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEC1IJRS6_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EESB_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEC1IJRS6_EJLm0EEJEJEEERSt5tupleIJDpT_EERSA_IJDpT1_EESt12_Index_tupleIJXspT0_EEESJ_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEC2IJRS6_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EESB_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEC1IJRS6_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EESB_IJDpT0_EE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEC2IJRS6_EJLm0EEJEJEEERSt5tupleIJDpT_EERSA_IJDpT1_EESt12_Index_tupleIJXspT0_EEESJ_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEC1IJRS6_EJLm0EEJEJEEERSt5tupleIJDpT_EERSA_IJDpT1_EESt12_Index_tupleIJXspT0_EEESJ_IJXspT2_EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS3_EEEC1IJRS0_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EESA_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS3_EEEC1IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS9_IJDpT1_EESt12_Index_tupleIJXspT0_EEESI_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS3_EEEC2IJRS0_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EESA_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS3_EEEC1IJRS0_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EESA_IJDpT0_EE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS3_EEEC2IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS9_IJDpT1_EESt12_Index_tupleIJXspT0_EEESI_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS3_EEEC1IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS9_IJDpT1_EESt12_Index_tupleIJXspT0_EEESI_IJXspT2_EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS3_EEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS3_EEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS3_EEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKhmEC1IJRS0_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES5_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKhmEC2IJRS0_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES5_IJDpT0_EE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKhmEC1IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS4_IJDpT1_EESt12_Index_tupleIJXspT0_EEESD_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKhmEC2IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS4_IJDpT1_EESt12_Index_tupleIJXspT0_EEESD_IJXspT2_EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKhmEC2IJRS0_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES5_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKhmEC2IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS4_IJDpT1_EESt12_Index_tupleIJXspT0_EEESD_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKjN8usbguard9IPCServer13AccessControlEEC1IRjRKS3_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKjN8usbguard9IPCServer13AccessControlEEC2IRjRKS3_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKjN8usbguard9IPCServer13AccessControlEEC1IRjRKS3_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKjN8usbguard9IPCServer13AccessControlEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKjN8usbguard9IPCServer13AccessControlEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKjN8usbguard9IPCServer13AccessControlEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEC1ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEC2ERKS5_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEC1IJRS0_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES9_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEC1IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEC2IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEC2ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEC2IJRS0_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES9_IJDpT0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEC1IJRS0_EJEEESt21piecewise_construct_tSt5tupleIJDpT_EES9_IJDpT0_EE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEC2IJRS0_EJLm0EEJEJEEERSt5tupleIJDpT_EERS8_IJDpT1_EESt12_Index_tupleIJXspT0_EEESH_IJXspT2_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEC1ERKS9_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEC2ERKS9_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEC1IRA4_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEC2IRA4_KcS8_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEC1IRA5_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEC1IRA9_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEC2IRA9_KcS8_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEC2ERKS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEC2IRA4_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEC2IRA5_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEC1IRA5_KcS8_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEC2IRA9_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEC1ERKS9_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEC2ERKS9_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEC1IRA10_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEC1IRA15_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEC1IRA6_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEC1IRA7_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEC2IRA7_KcS8_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEC1IRA8_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEC2IRA8_KcS8_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEC2ERKS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEC2IRA10_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEC1IRA10_KcS8_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEC2IRA15_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEC1IRA15_KcS8_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEC2IRA6_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEC1IRA6_KcS8_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEC2IRA7_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEC2IRA8_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEC1ERKS9_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEC2ERKS9_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEC1IRA1_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEC2IRA1_KcS8_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEC1IRA6_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEC2IRA6_KcS8_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEC1IRA7_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEC2ERKS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEC2IRA1_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEC2IRA6_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEC2IRA7_KcS8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEC1IRA7_KcS8_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEC1ERKSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEC1IRA11_KcS9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEC1IRA4_KcS9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEC2IRA4_KcS9_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEC1IRA5_KcS9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEC1IRA7_KcS9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEC1IRA8_KcS9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEC2IRA8_KcS9_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEC2ERKSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEC1ERKSA_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEC2IRA11_KcS9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEC1IRA11_KcS9_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEC2IRA4_KcS9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEC2IRA5_KcS9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEC1IRA5_KcS9_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEC2IRA7_KcS9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEC1IRA7_KcS9_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEC2IRA8_KcS9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEC1ERKSA_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEC2ERKSA_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEC1IRA4_KcS9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEC1IRA5_KcS9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEC2IRA5_KcS9_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEC1IRA7_KcS9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEC2ERKSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEC2IRA4_KcS9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEC1IRA4_KcS9_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEC2IRA5_KcS9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEC2IRA7_KcS9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEC1IRA7_KcS9_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_E4swapERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC1EOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC1IRS5_S8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC2IRS5_S8_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC1IS5_S5_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC2IS5_S5_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC2EOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC1EOS6_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC2IRS5_S8_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC2IS5_S5_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_ED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_ED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_ED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EaSEOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt8__detail14_Node_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb0ELb1EEEbEC1IRSD_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt8__detail14_Node_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb0ELb1EEEbEC1ISD_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt8__detail14_Node_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb0ELb1EEEbEC2ISD_bLb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt8__detail14_Node_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb0ELb1EEEbEC2IRSD_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt8__detail14_Node_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb0ELb1EEEbEC1IRSD_bLb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt8__detail14_Node_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb0ELb1EEEbEC2ISD_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt8__detail14_Node_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEEbEC1IRSA_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt8__detail14_Node_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEEbEC1ISA_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt8__detail14_Node_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEEbEC2IRSA_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt8__detail14_Node_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEEbEC1IRSA_bLb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt8__detail14_Node_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEEbEC2ISA_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt8__detail14_Node_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEEbEC1ISA_bLb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt8__detail14_Node_iteratorIS_IKjN8usbguard9IPCServer13AccessControlEELb0ELb0EEEbEC1IRS7_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt8__detail14_Node_iteratorIS_IKjN8usbguard9IPCServer13AccessControlEELb0ELb0EEEbEC1IS7_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt8__detail14_Node_iteratorIS_IKjN8usbguard9IPCServer13AccessControlEELb0ELb0EEEbEC2IRS7_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt8__detail14_Node_iteratorIS_IKjN8usbguard9IPCServer13AccessControlEELb0ELb0EEEbEC1IRS7_bLb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairINSt8__detail14_Node_iteratorIS_IKjN8usbguard9IPCServer13AccessControlEELb0ELb0EEEbEC2IS7_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairINSt8__detail14_Node_iteratorIS_IKjN8usbguard9IPCServer13AccessControlEELb0ELb0EEEbEC1IS7_bLb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard17ConfigFilePrivate6NVPairEEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard17ConfigFilePrivate6NVPairEEERS1_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_EERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN8usbguard24UMockdevDeviceDefinitionEEEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISE_EEEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISE_EEEERS1_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt8weak_ptrIN8usbguard24UMockdevDeviceDefinitionEEEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt8weak_ptrIN8usbguard24UMockdevDeviceDefinitionEEEERS1_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKjN8usbguard3IPC14MessageHandlerINS6_16IPCClientPrivateEEEEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKjN8usbguard3IPC14MessageHandlerINS6_16IPCClientPrivateEEEEERS1_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKjSt10shared_ptrIN8usbguard6DeviceEEEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKjSt10shared_ptrIN8usbguard6DeviceEEEERS1_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKmSt7promiseISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteISA_EEEEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_S4_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IS1_S1_Lb1EEERKS1_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard17ConfigFilePrivate6NVPairEEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_EERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESA_EERS1_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN8usbguard24UMockdevDeviceDefinitionEEEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10shared_ptrIN8usbguard24UMockdevDeviceDefinitionEEEERS1_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISE_EEEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt8weak_ptrIN8usbguard24UMockdevDeviceDefinitionEEEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEERS1_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKjN8usbguard3IPC14MessageHandlerINS6_16IPCClientPrivateEEEEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKjSt10shared_ptrIN8usbguard6DeviceEEEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRPSt13_Rb_tree_nodeIS_IKmSt7promiseISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteISA_EEEEERS1_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRPSt13_Rb_tree_nodeIS_IKmSt7promiseISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteISA_EEEEERS1_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IRS1_S4_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IRS1_S4_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC2IS1_S1_Lb1EEERKS1_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EC1IS1_S1_Lb1EEERKS1_S5_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEC1IS7_SE_Lb1EEES7_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEC2IS7_SE_Lb1EEES7_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEC1IS7_SE_Lb1EEES7_SE_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EC1IS6_S6_Lb1EEES6_S6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EC2IS6_S6_Lb1EEES6_S6_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EC2IS6_S6_Lb1EEES6_S6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEbEC1IRS9_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt17_Rb_tree_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEbEC2IRS9_bLb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEbEC2IRS9_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEESF_EC1ISF_SF_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEESF_EC2ISF_SF_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt17_Rb_tree_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEESF_EC1ISF_SF_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEEbEC1IRSF_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt17_Rb_tree_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEEbEC2IRSF_bLb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEEbEC2IRSF_bLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEES9_EC1IS9_S9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairISt17_Rb_tree_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEES9_EC2IS9_S9_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairISt17_Rb_tree_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEES9_EC2IS9_S9_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIbmEC1IbmLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIbmEC2IbmLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIbmEC1IbmLb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIhmE4swapERS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIhmEC1IhmLb1EEERKhRKm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIhmEC2IhmLb1EEERKhRKm' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIhmEC1IhmLb1EEERKhRKm' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIhmEaSEOS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC1ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2ERKS6_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC1IiRA23_KcLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IiRA23_KcLb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC1IiRA24_KcLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IiRA24_KcLb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC1IiRA25_KcLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IiRA25_KcLb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC1IiRA26_KcLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IiRA26_KcLb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC1IiRA31_KcLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IiRA31_KcLb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC1IiRA33_KcLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC1IiRA39_KcLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC1IiRA41_KcLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IiRA41_KcLb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC1IiRA44_KcLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IiRA44_KcLb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IiRA23_KcLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IiRA24_KcLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IiRA25_KcLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IiRA26_KcLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IiRA31_KcLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IiRA33_KcLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC1IiRA33_KcLb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IiRA39_KcLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC1IiRA39_KcLb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IiRA41_KcLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2IiRA44_KcLb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5mutex13native_handleEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5mutex4lockEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5mutex6unlockEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5mutexC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5mutexC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5mutexC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC1EOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2EOS7_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC1IJS5_ELb1ELb1EEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2EOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2IJS5_ELb1ELb1EEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC1IJS5_ELb1ELb1EEEDpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEEC1EOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJPN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEEC2EOS5_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEEC1ILb1ELb1EEEv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJPN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEEC2ILb1ELb1EEEv' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEEC2EOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEEC2ILb1ELb1EEEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPN8usbguard7LogSinkESt14default_deleteIS1_EEEC1EOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPN8usbguard7LogSinkESt14default_deleteIS1_EEEC1ILb1ELb1EEEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPN8usbguard7LogSinkESt14default_deleteIS1_EEEC2EOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJPN8usbguard7LogSinkESt14default_deleteIS1_EEEC1EOS5_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPN8usbguard7LogSinkESt14default_deleteIS1_EEEC2ILb1ELb1EEEv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJPN8usbguard7LogSinkESt14default_deleteIS1_EEEC1ILb1ELb1EEEv' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EEEC1ILb1ELb1EEEv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJPN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EEEC2ILb1ELb1EEEv' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EEEC2ILb1ELb1EEEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPNSt13__future_base12_Result_baseENS1_8_DeleterEEEC1ILb1ELb1EEEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPNSt13__future_base12_Result_baseENS1_8_DeleterEEEC1IRS2_S3_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJPNSt13__future_base12_Result_baseENS1_8_DeleterEEEC2IRS2_S3_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPNSt13__future_base12_Result_baseENS1_8_DeleterEEEC2ILb1ELb1EEEv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJPNSt13__future_base12_Result_baseENS1_8_DeleterEEEC1ILb1ELb1EEEv' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPNSt13__future_base12_Result_baseENS1_8_DeleterEEEC2IRS2_S3_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEEC1EOSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEEC1ILb1ELb1EEEv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEEC2ILb1ELb1EEEv' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEEC2EOSD_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEEC1EOSD_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEEC2ILb1ELb1EEEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPNSt6thread6_StateESt14default_deleteIS1_EEEC1ILb1ELb1EEEv' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJPNSt6thread6_StateESt14default_deleteIS1_EEEC2ILb1ELb1EEEv' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPNSt6thread6_StateESt14default_deleteIS1_EEEC2ILb1ELb1EEEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPcPDoFvPvEEEC1IRS0_S3_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJPcPDoFvPvEEEC2IRS0_S3_Lb1EEEOT_OT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJPcPDoFvPvEEEC1IRS0_S3_Lb1EEEOT_OT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKN8usbguard9IPCServer13AccessControl7SectionEEEC1EOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJRKN8usbguard9IPCServer13AccessControl7SectionEEEC2EOS6_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKN8usbguard9IPCServer13AccessControl7SectionEEEC1ILb1ELb1EEES5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKN8usbguard9IPCServer13AccessControl7SectionEEEC2EOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKN8usbguard9IPCServer13AccessControl7SectionEEEC2ILb1ELb1EEES5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJRKN8usbguard9IPCServer13AccessControl7SectionEEEC1ILb1ELb1EEES5_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC1EOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC1ILb1ELb1EEES7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2EOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC1EOS8_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC2ILb1ELb1EEES7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEC1ILb1ELb1EEES7_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKhEEC1EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJRKhEEC2EOS2_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKhEEC1ILb1ELb1EEES1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJRKhEEC2ILb1ELb1EEES1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKhEEC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKhEEC2ILb1ELb1EEES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKjEEC1EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJRKjEEC2EOS2_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKjEEC1ILb1ELb1EEES1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJRKjEEC2ILb1ELb1EEES1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKjEEC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKjEEC2ILb1ELb1EEES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKmEEC1EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKmEEC1ILb1ELb1EEES1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKmEEC2EOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJRKmEEC1EOS2_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt5tupleIJRKmEEC2ILb1ELb1EEES1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt5tupleIJRKmEEC1ILb1ELb1EEES1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6atomicIbEC1Eb' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6atomicIbEC2Eb' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6atomicIbEC2Eb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6atomicIbEaSEb' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6atomicIiEC1Ei' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6atomicIiEC2Ei' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6atomicIiEC2Ei' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6atomicIjEC1Ej' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6atomicIjEC2Ej' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6atomicIjEC2Ej' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEC1ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEC2ERKS6_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEC2ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1EEEEEC1ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1EEEEEC2ERKS6_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono10time_pointINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1EEEEEC2ERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono13duration_castINS_8durationIlSt5ratioILl1ELl1000000000EEEElS2_ILl1ELl1000EEEENSt9enable_ifIXsrNS_13__is_durationIT_EE5valueES8_E4typeERKNS1_IT0_T1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono13duration_castINS_8durationIlSt5ratioILl1ELl1000000000EEEElS2_ILl1ELl1EEEENSt9enable_ifIXsrNS_13__is_durationIT_EE5valueES8_E4typeERKNS1_IT0_T1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono13duration_castINS_8durationIlSt5ratioILl1ELl1000000000EEEElS3_EENSt9enable_ifIXsrNS_13__is_durationIT_EE5valueES7_E4typeERKNS1_IT0_T1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono13duration_castINS_8durationIlSt5ratioILl1ELl1EEEElS2_ILl1ELl1000000000EEEENSt9enable_ifIXsrNS_13__is_durationIT_EE5valueES8_E4typeERKNS1_IT0_T1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono15duration_valuesIlE4zeroEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono15time_point_castINS_8durationIlSt5ratioILl1ELl1EEEENS_3_V212steady_clockENS1_IlS2_ILl1ELl1000000000EEEEEENSt9enable_ifIXsrNS_13__is_durationIT_EE5valueENS_10time_pointIT0_SB_EEE4typeERKNSD_ISE_T1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono20__duration_cast_implINS_8durationIlSt5ratioILl1ELl1000000000EEEES2_ILl1000000000ELl1EElLb0ELb1EE6__castIlS2_ILl1ELl1EEEES4_RKNS1_IT_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono20__duration_cast_implINS_8durationIlSt5ratioILl1ELl1000000000EEEES2_ILl1000000ELl1EElLb0ELb1EE6__castIlS2_ILl1ELl1000EEEES4_RKNS1_IT_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono20__duration_cast_implINS_8durationIlSt5ratioILl1ELl1EEEES2_ILl1ELl1000000000EElLb1ELb0EE6__castIlS5_EES4_RKNS1_IT_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono3_V212system_clock9to_time_tERKNS_10time_pointIS1_NS_8durationIlSt5ratioILl1ELl1000000000EEEEEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono4ceilINS_8durationIlSt5ratioILl1ELl1000000000EEEElS2_ILl1ELl1000EEEENSt9enable_ifIXsrNS_13__is_durationIT_EE5valueES8_E4typeERKNS1_IT0_T1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono4ceilINS_8durationIlSt5ratioILl1ELl1000000000EEEElS2_ILl1ELl1EEEENSt9enable_ifIXsrNS_13__is_durationIT_EE5valueES8_E4typeERKNS1_IT0_T1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEE4zeroEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEC1IivEERKT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEC1IlS1_ILl1ELl1000EEvEERKNS0_IT_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEC2IlS1_ILl1ELl1000EEvEERKNS0_IT_T0_EE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEC1IlS1_ILl1ELl1EEvEERKNS0_IT_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEC1IlvEERKT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEC1ImvEERKT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEC2IivEERKT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEC1IivEERKT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEC2IlS1_ILl1ELl1000EEvEERKNS0_IT_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEC2IlS1_ILl1ELl1EEvEERKNS0_IT_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEC1IlS1_ILl1ELl1EEvEERKNS0_IT_T0_EE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEC2IlvEERKT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEC1IlvEERKT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEC2ImvEERKT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEC1ImvEERKT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000EEE4zeroEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000EEEC1IlvEERKT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000EEEC2IlvEERKT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6chrono8durationIlSt5ratioILl1ELl1000EEEC1IlvEERKT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono8durationIlSt5ratioILl1ELl1EEEC1IivEERKT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono8durationIlSt5ratioILl1ELl1EEEC1IlvEERKT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono8durationIlSt5ratioILl1ELl1EEEC2IivEERKT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6chrono8durationIlSt5ratioILl1ELl1EEEC1IivEERKT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chrono8durationIlSt5ratioILl1ELl1EEEC2IlvEERKT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6chrono8durationIlSt5ratioILl1ELl1EEEC1IlvEERKT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chronoeqIlSt5ratioILl1ELl1000000000EElS2_EEbRKNS_8durationIT_T0_EERKNS3_IT1_T2_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chronogtIlSt5ratioILl1ELl1000EElS2_EEbRKNS_8durationIT_T0_EERKNS3_IT1_T2_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chronoleIlSt5ratioILl1ELl1000000000EElS2_EEbRKNS_8durationIT_T0_EERKNS3_IT1_T2_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chronoltINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEES6_EEbRKNS_10time_pointIT_T0_EERKNS7_IS8_T1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chronoltIlSt5ratioILl1ELl1000000000EElS1_ILl1ELl1000EEEEbRKNS_8durationIT_T0_EERKNS4_IT1_T2_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chronoltIlSt5ratioILl1ELl1000000000EElS1_ILl1ELl1EEEEbRKNS_8durationIT_T0_EERKNS4_IT1_T2_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chronoltIlSt5ratioILl1ELl1000000000EElS2_EEbRKNS_8durationIT_T0_EERKNS3_IT1_T2_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chronoltIlSt5ratioILl1ELl1000EElS2_EEbRKNS_8durationIT_T0_EERKNS3_IT1_T2_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chronomiINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEENS3_IlS4_ILl1ELl1EEEEEENSt11common_typeIJT0_T1_EE4typeERKNS_10time_pointIT_SA_EERKNSE_ISF_SB_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chronomiINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEES6_EENSt11common_typeIJT0_T1_EE4typeERKNS_10time_pointIT_S8_EERKNSC_ISD_S9_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chronomiIlSt5ratioILl1ELl1000000000EElS1_ILl1ELl1EEEENSt11common_typeIJNS_8durationIT_T0_EENS5_IT1_T2_EEEE4typeERKS8_RKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chronomiIlSt5ratioILl1ELl1000000000EElS2_EENSt11common_typeIJNS_8durationIT_T0_EENS4_IT1_T2_EEEE4typeERKS7_RKSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chronoplINS_3_V212steady_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEElS5_EENS_10time_pointIT_NSt11common_typeIJT0_NS3_IT1_T2_EEEE4typeEEERKNS7_IS8_SA_EERKSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6chronoplIlSt5ratioILl1ELl1000000000EElS2_EENSt11common_typeIJNS_8durationIT_T0_EENS4_IT1_T2_EEEE4typeERKS7_RKSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCClientPrivateEFvvEPS4_EEEEE6_M_runEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCClientPrivateEFvvEPS4_EEEEEC1IJRS6_RS7_EEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCClientPrivateEFvvEPS4_EEEEEC2IJRS6_RS7_EEEDpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCClientPrivateEFvvEPS4_EEEEEC2IJRS6_RS7_EEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCClientPrivateEFvvEPS4_EEEEED0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCClientPrivateEFvvEPS4_EEEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCClientPrivateEFvvEPS4_EEEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCClientPrivateEFvvEPS4_EEEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCServerPrivateEFvvEPS4_EEEEE6_M_runEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCServerPrivateEFvvEPS4_EEEEEC1IJRS6_RS7_EEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCServerPrivateEFvvEPS4_EEEEEC2IJRS6_RS7_EEEDpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCServerPrivateEFvvEPS4_EEEEEC2IJRS6_RS7_EEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCServerPrivateEFvvEPS4_EEEEED0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCServerPrivateEFvvEPS4_EEEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCServerPrivateEFvvEPS4_EEEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCServerPrivateEFvvEPS4_EEEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard19UEventDeviceManagerEFvvEPS4_EEEEE6_M_runEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard19UEventDeviceManagerEFvvEPS4_EEEEEC1IJRS6_RS7_EEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard19UEventDeviceManagerEFvvEPS4_EEEEEC2IJRS6_RS7_EEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard19UEventDeviceManagerEFvvEPS4_EEEEEC1IJRS6_RS7_EEEDpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard19UEventDeviceManagerEFvvEPS4_EEEEED0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard19UEventDeviceManagerEFvvEPS4_EEEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard19UEventDeviceManagerEFvvEPS4_EEEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard19UEventDeviceManagerEFvvEPS4_EEEEED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard21UMockdevDeviceManagerEFvvEPS4_EEEEE6_M_runEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard21UMockdevDeviceManagerEFvvEPS4_EEEEEC1IJRS6_RS7_EEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard21UMockdevDeviceManagerEFvvEPS4_EEEEEC2IJRS6_RS7_EEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard21UMockdevDeviceManagerEFvvEPS4_EEEEEC1IJRS6_RS7_EEEDpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard21UMockdevDeviceManagerEFvvEPS4_EEEEED0Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard21UMockdevDeviceManagerEFvvEPS4_EEEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard21UMockdevDeviceManagerEFvvEPS4_EEEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard21UMockdevDeviceManagerEFvvEPS4_EEEEED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread24_M_thread_deps_never_runEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread2idC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6thread2idC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread2idC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread4swapERS_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread6_StateC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6thread6_StateC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread6_StateC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard16IPCClientPrivateEFvvEPS3_EEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard16IPCClientPrivateEFvvEPS3_EEEC1IJRS5_RS6_EEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard16IPCClientPrivateEFvvEPS3_EEEC2IJRS5_RS6_EEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard16IPCClientPrivateEFvvEPS3_EEEC1IJRS5_RS6_EEEDpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard16IPCClientPrivateEFvvEPS3_EEEclEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard16IPCServerPrivateEFvvEPS3_EEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard16IPCServerPrivateEFvvEPS3_EEEC1IJRS5_RS6_EEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard16IPCServerPrivateEFvvEPS3_EEEC2IJRS5_RS6_EEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard16IPCServerPrivateEFvvEPS3_EEEC1IJRS5_RS6_EEEDpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard16IPCServerPrivateEFvvEPS3_EEEclEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard19UEventDeviceManagerEFvvEPS3_EEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard19UEventDeviceManagerEFvvEPS3_EEEC1IJRS5_RS6_EEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard19UEventDeviceManagerEFvvEPS3_EEEC2IJRS5_RS6_EEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard19UEventDeviceManagerEFvvEPS3_EEEC1IJRS5_RS6_EEEDpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard19UEventDeviceManagerEFvvEPS3_EEEclEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard21UMockdevDeviceManagerEFvvEPS3_EEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard21UMockdevDeviceManagerEFvvEPS3_EEEC1IJRS5_RS6_EEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard21UMockdevDeviceManagerEFvvEPS3_EEEC2IJRS5_RS6_EEEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard21UMockdevDeviceManagerEFvvEPS3_EEEC1IJRS5_RS6_EEEDpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6thread8_InvokerISt5tupleIJMN8usbguard21UMockdevDeviceManagerEFvvEPS3_EEEclEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6threadC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6threadC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6threadC1IRMN8usbguard16IPCClientPrivateEFvvEJRPS2_EvEEOT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6threadC2IRMN8usbguard16IPCClientPrivateEFvvEJRPS2_EvEEOT_DpOT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6threadC1IRMN8usbguard16IPCServerPrivateEFvvEJRPS2_EvEEOT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6threadC1IRMN8usbguard19UEventDeviceManagerEFvvEJRPS2_EvEEOT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6threadC2IRMN8usbguard19UEventDeviceManagerEFvvEJRPS2_EvEEOT_DpOT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6threadC1IRMN8usbguard21UMockdevDeviceManagerEFvvEJRPS2_EvEEOT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6threadC2IRMN8usbguard21UMockdevDeviceManagerEFvvEJRPS2_EvEEOT_DpOT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6threadC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6threadC2IRMN8usbguard16IPCClientPrivateEFvvEJRPS2_EvEEOT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6threadC2IRMN8usbguard16IPCServerPrivateEFvvEJRPS2_EvEEOT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6threadC1IRMN8usbguard16IPCServerPrivateEFvvEJRPS2_EvEEOT_DpOT0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6threadC2IRMN8usbguard19UEventDeviceManagerEFvvEJRPS2_EvEEOT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6threadC2IRMN8usbguard21UMockdevDeviceManagerEFvvEJRPS2_EvEEOT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6threadD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6threadD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6threadD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6threadaSEOS_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE11_S_max_sizeERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE15_M_erase_at_endEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEEEPS1_mT_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE9push_backERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EEaSERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EEixEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE11_S_max_sizeERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE15_M_erase_at_endEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEEEPS1_mT_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE4backEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13RuleConditionESaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIN8usbguard13RuleConditionESaIS1_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13RuleConditionESaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13RuleConditionESaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13RuleConditionESaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIN8usbguard13RuleConditionESaIS1_EED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13RuleConditionESaIS1_EEaSERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13USBDescriptorESaIS1_EE11_S_max_sizeERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13USBDescriptorESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13USBDescriptorESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13USBDescriptorESaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13USBDescriptorESaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13USBDescriptorESaIS1_EE9push_backERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13USBDescriptorESaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIN8usbguard13USBDescriptorESaIS1_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13USBDescriptorESaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13USBDescriptorESaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIN8usbguard13USBDescriptorESaIS1_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard13USBDescriptorESaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE11_S_max_sizeERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE15_M_erase_at_endEPS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS1_S3_EEEEPS1_mT_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE9push_backERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EEaSERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard4RuleESaIS1_EE11_S_max_sizeERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard4RuleESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard4RuleESaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard4RuleESaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard4RuleESaIS1_EE9push_backERKS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard4RuleESaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard4RuleESaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIN8usbguard4RuleESaIS1_EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard4RuleESaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorIN8usbguard4RuleESaIS1_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorIN8usbguard4RuleESaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_max_sizeERKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE11_S_relocateEPS5_S8_S8_RS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12emplace_backIJS5_EEERS5_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE15_M_erase_at_endEPS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_appendIJRKS5_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_appendIJS5_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_S_check_init_lenEmRKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_range_initializeIPKPKcEEvT_SD_St20forward_iterator_tag' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS5_S7_EEEEPS5_mT_SF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE21_M_range_initialize_nIPKPKcEEvT_SD_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS5_S7_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE8_M_eraseEN9__gnu_cxx17__normal_iteratorIPS5_S7_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC1EOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC1ERKS7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ERKS7_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC1IPKPKcvEET_SD_RKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2EOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC1EOS7_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ERKS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2IPKPKcvEET_SD_RKS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC1IPKPKcvEET_SD_RKS6_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEaSERKS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE11_S_max_sizeERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE11_S_relocateEPS4_S7_S7_RS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE12emplace_backIJS4_EEERS4_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE17_M_realloc_appendIJRKS4_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE17_M_realloc_appendIJS4_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE4backEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE9push_backEOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE9push_backERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE11_S_max_sizeERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE13_M_insert_auxIS3_EEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE15_M_erase_at_endEPS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE16_Temporary_value6_M_ptrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE16_Temporary_value6_M_valEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE16_Temporary_value8_StorageC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE16_Temporary_value8_StorageC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE16_Temporary_value8_StorageC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE16_Temporary_value8_StorageD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE16_Temporary_value8_StorageD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE16_Temporary_value8_StorageD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE16_Temporary_valueC1IJRKS3_EEEPS5_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE16_Temporary_valueC2IJRKS3_EEEPS5_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE16_Temporary_valueC1IJRKS3_EEEPS5_DpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE16_Temporary_valueD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE16_Temporary_valueD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE16_Temporary_valueD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE17_M_realloc_appendIJRKS3_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS3_S5_EEEEPS3_mT_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS3_S5_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS3_S5_EERS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE8_M_eraseEN9__gnu_cxx17__normal_iteratorIPS3_S5_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE9push_backERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EEaSERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE11_S_max_sizeERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE11_S_relocateEPS3_S6_S6_RS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE17_M_realloc_appendIJRKS3_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE9push_backERKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE14_M_move_assignEOS5_St17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE15_M_erase_at_endEPS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS3_S5_EEEEPS3_mT_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE4backEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EE5frontEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEC1ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEC2ERKS4_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEC1ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEC2ERKS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEC2ERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEC1ERKS5_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEaSEOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS3_EEaSERKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EE11_S_max_sizeERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EE17_S_check_init_lenEmRKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EE21_M_range_initialize_nIPKSA_EEvT_SG_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EEC1ESt16initializer_listISA_ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EEC2ESt16initializer_listISA_ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EEC1ESt16initializer_listISA_ERKSB_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEESaISA_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EE11_S_max_sizeERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EE17_S_check_init_lenEmRKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EE21_M_range_initialize_nIPKSA_EEvT_SG_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EEC1ESt16initializer_listISA_ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EEC2ESt16initializer_listISA_ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EEC1ESt16initializer_listISA_ERKSB_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEESaISA_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EE11_S_max_sizeERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EE17_S_check_init_lenEmRKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EE21_M_range_initialize_nIPKSA_EEvT_SG_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EEC1ESt16initializer_listISA_ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EEC2ESt16initializer_listISA_ERKSB_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EEC2ESt16initializer_listISA_ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEESaISA_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EE11_S_max_sizeERKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EE17_S_check_init_lenEmRKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EE21_M_range_initialize_nIPKSB_EEvT_SH_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EEC1ESt16initializer_listISB_ERKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EEC2ESt16initializer_listISB_ERKSC_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EEC2ESt16initializer_listISB_ERKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEESaISB_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EE11_S_max_sizeERKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EE17_S_check_init_lenEmRKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EE21_M_range_initialize_nIPKSB_EEvT_SH_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EEC1ESt16initializer_listISB_ERKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EEC2ESt16initializer_listISB_ERKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EEC1ESt16initializer_listISB_ERKSC_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEESaISB_EED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE11_S_max_sizeERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE11_S_relocateEPS7_SA_SA_RS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE12emplace_backIJS7_EEERS7_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE17_M_realloc_appendIJS7_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE4backEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairIhmESaIS1_EE11_S_max_sizeERKS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairIhmESaIS1_EE11_S_relocateEPS1_S4_S4_RS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairIhmESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairIhmESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairIhmESaIS1_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairIhmESaIS1_EE4backEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairIhmESaIS1_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairIhmESaIS1_EE9push_backEOS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairIhmESaIS1_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt4pairIhmESaIS1_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairIhmESaIS1_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairIhmESaIS1_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt4pairIhmESaIS1_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairIhmESaIS1_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EE11_S_max_sizeERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EE17_S_check_init_lenEmRKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EE21_M_range_initialize_nIPKS7_EEvT_SD_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EEC1ESt16initializer_listIS7_ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EEC2ESt16initializer_listIS7_ERKS8_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EEC2ESt16initializer_listIS7_ERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt6vectorISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt6vectorISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESaIS7_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE22__resize_and_overwriteIZNS_9to_stringEiEUlPcmE_EEvmT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE22__resize_and_overwriteIZNS_9to_stringEjEUlPcmE_EEvmT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IPKcvEET_S8_RKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IS3_EEPKcRKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IS3_EEmcRKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IPKcvEET_S8_RKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IPKcvEET_S8_RKS3_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IS3_EEPKcRKS3_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEmcRKS3_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IS3_EEmcRKS3_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt7__cxx114stodERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt7__cxx119to_stringEi' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt7__cxx119to_stringEj' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_node9_M_insertES6_IPSt18_Rb_tree_node_baseSH_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeC1IJRKSt21piecewise_construct_tSt5tupleIJOS5_EESK_IJEEEEERSE_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeC1IJRKSt21piecewise_construct_tSt5tupleIJRS7_EESK_IJEEEEERSE_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeC1IJRS5_SH_EEERSE_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeC2IJRS5_SH_EEERSE_DpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeC2IJRKSt21piecewise_construct_tSt5tupleIJOS5_EESK_IJEEEEERSE_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeC1IJRKSt21piecewise_construct_tSt5tupleIJOS5_EESK_IJEEEEERSE_DpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeC2IJRKSt21piecewise_construct_tSt5tupleIJRS7_EESK_IJEEEEERSE_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeC1IJRKSt21piecewise_construct_tSt5tupleIJRS7_EESK_IJEEEEERSE_DpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeC2IJRS5_SH_EEERSE_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_S_maximumEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_S_minimumEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_Alloc_nodeC1ERSE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_Alloc_nodeC2ERSE_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_Alloc_nodeC1ERSE_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_get_nodeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_leftmostEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS8_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11lower_boundERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS8_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_move_dataERSE_St17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_rightmostEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_M_clone_nodeILb0ENSE_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS8_ESJ_RT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEC1EOSG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEC1ERKSG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEC2EOSG_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEC1EOSG_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEC2ERKSG_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEC1ERKSG_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_create_nodeIJRKS8_EEEPSt13_Rb_tree_nodeIS8_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJOS5_EESJ_IJEEEEEPSt13_Rb_tree_nodeIS8_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEEPSt13_Rb_tree_nodeIS8_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_create_nodeIJRS5_SG_EEEPSt13_Rb_tree_nodeIS8_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSG_PSt13_Rb_tree_nodeIS8_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS8_EPSt18_Rb_tree_node_baseRS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_move_assignERSE_St17integral_constantIbLb1EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS8_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE17_M_construct_nodeIJRKS8_EEEvPSt13_Rb_tree_nodeIS8_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJOS5_EESJ_IJEEEEEvPSt13_Rb_tree_nodeIS8_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEEvPSt13_Rb_tree_nodeIS8_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE17_M_construct_nodeIJRS5_SG_EEEvPSt13_Rb_tree_nodeIS8_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE21_M_get_Node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJOS5_EESJ_IJEEEEESt17_Rb_tree_iteratorIS8_ESt23_Rb_tree_const_iteratorIS8_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEESt17_Rb_tree_iteratorIS8_ESt23_Rb_tree_const_iteratorIS8_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE22_M_emplace_hint_uniqueIJRS5_SG_EEESt17_Rb_tree_iteratorIS8_ESt23_Rb_tree_const_iteratorIS8_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4findERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_M_endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt13_Rb_tree_nodeIS8_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_M_copyERKSE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_M_copyILb0ENSE_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS8_ERKSE_RT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_M_copyILb0ENSE_11_Alloc_nodeEEEPSt13_Rb_tree_nodeIS8_ESJ_PSt18_Rb_tree_node_baseRT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_M_rootEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_S_leftEPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_S_leftEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_S_rightEPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_S_rightEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EEC1EOSE_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EEC2EOSE_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EEC1ERKSE_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EEC2ERKSE_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EEC2EOSE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EEC2ERKSE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EEaSEOSE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE10_Auto_node9_M_insertES6_IPSt18_Rb_tree_node_baseSN_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE10_Auto_nodeC1IJRS7_SD_EEERSK_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE10_Auto_nodeC2IJRS7_SD_EEERSK_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE10_Auto_nodeC1IJRS7_SD_EEERSK_DpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE10_Auto_nodeD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE10_Auto_nodeD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE10_Auto_nodeD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE11_M_get_nodeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE11_M_leftmostEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE11_M_put_nodeEPSt13_Rb_tree_nodeISE_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE11equal_rangeERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE11lower_boundERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE12_M_drop_nodeEPSt13_Rb_tree_nodeISE_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE12_M_erase_auxESt23_Rb_tree_const_iteratorISE_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE12_M_erase_auxESt23_Rb_tree_const_iteratorISE_ESM_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE12_M_rightmostEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE13_Rb_tree_implISI_Lb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE13_Rb_tree_implISI_Lb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE13_Rb_tree_implISI_Lb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE13_Rb_tree_implISI_Lb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE13_Rb_tree_implISI_Lb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE13_Rb_tree_implISI_Lb1EED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE14_M_create_nodeIJRS7_SD_EEEPSt13_Rb_tree_nodeISE_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSM_PSt13_Rb_tree_nodeISE_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE14_M_lower_boundEPSt13_Rb_tree_nodeISE_EPSt18_Rb_tree_node_baseRS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE14_M_upper_boundEPSt13_Rb_tree_nodeISE_EPSt18_Rb_tree_node_baseRS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeISE_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE17_M_construct_nodeIJRS7_SD_EEEvPSt13_Rb_tree_nodeISE_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE21_M_get_Node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE22_M_emplace_hint_uniqueIJRS7_SD_EEESt17_Rb_tree_iteratorISE_ESt23_Rb_tree_const_iteratorISE_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE24_M_get_insert_unique_posERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorISE_ERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE5eraseERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE6_M_endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE6_S_keyEPKSt13_Rb_tree_nodeISE_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE6_S_keyEPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE7_S_leftEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE8_M_beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE8_M_eraseEPSt13_Rb_tree_nodeISE_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EE8_S_rightEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_St10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEESt10_Select1stISE_ESt4lessIS5_ESaISE_EED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_node9_M_insertES6_IPSt18_Rb_tree_node_baseSH_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeC1IJRKSt21piecewise_construct_tSt5tupleIJRS7_EESK_IJEEEEERSE_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeC2IJRKSt21piecewise_construct_tSt5tupleIJRS7_EESK_IJEEEEERSE_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeC1IJRKSt21piecewise_construct_tSt5tupleIJRS7_EESK_IJEEEEERSE_DpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_Auto_nodeD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_get_nodeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_leftmostEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS8_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11equal_rangeERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11lower_boundERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS8_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS8_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS8_ESG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_rightmostEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEEPSt13_Rb_tree_nodeIS8_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSG_PSt13_Rb_tree_nodeIS8_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS8_EPSt18_Rb_tree_node_baseRS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_upper_boundEPSt13_Rb_tree_nodeIS8_EPSt18_Rb_tree_node_baseRS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS8_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEEvPSt13_Rb_tree_nodeIS8_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE21_M_get_Node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESJ_IJEEEEESt17_Rb_tree_iteratorIS8_ESt23_Rb_tree_const_iteratorIS8_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5eraseERS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_M_endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt13_Rb_tree_nodeIS8_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_S_leftEPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_S_leftEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_S_rightEPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_S_rightEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE10_Auto_node9_M_insertES0_IPSt18_Rb_tree_node_baseSF_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE10_Auto_nodeC1IJRKSt21piecewise_construct_tSt5tupleIJRS1_EESI_IJEEEEERSC_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE10_Auto_nodeC2IJRKSt21piecewise_construct_tSt5tupleIJRS1_EESI_IJEEEEERSC_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE10_Auto_nodeC1IJRKSt21piecewise_construct_tSt5tupleIJRS1_EESI_IJEEEEERSC_DpOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE10_Auto_nodeD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE10_Auto_nodeD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE10_Auto_nodeD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE10_S_maximumEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE10_S_minimumEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE11_M_get_nodeEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE11_M_leftmostEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE11lower_boundERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE12_M_rightmostEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE13_M_clone_nodeILb0ENSC_20_Reuse_or_alloc_nodeEEEPSt13_Rb_tree_nodeIS6_ESH_RT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE13_Rb_tree_implISA_Lb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE13_Rb_tree_implISA_Lb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE13_Rb_tree_implISA_Lb1EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE13_Rb_tree_implISA_Lb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE13_Rb_tree_implISA_Lb1EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE13_Rb_tree_implISA_Lb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE14_M_create_nodeIJRKS6_EEEPSt13_Rb_tree_nodeIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE14_M_create_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESH_IJEEEEEPSt13_Rb_tree_nodeIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSE_PSt13_Rb_tree_nodeIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS6_EPSt18_Rb_tree_node_baseRS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE17_M_construct_nodeIJRKS6_EEEvPSt13_Rb_tree_nodeIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE17_M_construct_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESH_IJEEEEEvPSt13_Rb_tree_nodeIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE20_Reuse_or_alloc_node10_M_extractEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE20_Reuse_or_alloc_nodeC1ERSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE20_Reuse_or_alloc_nodeC2ERSC_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE20_Reuse_or_alloc_nodeC1ERSC_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE20_Reuse_or_alloc_nodeD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE20_Reuse_or_alloc_nodeD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE20_Reuse_or_alloc_nodeD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE20_Reuse_or_alloc_nodeclIRKS6_EEPSt13_Rb_tree_nodeIS6_EOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE21_M_get_Node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE22_M_emplace_hint_uniqueIJRKSt21piecewise_construct_tSt5tupleIJRS1_EESH_IJEEEEESt17_Rb_tree_iteratorIS6_ESt23_Rb_tree_const_iteratorIS6_EDpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE24_M_get_insert_unique_posERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS6_ERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE3endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE4findERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE5beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE5clearEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE5eraseB5cxx11ESt17_Rb_tree_iteratorIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE6_M_endEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE6_S_keyEPKSt13_Rb_tree_nodeIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE6_S_keyEPKSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE7_M_copyILb0ENSC_20_Reuse_or_alloc_nodeEEEPSt13_Rb_tree_nodeIS6_ERKSC_RT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE7_M_copyILb0ENSC_20_Reuse_or_alloc_nodeEEEPSt13_Rb_tree_nodeIS6_ESH_PSt18_Rb_tree_node_baseRT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE7_M_rootEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE7_S_leftEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE8_M_beginEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EE8_S_rightEPSt18_Rb_tree_node_base' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS6_ESt4lessIjESaIS6_EEaSERKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail10_AllocNodeISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEEC1ERNS_16_Hashtable_allocISA_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail10_AllocNodeISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEEC2ERNS_16_Hashtable_allocISA_EE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail10_AllocNodeISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEEC2ERNS_16_Hashtable_allocISA_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEELb0EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEELb0EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEELb0EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail10_Hash_nodeISt4pairIKhmELb0EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail10_Hash_nodeISt4pairIKhmELb0EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail10_Hash_nodeISt4pairIKhmELb0EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail13_NodePtrGuardINS_16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEEEPSA_ED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail13_NodePtrGuardINS_16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEEEPSA_ED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail13_NodePtrGuardINS_16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEEEPSA_ED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail14_Node_iteratorISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb0ELb1EEC1EPNS_10_Hash_nodeIS7_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail14_Node_iteratorISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb0ELb1EEC2EPNS_10_Hash_nodeIS7_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail14_Node_iteratorISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb0ELb1EEC1EPNS_10_Hash_nodeIS7_Lb1EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb0ELb1EEC1EPNS_10_Hash_nodeISC_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb0ELb1EEC2EPNS_10_Hash_nodeISC_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb0ELb1EEC1EPNS_10_Hash_nodeISC_Lb1EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEC1EPNS_10_Hash_nodeIS9_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEC2EPNS_10_Hash_nodeIS9_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb0ELb1EEC1EPNS_10_Hash_nodeIS9_Lb1EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail14_Node_iteratorISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEELb0ELb0EEC1EPNS_10_Hash_nodeIS8_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail14_Node_iteratorISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEELb0ELb0EEC2EPNS_10_Hash_nodeIS8_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail14_Node_iteratorISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEELb0ELb0EEC1EPNS_10_Hash_nodeIS8_Lb0EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail14_Node_iteratorISt4pairIKhmELb0ELb0EEC1EPNS_10_Hash_nodeIS3_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail14_Node_iteratorISt4pairIKhmELb0ELb0EEC2EPNS_10_Hash_nodeIS3_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail14_Node_iteratorISt4pairIKhmELb0ELb0EEC1EPNS_10_Hash_nodeIS3_Lb0EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail14_Node_iteratorISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0ELb0EEC1EPNS_10_Hash_nodeIS6_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail14_Node_iteratorISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0ELb0EEC2EPNS_10_Hash_nodeIS6_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail14_Node_iteratorISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0ELb0EEC1EPNS_10_Hash_nodeIS6_Lb0EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail14__to_chars_lenIjEEjT_i' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hash_code_baseIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS4_hENS_10_Select1stENS3_11SectionHashENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hash_code_baseIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS4_hENS_10_Select1stENS3_11SectionHashENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail15_Hash_code_baseIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS4_hENS_10_Select1stENS3_11SectionHashENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hash_code_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_N8usbguard9IPCServer13AccessControlEENS_10_Select1stESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail15_Hash_code_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_N8usbguard9IPCServer13AccessControlEENS_10_Select1stESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hash_code_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_N8usbguard9IPCServer13AccessControlEENS_10_Select1stESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hash_code_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_S6_ENS_10_Select1stESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail15_Hash_code_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_S6_ENS_10_Select1stESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hash_code_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_S6_ENS_10_Select1stESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hash_code_baseIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEENS_10_Select1stESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail15_Hash_code_baseIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEENS_10_Select1stESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hash_code_baseIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEENS_10_Select1stESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hash_code_baseIhSt4pairIKhmENS_10_Select1stESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail15_Hash_code_baseIhSt4pairIKhmENS_10_Select1stESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hash_code_baseIhSt4pairIKhmENS_10_Select1stESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hash_code_baseIjSt4pairIKjN8usbguard9IPCServer13AccessControlEENS_10_Select1stESt4hashIjENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail15_Hash_code_baseIjSt4pairIKjN8usbguard9IPCServer13AccessControlEENS_10_Select1stESt4hashIjENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hash_code_baseIjSt4pairIKjN8usbguard9IPCServer13AccessControlEENS_10_Select1stESt4hashIjENS_18_Mod_range_hashingENS_20_Default_ranged_hashELb0EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hash_node_baseC1EPS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hash_node_baseC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail15_Hash_node_baseC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hash_node_baseC2EPS0_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail15_Hash_node_baseC1EPS0_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hash_node_baseC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hashtable_baseIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS4_hENS_10_Select1stESt8equal_toIS4_ENS3_11SectionHashENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEE9_S_equalsEmRKNS_21_Hash_node_code_cacheILb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hashtable_baseIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS4_hENS_10_Select1stESt8equal_toIS4_ENS3_11SectionHashENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail15_Hashtable_baseIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS4_hENS_10_Select1stESt8equal_toIS4_ENS3_11SectionHashENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hashtable_baseIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS4_hENS_10_Select1stESt8equal_toIS4_ENS3_11SectionHashENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hashtable_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_N8usbguard9IPCServer13AccessControlEENS_10_Select1stESt8equal_toIS6_ESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEE9_S_equalsEmRKNS_21_Hash_node_code_cacheILb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hashtable_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_N8usbguard9IPCServer13AccessControlEENS_10_Select1stESt8equal_toIS6_ESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail15_Hashtable_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_N8usbguard9IPCServer13AccessControlEENS_10_Select1stESt8equal_toIS6_ESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hashtable_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_N8usbguard9IPCServer13AccessControlEENS_10_Select1stESt8equal_toIS6_ESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hashtable_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_S6_ENS_10_Select1stESt8equal_toIS6_ESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEE9_S_equalsEmRKNS_21_Hash_node_code_cacheILb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hashtable_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_S6_ENS_10_Select1stESt8equal_toIS6_ESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail15_Hashtable_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_S6_ENS_10_Select1stESt8equal_toIS6_ESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hashtable_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_S6_ENS_10_Select1stESt8equal_toIS6_ESt4hashIS6_ENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb1ELb0ELb1EEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hashtable_baseIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEENS_10_Select1stESt8equal_toIhESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEE9_S_equalsEmRKNS_21_Hash_node_code_cacheILb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hashtable_baseIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEENS_10_Select1stESt8equal_toIhESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail15_Hashtable_baseIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEENS_10_Select1stESt8equal_toIhESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hashtable_baseIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEENS_10_Select1stESt8equal_toIhESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hashtable_baseIhSt4pairIKhmENS_10_Select1stESt8equal_toIhESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEE9_S_equalsEmRKNS_21_Hash_node_code_cacheILb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hashtable_baseIhSt4pairIKhmENS_10_Select1stESt8equal_toIhESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail15_Hashtable_baseIhSt4pairIKhmENS_10_Select1stESt8equal_toIhESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hashtable_baseIhSt4pairIKhmENS_10_Select1stESt8equal_toIhESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hashtable_baseIjSt4pairIKjN8usbguard9IPCServer13AccessControlEENS_10_Select1stESt8equal_toIjESt4hashIjENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEE9_S_equalsEmRKNS_21_Hash_node_code_cacheILb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hashtable_baseIjSt4pairIKjN8usbguard9IPCServer13AccessControlEENS_10_Select1stESt8equal_toIjESt4hashIjENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail15_Hashtable_baseIjSt4pairIKjN8usbguard9IPCServer13AccessControlEENS_10_Select1stESt8equal_toIjESt4hashIjENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail15_Hashtable_baseIjSt4pairIKjN8usbguard9IPCServer13AccessControlEENS_10_Select1stESt8equal_toIjESt4hashIjENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_17_Hashtable_traitsILb0ELb0ELb1EEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEE16_M_allocate_nodeIJRKS8_EEEPS9_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEE16_M_allocate_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS7_EESG_IJEEEEEPS9_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEE17_M_node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEE18_M_deallocate_nodeEPS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEE19_M_allocate_bucketsEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEE19_M_deallocate_nodesEPS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEE21_M_deallocate_bucketsEPPNS_15_Hash_node_baseEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEE22_M_deallocate_node_ptrEPS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEEC1ISA_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEEC2ISA_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEEC1ISA_EEOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEEE16_M_allocate_nodeIJRS9_RKSC_EEEPSE_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEEE17_M_node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEEE18_M_deallocate_nodeEPSE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEEE19_M_allocate_bucketsEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEEE19_M_deallocate_nodesEPSE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEEE21_M_deallocate_bucketsEPPNS_15_Hash_node_baseEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEEE22_M_deallocate_node_ptrEPSE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEE16_M_allocate_nodeIJRS9_SF_EEEPSB_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEE17_M_node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEE18_M_deallocate_nodeEPSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEE19_M_allocate_bucketsEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEE19_M_deallocate_nodesEPSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEE21_M_deallocate_bucketsEPPNS_15_Hash_node_baseEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEE22_M_deallocate_node_ptrEPSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEEC1ISC_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEEC2ISC_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEEC1ISC_EEOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEEE16_M_allocate_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESH_IJEEEEEPSA_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEEE17_M_node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEEE18_M_deallocate_nodeEPSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEEE19_M_allocate_bucketsEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEEE19_M_deallocate_nodesEPSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEEE21_M_deallocate_bucketsEPPNS_15_Hash_node_baseEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEEE22_M_deallocate_node_ptrEPSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhmELb0EEEEE16_M_allocate_nodeIJRKSt21piecewise_construct_tSt5tupleIJRS3_EESC_IJEEEEEPS5_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhmELb0EEEEE17_M_node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhmELb0EEEEE18_M_deallocate_nodeEPS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhmELb0EEEEE19_M_allocate_bucketsEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhmELb0EEEEE19_M_deallocate_nodesEPS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhmELb0EEEEE21_M_deallocate_bucketsEPPNS_15_Hash_node_baseEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhmELb0EEEEE22_M_deallocate_node_ptrEPS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhmELb0EEEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhmELb0EEEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhmELb0EEEEEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhmELb0EEEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhmELb0EEEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKhmELb0EEEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEEE16_M_allocate_nodeIJRjRKS6_EEEPS8_DpOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEEE17_M_node_allocatorEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEEE18_M_deallocate_nodeEPS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEEE19_M_allocate_bucketsEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEEE19_M_deallocate_nodesEPS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEEE21_M_deallocate_bucketsEPPNS_15_Hash_node_baseEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEEE22_M_deallocate_node_ptrEPS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEEEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEEEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEEEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail16_Hashtable_allocISaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail17_RehashStateGuardINS_20_Prime_rehash_policyEEC1ERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail17_RehashStateGuardINS_20_Prime_rehash_policyEEC2ERS1_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail17_RehashStateGuardINS_20_Prime_rehash_policyEEC1ERS1_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail17_RehashStateGuardINS_20_Prime_rehash_policyEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail17_RehashStateGuardINS_20_Prime_rehash_policyEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail17_RehashStateGuardINS_20_Prime_rehash_policyEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail17_ReuseOrAllocNodeISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEEC1EPS9_RNS_16_Hashtable_allocISA_EE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail17_ReuseOrAllocNodeISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEEC2EPS9_RNS_16_Hashtable_allocISA_EE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail17_ReuseOrAllocNodeISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEEC2EPS9_RNS_16_Hashtable_allocISA_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail17_ReuseOrAllocNodeISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail17_ReuseOrAllocNodeISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail17_ReuseOrAllocNodeISaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail18__to_chars_10_implIjEEvPcjT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail19_Node_iterator_baseISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EE7_M_incrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail19_Node_iterator_baseISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEC1EPNS_10_Hash_nodeIS7_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail19_Node_iterator_baseISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEC2EPNS_10_Hash_nodeIS7_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail19_Node_iterator_baseISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEC1EPNS_10_Hash_nodeIS7_Lb1EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EE7_M_incrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEC1EPNS_10_Hash_nodeISC_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEC2EPNS_10_Hash_nodeISC_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEC1EPNS_10_Hash_nodeISC_Lb1EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb1EEC1EPNS_10_Hash_nodeIS9_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb1EEC2EPNS_10_Hash_nodeIS9_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ELb1EEC1EPNS_10_Hash_nodeIS9_Lb1EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail19_Node_iterator_baseISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEELb0EEC1EPNS_10_Hash_nodeIS8_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail19_Node_iterator_baseISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEELb0EEC2EPNS_10_Hash_nodeIS8_Lb0EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail19_Node_iterator_baseISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEELb0EEC2EPNS_10_Hash_nodeIS8_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail19_Node_iterator_baseISt4pairIKhmELb0EE7_M_incrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail19_Node_iterator_baseISt4pairIKhmELb0EEC1EPNS_10_Hash_nodeIS3_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail19_Node_iterator_baseISt4pairIKhmELb0EEC2EPNS_10_Hash_nodeIS3_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail19_Node_iterator_baseISt4pairIKhmELb0EEC1EPNS_10_Hash_nodeIS3_Lb0EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail19_Node_iterator_baseISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EE7_M_incrEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail19_Node_iterator_baseISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEC1EPNS_10_Hash_nodeIS6_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail19_Node_iterator_baseISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEC2EPNS_10_Hash_nodeIS6_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail19_Node_iterator_baseISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEC1EPNS_10_Hash_nodeIS6_Lb0EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail20_Node_const_iteratorISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb0ELb1EEC1EPNS_10_Hash_nodeIS7_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail20_Node_const_iteratorISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb0ELb1EEC2EPNS_10_Hash_nodeIS7_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail20_Node_const_iteratorISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb0ELb1EEC1EPNS_10_Hash_nodeIS7_Lb1EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail20_Node_const_iteratorISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb0ELb1EEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb0ELb1EEC1EPNS_10_Hash_nodeISC_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb0ELb1EEC2EPNS_10_Hash_nodeISC_Lb1EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb0ELb1EEC1EPNS_10_Hash_nodeISC_Lb1EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb0ELb1EEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail20_Node_const_iteratorISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEELb0ELb0EEC1EPNS_10_Hash_nodeIS8_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail20_Node_const_iteratorISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEELb0ELb0EEC2EPNS_10_Hash_nodeIS8_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail20_Node_const_iteratorISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEELb0ELb0EEC1EPNS_10_Hash_nodeIS8_Lb0EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail20_Node_const_iteratorISt4pairIKhmELb0ELb0EEC1EPNS_10_Hash_nodeIS3_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail20_Node_const_iteratorISt4pairIKhmELb0ELb0EEC2EPNS_10_Hash_nodeIS3_Lb0EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail20_Node_const_iteratorISt4pairIKhmELb0ELb0EEC2EPNS_10_Hash_nodeIS3_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail20_Node_const_iteratorISt4pairIKhmELb0ELb0EEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail20_Node_const_iteratorISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0ELb0EEC1EPNS_10_Hash_nodeIS6_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail20_Node_const_iteratorISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0ELb0EEC2EPNS_10_Hash_nodeIS6_Lb0EEE' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail20_Node_const_iteratorISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0ELb0EEC1EPNS_10_Hash_nodeIS6_Lb0EEE' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail20_Node_const_iteratorISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0ELb0EEppEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail20_Prime_rehash_policy8_M_resetEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail20_Prime_rehash_policy8_M_resetEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail20_Prime_rehash_policyC1Ef' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail20_Prime_rehash_policyC2Ef' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail20_Prime_rehash_policyC1Ef' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEELb1EE6_M_getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEELb1EEC1ISA_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEELb1EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEELb1EEC2ISA_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEELb1EEC1ISA_EEOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEELb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEELb1EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEELb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEELb1EE6_M_getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEELb1EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEELb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEELb1EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEELb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEELb1EE6_M_getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEELb1EEC1ISC_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEELb1EEC2ISC_EEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEELb1EEC1ISC_EEOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEELb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEELb1EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEELb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEELb1EE6_M_getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEELb1EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEELb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEELb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEELb1EED1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKhmELb0EEEELb1EE6_M_getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKhmELb0EEEELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKhmELb0EEEELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKhmELb0EEEELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKhmELb0EEEELb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKhmELb0EEEELb1EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKhmELb0EEEELb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEELb1EE6_M_getEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEELb1EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEELb1EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESaINS_10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEELb1EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESt8equal_toIN8usbguard9IPCServer13AccessControl7SectionEELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESt8equal_toIN8usbguard9IPCServer13AccessControl7SectionEELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESt8equal_toIN8usbguard9IPCServer13AccessControl7SectionEELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESt8equal_toINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESt8equal_toINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESt8equal_toINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEELb1EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESt8equal_toIhELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESt8equal_toIhELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESt8equal_toIhELb1EEC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESt8equal_toIjELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESt8equal_toIjELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi0ESt8equal_toIjELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi1EN8usbguard9IPCServer13AccessControl11SectionHashELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi1EN8usbguard9IPCServer13AccessControl11SectionHashELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi1EN8usbguard9IPCServer13AccessControl11SectionHashELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi1ESt4hashINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi1ESt4hashINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi1ESt4hashINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi1ESt4hashIhELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi1ESt4hashIhELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi1ESt4hashIhELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi1ESt4hashIjELb1EEC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail21_Hashtable_ebo_helperILi1ESt4hashIjELb1EEC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail21_Hashtable_ebo_helperILi1ESt4hashIjELb1EEC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail22_Hashtable_hash_traitsIN8usbguard9IPCServer13AccessControl11SectionHashEE22__small_size_thresholdEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail22_Hashtable_hash_traitsISt4hashINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE22__small_size_thresholdEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail22_Hashtable_hash_traitsISt4hashIhEE22__small_size_thresholdEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail22_Hashtable_hash_traitsISt4hashIjEE22__small_size_thresholdEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail4_ModImLm4294967296ELm1ELm0ELb1ELb1EE6__calcEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail4_ModImLm624ELm1ELm0ELb1ELb1EE6__calcEm' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail5__modImLm4294967296ELm1ELm0EEET_S1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail5__modImLm624ELm1ELm0EEET_S1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail8_AdaptorISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEdEC1ERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8__detail8_AdaptorISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEdEC2ERS2_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail8_AdaptorISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEdEC2ERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail8_AdaptorISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEdEclEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail9_Map_baseIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS4_hESaIS7_ENS_10_Select1stESt8equal_toIS4_ENS3_11SectionHashENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_20_Prime_rehash_policyENS_17_Hashtable_traitsILb1ELb0ELb1EEELb1EEixERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail9_Map_baseIhSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEESaIS8_ENS_10_Select1stESt8equal_toIhESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_20_Prime_rehash_policyENS_17_Hashtable_traitsILb0ELb0ELb1EEELb1EEixERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detail9_Map_baseIhSt4pairIKhmESaIS3_ENS_10_Select1stESt8equal_toIhESt4hashIhENS_18_Mod_range_hashingENS_20_Default_ranged_hashENS_20_Prime_rehash_policyENS_17_Hashtable_traitsILb0ELb0ELb1EEELb1EEixERS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEESA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEESF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEELb0EEESB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKhmELb0EEES6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEES9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detaileqERKNS_20_Node_const_iteratorISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb0ELb1EEESA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detaileqERKNS_20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb0ELb1EEESF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detaileqERKNS_20_Node_const_iteratorISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS5_EEELb0ELb0EEESB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detaileqERKNS_20_Node_const_iteratorISt4pairIKhmELb0ELb0EEES6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detaileqERKNS_20_Node_const_iteratorISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0ELb0EEES9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detailneERKNS_20_Node_const_iteratorISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb0ELb1EEESA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detailneERKNS_20_Node_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb0ELb1EEESF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detailneERKNS_20_Node_const_iteratorISt4pairIKhmELb0ELb0EEES6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8__detailneERKNS_20_Node_const_iteratorISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0ELb0EEES9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8functionIFSt10unique_ptrINSt13__future_base12_Result_baseENS2_8_DeleterEEvEEC1INS1_13_State_baseV27_SetterIS0_IN6google8protobuf7MessageESt14default_deleteISC_EEOSF_EEvEEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8functionIFSt10unique_ptrINSt13__future_base12_Result_baseENS2_8_DeleterEEvEEC2INS1_13_State_baseV27_SetterIS0_IN6google8protobuf7MessageESt14default_deleteISC_EEOSF_EEvEEOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8functionIFSt10unique_ptrINSt13__future_base12_Result_baseENS2_8_DeleterEEvEEC2INS1_13_State_baseV27_SetterIS0_IN6google8protobuf7MessageESt14default_deleteISC_EEOSF_EEvEEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8functionIFSt10unique_ptrINSt13__future_base12_Result_baseENS2_8_DeleterEEvEED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8functionIFSt10unique_ptrINSt13__future_base12_Result_baseENS2_8_DeleterEEvEED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8functionIFSt10unique_ptrINSt13__future_base12_Result_baseENS2_8_DeleterEEvEED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8functionIFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EEC1EOSB_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8functionIFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EEC2EOSB_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8functionIFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EEC1ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8functionIFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EEC2ERKSB_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8functionIFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EEC1IRSA_vEEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8functionIFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EEC2IRSA_vEEOT_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8functionIFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EEC2EOSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8functionIFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EEC2ERKSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8functionIFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EEC2IRSA_vEEOT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8functionIFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8functionIFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8functionIFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8functionIFiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EED1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt8functionIFiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EED2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt8functionIFiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EED2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9_Any_data9_M_accessEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9_Any_data9_M_accessINSt13__future_base13_State_baseV27_SetterISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS7_EEOSA_EEEERT_v' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9_Any_data9_M_accessIPFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_PK6direntEEERT_v' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9_Any_data9_M_accessIPFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESA_EEERT_v' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9_Any_data9_M_accessIPKSt9type_infoEERT_v' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9_Any_data9_M_accessIPNSt13__future_base13_State_baseV27_SetterISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS7_EEOSA_EEEERT_v' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9_Any_data9_M_accessIPPFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS6_PK6direntEEERT_v' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9_Any_data9_M_accessIPPFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESA_EEERT_v' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9__condvar10wait_untilERSt5mutexiR8timespec' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9exceptionC1EOS_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9exceptionC2EOS_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9exceptionC1ERKS_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9exceptionC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9exceptionC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9exceptionC2EOS_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9exceptionC2ERKS_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9exceptionC1ERKS_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9exceptionC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9once_flag18_Prepare_executionC1IZSt9call_onceIMNSt13__future_base13_State_baseV2EFvPSt8functionIFSt10unique_ptrINS3_12_Result_baseENS7_8_DeleterEEvEEPbEJPS4_SC_SD_EEvRS_OT_DpOT0_EUlvE_EERSI_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9once_flag18_Prepare_executionC2IZSt9call_onceIMNSt13__future_base13_State_baseV2EFvPSt8functionIFSt10unique_ptrINS3_12_Result_baseENS7_8_DeleterEEvEEPbEJPS4_SC_SD_EEvRS_OT_DpOT0_EUlvE_EERSI_' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9once_flag18_Prepare_executionC2IZSt9call_onceIMNSt13__future_base13_State_baseV2EFvPSt8functionIFSt10unique_ptrINS3_12_Result_baseENS7_8_DeleterEEvEEPbEJPS4_SC_SD_EEvRS_OT_DpOT0_EUlvE_EERSI_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9once_flag18_Prepare_executionD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9once_flag18_Prepare_executionD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9once_flag18_Prepare_executionD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9once_flagC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZNSt9once_flagC2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZNSt9once_flagC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructIN8usbguard11USBDeviceIDEJRKS1_EEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructIN8usbguard11USBDeviceIDEJRS1_EEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructIN8usbguard13RuleConditionEJRKS1_EEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructIN8usbguard13RuleConditionEJRS1_EEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructIN8usbguard16USBInterfaceTypeEJRKS1_EEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructIN8usbguard16USBInterfaceTypeEJRS1_EEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructIN8usbguard4RuleEJEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructIN8usbguard4RuleEJRKS1_EEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructINSt13__future_base13_State_baseV2EJEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJRKPKcEEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJRKS5_EEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJRS5_EEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructISt10shared_ptrIN8usbguard4RuleEEJRKS3_EEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructISt10shared_ptrIN8usbguard4RuleEEJRS3_EEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructISt10shared_ptrIN8usbguard7RuleSetEEJRKS3_EEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructISt10shared_ptrIN8usbguard7RuleSetEEJRS3_EEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEJRKSA_EEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEJRKSA_EEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEJRKSA_EEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEJRKSB_EEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEJRKSB_EEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10_ConstructISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEJRKS7_EEvPT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10__invoke_rISt10unique_ptrINSt13__future_base12_Result_baseENS2_8_DeleterEERNS1_13_State_baseV27_SetterIS0_IN6google8protobuf7MessageESt14default_deleteIS9_EEOSC_EEJEENSt9enable_ifIX16is_invocable_r_vIT_T0_JDpT1_EEESH_E4typeEOSI_DpOSJ_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt10__invoke_rIbRPFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EJS9_S9_EENSt9enable_ifIX16is_invocable_r_vIT_T0_JDpT1_EEESE_E4typeEOSF_DpOSG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofIKNSt13__future_base13_State_baseV27_SetterISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS6_EEOS9_EEEPT_RSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofIKPFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EEPT_RSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofIKSt6vectorIN8usbguard11USBDeviceIDESaIS2_EEEPT_RS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofIKSt6vectorIN8usbguard13RuleConditionESaIS2_EEEPT_RS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofIKSt6vectorIN8usbguard16USBInterfaceTypeESaIS2_EEEPT_RS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofIKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EEEPT_RSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofIKSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS4_EEEPT_RS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofIKSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS4_EEEPT_RS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofIKSt8_Rb_treeIjSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEESt10_Select1stIS7_ESt4lessIjESaIS7_EEEPT_RSF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofIN8usbguard11USBDeviceIDEEPT_RS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofIN8usbguard13RuleConditionEEPT_RS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofIN8usbguard16USBInterfaceTypeEEPT_RS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofIN8usbguard4RuleEEPT_RS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEPT_RS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofINSt8__detail10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEPT_RSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofINSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEEPT_RSF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofINSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEPT_RSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofINSt8__detail10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEEPT_RSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofINSt8__detail10_Hash_nodeISt4pairIKhmELb0EEEEPT_RS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofINSt8__detail10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEEPT_RS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofINSt8__detail20_Prime_rehash_policyEEPT_RS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofIPNSt8__detail15_Hash_node_baseEEPT_RS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofISaISt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EEEEPT_RSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofISaISt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEEEPT_RS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofISaISt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EEEEPT_RS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofISt10shared_ptrIKN8usbguard4RuleEEEPT_RS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofISt10shared_ptrIN8usbguard4RuleEEEPT_RS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofISt10shared_ptrIN8usbguard6DeviceEEEPT_RS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofISt10shared_ptrIN8usbguard7RuleSetEEEPT_RS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofISt14default_deleteIN8usbguard12AuditBackendEEEPT_RS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEEPT_RSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEEPT_RSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEEPT_RSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEEPT_RSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEEPT_RSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEPT_RS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofISt4pairIhmEEPT_RS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEPT_RS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofISt5mutexEPT_RS1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofISt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS5_EEEPT_RS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofISt8functionIFSt10unique_ptrINSt13__future_base12_Result_baseENS3_8_DeleterEEvEEEPT_RS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofIZSt9call_onceIMNSt13__future_base13_State_baseV2EFvPSt8functionIFSt10unique_ptrINS1_12_Result_baseENS5_8_DeleterEEvEEPbEJPS2_SA_SB_EEvRSt9once_flagOT_DpOT0_EUlvE_EPSH_RSH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__addressofIbEPT_RS0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11__bit_widthImEiT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11make_sharedIN8usbguard4RuleEJEESt10shared_ptrINSt9enable_ifIXntsrSt8is_arrayIT_E5valueES5_E4typeEEDpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11make_sharedIN8usbguard4RuleEJRKS1_EESt10shared_ptrINSt9enable_ifIXntsrSt8is_arrayIT_E5valueES7_E4typeEEDpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt11make_sharedINSt13__future_base13_State_baseV2EJEESt10shared_ptrINSt9enable_ifIXntsrSt8is_arrayIT_E5valueES5_E4typeEEDpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0EONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJEERT0_RSt11_Tuple_implIXT_EJS7_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0EPN8usbguard12AuditBackendEJSt14default_deleteIS1_EEERKT0_RKSt11_Tuple_implIXT_EJS5_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0EPN8usbguard12AuditBackendEJSt14default_deleteIS1_EEERT0_RSt11_Tuple_implIXT_EJS5_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0EPN8usbguard17RuleConditionBaseEJSt14default_deleteIS1_EEERKT0_RKSt11_Tuple_implIXT_EJS5_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0EPN8usbguard17RuleConditionBaseEJSt14default_deleteIS1_EEERT0_RSt11_Tuple_implIXT_EJS5_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0EPN8usbguard7LogSinkEJSt14default_deleteIS1_EEERKT0_RKSt11_Tuple_implIXT_EJS5_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0EPN8usbguard7LogSinkEJSt14default_deleteIS1_EEERT0_RSt11_Tuple_implIXT_EJS5_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0EPN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEEJSt14default_deleteIS4_EEERKT0_RKSt11_Tuple_implIXT_EJS8_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0EPN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEEJSt14default_deleteIS4_EEERT0_RSt11_Tuple_implIXT_EJS8_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0EPNSt13__future_base12_Result_baseEJNS1_8_DeleterEEERKT0_RKSt11_Tuple_implIXT_EJS4_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0EPNSt13__future_base12_Result_baseEJNS1_8_DeleterEEERT0_RSt11_Tuple_implIXT_EJS4_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0EPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEEJNS0_12_Result_base8_DeleterEEERKT0_RKSt11_Tuple_implIXT_EJSD_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0EPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEEJNS0_12_Result_base8_DeleterEEERT0_RSt11_Tuple_implIXT_EJSD_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0EPNSt6thread6_StateEJSt14default_deleteIS1_EEERT0_RSt11_Tuple_implIXT_EJS5_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0EPcJPDoFvPvEEERKT0_RKSt11_Tuple_implIXT_EJS4_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0EPcJPDoFvPvEEERT0_RSt11_Tuple_implIXT_EJS4_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0ERKN8usbguard9IPCServer13AccessControl7SectionEJEERT0_RSt11_Tuple_implIXT_EJS6_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEJEERT0_RSt11_Tuple_implIXT_EJS8_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0ERKhJEERT0_RSt11_Tuple_implIXT_EJS2_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0ERKjJEERT0_RSt11_Tuple_implIXT_EJS2_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm0ERKmJEERT0_RSt11_Tuple_implIXT_EJS2_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm1ENSt13__future_base12_Result_base8_DeleterEJEERT0_RSt11_Tuple_implIXT_EJS3_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm1EPDoFvPvEJEERT0_RSt11_Tuple_implIXT_EJS3_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm1ESt14default_deleteIN8usbguard12AuditBackendEEJEERT0_RSt11_Tuple_implIXT_EJS4_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm1ESt14default_deleteIN8usbguard17RuleConditionBaseEEJEERT0_RSt11_Tuple_implIXT_EJS4_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm1ESt14default_deleteIN8usbguard7LogSinkEEJEERT0_RSt11_Tuple_implIXT_EJS4_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm1ESt14default_deleteIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEEEJEERT0_RSt11_Tuple_implIXT_EJS7_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__get_helperILm1ESt14default_deleteINSt6thread6_StateEEJEERT0_RSt11_Tuple_implIXT_EJS4_DpT1_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKN8usbguard11USBDeviceIDESt6vectorIS3_SaIS3_EEEEET_SA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKN8usbguard13RuleConditionESt6vectorIS3_SaIS3_EEEEET_SA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKN8usbguard16USBInterfaceTypeESt6vectorIS3_SaIS3_EEEEET_SA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEET_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEEET_SC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS5_SaIS5_EEEEET_SC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEET_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIKN8usbguard4RuleEESt6vectorIS6_SaIS6_EEEEET_SC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEEET_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ESt6vectorIS9_SaIS9_EEEEET_SF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPSt4pairIhmESt6vectorIS3_SaIS3_EEEEET_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__miter_baseIPN8usbguard11USBDeviceIDEET_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__miter_baseIPN8usbguard13RuleConditionEET_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__miter_baseIPN8usbguard16USBInterfaceTypeEET_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__miter_baseIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__miter_baseIPSt10shared_ptrIN8usbguard4RuleEEET_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__miter_baseIPSt10shared_ptrIN8usbguard7RuleSetEEET_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPKN8usbguard11USBDeviceIDESt6vectorIS1_SaIS1_EEET_N9__gnu_cxx17__normal_iteratorIS7_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPKN8usbguard13RuleConditionESt6vectorIS1_SaIS1_EEET_N9__gnu_cxx17__normal_iteratorIS7_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPKN8usbguard16USBInterfaceTypeESt6vectorIS1_SaIS1_EEET_N9__gnu_cxx17__normal_iteratorIS7_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EEET_N9__gnu_cxx17__normal_iteratorISB_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS3_SaIS3_EEET_N9__gnu_cxx17__normal_iteratorIS9_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPKSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS3_SaIS3_EEET_N9__gnu_cxx17__normal_iteratorIS9_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPN8usbguard11USBDeviceIDEET_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPN8usbguard11USBDeviceIDESt6vectorIS1_SaIS1_EEET_N9__gnu_cxx17__normal_iteratorIS6_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPN8usbguard13RuleConditionEET_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPN8usbguard13RuleConditionESt6vectorIS1_SaIS1_EEET_N9__gnu_cxx17__normal_iteratorIS6_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPN8usbguard13USBDescriptorEET_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPN8usbguard16USBInterfaceTypeEET_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPN8usbguard16USBInterfaceTypeESt6vectorIS1_SaIS1_EEET_N9__gnu_cxx17__normal_iteratorIS6_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS5_SaIS5_EEET_N9__gnu_cxx17__normal_iteratorISA_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPSt10shared_ptrIKN8usbguard4RuleEEET_S6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPSt10shared_ptrIKN8usbguard4RuleEESt6vectorIS4_SaIS4_EEET_N9__gnu_cxx17__normal_iteratorIS9_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPSt10shared_ptrIN8usbguard4RuleEEET_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPSt10shared_ptrIN8usbguard4RuleEESt6vectorIS3_SaIS3_EEET_N9__gnu_cxx17__normal_iteratorIS8_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPSt10shared_ptrIN8usbguard6DeviceEEET_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPSt10shared_ptrIN8usbguard7RuleSetEEET_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS3_SaIS3_EEET_N9__gnu_cxx17__normal_iteratorIS8_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EET_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESt6vectorIS7_SaIS7_EEET_N9__gnu_cxx17__normal_iteratorISC_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPSt4pairIhmEET_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseIPSt4pairIhmESt6vectorIS1_SaIS1_EEET_N9__gnu_cxx17__normal_iteratorIS6_T0_EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_baseISt20back_insert_iteratorISt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS6_EEEET_SA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_wrapIN9__gnu_cxx17__normal_iteratorIPN8usbguard11USBDeviceIDESt6vectorIS3_SaIS3_EEEES4_ET_S9_T0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_wrapIN9__gnu_cxx17__normal_iteratorIPN8usbguard13RuleConditionESt6vectorIS3_SaIS3_EEEES4_ET_S9_T0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_wrapIN9__gnu_cxx17__normal_iteratorIPN8usbguard16USBInterfaceTypeESt6vectorIS3_SaIS3_EEEES4_ET_S9_T0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_wrapIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEES8_ET_SD_T0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_wrapIN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEES6_ET_SB_T0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_wrapIN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS5_SaIS5_EEEES6_ET_SB_T0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_wrapIN9__gnu_cxx17__normal_iteratorIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ESt6vectorIS9_SaIS9_EEEESA_ET_SF_T0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_wrapIN9__gnu_cxx17__normal_iteratorIPSt4pairIhmESt6vectorIS3_SaIS3_EEEES4_ET_S9_T0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_wrapIPN8usbguard11USBDeviceIDEET_RKS3_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_wrapIPN8usbguard13RuleConditionEET_RKS3_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_wrapIPN8usbguard16USBInterfaceTypeEET_RKS3_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_wrapIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_RKS7_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_wrapIPSt10shared_ptrIN8usbguard4RuleEEET_RKS5_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_wrapIPSt10shared_ptrIN8usbguard7RuleSetEEET_RKS5_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__niter_wrapISt20back_insert_iteratorISt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS6_EEEET_RKSA_SA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__relocate_aIPN8usbguard13USBDescriptorES2_SaIS1_EET0_T_S5_S4_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__relocate_aIPN8usbguard16USBInterfaceTypeES2_SaIS1_EET0_T_S5_S4_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__relocate_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__relocate_aIPSt10shared_ptrIKN8usbguard4RuleEES5_SaIS4_EET0_T_S8_S7_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__relocate_aIPSt10shared_ptrIN8usbguard4RuleEES4_SaIS3_EET0_T_S7_S6_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__relocate_aIPSt10shared_ptrIN8usbguard6DeviceEES4_SaIS3_EET0_T_S7_S6_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__relocate_aIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES8_SaIS7_EET0_T_SB_SA_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__relocate_aIPSt4pairIhmES2_SaIS1_EET0_T_S5_S4_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__str_concatINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET_PKNS6_10value_typeENS6_9size_typeES9_SA_RKNS6_14allocator_typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressIN8usbguard11USBDeviceIDEEPT_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressIN8usbguard12AuditBackendEEPT_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressIN8usbguard13RuleConditionEEPT_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressIN8usbguard13USBDescriptorEEPT_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressIN8usbguard16USBInterfaceTypeEEPT_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressIN8usbguard4RuleEEPT_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEPT_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressINSt8__detail10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEPT_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressINSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEEPT_SG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressINSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEPT_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressINSt8__detail10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEEPT_SC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressINSt8__detail10_Hash_nodeISt4pairIKhmELb0EEEEPT_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressINSt8__detail10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEEPT_SA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressIPNSt8__detail15_Hash_node_baseEEPT_S4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressISt10shared_ptrIKN8usbguard4RuleEEEPT_S6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressISt10shared_ptrIN8usbguard4RuleEEEPT_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressISt10shared_ptrIN8usbguard6DeviceEEEPT_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressISt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEEPT_S8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressISt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EEEPT_S8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEPT_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt12__to_addressISt4pairIhmEEPT_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPKN8usbguard11USBDeviceIDESt6vectorIS3_SaIS3_EEEENS1_IPS3_S8_EEET1_T0_SD_SC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPKN8usbguard13RuleConditionESt6vectorIS3_SaIS3_EEEENS1_IPS3_S8_EEET1_T0_SD_SC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPKN8usbguard16USBInterfaceTypeESt6vectorIS3_SaIS3_EEEENS1_IPS3_S8_EEET1_T0_SD_SC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEENS1_IPS7_SC_EEET1_T0_SH_SG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEENS1_IPS5_SA_EEET1_T0_SF_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS5_SaIS5_EEEENS1_IPS5_SA_EEET1_T0_SF_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIKN8usbguard4RuleEESt6vectorIS6_SaIS6_EEEESt20back_insert_iteratorISA_EET1_T0_SF_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__copy_move_aILb0EN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEESt20back_insert_iteratorIS7_IS2_IKS4_ESaISD_EEEET1_T0_SI_SH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__copy_move_aILb0EPN8usbguard11USBDeviceIDES2_ET1_T0_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__copy_move_aILb0EPN8usbguard13RuleConditionES2_ET1_T0_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__copy_move_aILb0EPN8usbguard16USBInterfaceTypeES2_ET1_T0_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__copy_move_aILb0EPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET1_T0_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__copy_move_aILb0EPSt10shared_ptrIN8usbguard4RuleEES4_ET1_T0_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__copy_move_aILb0EPSt10shared_ptrIN8usbguard7RuleSetEES4_ET1_T0_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__copy_move_aILb1EN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEESC_ET1_T0_SE_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__copy_move_aILb1EN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEESA_ET1_T0_SC_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__countl_zeroImEiT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__invoke_implISt10unique_ptrINSt13__future_base7_ResultIS0_IN6google8protobuf7MessageESt14default_deleteIS5_EEEENS1_12_Result_base8_DeleterEERNS1_13_State_baseV27_SetterIS8_OS8_EEJEET_St14__invoke_otherOT0_DpOT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__invoke_implIbRPFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EJS9_S9_EET_St14__invoke_otherOT0_DpOT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13__invoke_implIvMNSt13__future_base13_State_baseV2EFvPSt8functionIFSt10unique_ptrINS0_12_Result_baseENS4_8_DeleterEEvEEPbEPS1_JS9_SA_EET_St21__invoke_memfun_derefOT0_OT1_DpOT2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13back_inserterISt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS5_EEESt20back_insert_iteratorIT_ERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEESC_ET0_T_SE_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ESt6vectorIS9_SaIS9_EEEESE_ET0_T_SG_SF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13move_backwardIN9__gnu_cxx17__normal_iteratorIPSt4pairIhmESt6vectorIS3_SaIS3_EEEES8_ET0_T_SA_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt13move_backwardIPSt10shared_ptrIN8usbguard4RuleEES4_ET0_T_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a1ILb0EPKN8usbguard11USBDeviceIDEPS1_ET1_T0_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a1ILb0EPKN8usbguard13RuleConditionEPS1_ET1_T0_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a1ILb0EPKN8usbguard16USBInterfaceTypeEPS1_ET1_T0_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a1ILb0EPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPS5_ET1_T0_SA_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a1ILb0EPKSt10shared_ptrIN8usbguard4RuleEEPS3_ET1_T0_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a1ILb0EPKSt10shared_ptrIN8usbguard7RuleSetEEPS3_ET1_T0_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a1ILb0EPN8usbguard11USBDeviceIDES2_ET1_T0_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a1ILb0EPN8usbguard13RuleConditionES2_ET1_T0_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a1ILb0EPN8usbguard16USBInterfaceTypeES2_ET1_T0_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a1ILb0EPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET1_T0_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a1ILb0EPSt10shared_ptrIKN8usbguard4RuleEESt20back_insert_iteratorISt6vectorIS4_SaIS4_EEEET1_T0_SC_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a1ILb0EPSt10shared_ptrIN8usbguard4RuleEES4_ET1_T0_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a1ILb0EPSt10shared_ptrIN8usbguard4RuleEESt20back_insert_iteratorISt6vectorIS0_IKS2_ESaIS8_EEEET1_T0_SD_SC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a1ILb0EPSt10shared_ptrIN8usbguard7RuleSetEES4_ET1_T0_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a1ILb1EPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET1_T0_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a1ILb1EPSt10shared_ptrIN8usbguard4RuleEES4_ET1_T0_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a2ILb0EPKN8usbguard11USBDeviceIDEPS1_ET1_T0_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a2ILb0EPKN8usbguard13RuleConditionEPS1_ET1_T0_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a2ILb0EPKN8usbguard16USBInterfaceTypeEPS1_ET1_T0_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a2ILb0EPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPS5_ET1_T0_SA_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a2ILb0EPKSt10shared_ptrIN8usbguard4RuleEEPS3_ET1_T0_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a2ILb0EPKSt10shared_ptrIN8usbguard7RuleSetEEPS3_ET1_T0_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a2ILb0EPN8usbguard11USBDeviceIDES2_ET1_T0_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a2ILb0EPN8usbguard13RuleConditionES2_ET1_T0_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a2ILb0EPN8usbguard16USBInterfaceTypeES2_ET1_T0_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a2ILb0EPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET1_T0_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a2ILb0EPSt10shared_ptrIKN8usbguard4RuleEESt20back_insert_iteratorISt6vectorIS4_SaIS4_EEEET1_T0_SC_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a2ILb0EPSt10shared_ptrIN8usbguard4RuleEES4_ET1_T0_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a2ILb0EPSt10shared_ptrIN8usbguard4RuleEESt20back_insert_iteratorISt6vectorIS0_IKS2_ESaIS8_EEEET1_T0_SD_SC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a2ILb0EPSt10shared_ptrIN8usbguard7RuleSetEES4_ET1_T0_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a2ILb1EPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET1_T0_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__copy_move_a2ILb1EPSt10shared_ptrIN8usbguard4RuleEES4_ET1_T0_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__relocate_a_1IN8usbguard13USBDescriptorES1_ENSt9enable_ifIXsrSt24__is_bitwise_relocatableIT_vE5valueEPS4_E4typeES6_S6_S6_RSaIT0_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__relocate_a_1IPN8usbguard16USBInterfaceTypeES2_SaIS1_EET0_T_S5_S4_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__relocate_a_1IPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_SaIS5_EET0_T_S9_S8_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__relocate_a_1IPSt10shared_ptrIKN8usbguard4RuleEES5_SaIS4_EET0_T_S8_S7_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__relocate_a_1IPSt10shared_ptrIN8usbguard4RuleEES4_SaIS3_EET0_T_S7_S6_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__relocate_a_1IPSt10shared_ptrIN8usbguard6DeviceEES4_SaIS3_EET0_T_S7_S6_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__relocate_a_1IPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES8_SaIS7_EET0_T_SB_SA_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt14__relocate_a_1IPSt4pairIhmES2_SaIS1_EET0_T_S5_S4_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt15make_error_codeSt11future_errc' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN8usbguard11USBDeviceIDESt6vectorIS3_SaIS3_EEEEPS3_ET0_T_SC_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN8usbguard13RuleConditionESt6vectorIS3_SaIS3_EEEEPS3_ET0_T_SC_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN8usbguard16USBInterfaceTypeESt6vectorIS3_SaIS3_EEEEPS3_ET0_T_SC_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEPS7_ET0_T_SG_SF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEEPS5_ET0_T_SE_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS5_SaIS5_EEEEPS5_ET0_T_SE_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIPKN8usbguard11USBDeviceIDEPS1_ET0_T_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIPKN8usbguard13RuleConditionEPS1_ET0_T_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIPKN8usbguard4RuleEPS1_ET0_T_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIPKPKcPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET0_T_SC_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEPSA_ET0_T_SF_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEPSA_ET0_T_SF_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEPSA_ET0_T_SF_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEPSB_ET0_T_SG_SF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEPSB_ET0_T_SG_SF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIPKSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEPS7_ET0_T_SC_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIPN8usbguard11USBDeviceIDES2_ET0_T_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIPN8usbguard13RuleConditionES2_ET0_T_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIPN8usbguard16USBInterfaceTypeES2_ET0_T_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIPSt10shared_ptrIN8usbguard4RuleEES4_ET0_T_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16__do_uninit_copyIPSt10shared_ptrIN8usbguard7RuleSetEES4_ET0_T_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt16forward_as_tupleIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESt5tupleIJDpOT_EES9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18__allocate_guardedISaISt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EEEESt15__allocated_ptrIT_ERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18__allocate_guardedISaISt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EEEESt15__allocated_ptrIT_ERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18generate_canonicalIdLm53ESt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEET_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18make_exception_ptrISt12future_errorENSt15__exception_ptr13exception_ptrET_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKN8usbguard11USBDeviceIDESt6vectorIS3_SaIS3_EEEEPS3_ET0_T_SC_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKN8usbguard13RuleConditionESt6vectorIS3_SaIS3_EEEEPS3_ET0_T_SC_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKN8usbguard16USBInterfaceTypeESt6vectorIS3_SaIS3_EEEEPS3_ET0_T_SC_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEPS7_ET0_T_SG_SF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEEPS5_ET0_T_SE_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS5_SaIS5_EEEEPS5_ET0_T_SE_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIPKN8usbguard11USBDeviceIDEPS1_ET0_T_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIPKN8usbguard13RuleConditionEPS1_ET0_T_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIPKN8usbguard4RuleEPS1_ET0_T_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIPKPKcPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEET0_T_SC_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEPSA_ET0_T_SF_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEPSA_ET0_T_SF_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEPSA_ET0_T_SF_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEPSB_ET0_T_SG_SF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEPSB_ET0_T_SG_SF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIPKSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEPS7_ET0_T_SC_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIPN8usbguard11USBDeviceIDES2_ET0_T_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIPN8usbguard13RuleConditionES2_ET0_T_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIPN8usbguard16USBInterfaceTypeES2_ET0_T_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIPSt10shared_ptrIN8usbguard4RuleEES4_ET0_T_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt18uninitialized_copyIPSt10shared_ptrIN8usbguard7RuleSetEES4_ET0_T_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt19__relocate_object_aIN8usbguard16USBInterfaceTypeES1_SaIS1_EEvPT_PT0_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt19__relocate_object_aINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_SaIS5_EEvPT_PT0_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt19__relocate_object_aISt10shared_ptrIKN8usbguard4RuleEES4_SaIS4_EEvPT_PT0_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt19__relocate_object_aISt10shared_ptrIN8usbguard4RuleEES3_SaIS3_EEvPT_PT0_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt19__relocate_object_aISt10shared_ptrIN8usbguard6DeviceEES3_SaIS3_EEvPT_PT0_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt19__relocate_object_aISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES7_SaIS7_EEvPT_PT0_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt19__relocate_object_aISt4pairIhmES1_SaIS1_EEvPT_PT0_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__copy_move_backward_aILb1EN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEESC_ET1_T0_SE_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__copy_move_backward_aILb1EN9__gnu_cxx17__normal_iteratorIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ESt6vectorIS9_SaIS9_EEEESE_ET1_T0_SG_SF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__copy_move_backward_aILb1EN9__gnu_cxx17__normal_iteratorIPSt4pairIhmESt6vectorIS3_SaIS3_EEEES8_ET1_T0_SA_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__copy_move_backward_aILb1EPSt10shared_ptrIN8usbguard4RuleEES4_ET1_T0_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKN8usbguard11USBDeviceIDESt6vectorIS3_SaIS3_EEEEPS3_S3_ET0_T_SC_SB_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKN8usbguard13RuleConditionESt6vectorIS3_SaIS3_EEEEPS3_S3_ET0_T_SC_SB_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKN8usbguard16USBInterfaceTypeESt6vectorIS3_SaIS3_EEEEPS3_S3_ET0_T_SC_SB_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEPS7_S7_ET0_T_SG_SF_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEEPS5_S5_ET0_T_SE_SD_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS5_SaIS5_EEEEPS5_S5_ET0_T_SE_SD_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIPKN8usbguard11USBDeviceIDEPS1_S1_ET0_T_S6_S5_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIPKN8usbguard13RuleConditionEPS1_S1_ET0_T_S6_S5_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIPKN8usbguard4RuleEPS1_S1_ET0_T_S6_S5_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIPKPKcPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_ET0_T_SC_SB_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEPSA_SA_ET0_T_SF_SE_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEPSA_SA_ET0_T_SF_SE_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEPSA_SA_ET0_T_SF_SE_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEPSB_SB_ET0_T_SG_SF_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEPSB_SB_ET0_T_SG_SF_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIPKSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEPS7_S7_ET0_T_SC_SB_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIPN8usbguard11USBDeviceIDES2_S1_ET0_T_S4_S3_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIPN8usbguard13RuleConditionES2_S1_ET0_T_S4_S3_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIPN8usbguard16USBInterfaceTypeES2_S1_ET0_T_S4_S3_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_S5_ET0_T_S8_S7_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIPSt10shared_ptrIN8usbguard4RuleEES4_S3_ET0_T_S6_S5_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt22__uninitialized_copy_aIPSt10shared_ptrIN8usbguard7RuleSetEES4_S3_ET0_T_S6_S5_RSaIT1_E' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt23__copy_move_backward_a1ILb1EPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET1_T0_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt23__copy_move_backward_a1ILb1EPSt10shared_ptrIN8usbguard4RuleEES4_ET1_T0_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt23__copy_move_backward_a1ILb1EPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES8_ET1_T0_SA_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt23__copy_move_backward_a1ILb1EPSt4pairIhmES2_ET1_T0_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt23__copy_move_backward_a2ILb1EPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET1_T0_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt23__copy_move_backward_a2ILb1EPSt10shared_ptrIN8usbguard4RuleEES4_ET1_T0_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt23__copy_move_backward_a2ILb1EPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES8_ET1_T0_SA_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt23__copy_move_backward_a2ILb1EPSt4pairIhmES2_ET1_T0_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt32__make_move_if_noexcept_iteratorIN8usbguard11USBDeviceIDEPKS1_ET0_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt32__make_move_if_noexcept_iteratorIN8usbguard13RuleConditionEPKS1_ET0_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt32__make_move_if_noexcept_iteratorIN8usbguard4RuleEPKS1_ET0_PT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt34__uninitialized_move_if_noexcept_aIPN8usbguard11USBDeviceIDES2_SaIS1_EET0_T_S5_S4_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt34__uninitialized_move_if_noexcept_aIPN8usbguard13RuleConditionES2_SaIS1_EET0_T_S5_S4_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt34__uninitialized_move_if_noexcept_aIPN8usbguard4RuleES2_SaIS1_EET0_T_S5_S4_RT1_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJPN8usbguard12AuditBackendESt14default_deleteIS1_EEERKNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERKS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJPN8usbguard12AuditBackendESt14default_deleteIS1_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJPN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEERKNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERKS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJPN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJPN8usbguard7LogSinkESt14default_deleteIS1_EEERKNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERKS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJPN8usbguard7LogSinkESt14default_deleteIS1_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJPN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EEERKNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERKSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJPN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJPNSt13__future_base12_Result_baseENS1_8_DeleterEEERKNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJPNSt13__future_base12_Result_baseENS1_8_DeleterEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEERKNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERKSH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJPNSt6thread6_StateESt14default_deleteIS1_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJPcPDoFvPvEEERKNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJPcPDoFvPvEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJRKN8usbguard9IPCServer13AccessControl7SectionEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJRKhEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJRKjEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0EJRKmEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEONSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeEOSJ_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm0ERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EONSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeEOSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm1EJPN8usbguard12AuditBackendESt14default_deleteIS1_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm1EJPN8usbguard17RuleConditionBaseESt14default_deleteIS1_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm1EJPN8usbguard7LogSinkESt14default_deleteIS1_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm1EJPN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEESt14default_deleteIS4_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm1EJPNSt13__future_base12_Result_baseENS1_8_DeleterEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm1EJPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEENS0_12_Result_base8_DeleterEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERSH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm1EJPNSt6thread6_StateESt14default_deleteIS1_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm1EJPcPDoFvPvEEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEONSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeEOSJ_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3getILm1ERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EONSt13tuple_elementIXT_ESt4pairIT0_T1_EE4typeEOSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3loge' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3maxIiERKT_S2_S2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3maxIjERKT_S2_S2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3maxImERKT_S2_S2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt3minImERKT_S2_S2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4__lgIlET_S0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKN8usbguard11USBDeviceIDESt6vectorIS3_SaIS3_EEEENS1_IPS3_S8_EEET0_T_SD_SC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKN8usbguard13RuleConditionESt6vectorIS3_SaIS3_EEEENS1_IPS3_S8_EEET0_T_SD_SC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKN8usbguard16USBInterfaceTypeESt6vectorIS3_SaIS3_EEEENS1_IPS3_S8_EEET0_T_SD_SC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEENS1_IPS7_SC_EEET0_T_SH_SG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEENS1_IPS5_SA_EEET0_T_SF_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS5_SaIS5_EEEENS1_IPS5_SA_EEET0_T_SF_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIKN8usbguard4RuleEESt6vectorIS6_SaIS6_EEEESt20back_insert_iteratorISA_EET0_T_SF_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEESt20back_insert_iteratorIS7_IS2_IKS4_ESaISD_EEEET0_T_SI_SH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4copyIPN8usbguard11USBDeviceIDES2_ET0_T_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4copyIPN8usbguard13RuleConditionES2_ET0_T_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4copyIPN8usbguard16USBInterfaceTypeES2_ET0_T_S4_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4copyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ET0_T_S8_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4copyIPSt10shared_ptrIN8usbguard4RuleEES4_ET0_T_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4copyIPSt10shared_ptrIN8usbguard7RuleSetEES4_ET0_T_S6_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4findIPKccET_S2_S2_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEESC_ET0_T_SE_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEESA_ET0_T_SC_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRN8usbguard13AuditIdentityEEONSt16remove_referenceIT_E4typeEOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRN8usbguard13RuleConditionEEONSt16remove_referenceIT_E4typeEOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRN8usbguard16USBInterfaceTypeEEONSt16remove_referenceIT_E4typeEOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRN8usbguard9LogStreamEEONSt16remove_referenceIT_E4typeEOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE12_Vector_implEEONSt16remove_referenceIT_E4typeEOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRNSt13__future_base12_Result_base8_DeleterEEONSt16remove_referenceIT_E4typeEOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRNSt6thread2idEEONSt16remove_referenceIT_E4typeEOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEONSt16remove_referenceIT_E4typeEOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRPDoFvPvEEONSt16remove_referenceIT_E4typeEOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRPKPKcEONSt16remove_referenceIT_E4typeEOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEEONSt16remove_referenceIT_E4typeEOSF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEEONSt16remove_referenceIT_E4typeEOSF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEEONSt16remove_referenceIT_E4typeEOSF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEEONSt16remove_referenceIT_E4typeEOSG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRPKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEEONSt16remove_referenceIT_E4typeEOSG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRPKSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEONSt16remove_referenceIT_E4typeEOSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRPN8usbguard12AuditBackendEEONSt16remove_referenceIT_E4typeEOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRPN8usbguard17RuleConditionBaseEEONSt16remove_referenceIT_E4typeEOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRPN8usbguard4RuleEEONSt16remove_referenceIT_E4typeEOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRPN8usbguard7LogSinkEEONSt16remove_referenceIT_E4typeEOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRPN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEEEONSt16remove_referenceIT_E4typeEOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRPNSt13__future_base12_Result_baseEEONSt16remove_referenceIT_E4typeEOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRPNSt13__future_base13_State_baseV2EEONSt16remove_referenceIT_E4typeEOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEEEEONSt16remove_referenceIT_E4typeEOSD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRPNSt6thread6_StateEEONSt16remove_referenceIT_E4typeEOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRPcEONSt16remove_referenceIT_E4typeEOS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSaINSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEEONSt16remove_referenceIT_E4typeEOSF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSaISt10shared_ptrIN8usbguard7RuleSetEEEEONSt16remove_referenceIT_E4typeEOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSaISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEEEONSt16remove_referenceIT_E4typeEOSE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS6_S6_ESaIS9_ENSt8__detail10_Select1stESt8equal_toIS6_ESt4hashIS6_ENSB_18_Mod_range_hashingENSB_20_Default_ranged_hashENSB_20_Prime_rehash_policyENSB_17_Hashtable_traitsILb1ELb0ELb1EEEEEONSt16remove_referenceIT_E4typeEOSP_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt10shared_ptrIKN8usbguard4RuleEEEONSt16remove_referenceIT_E4typeEOS7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt10shared_ptrIN8usbguard4RuleEEEONSt16remove_referenceIT_E4typeEOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt10shared_ptrIN8usbguard6DeviceEEEONSt16remove_referenceIT_E4typeEOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt10unique_ptrIN8usbguard12AuditBackendESt14default_deleteIS2_EEEONSt16remove_referenceIT_E4typeEOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt10unique_ptrIN8usbguard17RuleConditionBaseESt14default_deleteIS2_EEEONSt16remove_referenceIT_E4typeEOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS2_EEEONSt16remove_referenceIT_E4typeEOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt10unique_ptrINSt13__future_base7_ResultIS0_IN6google8protobuf7MessageESt14default_deleteIS5_EEEENS1_12_Result_base8_DeleterEEEONSt16remove_referenceIT_E4typeEOSF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt12__shared_ptrIN8usbguard4RuleELN9__gnu_cxx12_Lock_policyE2EEEONSt16remove_referenceIT_E4typeEOS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_St4hashIS6_ESt8equal_toIS6_ESaISt4pairIKS6_S6_EEEEONSt16remove_referenceIT_E4typeEOSI_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt14default_deleteIN8usbguard12AuditBackendEEEONSt16remove_referenceIT_E4typeEOS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_St4lessIS6_ESaISt4pairIKS6_S6_EEEEONSt16remove_referenceIT_E4typeEOSG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEONSt16remove_referenceIT_E4typeEOSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhEEONSt16remove_referenceIT_E4typeEOS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEONSt16remove_referenceIT_E4typeEOSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt4pairIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISB_EEEEONSt16remove_referenceIT_E4typeEOSJ_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt4pairIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEONSt16remove_referenceIT_E4typeEOSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt4pairIhmEEONSt16remove_referenceIT_E4typeEOS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt5tupleIJPN8usbguard17RuleConditionBaseESt14default_deleteIS2_EEEEONSt16remove_referenceIT_E4typeEOS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt5tupleIJPN8usbguard7LogSinkESt14default_deleteIS2_EEEEONSt16remove_referenceIT_E4typeEOS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt5tupleIJPNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS6_EEEENS1_12_Result_base8_DeleterEEEEONSt16remove_referenceIT_E4typeEOSH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt6vectorISt10shared_ptrIN8usbguard7RuleSetEESaIS4_EEEONSt16remove_referenceIT_E4typeEOS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRSt8functionIFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_ESA_EEEONSt16remove_referenceIT_E4typeEOSF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRZNSt7__cxx119to_stringEiEUlPcmE_EONSt16remove_referenceIT_E4typeEOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRZNSt7__cxx119to_stringEjEUlPcmE_EONSt16remove_referenceIT_E4typeEOS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRbEONSt16remove_referenceIT_E4typeEOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRhEONSt16remove_referenceIT_E4typeEOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRiEONSt16remove_referenceIT_E4typeEOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRjEONSt16remove_referenceIT_E4typeEOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRlEONSt16remove_referenceIT_E4typeEOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4moveIRmEONSt16remove_referenceIT_E4typeEOS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEEvT_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ESt6vectorIS9_SaIS9_EEEESt8functionIFbRKS9_SH_EEEvT_SK_T0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4sortIN9__gnu_cxx17__normal_iteratorIPSt4pairIhmESt6vectorIS3_SaIS3_EEEEEvT_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4swapINSt13__future_base12_Result_base8_DeleterEENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS7_ESt18is_move_assignableIS7_EEE5valueEvE4typeERS7_SH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4swapINSt6thread2idEENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4swapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_ENSt9enable_ifIXsrSt6__and_IJSt14__is_swappableIT_ES8_IT0_EEE5valueEvE4typeERSt4pairIS9_SB_ESI_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4swapIPN8usbguard12AuditBackendEENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS7_ESt18is_move_assignableIS7_EEE5valueEvE4typeERS7_SH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4swapIPN8usbguard4RuleEENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS7_ESt18is_move_assignableIS7_EEE5valueEvE4typeERS7_SH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4swapIPNSt13__future_base12_Result_baseEENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS7_ESt18is_move_assignableIS7_EEE5valueEvE4typeERS7_SH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4swapIPNSt13__future_base13_State_baseV2EENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS7_ESt18is_move_assignableIS7_EEE5valueEvE4typeERS7_SH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4swapIbENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS4_ESt18is_move_assignableIS4_EEE5valueEvE4typeERS4_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4swapIcSt11char_traitsIcESaIcEEvRNSt7__cxx1112basic_stringIT_T0_T1_EES9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4swapIhENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS4_ESt18is_move_assignableIS4_EEE5valueEvE4typeERS4_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4swapIhmENSt9enable_ifIXsrSt6__and_IJSt14__is_swappableIT_ES2_IT0_EEE5valueEvE4typeERSt4pairIS3_S5_ESC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4swapIjENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS4_ESt18is_move_assignableIS4_EEE5valueEvE4typeERS4_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4swapIlENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS4_ESt18is_move_assignableIS4_EEE5valueEvE4typeERS4_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt4swapImENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS4_ESt18is_move_assignableIS4_EEE5valueEvE4typeERS4_SE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIMNSt13__future_base13_State_baseV2EFvPSt8functionIFSt10unique_ptrINS0_12_Result_baseENS4_8_DeleterEEvEEPbEEOT_RNSt16remove_referenceISD_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIN8usbguard13DeviceManager21AuthorizedDefaultTypeEEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIN8usbguard13RuleConditionEEOT_RNSt16remove_referenceIS2_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIN8usbguard16USBInterfaceTypeEEOT_RNSt16remove_referenceIS2_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIN8usbguard4Rule11SetOperatorEEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIN8usbguard4Rule6TargetEEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIN8usbguard9IPCServer13AccessControl7SectionEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIN8usbguard9IPCServer13AccessControl9PrivilegeEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardINSt13__future_base12_Result_base8_DeleterEEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardINSt13__future_base13_State_baseV27_SetterISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS6_EEOS9_EEEOT_RNSt16remove_referenceISC_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_RNSt16remove_referenceIS6_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardINSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb0ELb1EEEEOT_RNSt16remove_referenceISF_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardINSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb0ELb1EEEEOT_RNSt16remove_referenceISC_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardINSt8__detail14_Node_iteratorISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0ELb0EEEEOT_RNSt16remove_referenceIS9_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_RNSt16remove_referenceIS7_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIPDoFvPvEEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIPKcEOT_RNSt16remove_referenceIS2_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIPN8usbguard12AuditBackendEEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIPNSt13__future_base13_State_baseV2EEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIPSt8functionIFSt10unique_ptrINSt13__future_base12_Result_baseENS3_8_DeleterEEvEEEOT_RNSt16remove_referenceIS9_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIPbEOT_RNSt16remove_referenceIS1_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA10_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA11_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA15_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA1_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA23_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA24_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA25_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA26_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA2_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA31_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA33_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA39_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA41_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA44_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA4_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA5_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA6_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA7_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA8_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRA9_KcEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EEOT_RNSt16remove_referenceISC_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKN8usbguard11USBDeviceIDEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKN8usbguard13RuleConditionEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKN8usbguard13USBDescriptorEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKN8usbguard16USBInterfaceTypeEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKN8usbguard4RuleEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKN8usbguard9IPCServer13AccessControl7SectionEEOT_RNSt16remove_referenceIS6_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKN8usbguard9IPCServer13AccessControlEEOT_RNSt16remove_referenceIS5_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKNSt13__future_base13_State_baseV27_SetterISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS6_EEOS9_EEEOT_RNSt16remove_referenceISE_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_RNSt16remove_referenceIS8_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKPFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EEOT_RNSt16remove_referenceISE_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKPKcEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt10_HashtableIN8usbguard9IPCServer13AccessControl7SectionESt4pairIKS4_hESaIS7_ENSt8__detail10_Select1stESt8equal_toIS4_ENS3_11SectionHashENS9_18_Mod_range_hashingENS9_20_Default_ranged_hashENS9_20_Prime_rehash_policyENS9_17_Hashtable_traitsILb1ELb0ELb1EEEEEOT_RNSt16remove_referenceISM_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt10shared_ptrIKN8usbguard4RuleEEEOT_RNSt16remove_referenceIS7_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt10shared_ptrIN8usbguard4RuleEEEOT_RNSt16remove_referenceIS6_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt10shared_ptrIN8usbguard6DeviceEEEOT_RNSt16remove_referenceIS6_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt10shared_ptrIN8usbguard7RuleSetEEEOT_RNSt16remove_referenceIS6_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt21piecewise_construct_tEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhEEOT_RNSt16remove_referenceIS9_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEEEOT_RNSt16remove_referenceISE_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEOT_RNSt16remove_referenceISB_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS4_EEEEOT_RNSt16remove_referenceISA_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt4pairIKhmEEOT_RNSt16remove_referenceIS5_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt4pairIKjN8usbguard9IPCServer13AccessControlEEEOT_RNSt16remove_referenceIS8_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEEOT_RNSt16remove_referenceIS9_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEEOT_RNSt16remove_referenceISD_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEEOT_RNSt16remove_referenceISD_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEEOT_RNSt16remove_referenceISD_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEEOT_RNSt16remove_referenceISE_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEEOT_RNSt16remove_referenceISE_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEOT_RNSt16remove_referenceISA_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEOT_RNSt16remove_referenceISA_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EEEOT_RNSt16remove_referenceISB_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKhEOT_RNSt16remove_referenceIS2_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKjEOT_RNSt16remove_referenceIS2_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRKmEOT_RNSt16remove_referenceIS2_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRN8usbguard10ConfigFileEEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRN8usbguard11USBDeviceIDEEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRN8usbguard13RuleConditionEEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRN8usbguard14KeyValueParserEEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRN8usbguard16USBInterfaceTypeEEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRN8usbguard18DeviceManagerHooksEEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRN8usbguard6DeviceEEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRN8usbguard9IPCClientEEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRN8usbguard9IPCServerEEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRNSt13__future_base13_State_baseV27_SetterISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS6_EEOS9_EEEOT_RNSt16remove_referenceISD_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_RNSt16remove_referenceIS7_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRNSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb0ELb1EEEEOT_RNSt16remove_referenceISG_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRNSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb0ELb1EEEEOT_RNSt16remove_referenceISD_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRNSt8__detail14_Node_iteratorISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0ELb0EEEEOT_RNSt16remove_referenceISA_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRPFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ES9_EEOT_RNSt16remove_referenceISD_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRPNSt13__future_base12_Result_baseEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRPSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEEOT_RNSt16remove_referenceISD_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRPSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISB_EEEEEOT_RNSt16remove_referenceISJ_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRPSt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEEOT_RNSt16remove_referenceISD_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRPSt13_Rb_tree_nodeISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEEEOT_RNSt16remove_referenceISB_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRPSt18_Rb_tree_node_baseEOT_RNSt16remove_referenceIS3_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRPcEOT_RNSt16remove_referenceIS2_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRSt10shared_ptrIN8usbguard4RuleEEEOT_RNSt16remove_referenceIS5_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRSt10shared_ptrIN8usbguard7RuleSetEEEOT_RNSt16remove_referenceIS5_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRSt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS2_EEEOT_RNSt16remove_referenceIS7_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_EEEOT_RNSt16remove_referenceISC_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISB_EEEEEOT_RNSt16remove_referenceISI_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEEEOT_RNSt16remove_referenceISD_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEOT_RNSt16remove_referenceISA_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRSt4pairIKjN8usbguard9IPCServer13AccessControlEEEOT_RNSt16remove_referenceIS7_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRbEOT_RNSt16remove_referenceIS1_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRiEOT_RNSt16remove_referenceIS1_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIRjEOT_RNSt16remove_referenceIS1_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardISaINSt8__detail10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEEOT_RNSt16remove_referenceISB_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardISaINSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEEOT_RNSt16remove_referenceISD_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardISt10shared_ptrIKN8usbguard4RuleEEEOT_RNSt16remove_referenceIS5_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardISt10shared_ptrIN8usbguard4RuleEEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardISt10shared_ptrIN8usbguard6DeviceEEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardISt10unique_ptrIN8usbguard7LogSinkESt14default_deleteIS2_EEEOT_RNSt16remove_referenceIS6_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardISt14default_deleteIN8usbguard12AuditBackendEEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardISt14default_deleteIN8usbguard17RuleConditionBaseEEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardISt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISB_EEEEEOT_RNSt16remove_referenceISH_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardISt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEEEOT_RNSt16remove_referenceISB_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEOT_RNSt16remove_referenceIS8_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardISt4pairIhmEEOT_RNSt16remove_referenceIS2_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardISt5tupleIJEEEOT_RNSt16remove_referenceIS2_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardISt5tupleIJONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEOT_RNSt16remove_referenceIS9_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardISt5tupleIJRKN8usbguard9IPCServer13AccessControl7SectionEEEEOT_RNSt16remove_referenceIS8_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardISt5tupleIJRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEOT_RNSt16remove_referenceISA_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardISt5tupleIJRKhEEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardISt5tupleIJRKjEEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardISt5tupleIJRKmEEEOT_RNSt16remove_referenceIS4_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIbEOT_RNSt16remove_referenceIS0_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIhEOT_RNSt16remove_referenceIS0_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardIiEOT_RNSt16remove_referenceIS0_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7forwardImEOT_RNSt16remove_referenceIS0_E4typeE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7isprintIcEbT_RKSt6locale' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7setbasei' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt7toupperIcET_S0_RKSt6locale' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIN8usbguard11USBDeviceIDEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIN8usbguard13RuleConditionEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIN8usbguard4RuleEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPN8usbguard11USBDeviceIDESt6vectorIS3_SaIS3_EEEEEvT_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPN8usbguard13RuleConditionESt6vectorIS3_SaIS3_EEEEEvT_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPN8usbguard16USBInterfaceTypeESt6vectorIS3_SaIS3_EEEEEvT_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEEEvT_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard4RuleEESt6vectorIS5_SaIS5_EEEEEvT_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPSt10shared_ptrIN8usbguard7RuleSetEESt6vectorIS5_SaIS5_EEEEEvT_SB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyINSt13__future_base13_State_baseV2EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIPN8usbguard11USBDeviceIDEEvT_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIPN8usbguard13RuleConditionEEvT_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIPN8usbguard13USBDescriptorEEvT_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIPN8usbguard16USBInterfaceTypeEEvT_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIPN8usbguard4RuleEEvT_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEvT_S7_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIPSt10shared_ptrIKN8usbguard4RuleEEEvT_S6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIPSt10shared_ptrIN8usbguard4RuleEEEvT_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIPSt10shared_ptrIN8usbguard6DeviceEEEvT_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIPSt10shared_ptrIN8usbguard7RuleSetEEEvT_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEEvT_SC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEEvT_SC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEEvT_SC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEEvT_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEEvT_SD_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEvT_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIPSt4pairIhmEEvT_S3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyIPSt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvT_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyISt10shared_ptrIKN8usbguard4RuleEEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyISt10shared_ptrIN8usbguard4RuleEEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyISt10shared_ptrIN8usbguard6DeviceEEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyISt10shared_ptrIN8usbguard7RuleSetEEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard13DeviceManager21AuthorizedDefaultTypeEEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule11SetOperatorEEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard4Rule6TargetEEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl7SectionEEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControl9PrivilegeEEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8_DestroyISt4pairIjNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvPT_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8__invokeIMNSt13__future_base13_State_baseV2EFvPSt8functionIFSt10unique_ptrINS0_12_Result_baseENS4_8_DeleterEEvEEPbEJPS1_S9_SA_EENSt15__invoke_resultIT_JDpT0_EE4typeEOSF_DpOSG_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt8isxdigitIcEbT_RKSt6locale' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt9addressofINSt8__detail10_Hash_nodeISt4pairIKN8usbguard9IPCServer13AccessControl7SectionEhELb1EEEEPT_RSA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt9addressofINSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN8usbguard9IPCServer13AccessControlEELb1EEEEPT_RSF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt9addressofINSt8__detail10_Hash_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ELb1EEEEPT_RSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt9addressofINSt8__detail10_Hash_nodeISt4pairIKhSt6vectorIN8usbguard13USBDescriptorESaIS6_EEELb0EEEEPT_RSB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt9addressofINSt8__detail10_Hash_nodeISt4pairIKhmELb0EEEEPT_RS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt9addressofINSt8__detail10_Hash_nodeISt4pairIKjN8usbguard9IPCServer13AccessControlEELb0EEEEPT_RS9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt9addressofIPNSt8__detail15_Hash_node_baseEEPT_RS3_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt9call_onceIMNSt13__future_base13_State_baseV2EFvPSt8functionIFSt10unique_ptrINS0_12_Result_baseENS4_8_DeleterEEvEEPbEJPS1_S9_SA_EEvRSt9once_flagOT_DpOT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt9iter_swapIN9__gnu_cxx17__normal_iteratorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt6vectorIS7_SaIS7_EEEESC_EvT_T0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt9iter_swapIN9__gnu_cxx17__normal_iteratorIPSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_ESt6vectorIS9_SaIS9_EEEESE_EvT_T0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt9iter_swapIN9__gnu_cxx17__normal_iteratorIPSt4pairIhmESt6vectorIS3_SaIS3_EEEES8_EvT_T0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt9make_pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_ESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS7_INS8_IT0_E4typeEE6__typeEEOS9_OSE_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt9make_pairIRKhRKmESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS5_INS6_IT0_E4typeEE6__typeEEOS7_OSC_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt9make_pairIRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS8_INS9_IT0_E4typeEE6__typeEEOSA_OSF_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStanSt12memory_orderSt23__memory_order_modifier' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSteqNSt6thread2idES0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEESH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEESB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEES9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSteqRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSteqRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEESH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSteqRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEESB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStleIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA10_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA11_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA12_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA13_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA14_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA15_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA16_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA17_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA18_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA19_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA20_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA21_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA22_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA23_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA24_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA25_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA26_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA27_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA28_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA29_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA2_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA30_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA31_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA32_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA33_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA34_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA35_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA36_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA38_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA39_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA3_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA40_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA41_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA42_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA44_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA45_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA47_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA48_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA4_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA50_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA51_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA52_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA54_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA56_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA59_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA5_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA60_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA62_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA64_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA65_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA6_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA76_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA7_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA8_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEA9_cEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_S9_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEOT_SB_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEPKcEOT_S5_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEPNS0_6DeviceEEOT_S5_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEPNS0_9IPCServer13AccessControlEEOT_S6_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEPvEOT_S4_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamESt6atomicIbEEOT_S5_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEbEOT_S3_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEhEOT_S3_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEiEOT_S3_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEjEOT_S3_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamElEOT_S3_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStlsIN8usbguard9LogStreamEmEOT_S3_RKT0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStltIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStltIhmEbRKSt4pairIT_T0_ES5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStneIN8usbguard12AuditBackendEEbRKSt10shared_ptrIT_EDn' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStneNSt6thread2idES0_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEESH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjSt10shared_ptrIN8usbguard6DeviceEEEES9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt10unique_ptrIN8usbguard7LogSinkESt14default_deleteISA_EEEESH_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStneRKSt23_Rb_tree_const_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEjEESB_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStorSt13_Ios_OpenmodeS_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_OS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_S5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTv0_n24_N8usbguard9LogStreamD0Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTv0_n24_N8usbguard9LogStreamD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN10_Range_chk6_S_chkEdSt17integral_constantIbLb0EE' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoC1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoC2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoC1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZN9__gnu_cxx6__stoaIddcJEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_EN11_Save_errnoD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN11_Guard_eltsC1EPS1_RS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN11_Guard_eltsC2EPS1_RS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN11_Guard_eltsC1EPS1_RS2_' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN11_Guard_eltsD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN11_Guard_eltsD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN11_Guard_eltsD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardC1EPS1_mRS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardC2EPS1_mRS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardC1EPS1_mRS2_' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorIN8usbguard11USBDeviceIDESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_EN11_Guard_eltsC1EPS1_RS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_EN11_Guard_eltsC2EPS1_RS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_EN11_Guard_eltsC1EPS1_RS2_' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_EN11_Guard_eltsD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_EN11_Guard_eltsD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_EN11_Guard_eltsD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_EN6_GuardC1EPS1_mRS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_EN6_GuardC2EPS1_mRS2_' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_EN6_GuardC2EPS1_mRS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_EN6_GuardD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_EN6_GuardD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard13RuleConditionESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_EN6_GuardD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard13USBDescriptorESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardC1EPS1_mRS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard13USBDescriptorESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardC2EPS1_mRS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorIN8usbguard13USBDescriptorESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardC1EPS1_mRS2_' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard13USBDescriptorESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorIN8usbguard13USBDescriptorESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard13USBDescriptorESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardC1EPS1_mRS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardC2EPS1_mRS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardC1EPS1_mRS2_' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorIN8usbguard16USBInterfaceTypeESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard4RuleESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN11_Guard_eltsC1EPS1_RS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard4RuleESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN11_Guard_eltsC2EPS1_RS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorIN8usbguard4RuleESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN11_Guard_eltsC1EPS1_RS2_' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard4RuleESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN11_Guard_eltsD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard4RuleESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN11_Guard_eltsD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorIN8usbguard4RuleESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN11_Guard_eltsD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard4RuleESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardC1EPS1_mRS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard4RuleESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardC2EPS1_mRS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorIN8usbguard4RuleESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardC1EPS1_mRS2_' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard4RuleESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorIN8usbguard4RuleESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorIN8usbguard4RuleESaIS1_EE17_M_realloc_appendIJRKS1_EEEvDpOT_EN6_GuardD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_appendIJRKS5_EEEvDpOT_EN6_GuardC1EPS5_mRS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_appendIJRKS5_EEEvDpOT_EN6_GuardC2EPS5_mRS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_appendIJRKS5_EEEvDpOT_EN6_GuardC1EPS5_mRS6_' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_appendIJRKS5_EEEvDpOT_EN6_GuardD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_appendIJRKS5_EEEvDpOT_EN6_GuardD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_appendIJRKS5_EEEvDpOT_EN6_GuardD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_appendIJS5_EEEvDpOT_EN6_GuardC1EPS5_mRS6_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_appendIJS5_EEEvDpOT_EN6_GuardC2EPS5_mRS6_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_appendIJS5_EEEvDpOT_EN6_GuardC1EPS5_mRS6_' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_appendIJS5_EEEvDpOT_EN6_GuardD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_appendIJS5_EEEvDpOT_EN6_GuardD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_appendIJS5_EEEvDpOT_EN6_GuardD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE17_M_realloc_appendIJRKS4_EEEvDpOT_EN6_GuardC1EPS4_mRS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE17_M_realloc_appendIJRKS4_EEEvDpOT_EN6_GuardC2EPS4_mRS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE17_M_realloc_appendIJRKS4_EEEvDpOT_EN6_GuardC1EPS4_mRS5_' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE17_M_realloc_appendIJRKS4_EEEvDpOT_EN6_GuardD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE17_M_realloc_appendIJRKS4_EEEvDpOT_EN6_GuardD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE17_M_realloc_appendIJRKS4_EEEvDpOT_EN6_GuardD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE17_M_realloc_appendIJS4_EEEvDpOT_EN6_GuardC1EPS4_mRS5_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE17_M_realloc_appendIJS4_EEEvDpOT_EN6_GuardC2EPS4_mRS5_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE17_M_realloc_appendIJS4_EEEvDpOT_EN6_GuardC1EPS4_mRS5_' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE17_M_realloc_appendIJS4_EEEvDpOT_EN6_GuardD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE17_M_realloc_appendIJS4_EEEvDpOT_EN6_GuardD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIKN8usbguard4RuleEESaIS4_EE17_M_realloc_appendIJS4_EEEvDpOT_EN6_GuardD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE17_M_realloc_appendIJRKS3_EEEvDpOT_EN6_GuardC1EPS3_mRS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE17_M_realloc_appendIJRKS3_EEEvDpOT_EN6_GuardC2EPS3_mRS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE17_M_realloc_appendIJRKS3_EEEvDpOT_EN6_GuardC1EPS3_mRS4_' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE17_M_realloc_appendIJRKS3_EEEvDpOT_EN6_GuardD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE17_M_realloc_appendIJRKS3_EEEvDpOT_EN6_GuardD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE17_M_realloc_appendIJRKS3_EEEvDpOT_EN6_GuardD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_EN6_GuardC1ESB_mRS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_EN6_GuardC2ESB_mRS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_EN6_GuardC1ESB_mRS4_' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_EN6_GuardD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_EN6_GuardD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIN8usbguard4RuleEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_EN6_GuardD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE17_M_realloc_appendIJRKS3_EEEvDpOT_EN6_GuardC1EPS3_mRS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE17_M_realloc_appendIJRKS3_EEEvDpOT_EN6_GuardC2EPS3_mRS4_' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE17_M_realloc_appendIJRKS3_EEEvDpOT_EN6_GuardC2EPS3_mRS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE17_M_realloc_appendIJRKS3_EEEvDpOT_EN6_GuardD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE17_M_realloc_appendIJRKS3_EEEvDpOT_EN6_GuardD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt10shared_ptrIN8usbguard6DeviceEESaIS3_EE17_M_realloc_appendIJRKS3_EEEvDpOT_EN6_GuardD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE17_M_realloc_appendIJS7_EEEvDpOT_EN6_GuardC1EPS7_mRS8_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE17_M_realloc_appendIJS7_EEEvDpOT_EN6_GuardC2EPS7_mRS8_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE17_M_realloc_appendIJS7_EEEvDpOT_EN6_GuardC1EPS7_mRS8_' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE17_M_realloc_appendIJS7_EEEvDpOT_EN6_GuardD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE17_M_realloc_appendIJS7_EEEvDpOT_EN6_GuardD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE17_M_realloc_appendIJS7_EEEvDpOT_EN6_GuardD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt4pairIhmESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_EN6_GuardC1EPS1_mRS2_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt4pairIhmESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_EN6_GuardC2EPS1_mRS2_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorISt4pairIhmESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_EN6_GuardC1EPS1_mRS2_' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt4pairIhmESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_EN6_GuardD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt6vectorISt4pairIhmESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_EN6_GuardD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt6vectorISt4pairIhmESaIS1_EE17_M_realloc_appendIJS1_EEEvDpOT_EN6_GuardD1Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardC1EPS4_' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardC2EPS4_' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardC2EPS4_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tagEN6_GuardD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE22__resize_and_overwriteIZNS_9to_stringEiEUlPcmE_EEvmT_EN11_TerminatorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE22__resize_and_overwriteIZNS_9to_stringEiEUlPcmE_EEvmT_EN11_TerminatorD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE22__resize_and_overwriteIZNS_9to_stringEiEUlPcmE_EEvmT_EN11_TerminatorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE22__resize_and_overwriteIZNS_9to_stringEjEUlPcmE_EEvmT_EN11_TerminatorD1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE22__resize_and_overwriteIZNS_9to_stringEjEUlPcmE_EEvmT_EN11_TerminatorD2Ev' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE22__resize_and_overwriteIZNS_9to_stringEjEUlPcmE_EEvmT_EN11_TerminatorD2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt7__cxx119to_stringEiENKUlPcmE_clES0_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt7__cxx119to_stringEjENKUlPcmE_clES0_m' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt9once_flag18_Prepare_executionC4IZSt9call_onceIMNSt13__future_base13_State_baseV2EFvPSt8functionIFSt10unique_ptrINS3_12_Result_baseENS7_8_DeleterEEvEEPbEJPS4_SC_SD_EEvRS_OT_DpOT0_EUlvE_EERSI_ENKUlvE_clEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt9once_flag18_Prepare_executionC4IZSt9call_onceIMNSt13__future_base13_State_baseV2EFvPSt8functionIFSt10unique_ptrINS3_12_Result_baseENS7_8_DeleterEEvEEPbEJPS4_SC_SD_EEvRS_OT_DpOT0_EUlvE_EERSI_ENKUlvE_cvPFvvEEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt9once_flag18_Prepare_executionC4IZSt9call_onceIMNSt13__future_base13_State_baseV2EFvPSt8functionIFSt10unique_ptrINS3_12_Result_baseENS7_8_DeleterEEvEEPbEJPS4_SC_SD_EEvRS_OT_DpOT0_EUlvE_EERSI_ENUlvE_4_FUNEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZSt9call_onceIMNSt13__future_base13_State_baseV2EFvPSt8functionIFSt10unique_ptrINS0_12_Result_baseENS4_8_DeleterEEvEEPbEJPS1_S9_SA_EEvRSt9once_flagOT_DpOT0_ENKUlvE_clEv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZdlPvS_' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZnwmPv' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n  </elf-function-symbols>\n  <elf-variable-symbols>\n    <elf-symbol name='_ZN8usbguard4Rule10ImplicitIDE' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule6LastIDE' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule6RootIDE' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard4Rule9DefaultIDE' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard7RuleSet8_id_nextE' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard8G_loggerE' size='96' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard8LDAPUtil10_ldap_keysB5cxx11E' size='24' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZN8usbguard8LDAPUtil10_rule_keysB5cxx11E' size='24' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZSt19piecewise_construct' size='1' type='object-type' binding='gnu-unique-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTIFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_ES8_E' size='16' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTIN8usbguard12AuditBackendE' size='16' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTIN8usbguard13DeviceManagerE' size='16' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTIN8usbguard13MemoryRuleSetE' size='24' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTIN8usbguard17RuleConditionBaseE' size='16' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTIN8usbguard18DeviceManagerHooksE' size='16' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTIN8usbguard24USBDescriptorParserHooksE' size='16' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTIN8usbguard6DeviceE' size='16' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTIN8usbguard7LogSinkE' size='16' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTIN8usbguard7RuleSetE' size='16' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTIN8usbguard9ExceptionE' size='24' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTIN8usbguard9IPCClientE' size='24' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTIN8usbguard9IPCServerE' size='24' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTIN8usbguard9InterfaceE' size='16' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTIN8usbguard9LogStreamE' size='24' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE' size='24' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTINSt13__future_base13_State_baseV27_SetterISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEOS8_EE' size='16' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTINSt13__future_base13_State_baseV2E' size='16' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTINSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS4_EEEE' size='24' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTINSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCClientPrivateEFvvEPS4_EEEEEE' size='24' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTINSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCServerPrivateEFvvEPS4_EEEEEE' size='24' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTINSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard19UEventDeviceManagerEFvvEPS4_EEEEEE' size='24' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTINSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard21UMockdevDeviceManagerEFvvEPS4_EEEEEE' size='24' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTIPFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_ES8_E' size='32' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE' size='16' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTISt14default_deleteIN8usbguard12AuditBackendEE' size='16' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE' size='24' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTISt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS1_ESaIvELN9__gnu_cxx12_Lock_policyE2EE' size='24' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTISt19_Sp_make_shared_tag' size='16' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTISt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EE' size='24' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTISt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EE' size='24' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_ES8_E' size='73' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSN8usbguard12AuditBackendE' size='26' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSN8usbguard13DeviceManagerE' size='27' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSN8usbguard13MemoryRuleSetE' size='27' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSN8usbguard17RuleConditionBaseE' size='31' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSN8usbguard18DeviceManagerHooksE' size='32' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSN8usbguard24USBDescriptorParserHooksE' size='38' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSN8usbguard6DeviceE' size='19' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSN8usbguard7LogSinkE' size='20' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSN8usbguard7RuleSetE' size='20' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSN8usbguard9ExceptionE' size='22' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSN8usbguard9IPCClientE' size='22' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSN8usbguard9IPCServerE' size='22' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSN8usbguard9InterfaceE' size='22' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSN8usbguard9LogStreamE' size='22' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE' size='49' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSNSt13__future_base13_State_baseV27_SetterISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS5_EEOS8_EE' size='114' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSNSt13__future_base13_State_baseV2E' size='35' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS4_EEEE' size='95' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCClientPrivateEFvvEPS4_EEEEEE' size='92' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCServerPrivateEFvvEPS4_EEEEEE' size='92' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard19UEventDeviceManagerEFvvEPS4_EEEEEE' size='95' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard21UMockdevDeviceManagerEFvvEPS4_EEEEEE' size='97' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSPFbRKSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_ES8_E' size='74' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE' size='47' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSSt14default_deleteIN8usbguard12AuditBackendEE' size='46' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE' size='52' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSSt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS1_ESaIvELN9__gnu_cxx12_Lock_policyE2EE' size='109' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSSt19_Sp_make_shared_tag' size='24' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EE' size='80' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTSSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EE' size='98' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTTN8usbguard9LogStreamE' size='48' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVN8usbguard12AuditBackendE' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVN8usbguard13DeviceManagerE' size='88' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVN8usbguard13MemoryRuleSetE' size='56' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVN8usbguard17RuleConditionBaseE' size='64' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVN8usbguard18DeviceManagerHooksE' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVN8usbguard24USBDescriptorParserHooksE' size='32' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVN8usbguard6DeviceE' size='48' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVN8usbguard7LogSinkE' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVN8usbguard7RuleSetE' size='56' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVN8usbguard9ExceptionE' size='48' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVN8usbguard9IPCClientE' size='144' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVN8usbguard9IPCServerE' size='128' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVN8usbguard9InterfaceE' size='112' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVN8usbguard9LogStreamE' size='80' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE' size='128' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVNSt13__future_base13_State_baseV2E' size='48' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVNSt13__future_base7_ResultISt10unique_ptrIN6google8protobuf7MessageESt14default_deleteIS4_EEEE' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCClientPrivateEFvvEPS4_EEEEEE' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard16IPCServerPrivateEFvvEPS4_EEEEEE' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard19UEventDeviceManagerEFvvEPS4_EEEEEE' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVNSt6thread11_State_implINS_8_InvokerISt5tupleIJMN8usbguard21UMockdevDeviceManagerEFvvEPS4_EEEEEE' size='40' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE' size='56' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVSt19_Sp_counted_deleterIPN8usbguard12AuditBackendESt14default_deleteIS1_ESaIvELN9__gnu_cxx12_Lock_policyE2EE' size='56' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVSt23_Sp_counted_ptr_inplaceIN8usbguard4RuleESaIvELN9__gnu_cxx12_Lock_policyE2EE' size='56' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZTVSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIvELN9__gnu_cxx12_Lock_policyE2EE' size='56' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>\n    <elf-symbol name='_ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag' size='16' type='object-type' binding='gnu-unique-binding' visibility='default-visibility' is-defined='yes'/>\n  </elf-variable-symbols>\n  <undefined-elf-function-symbols>\n    <elf-symbol name='_Unwind_Resume' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf11MessageLite15ParseFromStringERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf15UnknownFieldSet13ClearFallbackEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf15UnknownFieldSet16default_instanceEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf15UnknownFieldSet9MergeFromERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf20stringpiece_internal11StringPiece18LogFatalSizeTooBigEmPKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf23ShutdownProtobufLibraryEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf2io17CodedOutputStream35WriteVarint32ToArrayOutOfLineHelperEjPh' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf2io19EpsCopyOutputStream19EnsureSpaceFallbackEPh' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf2io19EpsCopyOutputStream30WriteStringMaybeAliasedOutlineEjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPh' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf5Arena23AllocateAlignedWithHookEmPKSt9type_info' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf5Arena26AllocateAlignedWithCleanupEmPKSt9type_info' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf7Message17CopyWithSizeCheckEPS1_RKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf7Message21CheckTypeAndMergeFromERKNS0_11MessageLiteE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf7Message8CopyFromERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf7Message9MergeFromERKS1_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal10LogMessageC1ENS0_8LogLevelEPKci' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal10LogMessageD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal10LogMessagelsEPKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal10VerifyUTF8ENS0_20stringpiece_internal11StringPieceEPKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal10WireFormat37InternalSerializeUnknownFieldsToArrayERKNS0_15UnknownFieldSetEPhPNS0_2io19EpsCopyOutputStreamE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal11LogFinisheraSERNS1_10LogMessageE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal12ParseContext12ParseMessageEPNS0_11MessageLiteEPKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal14ArenaStringPtr22DestroyNoArenaSlowPathEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal14ArenaStringPtr3SetENS2_12EmptyDefaultEONSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS0_5ArenaE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal14ArenaStringPtr3SetENS2_12EmptyDefaultERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS0_5ArenaE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal14ArenaStringPtr7MutableB5cxx11ENS2_12EmptyDefaultEPNS0_5ArenaE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal14WireFormatLite16VerifyUtf8StringEPKciNS2_9OperationES4_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal15ReadTagFallbackEPKcj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal15ThreadSafeArenaD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal17AssignDescriptorsEPFPKNS1_15DescriptorTableEvEPSt9once_flagRKNS0_8MetadataE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal17UnknownFieldParseEmPNS0_15UnknownFieldSetEPKcPNS1_12ParseContextE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal17VarintParseSlow32EPKcj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal17VarintParseSlow64EPKcj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal18EpsCopyInputStream12DoneFallbackEii' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal20AddDescriptorsRunnerC1EPKNS1_15DescriptorTableE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal20RepeatedPtrFieldBase13DestroyProtosEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal20RepeatedPtrFieldBase14InternalExtendEi' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal20RepeatedPtrFieldBase18AddOutOfLineHelperEPv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal24InlineGreedyStringParserEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKcPNS1_12ParseContextE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNK6google8protobuf10Descriptor15FindFieldByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNK6google8protobuf10Reflection10GetMessageERKNS0_7MessageEPKNS0_15FieldDescriptorEPNS0_14MessageFactoryE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNK6google8protobuf10Reflection14MutableMessageEPNS0_7MessageEPKNS0_15FieldDescriptorEPNS0_14MessageFactoryE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNK6google8protobuf11MessageLite17SerializeToStringEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNK6google8protobuf7Message11DebugStringB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNK6google8protobuf7Message11GetTypeNameB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNK6google8protobuf7Message13SpaceUsedLongEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNK6google8protobuf7Message25InitializationErrorStringB5cxx11Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNK6google8protobuf7Message29MaybeComputeUnknownFieldsSizeEmPNS0_8internal10CachedSizeE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNK6google8protobuf8internal15ThreadSafeArena14SpaceAllocatedEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSi6gcountEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt13runtime_error4whatEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofERKS4_m' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofERKS4_m' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEcm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13get_allocatorEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofERKS4_m' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofERKS4_m' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4cendEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findERKS4_m' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6cbeginEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmRKS4_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8capacityEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt8__detail20_Prime_rehash_policy14_M_need_rehashEmmm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSi4readEPcl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSi8readsomeEPcl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSirsERj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSo5flushEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSo5seekpESt4fposI11__mbstate_tE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSolsEPFRSoS_E' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSolsEPKv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSolsEb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSolsEi' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSolsEj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSolsEl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSolsEm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSolsEt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt11logic_errorC1EPKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt11logic_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt11logic_errorC2ERKS_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt11logic_errorD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt12future_errorD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt12out_of_rangeC1EPKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt12out_of_rangeD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13__future_base12_Result_baseC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13__future_base12_Result_baseD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13random_device7_M_finiEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13random_device7_M_initERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13random_device9_M_getvalEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13runtime_errorC1EPKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13runtime_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13runtime_errorD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt13runtime_errorD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptr10_M_releaseEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptr9_M_addrefEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt15__exception_ptr13exception_ptrC1EPv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt18condition_variable10notify_oneEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt18condition_variableC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt18condition_variableD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt28__atomic_futex_unsigned_base19_M_futex_notify_allEPj' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt28__atomic_futex_unsigned_base19_M_futex_wait_untilEPjjbNSt6chrono8durationIlSt5ratioILl1ELl1EEEENS2_IlS3_ILl1ELl1000000000EEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt28__atomic_futex_unsigned_base26_M_futex_wait_until_steadyEPjjbNSt6chrono8durationIlSt5ratioILl1ELl1EEEENS2_IlS3_ILl1ELl1000000000EEEE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt6chrono3_V212steady_clock3nowEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt6chrono3_V212system_clock3nowEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt6localeC1EPKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt6localeC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt6localeD1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt6thread4joinEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt6thread6_StateD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS3_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5clearEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEmc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmRKS4_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8pop_backEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9push_backEc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcmRKS3_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS3_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt9basic_iosIcSt11char_traitsIcEED2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZNSt9exceptionD2Ev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt11_Hash_bytesPKvmm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt15future_categoryv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt17__throw_bad_allocv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt19__throw_logic_errorPKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt20__throw_future_errori' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt20__throw_length_errorPKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt20__throw_out_of_rangePKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt20__throw_system_errori' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt21ios_base_library_initv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt24__throw_invalid_argumentPKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt25__throw_bad_function_callv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt28__throw_bad_array_new_lengthv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt9terminatev' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZdlPvm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_Znwm' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='__cxa_allocate_exception' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='__cxa_atexit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='__cxa_begin_catch' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='__cxa_demangle' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='__cxa_end_catch' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='__cxa_finalize' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='__cxa_free_exception' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='__cxa_init_primary_exception' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='__cxa_pure_virtual' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='__cxa_rethrow' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='__cxa_throw' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='__errno_location' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='__gxx_personality_v0' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='__once_proxy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='__tls_get_addr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_exit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='access' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='bind' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='close' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='closedir' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='closelog' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='dup2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='eventfd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='execv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='fork' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='fstat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='fstatat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='g_object_unref' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='gcry_check_version' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='gcry_control' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='gcry_md_close' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='gcry_md_copy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='gcry_md_ctl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='gcry_md_get_algo_dlen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='gcry_md_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='gcry_md_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='gcry_md_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='getenv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='getgid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='getgrgid_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='getgrnam_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='getpid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='getpwuid_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='getrlimit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='gettimeofday' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='getuid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='inotify_add_watch' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='inotify_init1' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='isprint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='kill' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='logl' version='GLIBC_2.2.5' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='lstat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='memcmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='memcpy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='memmove' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='memset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='mmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='munmap' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='openat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='opendir' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='openlog' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='pthread_cond_clockwait' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='pthread_mutex_lock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='pthread_mutex_unlock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='pthread_once' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcc_connect' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcc_disconnect' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcc_event_recv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcc_fd_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcc_sendv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcs_connection_auth_set' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcs_connection_first_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcs_connection_next_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcs_connection_ref' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcs_connection_service_context_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcs_connection_stats_get_2' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcs_connection_unref' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcs_context_get' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcs_context_set' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcs_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcs_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcs_disconnect' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcs_event_sendv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcs_poll_handlers_set' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcs_run' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_ipcs_service_context_set' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_loop_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_loop_destroy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_loop_job_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_loop_poll_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_loop_poll_del' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_loop_poll_mod' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_loop_run' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='qb_loop_stop' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='readdir' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='readlink' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='realpath' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='recvmsg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='select' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='setlocale' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='setsockopt' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='snprintf' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='socket' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='stat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='strcmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='strerror' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='strerror_r' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='strlen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='strptime' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='strtod' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='syslog' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='umask' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='umockdev_testbed_add_from_string' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='umockdev_testbed_get_root_dir' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='umockdev_testbed_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='umockdev_testbed_remove_device' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='umockdev_testbed_set_attribute' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='umockdev_testbed_uevent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='usleep' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='waitpid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n  </undefined-elf-function-symbols>\n  <undefined-elf-variable-symbols>\n    <elf-symbol name='_ITM_deregisterTMCloneTable' type='no-type' binding='weak-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ITM_registerTMCloneTable' type='no-type' binding='weak-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZN6google8protobuf8internal26fixed_address_empty_stringB5cxx11E' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt11__once_call' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt15__once_callable' type='tls-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt4cerr' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZSt4clog' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTIN6google8protobuf7MessageE' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTINSt13__future_base12_Result_baseE' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTINSt6thread6_StateE' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTINSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTISi' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTISo' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTISt11logic_error' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTISt12future_error' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTISt12out_of_range' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTISt12system_error' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTISt13basic_filebufIcSt11char_traitsIcEE' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTISt13runtime_error' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTISt14basic_ifstreamIcSt11char_traitsIcEE' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTISt9exception' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTVN10__cxxabiv117__class_type_infoE' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTVN10__cxxabiv119__pointer_type_infoE' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTVN10__cxxabiv120__function_type_infoE' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTVN10__cxxabiv120__si_class_type_infoE' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTVN10__cxxabiv121__vmi_class_type_infoE' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTVN6google8protobuf11MessageLiteE' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTVN6google8protobuf7MessageE' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTVNSt6thread6_StateE' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTVSt12future_error' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='_ZTVSt9exception' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='__gmon_start__' type='no-type' binding='weak-binding' visibility='default-visibility' is-defined='no'/>\n    <elf-symbol name='__libc_single_threaded' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='no'/>\n  </undefined-elf-variable-symbols>\n</abi-corpus>\n"
  },
  {
    "path": "autogen.sh",
    "content": "#!/bin/sh\n##\n## Copyright (C) 2016 Red Hat, Inc.\n##\n## This program is free software; you can redistribute it and/or modify\n## it under the terms of the GNU General Public License as published by\n## the Free Software Foundation; either version 2 of the License, or\n## (at your option) any later version.\n##\n## This program is distributed in the hope that it will be useful,\n## but WITHOUT ANY WARRANTY; without even the implied warranty of\n## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n## GNU General Public License for more details.\n##\n## You should have received a copy of the GNU General Public License\n## along with this program.  If not, see <http://www.gnu.org/licenses/>.\n##\n## Authors: Daniel Kopecek <dkopecek@redhat.com>\n##\nset -x -e\ngit submodule update --init\nmkdir -p ./m4\nautoreconf -i -s --no-recursive ./\n"
  },
  {
    "path": "configure.ac",
    "content": "AC_PREREQ([2.69])\nAC_INIT([usbguard],\n        m4_esyscmd_s([cat VERSION]),\n        [usbguard@usbguard.org])\nAC_CONFIG_SRCDIR([src/])\nAC_CONFIG_HEADERS([src/build-config.h.in])\nAC_CONFIG_MACRO_DIR([m4])\nAC_CONFIG_AUX_DIR([config])\n\nAM_INIT_AUTOMAKE([subdir-objects foreign tar-pax])\n\n# If automake supports \"silent rules\", enable them by default\nm4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])\n\n#\n# Compiler flags\n#\nEXTERNAL_CXXFLAGS=\"$CXXFLAGS\"\nEXTERNAL_CFLAGS=\"$CFLAGS\"\nEXTERNAL_CPPFLAGS=\"$CPPFLAGS\"\n\nCOMMON_WARNING_FLAGS=\" -pedantic\"\nCOMMON_WARNING_FLAGS=\"${COMMON_WARNING_FLAGS} -Wno-unknown-pragmas\"\nCOMMON_WARNING_FLAGS=\"${COMMON_WARNING_FLAGS} -Wall\"\nCOMMON_WARNING_FLAGS=\"${COMMON_WARNING_FLAGS} -Wextra\"\nCOMMON_WARNING_FLAGS=\"${COMMON_WARNING_FLAGS} -Wformat=2\"\nCOMMON_WARNING_FLAGS=\"${COMMON_WARNING_FLAGS} -Wredundant-decls\"\nCOMMON_WARNING_FLAGS=\"${COMMON_WARNING_FLAGS} -Wcast-align\"\nCOMMON_WARNING_FLAGS=\"${COMMON_WARNING_FLAGS} -Wmissing-declarations\"\nCOMMON_WARNING_FLAGS=\"${COMMON_WARNING_FLAGS} -Wmissing-include-dirs\"\nCOMMON_WARNING_FLAGS=\"${COMMON_WARNING_FLAGS} -Wmissing-format-attribute\"\nCOMMON_WARNING_FLAGS=\"${COMMON_WARNING_FLAGS} -Wswitch-enum\"\nCOMMON_WARNING_FLAGS=\"${COMMON_WARNING_FLAGS} -Wswitch-default\"\nCOMMON_WARNING_FLAGS=\"${COMMON_WARNING_FLAGS} -Winvalid-pch\"\nCOMMON_WARNING_FLAGS=\"${COMMON_WARNING_FLAGS} -Wformat-nonliteral\"\nCOMMON_WARNING_FLAGS=\"${COMMON_WARNING_FLAGS} -Wno-deprecated-register\"\n#COMMON_WARNING_FLAGS=\"${COMMON_WARNING_FLAGS} -flto -Wodr\"\n\n#\n# Workaround for older compilers warning about { }\n# not initializing all struct fields.\n#\nCOMMON_WARNING_FLAGS=\"${COMMON_WARNING_FLAGS} -Wno-missing-field-initializers\"\n\n#\n# Don't warn about implicit fallthrough\n#\n# TODO: Use [[fallthrough]] C++ attribute specifier with\n#       newer compiler versions.\n#\nAX_CHECK_COMPILE_FLAG([-Wno-implicit-fallthrough],\n                      [COMMON_WARNING_FLAGS=\"${COMMON_WARNING_FLAGS} -Wno-implicit-fallthrough\"], [], [])\n\n#\n# Final project CXXFLAGS are set after configure checks.\n#\nCXXFLAGS=\"-std=c++17 $EXTERNAL_CXXFLAGS\"\nCFLAGS=\"-std=c99 $EXTERNAL_CFLAGS\"\nCPPFLAGS=\"-DHAVE_BUILD_CONFIG_H $EXTERNAL_CPPFLAGS\"\n\n#\n# Additional CXXFLAGS used when --enable-debug-build is used\n#\nCXXFLAGS_DEBUG_ENABLED=\"-g -O0\"\n\n#\n# Additional CXXFLAGS used when --disable-debug-build is used\n# and when --enable-debug-build is\n#\n# Don't add -DNDEBUG here. It's added to the generated config.h\n# header file.\n#\nCXXFLAGS_DEBUG_DISABLED=\"\"\n\n# Libtool Versioning\n# See http://sources.redhat.com/autobook/autobook/autobook_91.html#SEC91 for details\n\n#\n# The most recent interface number.\n#\n# Increment if the interface has additions, changes or removals.\n#\nLT_CURRENT=1\n\n#\n# The implementation number of the current interface.\n#\n# Increment if library source code changed at all.\n# Set to 0 if you increment CURRENT.\n#\nLT_REVISION=1\n\n#\n# The difference between the newest and oldest interfaces\n# that the library implements.\n#\n# Increment if any interfaces have been added.\n# Set to 0 if any interfaces have been changed or removed.\n# Removal has precedence over adding, so set to 0 if both happened.\n#\nLT_AGE=0\n\nAC_SUBST(LT_CURRENT)\nAC_SUBST(LT_REVISION)\nAC_SUBST(LT_AGE)\n\nAC_ARG_ENABLE([coverage],\n     [AS_HELP_STRING([--enable-coverage], [enable instrumented compilation for code coverage testing (default=no)])],\n     [case \"${enableval}\" in\n       yes) coverage=yes ;;\n       no)  coverage=no ;;\n       *) AC_MSG_ERROR([bad value ${enableval} for --enable-coverage]) ;;\n     esac], [coverage=no])\n\nif test \"x$coverage\" = xyes; then\n   CXXFLAGS=\"$CXXFLAGS --coverage\"\n   CFLAGS=\"$CFLAGS --coverage\"\nfi\n\nAC_ARG_ENABLE([werror],\n     [AS_HELP_STRING([--enable-werror], [treat compiler warnings as errors (default=no)])],\n     [case \"${enableval}\" in\n       yes) werror=yes ;;\n       no)  werror=no ;;\n       *) AC_MSG_ERROR([bad value ${enableval} for --enable-werror]) ;;\n     esac], [werror=no])\n\nif test \"x$werror\" = xyes; then\n  COMMON_WARNING_FLAGS=\" -Werror $COMMON_WARNING_FLAGS\"\nfi\n\n#\n# Checks for programs.\n#\nAC_PROG_CXX\nAC_PROG_CC_C99\nAC_PROG_INSTALL\nAC_PROG_MAKE_SET\nLT_INIT\n\n# Check if libatomic is available, might be required for emulating\n# atomic intrinsics on some platforms.\n#\nAC_CHECK_LIB([atomic], [__atomic_add_fetch_8], [\n    __saved_LIBS=\"$LIBS\"\n    LIBS=\"$LIBS -Wl,--push-state,--as-needed,-latomic,--pop-state\"\n    AC_LINK_IFELSE([AC_LANG_PROGRAM()],\n      [atomic_LIBS=\"-Wl,--push-state,--as-needed,-latomic,--pop-state\"],\n      [atomic_LIBS=\"-latomic\"]\n    )\n    LIBS=\"$__saved_LIBS\"\n], [atomic_LIBS=\"\"])\nAC_SUBST([atomic_LIBS])\n\n# GNU (or just POSIX) basename(3) function?\nAC_MSG_CHECKING([for basename function])\nAC_LANG_PUSH([C++])\nAC_COMPILE_IFELSE([AC_LANG_SOURCE([\n    #define _GNU_SOURCE\n    #include <cstring>\n    int main(int argc, char ** argv) {\n        ::basename(*argv);\n        return 0;\n    }\n])], [\n    have_gnu_basename=yes\n    AC_MSG_RESULT([GNU])\n], [\n    have_gnu_basename=no\n    AC_MSG_RESULT([POSIX])\n])\nAC_LANG_POP()\nAS_IF([test \"x${have_gnu_basename}\" = xyes], [\n  AC_DEFINE([HAVE_GNU_BASENAME], [1], [Wether the GNU version of function basename(3) is available (or just the POSIX one).])\n], [])\n\n# GNU or XSI strerror_r(3) function?\nAC_MSG_CHECKING([for strerror_r function])\nAC_LANG_PUSH([C++])\nAC_COMPILE_IFELSE([AC_LANG_SOURCE([\n    #undef _POSIX_C_SOURCE\n    #define _GNU_SOURCE\n    #include <cstring>\n    int main(int argc, char ** argv) {\n        char * res = ::strerror_r(0, 0, 0);\n        return 0;\n    }\n])], [\n    have_gnu_strerror_r=yes\n    AC_MSG_RESULT([GNU])\n], [\n    have_gnu_strerror_r=no\n    AC_MSG_RESULT([XSI])\n])\nAC_LANG_POP()\nAS_IF([test \"x${have_gnu_strerror_r}\" = xyes], [\n  AC_DEFINE([HAVE_GNU_STRERROR_R], [1], [Wether the GNU version of function strerror_r(3) is available (or just the XSI one).])\n], [])\n\n#\n# Checks for required libraries.\n#\nAX_PTHREAD\nAC_MSG_CHECKING([for NETLINK_KOBJECT_UEVENT definition])\nAC_COMPILE_IFELSE([AC_LANG_SOURCE([[\n#include <linux/netlink.h>\nint main(void)\n{\n  return NETLINK_KOBJECT_UEVENT;\n}\n]])],\n[have_uevent=yes], [have_uevent=no])\nif test \"x$have_uevent\" = xyes; then\n  AC_MSG_RESULT([yes])\n  AC_DEFINE([HAVE_UEVENT], [1], [UEVENT netlink socket support])\nelse\n  AC_MSG_RESULT([no])\nfi\n\n#\n# qb library\n#\nPKG_CHECK_MODULES([qb], [libqb >= 0.16.0],\n[AC_DEFINE([HAVE_LIBQB], [1], [libqb API available])\nlibqb_summary=\"system-wide; $qb_CFLAGS $qb_LIBS\"],\n[AC_MSG_FAILURE([libqb development files not found!])]\n)\n\n#\n# sodium library\n#\nPKG_CHECK_MODULES([sodium], [libsodium >= 0.4.5],\n[AC_DEFINE([HAVE_LIBSODIUM], [1], [libsodium API available])\nlibsodium_summary=\"system-wide; $sodium_CFLAGS $sodium_LIBS\"]\nlibsodium_available=yes,\n[]\n)\n\n#\n# libcrypto library (OpenSSL)\n#\nPKG_CHECK_MODULES([libcrypto], [libcrypto >= 1.0.0],\n[AC_DEFINE([HAVE_LIBCRYPTO], [1], [libcrypto API available])\nlibcrypto_summary=\"system-wide; $libcrypto_CFLAGS $libcrypto_LIBS\"]\nlibcrypto_available=yes,\n[]\n)\n\n#\n# gcrypt library\n#\nAM_PATH_LIBGCRYPT([1.5.0],\n[AC_DEFINE([HAVE_LIBGCRYPT], [1], [libgcrypt API available])\ngcrypt_CFLAGS=\"$LIBGCRYPT_CFLAGS\"\ngcrypt_LIBS=\"$LIBGCRYPT_LIBS\"\nlibgcrypt_summary=\"system-wide; $gcrypt_CFLAGS $gcrypt_LIBS\"\nlibgcrypt_available=yes],\n[]\n)\n\n#\n# --with-crypto-library=<selector>\n#\n# Supported selectors:\n#\n#  sodium ... libsodium\n#  gcrypt ... libgcrypt\n#  openssl ... libcrypto\n#\nAC_ARG_WITH([crypto-library], AS_HELP_STRING([--with-crypto-library],\n            [Select crypto backend library. Supported values: sodium, gcrypt, openssl.]),\n            [with_crypto_library=$withval], [with_crypto_library=sodium])\n\ncase \"$with_crypto_library\" in\n  openssl)\n    if test \"x$libcrypto_available\" = xyes; then\n      crypto_CFLAGS=\"$libcrypto_CFLAGS\"\n      crypto_LIBS=\"$libcrypto_LIBS\"\n      crypto_summary=\"$libcrypto_summary\"\n      AC_DEFINE([USBGUARD_USE_OPENSSL], [1], [Use openssl as crypto backend])\n     else\n      AC_MSG_ERROR([The selected crypto backend library is not available.])\n    fi\n  ;;\n  sodium)\n    if test \"x$libsodium_available\" = xyes; then\n      crypto_CFLAGS=\"$sodium_CFLAGS\"\n      crypto_LIBS=\"$sodium_LIBS\"\n      crypto_summary=\"$libsodium_summary\"\n      AC_DEFINE([USBGUARD_USE_LIBSODIUM], [1], [Use libsodium as crypto backend])\n     else\n      AC_MSG_ERROR([The selected crypto backend library is not available.])\n    fi\n  ;;\n  gcrypt)\n    if test \"x$libgcrypt_available\" = xyes; then\n      crypto_CFLAGS=\"$gcrypt_CFLAGS\"\n      crypto_LIBS=\"$gcrypt_LIBS\"\n      crypto_summary=\"$libgcrypt_summary\"\n      AC_DEFINE([USBGUARD_USE_LIBGCRYPT], [1], [Use libsodium as crypto backend])\n    else\n      AC_MSG_ERROR([The selected crypto backend library is not available.])\n    fi\n  ;;\n  *)\n  AC_MSG_FAILURE([Invalid crypto library selector. Supported selectors: sodium, gcrypt, openssl])\nesac\nAC_SUBST([crypto_CFLAGS])\nAC_SUBST([crypto_LIBS])\n\n#\n# Check for optional libraries\n#\nAC_ARG_ENABLE([audit],\n              [AS_HELP_STRING([--enable-audit], [Enables Linux Audit support if available (default=yes)])],\n              [use_audit=$enableval], [use_audit=yes])\n\nif test \"x$use_audit\" = xyes; then\n  PKG_CHECK_MODULES([audit], [audit >= 2.7.7],\n  [AC_DEFINE([HAVE_LINUX_AUDIT], [1], [Linux Audit API available])\n  AC_CHECK_DECLS([audit_encode_nv_string], [], [], [[#include<libaudit.h>]])\n  libaudit_summary=\"system-wide; $audit_LIBS\"],\n  [AC_MSG_NOTICE([libaudit development files not found! Linux Audit support wille be turned OFF])\n  libaudit_summary=\"not found\"]\n  )\nelse\n  libaudit_summary=\"not enabled\"\nfi\n\nAC_ARG_ENABLE([seccomp],\n              [AS_HELP_STRING([--enable-seccomp], [Enables Seccomp support if available (default=yes)])],\n              [use_seccomp=$enableval], [use_seccomp=yes])\n\nif test \"x$use_seccomp\" = xyes; then\n  PKG_CHECK_MODULES([seccomp], [libseccomp >= 2.0.0],\n  [AC_DEFINE([HAVE_SECCOMP], [1], [seccomp API usable])\n  libseccomp_summary=\"system-wide; $seccomp_LIBS\"],\n  [AC_MSG_NOTICE([libseccomp development files not found! Seccomp support will be turned OFF])\n  libseccomp_summary=\"not found\"]\n  )\nelse\n  libseccomp_summary=\"not enabled\"\nfi\n\nAC_ARG_ENABLE([libcapng],\n              [AS_HELP_STRING([--enable-libcapng], [Enables POSIX 1003.1e capability support if available (default=yes)])],\n              [use_libcapng=$enableval], [use_libcapng=yes])\n\nif test \"x$use_libcapng\" = xyes; then\n  PKG_CHECK_MODULES([libcapng], [libcap-ng >= 0.7.0],\n  [AC_DEFINE([HAVE_LIBCAPNG], [1], [cap-ng API usable])\n  libcap_ng_summary=\"system-wide; $libcapng_LIBS\"],\n  [AC_MSG_NOTICE([libcap-ng development files not found! Support for POSIX 1003.1e capabilities will be turned OFF])\n  libcap_ng_summary=\"not found\"]\n  )\nelse\n  libcap_ng_summary=\"not enabled\"\nfi\n\nAC_ARG_ENABLE([umockdev],\n              [AS_HELP_STRING([--enable-umockdev], [Enables umockdev support if available (default=yes)])],\n              [use_umockdev=$enableval], [use_umockdev=yes])\n\nif test \"x$use_umockdev\" = xyes; then\n  PKG_CHECK_MODULES([umockdev], [umockdev-1.0 >= 0.8.0],\n  [AC_DEFINE([HAVE_UMOCKDEV], [1], [umockdev API usable])\n  umockdev_summary=\"system-wide; $umockdev_LIBS\"\n  umockdev_available=yes],\n  [AC_MSG_NOTICE([umockdev development files not found! umockdev device manager won't be available])\n  umockdev_summary=\"not found\"]\n  )\nelse\n  umockdev_summary=\"not enabled\"\nfi\n\nPKG_CHECK_MODULES([protobuf], [protobuf >= 2.5.0],\n[protobuf_summary=\"system-wide; $protobuf_CFLAGS $protobuf_LIBS\"],\n[AC_MSG_ERROR([Required protobuf development files not found!])]\n)\n\nAC_CHECK_PROGS(PROTOC, [protoc])\nif test -z \"$PROTOC\"; then\n  AC_MSG_ERROR([\"Required protobuf compiler not found!\"])\nfi\n\n#\n# Catch C++ library\n#\nAC_ARG_ENABLE([catch],\n  [AS_HELP_STRING([--enable-catch], [Enable Catch testing framework support (default=yes)])],\n  [enable_catch=$enableval], [enable_catch=yes])\n\nAC_ARG_WITH([bundled-catch], AS_HELP_STRING([--with-bundled-catch], [Build using the bundled Catch library]), [with_bundled_catch=$withval], [with_bundled_catch=no])\n\nif test \"x$enable_catch\" = xyes; then\n  if test \"x$with_bundled_catch\" = xyes; then\n    catch_CFLAGS=\"-I\\$(top_srcdir)/src/ThirdParty/Catch/single_include/catch2\"\n    catch_LIBS=\"\"\n    AC_MSG_NOTICE([Using bundled Catch library])\n    catch_summary=\"bundled; $catch_CFLAGS $catch_LIBS\"\n  else\n    SAVE_CPPFLAGS=$CPPFLAGS\n    CPPFLAGS=\"-std=c++17 $CPPFLAGS -I/usr/include/catch2\"\n    AC_LANG_PUSH([C++])\n    AC_CHECK_HEADER([catch_test_macros.hpp],\n    [catch_CFLAGS=\"-I/usr/include/catch2 -DHAVE_CATCH2_V3\"\n    catch_LIBS=\"-lCatch2Main -lCatch2\"],\n    [AC_CHECK_HEADER([catch.hpp],\n    [catch_CFLAGS=\"-I/usr/include/catch2\"\n    catch_LIBS=\"\"],\n    [AC_MSG_FAILURE(Catch2 not found or not usable. Re-run with --with-bundled-catch to use the bundled library.)]\n    )])\n    AC_LANG_POP\n    CPPFLAGS=$SAVE_CPPFLAGS\n    catch_summary=\"system-wide; $catch_CFLAGS $catch_LIBS\"\n  fi\nelse\n  catch_CFLAGS=\"\"\n  catch_LIBS=\"\"\n  catch_summary=\"disabled; not checking for Catch2\"\nfi\nAC_SUBST([catch_CFLAGS])\nAC_SUBST([catch_LIBS])\n\n#\n# stdc++fs (for PEGTL >=3 below, e.g. with GCC 8)\n#\nSTDCXX_FS_LINKTEST_FILENAME=\"${srcdir}\"/src/test_filesystem.cpp\nSTDCXX_FS_LINKTEST_SOURCE=\"$(cat \"${STDCXX_FS_LINKTEST_FILENAME}\")\"\nAC_LANG_PUSH([C++])\nAC_MSG_CHECKING([whether we need to link to -lstdc++fs for PEGTL explicitly])\nAC_LINK_IFELSE([AC_LANG_SOURCE([${STDCXX_FS_LINKTEST_SOURCE}])], [\n    AC_MSG_RESULT([no])\n    stdcxxfs_LIBS=''\n], [\n    stdcxxfs_LIBS='-lstdc++fs'\n    SAVE_LIBS=${LIBS}\n    LIBS=\"${LIBS} ${stdcxxfs_LIBS}\"\n    AC_LINK_IFELSE([AC_LANG_SOURCE([${STDCXX_FS_LINKTEST_SOURCE}])], [\n        AC_MSG_RESULT([yes])\n    ], [\n        AC_MSG_RESULT([ERROR])\n        AC_MSG_ERROR([Link test failed both with and without ${stdcxxfs_LIBS}; something is broken, please check file config.log for details.])\n    ])\n    LIBS=${SAVE_LIBS}\n])\nAC_LANG_POP()\n\n#\n# PEGTL C++ library\n#\nAC_ARG_WITH([bundled-pegtl], AS_HELP_STRING([--with-bundled-pegtl], [Build using the bundled PEGTL library]), [with_bundled_pegtl=$withval], [with_bundled_pegtl=no])\nif test \"x$with_bundled_pegtl\" = xyes; then\n\tpegtl_CFLAGS=\"-I\\$(top_srcdir)/src/ThirdParty/PEGTL/include\"\n\tpegtl_AC_CFLAGS=\"-I$srcdir/src/ThirdParty/PEGTL/include\"\n\tpegtl_LIBS=\"${stdcxxfs_LIBS}\"\n\tAC_MSG_NOTICE([Using bundled PEGTL library])\n\tpegtl_summary=\"bundled; $pegtl_CFLAGS $pegtl_LIBS\"\nelse\n\tpegtl_CFLAGS=\"\"\n\tpegtl_AC_CFLAGS=\"\"\n\tpegtl_LIBS=\"${stdcxxfs_LIBS}\"\n\tpegtl_summary=\"system-wide; $pegtl_CFLAGS $pegtl_LIBS\"\nfi\nAC_SUBST([pegtl_CFLAGS])\nAC_SUBST([pegtl_AC_CFLAGS])\nAC_SUBST([pegtl_LIBS])\n\nSAVE_CPPFLAGS=$CPPFLAGS\nCPPFLAGS=\"-std=c++17 $CPPFLAGS $pegtl_AC_CFLAGS\"\nAC_LANG_PUSH([C++])\nAC_CHECK_HEADER([tao/pegtl.hpp],\n\t\t[AC_DEFINE([HAVE_TAO_PEGTL_HPP], [1], [PEGTL header file with .hpp extension is present])],\n\t\t[AC_MSG_FAILURE(PEGTL header file not found or not usable. Re-run with --with-bundled-pegtl to use the bundled library.)])\nAC_LANG_POP\nCPPFLAGS=$SAVE_CPPFLAGS\n\n#\n# GDBus\n#\nAC_ARG_WITH([dbus], AS_HELP_STRING([--with-dbus], [Build the DBus Bridge service]), [], [with_dbus=yes])\nif test \"x$with_dbus\" = xyes; then\n  #\n  # Check for required D-Bus modules\n  #\n  PKG_CHECK_MODULES([dbus], [dbus-1 gio-2.0 >= 2.46 polkit-gobject-1],\n  [AC_DEFINE([HAVE_DBUS], [1], [Required GDBus API available])\n  dbus_summary=\"system-wide; $dbus_CFLAGS $dbus_LIBS\"],\n  [AC_MSG_FAILURE([Required D-Bus modules (dbus-1, gio-2.0, polkit-gobject-1) not found!])]\n  )\n\n  #\n  # Check for xmllint tool\n  #\n  AC_CHECK_PROGS(XMLLINT, [xmllint])\n  if test -z \"$XMLLINT\" ; then\n    AC_MSG_FAILURE([The required xmllint tool is missing on your system. Make sure that xmllint is installed.])\n  fi\n  #\n  # Check for xsltproc tool\n  #\n  AC_CHECK_PROGS(XSLTPROC, [xsltproc])\n  if test -z \"$XSLTPROC\"; then\n    AC_MSG_FAILURE([The required xsltproc tool is missing on your system. Make sure that xsltproc is installed.])\n  fi\n  #\n  # Check for gdbus-codegen tool\n  #\n  AC_CHECK_PROGS(GDBUS_CODEGEN, [gdbus-codegen])\n  if test -z \"$GDBUS_CODEGEN\"; then\n    AC_MSG_FAILURE([The required gdbus-codegen tool is missing on your system. Make sure that gdbus-codegen is installed.])\n  fi\n\n  dbus_services_dir=`$PKG_CONFIG dbus-1 --define-variable=datadir='${datadir}' --define-variable=prefix='${prefix}' --variable=system_bus_services_dir`\n  if test \"x$dbus_services_dir\" = x; then\n    AC_MSG_FAILURE([Cannot autodetect the D-Bus system services directory])\n  else\n    #\n    # Hack around expanded paths in system_bus_services_dir. Without this distcheck won't\n    # work, because it uses ./configure --prefix=$somedir. The expanded path ignores this\n    # prefix (and DESTDIR won't help here either)\n    #\n    case \"$dbus_services_dir\" in\n      /usr/share/*|/usr/local/share/*)\n        dbus_services_dir=$(echo \"$dbus_services_dir\" | sed -r 's,^(/usr/share|/usr/local/share),${datadir},')\n      ;;\n      /usr/*|/usr/local/*)\n        dbus_services_dir=$(echo \"$dbus_services_dir\" | sed -r 's,^(/usr|/usr/local),${prefix},')\n      ;;\n      /*)\n        dbus_services_dir='${prefix}'\"$dbus_services_dir\"\n      ;;\n    esac\n    AC_SUBST(DBUS_SERVICES_DIR, $dbus_services_dir)\n  fi\n\n  dbus_data_dir=`$PKG_CONFIG dbus-1 --define-variable=datadir='${datadir}' --define-variable=prefix='${prefix}' --variable=datadir`\n  if test \"x$dbus_data_dir\" = x; then\n    AC_MSG_FAILURE([Cannot autodetect the D-Bus data directory])\n  else\n    dbus_busconfig_dir=\"$dbus_data_dir/dbus-1/system.d\"\n    AC_SUBST(DBUS_BUSCONFIG_DIR, $dbus_busconfig_dir)\n  fi\nelse\n  dbus_summary=\"None; building without DBus support\"\n  dbus_services_dir=\"-\"\n  dbus_busconfig_dir=\"-\"\nfi\n\n#\n# PolicyKit\n#\nAC_ARG_WITH([polkit], AS_HELP_STRING([--with-polkit], [Install the PolicyKit configuration if D-Bus support is also enabled]), [], [with_polkit=yes])\nif test \"x$with_polkit\" = xyes; then\n  #\n  # Check for required PolicyKit modules\n  #\n  PKG_CHECK_MODULES([polkit], [polkit-gobject-1],\n  [AC_DEFINE([HAVE_POLKIT], [1], [Required PolicyKit modules available])\n  polkit_summary=\"system-wide; `$PKG_CONFIG polkit-gobject-1 --define-variable=prefix='${prefix}' --define-variable=datadir='${datadir}' --variable=policydir`\"],\n  [AC_MSG_FAILURE([Required PolicyKit modules (polkit-gobject-1) not found!])]\n  )\n\n  polkit_policy_dir=\"`$PKG_CONFIG polkit-gobject-1 --define-variable=prefix='${prefix}' --define-variable=datadir='${datadir}' --variable=policydir`\"\n  if test \"x$polkit_policy_dir\" = x; then\n    AC_MSG_FAILURE([Cannot autodetect the PolicyKit policy directory])\n  else\n    AC_SUBST(POLKIT_POLICY_DIR, $polkit_policy_dir)\n  fi\nelse\n  polkit_summary=\"None; building without PolicyKit support\"\n  polkit_policy_dir=\"-\"\nfi\n\n#\n# LDAP\n#\nAC_ARG_WITH([ldap], AS_HELP_STRING([--with-ldap], [Build USBGuard with ldap support]), [], [with_ldap=no])\nif test \"x$with_ldap\" = xyes; then\n  #\n  # Check for LDAP ldap.h\n  #\n  AC_CHECK_HEADER(\n      [ldap.h],\n      [\n        ldap_LIBS=\"-lldap\"\n        ldap_CFLAGS=\"\"\n        AC_DEFINE([HAVE_LDAP], [1], [ldap API available])\n        libldap_summary=\"system-wide; $ldap_CFLAGS $ldap_LIBS\"\n      ],\n      [\n        ldap_LIBS=\"\"\n        ldap_CFLAGS=\"\"\n        AC_MSG_ERROR([Building with --with-ldap but ldap.h is not available])\n        libldap_summary=\"not found\"\n      ]\n)\nelse\n  libldap_summary=\"None; building without LDAP support\"\nfi\nAC_SUBST(ldap_LIBS)\nAC_SUBST(ldap_CFLAGS)\n\n#\n# AddressSanitizer\n#\n# Based on: https://github.com/machinezone/tcpkali/blob/15903a7692abecbd28899d44e822a6f894caa23c/configure.aci#L73\n#\n# Enable Address Sanitizer, if supported by gcc (4.8+) or clang.\n# http://clang.llvm.org/docs/AddressSanitizer.html\n# https://code.google.com/p/address-sanitizer/wiki/HowToBuild\n#\nAC_ARG_ENABLE([asan],\n  [AS_HELP_STRING([--enable-asan], [Enable Address Sanitizer])],\n  [enable_asan=$enableval], [enable_asan=no])\n\nif test \"x$enable_asan\" = xyes; then\n  AC_LANG_PUSH([C++])\n  AX_CHECK_COMPILE_FLAG([-faddress-sanitizer],\n                        [ASAN_FLAGS=\"$ASAN_FLAGS -faddress-sanitizer\"],\n                        [enable_asan=no], [])\n  if test \"x$enable_asan\" = xno; then\n    AX_CHECK_COMPILE_FLAG([-fsanitize=address],\n                          [ASAN_FLAGS=\"$ASAN_FLAGS -fsanitize=address\"\n                           enable_asan=yes],\n                          [enable_asan=no], [])\n    if test \"x$enable_asan\" = xno; then\n      AC_MSG_FAILURE([--enable-asan is given, but not supported on this platform. Check out https://code.google.com/p/address-sanitizer/wiki/HowToBuild])\n    fi\n  fi\n  # Keep error messages nice. Also consider:\n  # export ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer\n  # export ASAN_OPTIONS=symbolize=1\n  AX_CHECK_COMPILE_FLAG([-fno-omit-frame-pointer],\n                        [ASAN_FLAGS=\"$ASAN_FLAGS -fno-omit-frame-pointer\"],\n                        [], [])\n  AX_CHECK_COMPILE_FLAG([-static-libasan],\n                        [ASAN_FLAGS=\"$ASAN_FLAGS -static-libasan\"],\n                        [], [])\n  AC_LANG_POP\nfi\n#\n# Enable Thread Sanitizer, if supported by clang.\n# http://clang.llvm.org/docs/ThreadSanitizer.html\n# https://code.google.com/p/address-sanitizer/wiki/HowToBuild\n#\nAC_ARG_ENABLE([tsan],\n    [AS_HELP_STRING([--enable-tsan], [Enable Thread Sanitizer])],\n    [enable_tsan=$enableval], [enable_tsan=no])\n\nif test \"x$enable_tsan\" = xyes; then\n  if test \"x$enable_asan\" = xyes; then\n    AC_MSG_FAILURE([Address Sanitizer (ASAN) and Thread Sanitizer (TSAN) are mutually exclusive])\n  fi\n  AX_CHECK_COMPILE_FLAG([-fsanitize=thread],\n                        [TSAN_FLAGS=\"$TSAN_FLAGS -fsanitize=thread\"],\n                        [enable_tsan=no], [])\n  if test \"x$enable_tsan\" = xno; then\n    AC_MSG_FAILURE([--enable-tsan is given, but not supported on this platform. Check out https://code.google.com/p/address-sanitizer/wiki/HowToBuild])\n  fi\n  # Keep error messages nice.\n  AX_CHECK_COMPILE_FLAG([-fno-omit-frame-pointer],\n                        [TSAN_FLAGS=\"$TSAN_FLAGS -fno-omit-frame-pointer\"],\n                        [], [])\n  # -fsanitize=thread linking must be done with -pie or -shared\n  # We can't do anything about this message in GCC; use clang.\nfi\n\n#\n# Check whether asciidoc (a2x) is present.\n#\nAC_CHECK_PROGS(A2X, [a2x])\nif test -z \"$A2X\"; then\n  AC_MSG_WARN([Unable to find documentation generator (asciidoc / a2x). Documentation will not be generated.])\nfi\n\n#\n# Check whether the aspell utility is present.\n#\n# If aspell is not present, the test suite will skip spell\n# checking of documentation related files.\n#\nAC_CHECK_PROGS(ASPELL, [aspell])\nif test -z \"$ASPELL\"; then\n  AC_MSG_WARN([Unable to find the Aspell spell checker. The test suite will skip spell checking of documentation related files.])\nfi\n\n#\n# Full test suite mode.\n#\n# Runs all available test when enabled. Some tests make assumption about\n# the environment they run in, so they might fail when these assumptions\n# are not met.\n#\nAC_ARG_ENABLE([full-test-suite],\n              [AS_HELP_STRING([--enable-full-test-suite], [Run the full test suite (default=no)])],\n              [full_test_suite=$enableval], [full_test_suite=no])\n\nif test \"x$full_test_suite\" = xyes; then\n  if test \"x$umockdev_available\" != xyes; then\n    AC_MSG_ERROR([umockdev is required to run the full test suite.])\n  fi\nfi\n\n# Checks for header files.\nAC_LANG_PUSH([C++])\nAC_FUNC_ALLOCA\nAC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h limits.hi locale.h netdb.h stdint.h stdlib.h])\nAC_CHECK_HEADERS([string.h sys/time.h syslog.h unistd.h wchar.h ext/stdio_filebuf.h])\n\n# Checks for typedefs, structures, and compiler characteristics.\nAC_CHECK_HEADER_STDBOOL\nAC_C_INLINE\nAC_TYPE_INT16_T\nAC_TYPE_INT32_T\nAC_TYPE_INT64_T\nAC_TYPE_INT8_T\nAC_TYPE_PID_T\nAC_TYPE_SIZE_T\nAC_TYPE_SSIZE_T\nAC_TYPE_UID_T\nAC_TYPE_UINT16_T\nAC_TYPE_UINT32_T\nAC_TYPE_UINT64_T\nAC_TYPE_UINT8_T\n\n# Checks for library functions.\nAC_FUNC_FORK\nAC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK\nAC_FUNC_MALLOC\nAC_FUNC_REALLOC\nAC_CHECK_FUNCS([dup2 gettimeofday localtime_r memset mkdir regcomp setlocale strerror strstr])\nAC_LANG_POP\n\n# ./configure script options\nAC_ARG_ENABLE([debug-build],\n     [AS_HELP_STRING([--enable-debug-build], [enable debugging flags (default=no)])],\n     [case \"${enableval}\" in\n       yes) debug=yes ;;\n       no)  debug=no ;;\n       *) AC_MSG_ERROR([bad value ${enableval} for --enable-debug-build]) ;;\n     esac], [debug=no])\n\nAC_ARG_ENABLE([systemd],\n     [AS_HELP_STRING([--enable-systemd], [install the systemd service unit file (default=no)])],\n     [case \"${enableval}\" in\n       yes) systemd=yes ;;\n       no)  systemd=no ;;\n       *) AC_MSG_ERROR([bad value ${enableval} for --enable-systemd]) ;;\n     esac], [systemd=no])\n\nAC_ARG_WITH([bash-completion-dir],\n\tAS_HELP_STRING([--with-bash-completion-dir[=PATH]],\n\t\t[Enable bash auto-completion. Uses pkgconfig if no path given. @<:@default=yes@:>@]),\n\t[], [with_bash_completion_dir=yes])\n\nif test \"x$with_bash_completion_dir\" = \"xyes\"; then\n\tPKG_CHECK_MODULES([BASH_COMPLETION], [bash-completion >= 2.0],\n\t\t[BASH_COMPLETION_DIR=$($PKG_CONFIG --variable=completionsdir bash-completion)],\n\t\t[BASH_COMPLETION_DIR=\"$datadir/bash-completion/completions\"])\nelse\n\tBASH_COMPLETION_DIR=\"$with_bash_completion_dir\"\nfi\n\nif test \"x$debug\" = xyes; then\n   CXXFLAGS=\"$CXXFLAGS $CXXFLAGS_DEBUG_ENABLED\"\n   CFLAGS=\"$CFLAGS $CFLAGS_DEBUG_ENABLED\"\nelse\n   CXXFLAGS=\"$CXXFLAGS $CXXFLAGS_DEBUG_DISABLED\"\n   CFLAGS=\"$CFLAGS $CFLAGS_DEBUG_DISABLED\"\n   AC_DEFINE([NDEBUG], [1], [Debug build disabled])\n   AC_DEFINE([QUEX_OPTION_ASSERTS_DISABLED], [1], [Disable asserts in the Quex generated lexer])\nfi\n\nif test \"x$enable_asan\" = xyes; then\n  CXXFLAGS=\"$CXXFLAGS $ASAN_FLAGS\"\n  CFLAGS=\"$CFLAGS $ASAN_FLAGS\"\n  LDFLAGS=\"$LDFLAGS $ASAN_FLAGS\"\n  AC_DEFINE([ASAN_ENABLED], [1], [Address Sanitizer is enabled])\nfi\n\nif test \"x$enable_tsan\" = xyes; then\n  CXXFLAGS=\"$CXXFLAGS $TSAN_FLAGS\"\n  CFLAGS=\"$CFLAGS $TSAN_FLAGS\"\n  LDFLAGS=\"$LDFLAGS $TSAN_FLAGS\"\n  AC_DEFINE([TSAN_ENABLED], [1], [Thread Sanitizer is enabled])\nfi\n\nif test \"x$systemd\" = xyes; then\n   systemd_unit_dir=\"`$PKG_CONFIG systemd --variable=systemdsystemunitdir`\"\n   if test \"x$systemd_unit_dir\" = x; then\n     AC_MSG_FAILURE([Cannot detect the systemd system unit dir])\n   fi\n   AC_SUBST(SYSTEMD_UNIT_DIR, $systemd_unit_dir)\n   AC_DEFINE([SYSTEMD_SUPPORT_ENABLED], [1], [Enable systemd support int the project])\nelse\n  systemd_unit_dir=\"-\"\nfi\n\nAC_SUBST([ANALYZE_CONFIGURE_ARGS], $ac_configure_args)\n\nAC_SUBST([BASH_COMPLETION_DIR])\nAM_CONDITIONAL([ENABLE_BASH_COMPLETION], [test \"x$with_bash_completion_dir\" != \"xno\"])\n\nAM_CONDITIONAL([SYSTEMD_SUPPORT_ENABLED], [test \"x$systemd\" = xyes ])\nAM_CONDITIONAL([DBUS_ENABLED], [test \"x$with_dbus\" = xyes ])\nAM_CONDITIONAL([DOCS_ENABLED], [! test -z \"$A2X\" ])\nAM_CONDITIONAL([POLICYKIT_ENABLED], [test \"x$with_polkit\" = xyes])\nAM_CONDITIONAL([FULL_TEST_SUITE_ENABLED], [test \"x$full_test_suite\" = xyes])\nAM_CONDITIONAL([WITH_LDAP], [test \"x$with_ldap\" = xyes])\nAM_CONDITIONAL([BASH_COMPLETION_ENABLED], [test \"x$bash_completion\" != xno])\nAM_CONDITIONAL([CATCH_ENABLED], [test \"x$enable_catch\" = xyes ])\n\nCXXFLAGS=\"$CXXFLAGS -fvisibility=hidden $COMMON_WARNING_FLAGS $WARNING_CXXFLAGS\"\nCFLAGS=\"$CFLAGS -fvisibility=hidden $COMMON_WARNING_FLAGS $WARNING_CFLAGS\"\n\nAC_DEFINE_UNQUOTED([BINDIR], [\"$bindir\"], [Binaries root directory])\nAC_DEFINE_UNQUOTED([DATADIR], [\"$datadir\"], [Data directory])\nAC_DEFINE_UNQUOTED([DATAROOTDIR], [\"$datarootdir\"], [Data root directory])\nAC_DEFINE_UNQUOTED([DOCDIR], [\"$docdir\"], [Documentation directory])\nAC_DEFINE_UNQUOTED([EXEC_PREFIX], [\"$exec_prefix\"], [Exec Prefix])\nAC_DEFINE_UNQUOTED([INCLUDEDIR], [\"$includedir\"], [Include directory])\nAC_DEFINE_UNQUOTED([LIBEXECDIR], [\"$libexecdir\"], [Libexec directory])\nAC_DEFINE_UNQUOTED([LOCALSTATEDIR], [\"$localstatedir\"], [Local state directory])\nAC_DEFINE_UNQUOTED([PREFIX], [\"$prefix\"], [Prefix])\nAC_DEFINE_UNQUOTED([SBINDIR], [\"$sbindir\"], [System binaries root directory])\nAC_DEFINE_UNQUOTED([SHAREDSTATEDIR], [\"$sharedstatedir\"], [Shared state directory])\nAC_DEFINE_UNQUOTED([SYSCONFDIR], [\"$sysconfdir\"], [System config root directory])\n\nAC_DEFINE_UNQUOTED([USBGUARD_DAEMON_CONF_PATH], [\"$sysconfdir/usbguard/usbguard-daemon.conf\"], [Default USBGuard daemon config path])\n\nAC_CONFIG_FILES([Makefile\n                 libusbguard.pc\n                 src/Tests/Fuzzers/Makefile\n                 src/Tests/Makefile])\nAC_OUTPUT\n\necho\necho \"    Build Configuration Summary    \"\necho \"===================================\"\necho\necho \" Run full test suite: $full_test_suite\"\necho\necho \"## Libraries\"\necho\necho \"      libqb: $libqb_summary\"\necho \"     crypto: $crypto_summary\"\necho \"   libaudit: $libaudit_summary\"\necho \"    libldap: $libldap_summary\"\necho \" libseccomp: $libseccomp_summary\"\necho \"  libcap-ng: $libcap_ng_summary\"\necho \"   protobuf: $protobuf_summary\"\necho \"      Catch: $catch_summary\"\necho \"      PEGTL: $pegtl_summary\"\necho \"      GDBus: $dbus_summary\"\necho \"   umockdev: $umockdev_summary\"\necho\necho \"## Directories\"\necho\necho \" D-Bus System Services: $dbus_services_dir\"\necho \"       D-Bus Busconfig: $dbus_busconfig_dir\"\necho \"    PolicyKit Policies: $polkit_policy_dir\"\necho \"      systemd unit dir: $systemd_unit_dir\"\necho \"   Bash completion dir: $BASH_COMPLETION_DIR\"\necho\necho \"## Compilation Flags\"\necho\necho \"Debug Build: $debug\"\necho \"       DEFS: $DEFS\"\necho \"   CXXFLAGS: $CXXFLAGS\"\necho \"     CFLAGS: $CFLAGS\"\necho \"   CPPFLAGS: $CPPFLAGS\"\necho \"    LDFLAGS: $LDFLAGS\"\necho \" ASAN_FLAGS: $ASAN_FLAGS\"\necho \" TSAN_FLAGS: $TSAN_FLAGS\"\necho\n"
  },
  {
    "path": "doc/man/.gitignore",
    "content": "/*.1\n/*.1.roff\n/*.5\n/*.5.roff\n/*.8\n/*.8.roff\n"
  },
  {
    "path": "doc/man/example-allow-device.adoc",
    "content": "....\n    # Allow a device by ID(it is the very first number from the list-devices command output)\n    $ sudo usbguard allow-device 10\n    # Allow all devices named \"Dell Wired Multimedia Keyboard\"\n    $ sudo usbguard allow-device name \\\"Dell Wired Multimedia Keyboard\\\"\n....\n"
  },
  {
    "path": "doc/man/example-initial-policy.adoc",
    "content": "....\n    $ sudo usbguard generate-policy > rules.conf\n    $ vi rules.conf\n    (review/modify the rule set)\n    $ sudo install -m 0600 -o root -g root rules.conf /etc/usbguard/rules.conf\n    $ sudo systemctl restart usbguard\n....\n"
  },
  {
    "path": "doc/man/footer.adoc",
    "content": "== BUGS\nIf you find a bug in this software or if you'd like to request a feature to be implemented, please file a ticket at <https://github.com/USBGuard/usbguard/issues/new>.\n\n\n== AUTHOR\nUSBGuard was originally written by Daniel Kopeček.\nMany people have contributed to it.\n\n\n== RESOURCES\nMain web site: <https://usbguard.github.io/>\n\n\n== COPYING\nCopyright © 2015-{docyear} Red Hat, Inc. +\nLicense GPLv2+: GNU GPL version 2 or later http://gnu.org/licenses/gpl.html. +\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.\n"
  },
  {
    "path": "doc/man/usbguard-daemon.8.adoc",
    "content": "usbguard-daemon(8)\n==================\n:doctype: manpage\n\n\n== NAME\nusbguard-daemon - USBGuard daemon\n\n\n== SYNOPSIS\nusbguard-daemon [OPTIONS]\n\n\n== DESCRIPTION\nThe *usbguard-daemon* is the main component of the USBGuard software framework.\nIt runs as a service in the background and enforces the USB device authorization policy for all USB devices.\nThe policy is defined by a set of rules using a rule language described in *usbguard-rules.conf*(5).\nThe policy and the authorization state of USB devices can be modified during runtime using the *usbguard*(1) tool.\n\n\n== OPTIONS\n*-d*::\n    Enable debugging messages in the log.\n\n*-f*::\n    Enable classical daemon behavior (fork at start, sysV compliant).\n\n*-s*::\n    Log to syslog.\n\n*-k*::\n    Log to console. (default)\n\n*-K*::\n    Disable Logging to console.\n\n*-l* 'path'::\n    Log to a file at 'path'.\n\n*-p* 'path'::\n    Write PID to a file at 'path' (default: '/var/run/usbguard.pid').\n\n*-c* 'path'::\n    Load configuration from a file at 'path' (default: '/etc/usbguard/usbguard-daemon.conf').\n\n*-P*::\n    Disable permissions check on conf and policy files (default: '/etc/usbguard/usbguard-daemon.conf').\n\n*-C*::\n    Drop capabilities to limit privileges of the process.\n\n*-W*::\n    Use a seccomp allowlist to limit available syscalls to the process.\n\n*-h*::\n    Show the help/usage screen.\n\n\n== SECURITY CONSIDERATIONS\nThe daemon provides the USBGuard public IPC interface.\nDepending on your distribution defaults, the access to this interface is limited to a certain group or a specific user only.\nPlease refer to the usbguard-daemon.conf(5) man page for more information on how to configure the ACL correctly.\n*Do not leave the ACL unconfigured as that will expose the IPC interface to all local users.\nThat will allow them to manipulate the authorization state of USB devices and modify the USBGuard policy*.\n\n\n== SEE ALSO\nlink:usbguard-daemon.conf.5.adoc#name[usbguard-daemon.conf(5)],\nlink:usbguard-rules.conf.5.adoc#name[usbguard-rules.conf(5)],\nlink:usbguard.1.adoc#name[usbguard(1)]\n\n\ninclude::footer.adoc[]\n"
  },
  {
    "path": "doc/man/usbguard-daemon.conf.5.adoc",
    "content": "usbguard-daemon.conf(5)\n=======================\n:doctype: manpage\n\n\n== NAME\nusbguard-daemon.conf - USBGuard daemon configuration file\n\n\n== DESCRIPTION\nThe *usbguard-daemon.conf* file is loaded by the USBGuard daemon after it parses its command-line options.\nIt is used to configure runtime parameters of the daemon.\nThe default search path is '/etc/usbguard/usbguard-daemon.conf'.\nIt may be overridden using the *-c* command-line option, see *usbguard-daemon*(8) for further details.\n\n\n== OPTIONS\n*RuleFile*='path'::\n    The USBGuard daemon will use this file to load the policy rule set from it\n    and to write new rules received via the IPC interface.\n    Default: %sysconfdir%/usbguard/rules.conf\n\n*RuleFolder*='path'::\n    The USBGuard daemon will use this folder to load the policy rule set from\n    it and to write new rules received via the IPC interface. Usually, we set\n    the option to `/etc/usbguard/rules.d/`. The USBGuard daemon is supposed to\n    behave like any other standard Linux daemon therefore it loads rule files in\n    alpha-numeric order. File names inside `RuleFolder` directory should start\n    with a two-digit number prefix indicating the position, in which the rules\n    are scanned by the daemon. Using RuleFile and RuleFolder at the same time is\n    permitted. However, modification of the permanent policy is not possible if\n    one of the following conditions are met:\n    ** Neither RuleFile nor RuleFolder are specified.\n    ** RuleFile is not specified, RuleFolder is but it does not contain any files,\n       where we could save permanent rules.\n\n*ImplicitPolicyTarget*='target'::\n    How to treat USB devices that don't match any rule in the policy. Target\n    should be one of `allow`, `block` or `reject` (logically remove the device\n    node from the system).\n    Default: block\n\n*PresentDevicePolicy*='policy'::\n    How to treat USB devices that are already connected when the daemon starts.\n    Policy should be one of `allow`, `block`, `reject`, `keep` (keep whatever\n    state the device is currently in) or `apply-policy` (evaluate the rule set\n    for every present device).\n    Default: apply-policy\n\n*PresentControllerPolicy*='policy'::\n    How to treat USB *controller* devices that are already connected when the\n    daemon starts. One of `allow`, `block`, `reject`, `keep` or `apply-policy`.\n    Default: keep\n\n*InsertedDevicePolicy*='policy'::\n    How to treat USB devices that are already connected _after_ the daemon\n    starts. One of `block`, `reject`, `apply-policy`.\n    Default: apply-policy\n\n*AuthorizedDefault*='authorizedDefault'::\n    The USBGuard daemon modifies some of the default authorization state\n    attributes of controller devices. This setting, enables you to define what\n    value the default authorization is set to. Authorized default should be one\n    of `keep` (do not change authorization state), `none` (every new device\n    starts out deauthorized), `all` (every new device starts out authorized) or\n    `internal` (internal devices start out authorized, external do not).\n    Default: none\n\n*RestoreControllerDeviceState*='boolean'::\n    The USBGuard daemon modifies some attributes of controller devices like the\n    default authorization state of new child device instances. Using this\n    setting, you can control whether the daemon will try to restore the\n    attribute values to the state before modification on shutdown.\n    Default: false\n\n*DeviceManagerBackend*='backend'::\n    Which device manager backend implementation to use. Backend should be one\n    of `uevent` (default) or `umockdev` (useful for testing). UEvent backend is\n    a netlink based implementation which uses sysfs to scan for present devices\n    and an uevent socket for receiving USB device related events. UMockDev\n    based device manager is capable of simulating devices based on\n    umockdev-record files.\n    Default: uevent\n\n*IPCAllowedUsers*='username' ['username' ...]::\n    A space delimited list of usernames that the daemon will accept IPC\n    connections from.\n    Default: root\n\n*IPCAllowedGroups*='groupname' ['groupname' ...]::\n    A space delimited list of groupnames that the daemon will accept IPC\n    connections from.\n\n*IPCAccessControlFiles*='path'::\n    The files at this location will be interpreted by the daemon as IPC access\n    control definition files. See the <<ipc-access-control,IPC ACCESS CONTROL>>\n    section for more details.\n\n*DeviceRulesWithPort*='boolean'::\n    Generate device specific rules including the \"via-port\" attribute.\n    Default: false\n\n*AuditBackend*='backend'::\n    USBGuard audit events log backend. The 'backend' value should be one of\n    `FileAudit` or `LinuxAudit`.\n    Default: FileAudit\n\n*AuditFilePath*='filepath'::\n    USBGuard audit events log file path. Required if AuditBackend is set to\n    `FileAudit`.\n    Default: %localstatedir%/log/usbguard/usbguard-audit.log\n\n*HidePII*='boolean'::\n    Hides personally identifiable information such as device serial numbers and\n    hashes of descriptors (which include the serial number) from audit entries.\n    Default: false\n\n\n== SECURITY CONSIDERATIONS\n\n=== IPC\nThe daemon provides the USBGuard public IPC interface.\nDepending on your distribution defaults, access to this interface is limited to a certain group or a specific user only.\nPlease set either the *IPCAllowedUsers*, *IPCAllowedGroups* or *IPCAccessControlFiles* options to limit access to the IPC interface.\n*Do not leave the ACL unconfigured as that will expose the IPC interface to all local users and will allow them to manipulate the authorization state of USB devices and modify the USBGuard policy*.\n\n=== RestoreControllerDeviceState configuration option\nIf set to true, the USB authorization policy could be bypassed by performing some sort of attack on the daemon (via a local exploit or via\na USB device) to make it shutdown and restore to the operating-system default state (known to be permissive).\n\n\n[[ipc-access-control]]\n== IPC ACCESS CONTROL\nAccess to the USBGuard IPC interface can be limited per user or group.\nFurthermore, by using the IPC Access Control files, it is possible to limit the access down to the level of Sections and Privileges as explained below.\n\n=== *Recommended*: *IPCAccessControlFiles*\nWhen you set *IPCAccessControlFiles* option, the daemon will look for IPC access control files in the directory specified by the set value.\nEach file in the directory is processed as follows:\n\n 1. The basename of the file is interpreted as a username, UID, groupname or GID.\n    If the name starts with `:` (colon), it is assumed that the rest of the name represents a group identifier (groupname or GID in case of a numeric-only string).\n    Otherwise, it is interpreted as a user identifier (username or UID in case of numeric-only string).\n\n 2. The contents of the file are parsed as `Section=[privilege1][,privilege2] ...` formatted lines which specify the section privileges.\n    If a section is omitted, it is assumed that no privileges are given for that section.\n\nAvailable sections and privileges:\n\n* *Devices*\n ** modify: Change authorization state of devices including permanent changes (i.e. modification of device specific rules in the policy).\n\n ** list: Ability to get a list of recognized devices and their attributes.\n\n ** listen: Listen to device presence and device policy changes.\n\n* *Policy*\n ** modify: Append rules to or remove any rules from the policy.\n\n ** list: Ability to view the currently enforced policy.\n\n* *Exceptions*\n ** listen: Receive exception messages.\n\n* *Parameters*\n ** modify: Set values of run-time parameters.\n\n ** list: Get values of run-time parameters.\n\n ** listen: Listen to property parameter changes.\n\nThe following is a generally usable and reasonably safe example of an access control file.\nIt allows one to modify USB device authorization state (`Devices=modify`), list USB devices (`Devices=list`), listen to USB device related events (`Devices=listen`), list USB authorization policy rules (`Policy=list`) and listen to exception events (`Exceptions=listen`):\n\n....\nDevices=modify,list,listen\nPolicy=list\nExceptions=listen\n....\n\nYou can create or remove the IPC access control files using `usbguard add-user` and `usbguard\nremove-user` CLI commands.\nSee usbguard(1) for more details.\nIf you want to create the IPC access control files manually, you need to set the files permissions\nto `0600`.\n\n\n=== Legacy: *IPCAllowedUsers* and *IPCAllowedGroups*\nExample configuration allowing full IPC access to users 'root', 'joe' and members of the group 'wheel':\n\n....\nIPCAllowedUsers=root joe\nIPCAllowedGroups=wheel\n....\n\n\n== SEE ALSO\nlink:usbguard-daemon.8.adoc#name[usbguard-daemon(8)],\nlink:usbguard-rules.conf.5.adoc#name[usbguard-rules.conf(5)]\n\n\ninclude::footer.adoc[]\n"
  },
  {
    "path": "doc/man/usbguard-dbus.8.adoc",
    "content": "usbguard-dbus(8)\n================\n:doctype: manpage\n\n\n== NAME\nusbguard-dbus - USBGuard D-Bus interface service\n\n\n== SYNOPSIS\nusbguard-dbus [OPTIONS]\n\n\n== DESCRIPTION\nThe usbguard-dbus component exposes a D-Bus interface to a running instance of *usbguard-daemon(8)*.\n\n\n== OPTIONS\n*-s, --system*::\n    Listen on the system bus.\n\n*-S, --session*::\n    Listen on the session bus.\n\n*-h, --help*::\n    Show the help/usage screen.\n\n\n== SEE ALSO\nlink:usbguard.1.adoc#name[usbguard(1)]\n\n\ninclude::footer.adoc[]\n"
  },
  {
    "path": "doc/man/usbguard-ldap.conf.5.adoc",
    "content": "usbguard-ldap.conf(5)\n=====================\n:doctype: manpage\n\n\n== NAME\nusbguard-ldap.conf - USBGuard daemon ldap configuration file\n\n\n== DESCRIPTION\nThe *usbguard-ldap.conf* file is loaded by the USBGuard daemon after it parses '/etc/nsswitch.conf' and result source is LDAP.\nIt is used to configure LDAP client configuration.\nThe default search path is '/etc/usbguard/usbguard-ldap.conf'.\nThe USBGuard daemon in LDAP mode strictly requires this file and it won\\'t start without file present.\nThis file was inspired be standard *ldap.conf* syntax.\nKeys are case insensitive but values are not.\n\n\n== OPTIONS\n*URI* 'address'::\n    The USBGuard Daemon will use this address to connect to this LDAP server.\n\n    `URI ldap://127.0.0.1/`\n\n*ROOTDN* 'root domain name'::\n    Domain name of the user that has access rights to LDAP.\n\n    `ROOTDN cn=Manager,dc=example,dc=com`\n\n*BASE* 'standard LDAP base'::\n    LDAP base of the server.\n\n    `BASE dc=example,dc=com`\n\n*ROOTPW* 'password'::\n    The password for given *ROOTDN*.\n\n    `ROOTPW passme`\n\n*USBGUARDBASE* 'usbguard base'::\n    This is supposed to be domain name of the USBGuard organizational unit.\n    This option helps to the daemon found the right sub-tree with rules.\n    If not set the daemon will use the default (ou=USBGuard,dc=example,dc=com).\n\n    `USBGUARDBASE ou=USBGuard,dc=example,dc=com`\n\n*RULEQUERY* 'query string'::\n    This query is used for fetching of rules from LDAP so it needs to match all rules for the machine and nothing else.\n    It is suggested to use a default query because it is very simple to broke something with bad one.\n    The default matches all object with common name starting with *Rule* prefix that contain our hostname as USBGuardHost and they don\\'t contain negation of our hostname.\n    If the USBGuard host is asterisk it will match but this same rule must not contain negation of matched host.\n\n    `RULEQUERY (&(cn=Rule*)(|(&(USBGuardHost=host)(!(USBGuardHost=!host)))(&(USBGuardHost=\\*)(!(USBGuardHost=!host)))))`\n\n*UPDATEINTERVAL* 'interval'::\n    This is an interval that defines periodicity of update.\n    The default is one hour.\n\n    `UPDATEINTERVAL 1`\n\n\n== SEE ALSO\nlink:usbguard-daemon.8.adoc#name[usbguard-daemon(8)],\nlink:usbguard-daemon.conf.5.adoc#name[usbguard-daemon.conf(5)],\nlink:usbguard-rules.conf.5.adoc#name[usbguard-rules.conf(5)]\n\n\ninclude::footer.adoc[]\n"
  },
  {
    "path": "doc/man/usbguard-rules.conf.5.adoc",
    "content": "usbguard-rules.conf(5)\n======================\n:doctype: manpage\n\n\n== NAME\nusbguard-rules.conf - USBGuard rule set file.\n\n\n== DESCRIPTION\nThe *usbguard-rules.conf* file is loaded by the USBGuard daemon after it parses the main configuration file, usbguard-daemon.conf(5).\nThe daemon expects the file to contain rules written in a language which is described in the <<rule-language,Rule Language>> section below.\n\n[[rule-language]]\n== Rule Language\nThe USBGuard daemon decides which USB device to authorize based on a policy defined by a set of rules.\nWhen a USB device is inserted into the system, the daemon scans the existing rules sequentially.\nIf a matching rule is found, it either authorizes (*allows*), deauthorizes (*blocks*) or removes (*rejects*) the device, based on the rule target.\nIf no matching rule is found, the decision is based on an implicit default target.\nThis implicit default is to block the device until a decision is made by the user.\nThe rule language grammar, expressed in a BNF-like syntax, is the following:\n\n....\n    rule ::= target attributes.\n\n    target ::= \"allow\" | \"block\" | \"reject\".\n\n    attributes ::= attributes | attribute.\n    attributes ::= .\n....\n\nRule attributes specify which devices to match or what condition have to be met for the rule to be applicable.\nSee the <<device-specification,Device Specification>> section for the list of available attributes and <<conditions,Conditions>> for the list of supported rule rule conditions.\n\n\n=== Targets\nThe target of a rule specifies whether the device will be authorized for use or not.\nThree types of target are recognized:\n\n* *allow* -\n    Authorize the device.\n    The device and its interfaces will be allowed to communicate with the system.\n\n* *block* -\n    Deauthorize the device.\n    The device will remain in a blocked state until it is authorized.\n\n* *reject* -\n    Deauthorize and Remove the device from the system.\n    The device will have to be re-inserted to become visible to the system again.\n\n\n[[device-specification]]\n=== Device Specification\nExcept the target, all the other fields of a rule are optional.\nA rule where only the `target` is specified will match any device.\nThat allows the policy administrator to write an explicit default target.\nIf no rule from the policy is applicable to the device, an implicit target configured in usbguard-daemon.conf(5) will be used.\nHowever, if one wants to narrow the applicability of a rule to a set of devices or one device only, it's possible to do so with device attributes and rule conditions.\n\n==== Device Attributes\nDevice attributes are specific values read from the USB device after it's inserted to the system.\nWhich attributes are available is defined below.\nSome of the attributes are derived and some are based on attributes read directly from the device.\nAll attributes support two forms:\n\n* *single-valued* with a syntax:\n+\n....\n    name value\n....\n\n* *multi-valued* with a syntax:\n+\n....\n    name [operator] { value1 value2 ... }\n....\n\nwhere the optional 'operator' is one of:\n\n*all-of*::\n  The device attribute set must contain all of the specified values for the rule to match.\n\n*one-of*::\n    The device attribute set must contain at least one of the specified values for the rule to match.\n\n*none-of*::\n    The device attribute set must not contain any of the specified values for the rule to match.\n\n*equals*::\n    The device attribute set must contain exactly the same set of values for the rule to match.\n\n*equals-ordered*::\n    The device attribute set must contain exactly the same set of values in the same order for the rule to match.\n\n*match-all*::\n   The device attribute set must be a subset of the specified values for the rule to match.\n\nIf the operator is not specified it is set to *equals*.\n\n[.underline]#List of attributes:#\n\n*id* usb-device-id::\n    Match a USB device ID.\n\n*id* [operator] { usb-device-id ... }::\n    Match a set of USB device IDs.\n\n*hash* \"value\"::\n    Match a hash computed from the device attribute values and the USB descriptor data.\n    The hash is computed for every device by USBGuard.\n\n*hash* [operator] { \"value\" ... }::\n    Match a set of device hashes.\n\n*parent-hash* \"value\"::\n    Match a hash of the parent device.\n\n*parent-hash* [operator] { \"value\" ... }::\n    Match a set of parent device hashes.\n\n*name* \"device-name\"::\n    Match the USB device name attribute.\n\n*name* [operator] { \"device-name\" ... }::\n    Match a set of USB device names.\n\n*serial* \"serial-number\"::\n    Match the USB iSerial device attribute.\n\n*serial* [operator] { \"serial-number\" ... }::\n    Match a set of USB iSerial device attributes.\n\n*via-port* \"port-id\"::\n    Match the USB port through which the device is connected.\n    Note that some systems have unstable port numbering.\n    The port might change after the system reboots or when certain kernel modules are reloaded.\n    Use the *parent-hash* attribute if you want to ensure that a device is connected via a specific parent device.\n\n*via-port* [operator] { \"port-id\" ... }::\n    Match a set of USB ports.\n\n*with-interface* interface-type::\n    Match an interface type that the USB device provides.\n\n*with-interface* [operator] { interface-type ... }::\n    Match a set of interface types against the set of interfaces that the USB device provides.\n\n*with-connect-type* \"connect-type\"::\n    Match the USB port/connect_type device attribute.\n\n*with-connect-type* [operator] { \"connect-type\" ... }::\n    Match a set of USB port/connect_type device attributes.\n\n*label* \"label\"::\n    Associates arbitrary string with a rule. Label is useful for storing\n    some contextual information about rule or for filtering rules by label.\n    This attribute is not used when testing if a rule applies to a device.\n\nThe 'usb-device-id' is a colon delimited pair in the form 'vendor_id:product_id'.\nAll USB devices have this ID assigned by the manufacturer and it should uniquely identify a USB product type.\nBoth 'vendor_id' and 'product_id' are 16-bit numbers represented in hexadecimal base.\nIt's possible to use an asterisk character to match either any device ID `*:*` or any product ID from a specific vendor, e.g. `1234:*`.\n\nThe 'port-id' value is a platform specific USB port identification.\nOn Linux it's in the form of \"usbN\" in case of a USB controller (more accurately a \"root hub\") or \"bus-port[.port[.port ...]]\" (e.g. `1-2`, `1-2.1`, ...) in case of a USB device.\n\nThe 'interface-type' represents a USB interface and should be formatted as three 8-bit numbers in hexadecimal base delimited by a colon character, i.e. 'cc:ss:pp'.\nThe numbers represent the interface class ('cc'), subclass ('ss') and protocol ('pp') as assigned by the http://www.usb.org/about[USB-IF].\nSee the https://www.usb.org/defined-class-codes[list of assigned classes, subclasses and protocols] for details.\nInstead of the subclass and protocol number, you may write an asterisk character (`*`) to match all subclasses or protocols.\nMatching a specific class and a specific protocol is not allowed, i.e. if you use an asterisk as the subclass number, you have to use an asterisk for the protocol too.\n\n[[conditions]]\n=== Conditions\nWhether a rule that matches a device will be applied or not can be further restricted using rule conditions.\nIf the condition expression is met at the rule evaluation time, then the rule target is applied for the device.\nA condition expression is met if it evaluates to true.\nOtherwise, the rule evaluation continues with the next rule.\nA rule conditions has the following syntax:\n\n....\n     if [!]condition\n     if [operator] { [!]conditionA [!]conditionB ... }\n....\n\nOptionally, an exclamation mark (`!`) can be used to negate the result of a condition.\n\nInterpretation of the set operator:\n\n*all-of*::\n    Evaluate to true if all of the specified conditions evaluated to true.\n\n*one-of*::\n    Evaluate to true if one of the specified conditions evaluated to true.\n\n*none-of*::\n    Evaluate to true if none of the specified conditions evaluated to true.\n\n*equals*::\n    Same as *all-of*.\n\n*equals-ordered*::\n    Same as *all-of*.\n\nList of conditions:\n\n*localtime(time_range)*::\n    Evaluates to true if the local time is in the specified time range.\n    'time_range' can be written either as `HH:MM[:SS]` or `HH:MM[:SS]-HH:MM[:SS]`.\n\n*allowed-matches(query)*::\n    Evaluates to true if an allowed device matches the specified 'query'.\n    The query uses the rule syntax.\n    *Conditions in the query are not evaluated*.\n\n*rule-applied*::\n    Evaluates to true if the rule currently being evaluated ever matched a device.\n\n*rule-applied(past_duration)*::\n    Evaluates to true if the rule currently being evaluated matched a device in the past duration of time specified by the parameter.\n    'past_duration' can be written as `HH:MM:SS`, `HH:MM`, or `SS`.\n\n*rule-evaluated*::\n    Evaluates to true if the rule currently being evaluated was ever evaluated before.\n\n*rule-evaluated(past_duration)*::\n    Evaluates to true if the rule currently being evaluated was evaluated in the pas duration of time specified by the parameter.\n    'past_duration' can be written as `HH:MM:SS`, `HH:MM`, or `SS`.\n\n*random*::\n    Evaluates to true/false with a probability of `p(true)=0.5`.\n\n*random(p_true)*::\n    Evaluates to true with the specified probability `p(true)=p_true`.\n\n*true*::\n    Evaluates always to true.\n\n*false*::\n    Evaluates always to false.\n\n\n=== Partial rule\nPartial rule is a rule without a rule target.\nPartial rules may by used by some commands of *usbguard* CLI tool.\n\n=== Comments\nIn order to easily understand the meaning of each rule, comments can be used.\nEverything after the \"#\" character is ignored by the rule parser.\n\n== Initial policy\nUsing the *usbguard* CLI tool and its *generate-policy* subcommand, you can generate an initial policy for your system instead of writing one from scratch.\nThe tool generates an *allow* policy for all devices connected to the system at the time of execution.\nIt has several options to tweak the resulting policy, see usbguard(1) for further details.\n\nThe policy will be printed out on the standard output.\nIt's a good idea to review the generated rules before using them on a system.\nThe typical workflow for generating an initial policy could look like this:\n\ninclude::example-initial-policy.adoc[]\n\n\n== Example Policies\nThe following examples show what to put into the *rules.conf* file in order to implement the given policy.\n\n1. *Allow USB mass storage devices (USB flash disks) and block everything else*\n+\nThis policy will block any device that isn't just a mass storage device.\nDevices with a hidden keyboard interface in a USB flash disk will be blocked.\nOnly devices with a single mass storage interface will be allowed to interact with the operating system.\nThe policy consists of a single rule:\n+\n....\n    allow with-interface equals { 08:*:* }\n....\n+\nThe blocking is implicit in this case because we didn't write a `block` rule.\nImplicit blocking is useful to desktop users.\nA desktop applet listening to USBGuard events can ask the user for a decision if an implicit target was applied.\n\n2. *Allow a specific Yubikey device to be connected via a specific port (and reject everything else on that port)*\n+\n....\n    allow 1050:0011 name \"Yubico Yubikey II\" serial \"0001234567\" via-port \"1-2\" hash \"044b5e168d40ee0245478416caf3d998\"\n    reject via-port \"1-2\"\n....\n+\nWe could use just the hash to match the device.\nHowever, using the `name` and `serial` attributes provide an useful hint for later inspection of the policy.\nOn the other hand, the hash is the most specific value we can use to identify a device.\nIt's the best attribute to use if you want a rule to match just one device.\n\n3. *Reject devices with suspicious combination of interfaces*\n+\nA USB flash disk which implements a keyboard or a network interface is very suspicious.\nThe following set of rules forms a policy that allows USB flash disks and explicitly rejects devices with an additional and suspicious (as defined before) interface.\n+\n....\n    allow with-interface equals { 08:*:* }\n    reject with-interface all-of { 08:*:* 03:00:* }\n    reject with-interface all-of { 08:*:* 03:01:* }\n    reject with-interface all-of { 08:*:* e0:*:* }\n    reject with-interface all-of { 08:*:* 02:*:* }\n....\n+\nThe policy rejects all USB flash disk devices with an interface from the HID/Keyboard, Communications and Wireless classes.\nNote that default allow is the wrong approach and you shouldn't just reject a set of devices and allow the rest.\nThe policy above assumes that blocking is the default.\nRejecting a set of devices considered as \"bad\" is a good approach how to limit the exposure of the OS to such devices as much as possible.\n\n4. *Allow a keyboard-only USB device only if there isn't already a USB device with a keyboard interface allowed*\n+\n....\n    allow with-interface one-of { 03:00:01 03:01:01 } if !allowed-matches(with-interface one-of { 03:00:01 03:01:01 })\n....\n\n5. *Play \"Russian roulette\" with USB devices*\n+\n....\n    allow if random(0.1666)\n    reject\n....\n\n\n== SEE ALSO\nlink:usbguard-daemon.8.adoc#name[usbguard-daemon(8)],\nlink:usbguard-daemon.conf.5.adoc#name[usbguard-daemon.conf(5)]\n\n\ninclude::footer.adoc[]\n"
  },
  {
    "path": "doc/man/usbguard.1.adoc",
    "content": "usbguard(1)\n===========\n:doctype: manpage\n\n\n== NAME\nusbguard - USBGuard command-line interface\n\n\n== SYNOPSIS\n\nusbguard [OPTIONS] <subcommand> [SUBCOMMAND-OPTIONS] ...\n\nusbguard get-parameter 'name'\n\nusbguard set-parameter 'name' 'value'\n\nusbguard list-devices\n\nusbguard allow-device 'id' | 'rule' | 'partial-rule'\n\nusbguard block-device 'id' | 'rule' | 'partial-rule'\n\nusbguard reject-device 'id' | 'rule' | 'partial-rule'\n\nusbguard list-rules\n\nusbguard append-rule 'rule'\n\nusbguard remove-rule 'id'\n\nusbguard generate-policy\n\nusbguard watch\n\nusbguard read-descriptor 'file'\n\nusbguard add-user 'name'\n\nusbguard remove-user 'name'\n\n\n== DESCRIPTION\nThe usbguard command provides a command-line interface (CLI) to a running usbguard-daemon(8) instance.\nIt also provides a tool for generating initial USBGuard policies based on USB devices connected to the system.\n\n\n== SUBCOMMANDS\n\n=== *get-parameter* ['OPTIONS'] 'name'\nGet the value of a runtime parameter.\nParameter 'name' is one of 'InsertedDevicePolicy' and 'ImplicitPolicyTarget'.\n\nAvailable options:\n\n*-h, --help*::\n    Show help.\n\n\n=== *set-parameter* ['OPTIONS'] 'name' 'value'\nSet the value of a runtime parameter.\nParameter 'name' is one of 'InsertedDevicePolicy' and 'ImplicitPolicyTarget'.\n\nAvailable options:\n\n*-v, --verbose*::\n    Print the previous and new attribute value.\n\n*-h, --help*::\n    Show help.\n\n\n=== *list-devices* ['OPTIONS']\nList all USB devices recognized by the USBGuard daemon.\n\nAvailable options:\n\n*-a, --allowed*::\n    List allowed devices.\n\n*-b, --blocked*::\n    List blocked devices.\n\n*-t, --tree*::\n    List devices in a tree format.\n\n*-h, --help*::\n    Show help.\n\n\n=== *allow-device* ['OPTIONS'] < 'id' | 'rule' | 'partial-rule' >\nAuthorize a device to interact with the system.\nThe device can be identified by either a device 'id', 'rule' or 'partial-rule' (rule without target).\nBoth 'rule' and 'partial-rule' can be used to allow multiple devices at once.\nNote that 'id' refers to the internal device-rule ID (the very first number of the list-devices command output) rather than the device's ID attribute.\n\nAvailable options:\n\n*-p, --permanent*::\n    Make the decision permanent.\n    A device specific allow rule will be appended to the current policy.\n\n*-h, --help*::\n    Show help.\n\n\n=== *block-device* ['OPTIONS'] < 'id' | 'rule' | 'partial-rule' >\nDeauthorize a device.\nThe device can be identified by either a device 'id', 'rule' or 'partial-rule' (rule without target).\nBoth 'rule' and 'partial-rule' can be used to block multiple devices at once.\nNote that 'id' refers to the internal device-rule ID (the very first number of the list-devices command output) rather than the device's ID attribute.\n\nAvailable options:\n\n*-p, --permanent*::\n    Make the decision permanent.\n    A device specific block rule will be appended to the current policy.\n\n*-h, --help*::\n    Show help.\n\n\n=== *reject-device* ['OPTIONS'] < 'id' | 'rule' | 'partial-rule' >\nDeauthorize and remove a device.\nThe device can be identified by either a device 'id', 'rule' or 'partial-rule' (rule without target).\nBoth 'rule' and 'partial-rule' can be used to reject multiple devices at once.\nNote that 'id' refers to the internal device-rule ID (the very first number of the list-devices command output) rather than the device's ID attribute.\n\nAvailable options:\n\n*-p, --permanent*::\n    Make the decision permanent.\n    A device specific reject rule will be appended to the current policy.\n\n*-h, --help*::\n    Show help.\n\n\n=== *list-rules* ['OPTIONS']\nList the rule set (policy) used by the USBGuard daemon.\n\nAvailable options:\n\n*-d, --show-devices*::\n    Show all devices which are affected by the specific rule.\n\n*-l, --label* 'label'::\n    Only show rules having a specific label.\n\n*-h, --help*::\n    Show help.\n\n\n=== *append-rule* ['OPTIONS'] 'rule'\nAppend the 'rule' to the current rule set.\n\nAvailable options:\n\n*-a, --after* 'id'::\n    Append the new rule after a rule with the specified rule 'id'.\n\n*-t, --temporary*::\n    Make the decision temporary. The rule policy file will not be updated.\n\n*-h, --help*::\n    Show help.\n\n\n=== *remove-rule* ['OPTIONS'] 'id'\nRemove a rule identified by the rule 'id' from the rule set.\n\nAvailable options:\n\n*-h, --help*::\n    Show help.\n\n\n=== *generate-policy* ['OPTIONS']\nGenerate a rule set (policy) which authorizes the currently connected USB devices.\n\nAvailable options:\n\n*-p, --with-ports*::\n    Generate port specific rules for all devices.\n    By default, port specific rules are generated only for devices which do not export an iSerial value.\n\n*-P, --no-ports-sn*::\n    Don't generate port specific rules for devices without an iSerial value.\n    Without this option, the tool will add a via-port attribute to any device that doesn't provide a serial number.\n    This is a security measure to limit devices that cannot be uniquely identified to connect only via a specific port.\n    This makes it harder to bypass the policy since the real device will occupy the allowed USB port most of the time.\n\n*-d, --devpath* 'devpath'::\n    Only generate a rule for the device at the specified sub path of /sys.\n\n*-t, --target* 'target'::\n    Generate an explicit \"catch all\" rule with the specified target.\n    The target can be one of the following values: *allow*, *block*, *reject*\n\n*-X, --no-hashes*::\n    Don't generate a hash attribute for each device.\n\n*-H, --hash-only*::\n    Generate a hash-only policy.\n\n*-L, --ldif*::\n    Generate a ldif policy for LDAP.\n\n*-b, --usbguardbase* 'base'::\n    Generate a ldif policy for LDAP with this base.\n    This option is required when --ldif was specified.\n\n*-o, --objectclass* 'objectclass'::\n    Generate a ldif policy for LDAP with this objectClass.\n\n*-n, --name-prefix* 'prefix'::\n    Generate a ldif policy for LDAP with this name prefix.\n\n*-h, --help*::\n    Show help.\n\n\n=== *watch* ['OPTIONS']\nWatch the IPC interface events and print them to stdout.\n\nAvailable options:\n\n*-w, --wait*::\n    Wait for IPC connection to become available.\n\n*-o, --once*::\n    Wait only when starting, if needed.\n    Exit when the connection is lost.\n\n*-e, --exec* 'path'::\n    Run an executable file located at 'path' for every event.\n    Pass event data to the process via environment variables.\n\n*-h, --help*::\n    Show help.\n\n\n=== *read-descriptor* ['OPTIONS'] 'file'\nRead a USB descriptor from a file and print it in human-readable form.\n\nAvailable options:\n\n*-h, --help*::\n    Show help.\n\n\n=== *add-user* 'name' ['OPTIONS']\nCreate an IPC access control file allowing the user/group identified by 'name' to use the USBGuard IPC bus.\nThe change takes effect only after restarting the usbguard-daemon(8) instance.\n\nAvailable options:\n\n*-u, --user*::\n    The specified 'name' represents a username or UID (default).\n\n*-g, --group*::\n    The specified 'name' represents a groupname or GID.\n\n*-p, --policy* 'privileges'::\n    Policy related privileges.\n\n*-d, --devices* 'privileges'::\n    Device related privileges.\n\n*-e, --exceptions* 'privileges'::\n    Exceptions related privileges.\n\n*-P, --parameters* 'privileges'::\n    Run-time parameter related privileges.\n\n*-h, --help*::\n    Show help.\n\nPrivileges:\n\nThe 'privileges' are expected to be in the form of a list separated by a colon:\n\n....\n    $ sudo usbguard add-user joe --devices=listen,modify\n....\n\nConsult the usbguard-daemon.conf(5) man-page for a detailed list of available privileges in each section.\nYou can also use 'ALL' instead of 'privileges' to automatically assign all relevant privileges to a given section.\n\n\n=== *remove-user* 'name' ['OPTIONS']\nRemove an IPC access control file associated with the user/group identified by 'name'.\nThe change takes effect only after restarting the usbguard-daemon(8) instance.\n\nAvailable options:\n\n*-u, --user*::\n    The specified 'name' represents a username or UID (default).\n\n*-g, --group*::\n    The specified 'name' represents a groupname or GID.\n\n*-h, --help*::\n    Show help.\n\n\n== EXAMPLES\n\nGenerating an initial policy:\n\ninclude::example-initial-policy.adoc[]\n\nAllow device(s):\n\ninclude::example-allow-device.adoc[]\n\n\n== SEE ALSO\nlink:usbguard-daemon.8.adoc#name[usbguard-daemon(8)],\nlink:usbguard-daemon.conf.5.adoc#name[usbguard-daemon.conf(5)],\nlink:usbguard-rules.conf.5.adoc#name[usbguard-rules.conf(5)]\n\n\ninclude::footer.adoc[]\n"
  },
  {
    "path": "libusbguard.pc.in",
    "content": "prefix=@prefix@\nexec_prefix=@exec_prefix@\nlibdir=@libdir@\nincludedir=@includedir@/usbguard\n\nName: libusbguard\nDescription: USBGuard API library\nURL: https://github.com/USBGuard/usbguard\nVersion: @VERSION@\nRequires: libqb\nLibs: -L${libdir} -lusbguard\nCflags: -I${includedir}\n"
  },
  {
    "path": "m4/ax_check_compile_flag.m4",
    "content": "# ===========================================================================\n#   http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html\n# ===========================================================================\n#\n# SYNOPSIS\n#\n#   AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])\n#\n# DESCRIPTION\n#\n#   Check whether the given FLAG works with the current language's compiler\n#   or gives an error.  (Warnings, however, are ignored)\n#\n#   ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on\n#   success/failure.\n#\n#   If EXTRA-FLAGS is defined, it is added to the current language's default\n#   flags (e.g. CFLAGS) when the check is done.  The check is thus made with\n#   the flags: \"CFLAGS EXTRA-FLAGS FLAG\".  This can for example be used to\n#   force the compiler to issue an error when a bad flag is given.\n#\n#   INPUT gives an alternative input source to AC_COMPILE_IFELSE.\n#\n#   NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this\n#   macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG.\n#\n# LICENSE\n#\n#   Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>\n#   Copyright (c) 2011 Maarten Bosmans <mkbosmans@gmail.com>\n#\n#   This program is free software: you can redistribute it and/or modify it\n#   under the terms of the GNU General Public License as published by the\n#   Free Software Foundation, either version 3 of the License, or (at your\n#   option) any later version.\n#\n#   This program is distributed in the hope that it will be useful, but\n#   WITHOUT ANY WARRANTY; without even the implied warranty of\n#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General\n#   Public License for more details.\n#\n#   You should have received a copy of the GNU General Public License along\n#   with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n#   As a special exception, the respective Autoconf Macro's copyright owner\n#   gives unlimited permission to copy, distribute and modify the configure\n#   scripts that are the output of Autoconf when processing the Macro. You\n#   need not follow the terms of the GNU General Public License when using\n#   or distributing such scripts, even though portions of the text of the\n#   Macro appear in them. The GNU General Public License (GPL) does govern\n#   all other use of the material that constitutes the Autoconf Macro.\n#\n#   This special exception to the GPL applies to versions of the Autoconf\n#   Macro released by the Autoconf Archive. When you make and distribute a\n#   modified version of the Autoconf Macro, you may extend this special\n#   exception to the GPL to apply to your modified version as well.\n\n#serial 4\n\nAC_DEFUN([AX_CHECK_COMPILE_FLAG],\n[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF\nAS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl\nAC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [\n  ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS\n  _AC_LANG_PREFIX[]FLAGS=\"$[]_AC_LANG_PREFIX[]FLAGS $4 $1\"\n  AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],\n    [AS_VAR_SET(CACHEVAR,[yes])],\n    [AS_VAR_SET(CACHEVAR,[no])])\n  _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])\nAS_VAR_IF(CACHEVAR,yes,\n  [m4_default([$2], :)],\n  [m4_default([$3], :)])\nAS_VAR_POPDEF([CACHEVAR])dnl\n])dnl AX_CHECK_COMPILE_FLAGS\n"
  },
  {
    "path": "m4/ax_pthread.m4",
    "content": "# ===========================================================================\n#        http://www.gnu.org/software/autoconf-archive/ax_pthread.html\n# ===========================================================================\n#\n# SYNOPSIS\n#\n#   AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])\n#\n# DESCRIPTION\n#\n#   This macro figures out how to build C programs using POSIX threads. It\n#   sets the PTHREAD_LIBS output variable to the threads library and linker\n#   flags, and the PTHREAD_CFLAGS output variable to any special C compiler\n#   flags that are needed. (The user can also force certain compiler\n#   flags/libs to be tested by setting these environment variables.)\n#\n#   Also sets PTHREAD_CC to any special C compiler that is needed for\n#   multi-threaded programs (defaults to the value of CC otherwise). (This\n#   is necessary on AIX to use the special cc_r compiler alias.)\n#\n#   NOTE: You are assumed to not only compile your program with these flags,\n#   but also to link with them as well. For example, you might link with\n#   $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS\n#\n#   If you are only building threaded programs, you may wish to use these\n#   variables in your default LIBS, CFLAGS, and CC:\n#\n#     LIBS=\"$PTHREAD_LIBS $LIBS\"\n#     CFLAGS=\"$CFLAGS $PTHREAD_CFLAGS\"\n#     CC=\"$PTHREAD_CC\"\n#\n#   In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant\n#   has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to\n#   that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).\n#\n#   Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the\n#   PTHREAD_PRIO_INHERIT symbol is defined when compiling with\n#   PTHREAD_CFLAGS.\n#\n#   ACTION-IF-FOUND is a list of shell commands to run if a threads library\n#   is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it\n#   is not found. If ACTION-IF-FOUND is not specified, the default action\n#   will define HAVE_PTHREAD.\n#\n#   Please let the authors know if this macro fails on any platform, or if\n#   you have any other suggestions or comments. This macro was based on work\n#   by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help\n#   from M. Frigo), as well as ac_pthread and hb_pthread macros posted by\n#   Alejandro Forero Cuervo to the autoconf macro repository. We are also\n#   grateful for the helpful feedback of numerous users.\n#\n#   Updated for Autoconf 2.68 by Daniel Richard G.\n#\n# LICENSE\n#\n#   Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu>\n#   Copyright (c) 2011 Daniel Richard G. <skunk@iSKUNK.ORG>\n#\n#   This program is free software: you can redistribute it and/or modify it\n#   under the terms of the GNU General Public License as published by the\n#   Free Software Foundation, either version 3 of the License, or (at your\n#   option) any later version.\n#\n#   This program is distributed in the hope that it will be useful, but\n#   WITHOUT ANY WARRANTY; without even the implied warranty of\n#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General\n#   Public License for more details.\n#\n#   You should have received a copy of the GNU General Public License along\n#   with this program. If not, see <http://www.gnu.org/licenses/>.\n#\n#   As a special exception, the respective Autoconf Macro's copyright owner\n#   gives unlimited permission to copy, distribute and modify the configure\n#   scripts that are the output of Autoconf when processing the Macro. You\n#   need not follow the terms of the GNU General Public License when using\n#   or distributing such scripts, even though portions of the text of the\n#   Macro appear in them. The GNU General Public License (GPL) does govern\n#   all other use of the material that constitutes the Autoconf Macro.\n#\n#   This special exception to the GPL applies to versions of the Autoconf\n#   Macro released by the Autoconf Archive. When you make and distribute a\n#   modified version of the Autoconf Macro, you may extend this special\n#   exception to the GPL to apply to your modified version as well.\n\n#serial 22\n\nAU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])\nAC_DEFUN([AX_PTHREAD], [\nAC_REQUIRE([AC_CANONICAL_HOST])\nAC_REQUIRE([AC_PROG_CC])\nAC_REQUIRE([AC_PROG_SED])\nAC_LANG_PUSH([C])\nax_pthread_ok=no\n\n# We used to check for pthread.h first, but this fails if pthread.h\n# requires special compiler flags (e.g. on Tru64 or Sequent).\n# It gets checked for in the link test anyway.\n\n# First of all, check if the user has set any of the PTHREAD_LIBS,\n# etcetera environment variables, and if threads linking works using\n# them:\nif test \"x$PTHREAD_CFLAGS$PTHREAD_LIBS\" != \"x\"; then\n\tax_pthread_save_CC=\"$CC\"\n\tax_pthread_save_CFLAGS=\"$CFLAGS\"\n\tax_pthread_save_LIBS=\"$LIBS\"\n\tAS_IF([test \"x$PTHREAD_CC\" != \"x\"], [CC=\"$PTHREAD_CC\"])\n\tCFLAGS=\"$CFLAGS $PTHREAD_CFLAGS\"\n\tLIBS=\"$PTHREAD_LIBS $LIBS\"\n\tAC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS])\n\tAC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes])\n\tAC_MSG_RESULT([$ax_pthread_ok])\n\tif test \"x$ax_pthread_ok\" = \"xno\"; then\n\t\tPTHREAD_LIBS=\"\"\n\t\tPTHREAD_CFLAGS=\"\"\n\tfi\n\tCC=\"$ax_pthread_save_CC\"\n\tCFLAGS=\"$ax_pthread_save_CFLAGS\"\n\tLIBS=\"$ax_pthread_save_LIBS\"\nfi\n\n# We must check for the threads library under a number of different\n# names; the ordering is very important because some systems\n# (e.g. DEC) have both -lpthread and -lpthreads, where one of the\n# libraries is broken (non-POSIX).\n\n# Create a list of thread flags to try.  Items starting with a \"-\" are\n# C compiler flags, and other items are library names, except for \"none\"\n# which indicates that we try without any flags at all, and \"pthread-config\"\n# which is a program returning the flags for the Pth emulation library.\n\nax_pthread_flags=\"pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config\"\n\n# The ordering *is* (sometimes) important.  Some notes on the\n# individual items follow:\n\n# pthreads: AIX (must check this before -lpthread)\n# none: in case threads are in libc; should be tried before -Kthread and\n#       other compiler flags to prevent continual compiler warnings\n# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)\n# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64\n#           (Note: HP C rejects this with \"bad form for `-t' option\")\n# -pthreads: Solaris/gcc (Note: HP C also rejects)\n# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it\n#      doesn't hurt to check since this sometimes defines pthreads and\n#      -D_REENTRANT too), HP C (must be checked before -lpthread, which\n#      is present but should not be used directly; and before -mthreads,\n#      because the compiler interprets this as \"-mt\" + \"-hreads\")\n# -mthreads: Mingw32/gcc, Lynx/gcc\n# pthread: Linux, etcetera\n# --thread-safe: KAI C++\n# pthread-config: use pthread-config program (for GNU Pth library)\n\ncase $host_os in\n\n\tfreebsd*)\n\n\t# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)\n\t# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)\n\n\tax_pthread_flags=\"-kthread lthread $ax_pthread_flags\"\n\t;;\n\n\thpux*)\n\n\t# From the cc(1) man page: \"[-mt] Sets various -D flags to enable\n\t# multi-threading and also sets -lpthread.\"\n\n\tax_pthread_flags=\"-mt -pthread pthread $ax_pthread_flags\"\n\t;;\n\n\topenedition*)\n\n\t# IBM z/OS requires a feature-test macro to be defined in order to\n\t# enable POSIX threads at all, so give the user a hint if this is\n\t# not set. (We don't define these ourselves, as they can affect\n\t# other portions of the system API in unpredictable ways.)\n\n\tAC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING],\n\t    [\n#\t     if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS)\n\t     AX_PTHREAD_ZOS_MISSING\n#\t     endif\n\t    ],\n\t    [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])])\n\t;;\n\n\tsolaris*)\n\n\t# On Solaris (at least, for some versions), libc contains stubbed\n\t# (non-functional) versions of the pthreads routines, so link-based\n\t# tests will erroneously succeed. (N.B.: The stubs are missing\n\t# pthread_cleanup_push, or rather a function called by this macro,\n\t# so we could check for that, but who knows whether they'll stub\n\t# that too in a future libc.)  So we'll check first for the\n\t# standard Solaris way of linking pthreads (-mt -lpthread).\n\n\tax_pthread_flags=\"-mt,pthread pthread $ax_pthread_flags\"\n\t;;\nesac\n\n# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)\n\nAS_IF([test \"x$GCC\" = \"xyes\"],\n      [ax_pthread_flags=\"-pthread -pthreads $ax_pthread_flags\"])\n\n# The presence of a feature test macro requesting re-entrant function\n# definitions is, on some systems, a strong hint that pthreads support is\n# correctly enabled\n\ncase $host_os in\n\tdarwin* | hpux* | linux* | osf* | solaris*)\n\tax_pthread_check_macro=\"_REENTRANT\"\n\t;;\n\n\taix* | freebsd*)\n\tax_pthread_check_macro=\"_THREAD_SAFE\"\n\t;;\n\n\t*)\n\tax_pthread_check_macro=\"--\"\n\t;;\nesac\nAS_IF([test \"x$ax_pthread_check_macro\" = \"x--\"],\n      [ax_pthread_check_cond=0],\n      [ax_pthread_check_cond=\"!defined($ax_pthread_check_macro)\"])\n\n# Are we compiling with Clang?\n\nAC_CACHE_CHECK([whether $CC is Clang],\n    [ax_cv_PTHREAD_CLANG],\n    [ax_cv_PTHREAD_CLANG=no\n     # Note that Autoconf sets GCC=yes for Clang as well as GCC\n     if test \"x$GCC\" = \"xyes\"; then\n\tAC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG],\n\t    [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */\n#\t     if defined(__clang__) && defined(__llvm__)\n\t     AX_PTHREAD_CC_IS_CLANG\n#\t     endif\n\t    ],\n\t    [ax_cv_PTHREAD_CLANG=yes])\n     fi\n    ])\nax_pthread_clang=\"$ax_cv_PTHREAD_CLANG\"\n\nax_pthread_clang_warning=no\n\n# Clang needs special handling, because older versions handle the -pthread\n# option in a rather... idiosyncratic way\n\nif test \"x$ax_pthread_clang\" = \"xyes\"; then\n\n\t# Clang takes -pthread; it has never supported any other flag\n\n\t# (Note 1: This will need to be revisited if a system that Clang\n\t# supports has POSIX threads in a separate library.  This tends not\n\t# to be the way of modern systems, but it's conceivable.)\n\n\t# (Note 2: On some systems, notably Darwin, -pthread is not needed\n\t# to get POSIX threads support; the API is always present and\n\t# active.  We could reasonably leave PTHREAD_CFLAGS empty.  But\n\t# -pthread does define _REENTRANT, and while the Darwin headers\n\t# ignore this macro, third-party headers might not.)\n\n\tPTHREAD_CFLAGS=\"-pthread\"\n\tPTHREAD_LIBS=\n\n\tax_pthread_ok=yes\n\n\t# However, older versions of Clang make a point of warning the user\n\t# that, in an invocation where only linking and no compilation is\n\t# taking place, the -pthread option has no effect (\"argument unused\n\t# during compilation\").  They expect -pthread to be passed in only\n\t# when source code is being compiled.\n\t#\n\t# Problem is, this is at odds with the way Automake and most other\n\t# C build frameworks function, which is that the same flags used in\n\t# compilation (CFLAGS) are also used in linking.  Many systems\n\t# supported by AX_PTHREAD require exactly this for POSIX threads\n\t# support, and in fact it is often not straightforward to specify a\n\t# flag that is used only in the compilation phase and not in\n\t# linking.  Such a scenario is extremely rare in practice.\n\t#\n\t# Even though use of the -pthread flag in linking would only print\n\t# a warning, this can be a nuisance for well-run software projects\n\t# that build with -Werror.  So if the active version of Clang has\n\t# this misfeature, we search for an option to squash it.\n\n\tAC_CACHE_CHECK([whether Clang needs flag to prevent \"argument unused\" warning when linking with -pthread],\n\t    [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG],\n\t    [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown\n\t     # Create an alternate version of $ac_link that compiles and\n\t     # links in two steps (.c -> .o, .o -> exe) instead of one\n\t     # (.c -> exe), because the warning occurs only in the second\n\t     # step\n\t     ax_pthread_save_ac_link=\"$ac_link\"\n\t     ax_pthread_sed='s/conftest\\.\\$ac_ext/conftest.$ac_objext/g'\n\t     ax_pthread_link_step=`$as_echo \"$ac_link\" | sed \"$ax_pthread_sed\"`\n\t     ax_pthread_2step_ac_link=\"($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)\"\n\t     ax_pthread_save_CFLAGS=\"$CFLAGS\"\n\t     for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do\n\t\tAS_IF([test \"x$ax_pthread_try\" = \"xunknown\"], [break])\n\t\tCFLAGS=\"-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS\"\n\t\tac_link=\"$ax_pthread_save_ac_link\"\n\t\tAC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],\n\t\t    [ac_link=\"$ax_pthread_2step_ac_link\"\n\t\t     AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],\n\t\t\t [break])\n\t\t    ])\n\t     done\n\t     ac_link=\"$ax_pthread_save_ac_link\"\n\t     CFLAGS=\"$ax_pthread_save_CFLAGS\"\n\t     AS_IF([test \"x$ax_pthread_try\" = \"x\"], [ax_pthread_try=no])\n\t     ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=\"$ax_pthread_try\"\n\t    ])\n\n\tcase \"$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG\" in\n\t\tno | unknown) ;;\n\t\t*) PTHREAD_CFLAGS=\"$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS\" ;;\n\tesac\n\nfi # $ax_pthread_clang = yes\n\nif test \"x$ax_pthread_ok\" = \"xno\"; then\nfor ax_pthread_try_flag in $ax_pthread_flags; do\n\n\tcase $ax_pthread_try_flag in\n\t\tnone)\n\t\tAC_MSG_CHECKING([whether pthreads work without any flags])\n\t\t;;\n\n\t\t-mt,pthread)\n\t\tAC_MSG_CHECKING([whether pthreads work with -mt -lpthread])\n\t\tPTHREAD_CFLAGS=\"-mt\"\n\t\tPTHREAD_LIBS=\"-lpthread\"\n\t\t;;\n\n\t\t-*)\n\t\tAC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag])\n\t\tPTHREAD_CFLAGS=\"$ax_pthread_try_flag\"\n\t\t;;\n\n\t\tpthread-config)\n\t\tAC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])\n\t\tAS_IF([test \"x$ax_pthread_config\" = \"xno\"], [continue])\n\t\tPTHREAD_CFLAGS=\"`pthread-config --cflags`\"\n\t\tPTHREAD_LIBS=\"`pthread-config --ldflags` `pthread-config --libs`\"\n\t\t;;\n\n\t\t*)\n\t\tAC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag])\n\t\tPTHREAD_LIBS=\"-l$ax_pthread_try_flag\"\n\t\t;;\n\tesac\n\n\tax_pthread_save_CFLAGS=\"$CFLAGS\"\n\tax_pthread_save_LIBS=\"$LIBS\"\n\tCFLAGS=\"$CFLAGS $PTHREAD_CFLAGS\"\n\tLIBS=\"$PTHREAD_LIBS $LIBS\"\n\n\t# Check for various functions.  We must include pthread.h,\n\t# since some functions may be macros.  (On the Sequent, we\n\t# need a special flag -Kthread to make this header compile.)\n\t# We check for pthread_join because it is in -lpthread on IRIX\n\t# while pthread_create is in libc.  We check for pthread_attr_init\n\t# due to DEC craziness with -lpthreads.  We check for\n\t# pthread_cleanup_push because it is one of the few pthread\n\t# functions on Solaris that doesn't have a non-functional libc stub.\n\t# We try pthread_create on general principles.\n\n\tAC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>\n#\t\t\tif $ax_pthread_check_cond\n#\t\t\t error \"$ax_pthread_check_macro must be defined\"\n#\t\t\tendif\n\t\t\tstatic void routine(void *a) { a = 0; }\n\t\t\tstatic void *start_routine(void *a) { return a; }],\n\t\t       [pthread_t th; pthread_attr_t attr;\n\t\t\tpthread_create(&th, 0, start_routine, 0);\n\t\t\tpthread_join(th, 0);\n\t\t\tpthread_attr_init(&attr);\n\t\t\tpthread_cleanup_push(routine, 0);\n\t\t\tpthread_cleanup_pop(0) /* ; */])],\n\t    [ax_pthread_ok=yes],\n\t    [])\n\n\tCFLAGS=\"$ax_pthread_save_CFLAGS\"\n\tLIBS=\"$ax_pthread_save_LIBS\"\n\n\tAC_MSG_RESULT([$ax_pthread_ok])\n\tAS_IF([test \"x$ax_pthread_ok\" = \"xyes\"], [break])\n\n\tPTHREAD_LIBS=\"\"\n\tPTHREAD_CFLAGS=\"\"\ndone\nfi\n\n# Various other checks:\nif test \"x$ax_pthread_ok\" = \"xyes\"; then\n\tax_pthread_save_CFLAGS=\"$CFLAGS\"\n\tax_pthread_save_LIBS=\"$LIBS\"\n\tCFLAGS=\"$CFLAGS $PTHREAD_CFLAGS\"\n\tLIBS=\"$PTHREAD_LIBS $LIBS\"\n\n\t# Detect AIX lossage: JOINABLE attribute is called UNDETACHED.\n\tAC_CACHE_CHECK([for joinable pthread attribute],\n\t    [ax_cv_PTHREAD_JOINABLE_ATTR],\n\t    [ax_cv_PTHREAD_JOINABLE_ATTR=unknown\n\t     for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do\n\t\t AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],\n\t\t\t\t\t\t [int attr = $ax_pthread_attr; return attr /* ; */])],\n\t\t\t\t[ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break],\n\t\t\t\t[])\n\t     done\n\t    ])\n\tAS_IF([test \"x$ax_cv_PTHREAD_JOINABLE_ATTR\" != \"xunknown\" && \\\n\t       test \"x$ax_cv_PTHREAD_JOINABLE_ATTR\" != \"xPTHREAD_CREATE_JOINABLE\" && \\\n\t       test \"x$ax_pthread_joinable_attr_defined\" != \"xyes\"],\n\t      [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE],\n\t\t\t\t  [$ax_cv_PTHREAD_JOINABLE_ATTR],\n\t\t\t\t  [Define to necessary symbol if this constant\n\t\t\t\t   uses a non-standard name on your system.])\n\t       ax_pthread_joinable_attr_defined=yes\n\t      ])\n\n\tAC_CACHE_CHECK([whether more special flags are required for pthreads],\n\t    [ax_cv_PTHREAD_SPECIAL_FLAGS],\n\t    [ax_cv_PTHREAD_SPECIAL_FLAGS=no\n\t     case $host_os in\n\t     solaris*)\n\t     ax_cv_PTHREAD_SPECIAL_FLAGS=\"-D_POSIX_PTHREAD_SEMANTICS\"\n\t     ;;\n\t     esac\n\t    ])\n\tAS_IF([test \"x$ax_cv_PTHREAD_SPECIAL_FLAGS\" != \"xno\" && \\\n\t       test \"x$ax_pthread_special_flags_added\" != \"xyes\"],\n\t      [PTHREAD_CFLAGS=\"$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS\"\n\t       ax_pthread_special_flags_added=yes])\n\n\tAC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],\n\t    [ax_cv_PTHREAD_PRIO_INHERIT],\n\t    [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],\n\t\t\t\t\t     [[int i = PTHREAD_PRIO_INHERIT;]])],\n\t\t\t    [ax_cv_PTHREAD_PRIO_INHERIT=yes],\n\t\t\t    [ax_cv_PTHREAD_PRIO_INHERIT=no])\n\t    ])\n\tAS_IF([test \"x$ax_cv_PTHREAD_PRIO_INHERIT\" = \"xyes\" && \\\n\t       test \"x$ax_pthread_prio_inherit_defined\" != \"xyes\"],\n\t      [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])\n\t       ax_pthread_prio_inherit_defined=yes\n\t      ])\n\n\tCFLAGS=\"$ax_pthread_save_CFLAGS\"\n\tLIBS=\"$ax_pthread_save_LIBS\"\n\n\t# More AIX lossage: compile with *_r variant\n\tif test \"x$GCC\" != \"xyes\"; then\n\t    case $host_os in\n\t\taix*)\n\t\tAS_CASE([\"x/$CC\"],\n\t\t    [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],\n\t\t    [#handle absolute path differently from PATH based program lookup\n\t\t     AS_CASE([\"x$CC\"],\n\t\t\t [x/*],\n\t\t\t [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC=\"${CC}_r\"])],\n\t\t\t [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])\n\t\t;;\n\t    esac\n\tfi\nfi\n\ntest -n \"$PTHREAD_CC\" || PTHREAD_CC=\"$CC\"\n\nAC_SUBST([PTHREAD_LIBS])\nAC_SUBST([PTHREAD_CFLAGS])\nAC_SUBST([PTHREAD_CC])\n\n# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:\nif test \"x$ax_pthread_ok\" = \"xyes\"; then\n\tifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1])\n\t:\nelse\n\tax_pthread_ok=no\n\t$2\nfi\nAC_LANG_POP\n])dnl AX_PTHREAD\n"
  },
  {
    "path": "m4/libgcrypt.m4",
    "content": "dnl Autoconf macros for libgcrypt\ndnl       Copyright (C) 2002, 2004, 2011 Free Software Foundation, Inc.\ndnl\ndnl This file is free software; as a special exception the author gives\ndnl unlimited permission to copy and/or distribute it, with or without\ndnl modifications, as long as this notice is preserved.\ndnl\ndnl This file is distributed in the hope that it will be useful, but\ndnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the\ndnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n\ndnl AM_PATH_LIBGCRYPT([MINIMUM-VERSION,\ndnl                   [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])\ndnl Test for libgcrypt and define LIBGCRYPT_CFLAGS and LIBGCRYPT_LIBS.\ndnl MINIMUN-VERSION is a string with the version number optionalliy prefixed\ndnl with the API version to also check the API compatibility. Example:\ndnl a MINIMUN-VERSION of 1:1.2.5 won't pass the test unless the installed\ndnl version of libgcrypt is at least 1.2.5 *and* the API number is 1.  Using\ndnl this features allows to prevent build against newer versions of libgcrypt\ndnl with a changed API.\ndnl\nAC_DEFUN([AM_PATH_LIBGCRYPT],\n[ AC_REQUIRE([AC_CANONICAL_HOST])\n  AC_ARG_WITH(libgcrypt-prefix,\n            AS_HELP_STRING([--with-libgcrypt-prefix=PFX],\n                           [prefix where LIBGCRYPT is installed (optional)]),\n     libgcrypt_config_prefix=\"$withval\", libgcrypt_config_prefix=\"\")\n  if test x$libgcrypt_config_prefix != x ; then\n     if test x${LIBGCRYPT_CONFIG+set} != xset ; then\n        LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config\n     fi\n  fi\n\n  AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no)\n  tmp=ifelse([$1], ,1:1.2.0,$1)\n  if echo \"$tmp\" | grep ':' >/dev/null 2>/dev/null ; then\n     req_libgcrypt_api=`echo \"$tmp\"     | sed 's/\\(.*\\):\\(.*\\)/\\1/'`\n     min_libgcrypt_version=`echo \"$tmp\" | sed 's/\\(.*\\):\\(.*\\)/\\2/'`\n  else\n     req_libgcrypt_api=0\n     min_libgcrypt_version=\"$tmp\"\n  fi\n\n  AC_MSG_CHECKING(for LIBGCRYPT - version >= $min_libgcrypt_version)\n  ok=no\n  if test \"$LIBGCRYPT_CONFIG\" != \"no\" ; then\n    req_major=`echo $min_libgcrypt_version | \\\n               sed 's/\\([[0-9]]*\\)\\.\\([[0-9]]*\\)\\.\\([[0-9]]*\\)/\\1/'`\n    req_minor=`echo $min_libgcrypt_version | \\\n               sed 's/\\([[0-9]]*\\)\\.\\([[0-9]]*\\)\\.\\([[0-9]]*\\)/\\2/'`\n    req_micro=`echo $min_libgcrypt_version | \\\n               sed 's/\\([[0-9]]*\\)\\.\\([[0-9]]*\\)\\.\\([[0-9]]*\\)/\\3/'`\n    libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version`\n    major=`echo $libgcrypt_config_version | \\\n               sed 's/\\([[0-9]]*\\)\\.\\([[0-9]]*\\)\\.\\([[0-9]]*\\).*/\\1/'`\n    minor=`echo $libgcrypt_config_version | \\\n               sed 's/\\([[0-9]]*\\)\\.\\([[0-9]]*\\)\\.\\([[0-9]]*\\).*/\\2/'`\n    micro=`echo $libgcrypt_config_version | \\\n               sed 's/\\([[0-9]]*\\)\\.\\([[0-9]]*\\)\\.\\([[0-9]]*\\).*/\\3/'`\n    if test \"$major\" -gt \"$req_major\"; then\n        ok=yes\n    else\n        if test \"$major\" -eq \"$req_major\"; then\n            if test \"$minor\" -gt \"$req_minor\"; then\n               ok=yes\n            else\n               if test \"$minor\" -eq \"$req_minor\"; then\n                   if test \"$micro\" -ge \"$req_micro\"; then\n                     ok=yes\n                   fi\n               fi\n            fi\n        fi\n    fi\n  fi\n  if test $ok = yes; then\n    AC_MSG_RESULT([yes ($libgcrypt_config_version)])\n  else\n    AC_MSG_RESULT(no)\n  fi\n  if test $ok = yes; then\n     # If we have a recent libgcrypt, we should also check that the\n     # API is compatible\n     if test \"$req_libgcrypt_api\" -gt 0 ; then\n        tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0`\n        if test \"$tmp\" -gt 0 ; then\n           AC_MSG_CHECKING([LIBGCRYPT API version])\n           if test \"$req_libgcrypt_api\" -eq \"$tmp\" ; then\n             AC_MSG_RESULT([okay])\n           else\n             ok=no\n             AC_MSG_RESULT([does not match. want=$req_libgcrypt_api got=$tmp])\n           fi\n        fi\n     fi\n  fi\n  if test $ok = yes; then\n    LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags`\n    LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs`\n    ifelse([$2], , :, [$2])\n    libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none`\n    if test x\"$libgcrypt_config_host\" != xnone ; then\n      if test x\"$libgcrypt_config_host\" != x\"$host\" ; then\n  AC_MSG_WARN([[\n***\n*** The config script $LIBGCRYPT_CONFIG was\n*** built for $libgcrypt_config_host and thus may not match the\n*** used host $host.\n*** You may want to use the configure option --with-libgcrypt-prefix\n*** to specify a matching config script.\n***]])\n      fi\n    fi\n  else\n    LIBGCRYPT_CFLAGS=\"\"\n    LIBGCRYPT_LIBS=\"\"\n    ifelse([$3], , :, [$3])\n  fi\n  AC_SUBST(LIBGCRYPT_CFLAGS)\n  AC_SUBST(LIBGCRYPT_LIBS)\n])\n"
  },
  {
    "path": "scripts/astyle.sh",
    "content": "#!/bin/bash\n#\n# Copyright (C) 2017 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Daniel Kopecek <dkopecek@redhat.com>\n#\nPROJECT_ROOT=\"$(dirname \"$0\")/../\"\nASTYLERC_PATH=\"${PROJECT_ROOT}/src/astylerc\"\n\nexec astyle $(< \"${ASTYLERC_PATH}\") \"$@\"\n"
  },
  {
    "path": "scripts/bash_completion/usbguard",
    "content": "_usbguard_get_ids() {\n    usbguard list-devices 2>/dev/null | cut -d \":\" -f1\n}\n\n_usbguard_get_rules() {\n    usbguard list-rules 2>/dev/null | cut -d \":\" -f1\n}\n\n_usbguard_in_option() {\n    # Determines whether the cursor is currently on an option value (word that\n    # starts with a dash). If it is the case, return true, false otherwise.\n    #\n    # Parameters\n    #   None\n    #\n    # Returns\n    #   retval          (int)           True / False\n    #\n    if [[ \"$cur\" == -* ]]; then\n        return 0\n    else\n        return 1\n    fi\n}\n\n_usbguard_contains() {\n    # Copied from https://github.com/qtc-de/completion-helpers\n    #\n    # Takes two strings containing space separated words and checks if one of the\n    # words in the second list matches one in the first.\n    # E.g.: `_usbguard_contains \"test test2\" \"no nope test\"` returns true.\n    #\n    # Parameters\n    #   list_lookup     (string)        Space separated words to search in\n    #   list_search     (string)        Space separated words to search\n    #\n    # Returns\n    #   retval          (int)           Error / Success\n    #\n    # Side effects\n    #   None\n    #\n    for word in $2; do\n\n        if [[ $1 =~ (^|[[:space:]])${word}($|[[:space:]]) ]]; then\n            return 0\n        fi\n\n    done\n\n    return 1\n}\n\n_usbguard_short_to_long() {\n    # Copied from https://github.com/qtc-de/completion-helpers\n    #\n    # Takes a short option name and a a list that represents the current option list.\n    # The functions assumes that the long option for a certain short option directly\n    # follows the short option inside the argument list. The corresponding long\n    # option is then returned inside the $long variable.\n    #\n    # Parameters\n    #   short            (string)        Name of the short option (with - prefix)\n    #   opts             (list)          Space separated words (option list)\n    #\n    # Returns\n    #   retval           (int)           Error / Success\n    #\n    # Side effects\n    #   stores the corresponding long option inside the $long variable\n    #\n    local short ret\n\n    short=$1\n    shift\n\n    ret=0\n    long=\n\n    while (( \"$#\" )); do\n\n        if [[ \"$1\" == \"$short\" ]]; then\n            shift\n            if [[ $1 =~ ^--[^[:space:]]+$ ]]; then\n                long=$1\n                return 0\n            fi\n            return 1\n        fi\n\n        shift\n    done\n\n    return 1\n}\n\n_usbguard_filter() {\n    # Copied from https://github.com/qtc-de/completion-helpers\n    #\n    # Takes the name of a variable that contains the current option list as a string.\n    # Iterates over the current command line and removes all options that are already\n    # present.\n    #\n    # A second string of space separated words can be passed\n    # that are excluded from filtering. This is useful, when certain options are allowed\n    # to appear multiple times.\n    #\n    # By default, the function will try to remove long options if their corresponding short\n    # options are used on the command line. To work correctly, this requires that each short\n    # option has a long option that directly follows the short option in the options list. If\n    # this assumption is incorrect, you should set a third parameter for _usbguard_filter to 'false'.\n    #\n    # Parameters\n    #   opts            (string)        Space separated words to filter (call by ref)\n    #   exclude         (string)        Space separated words to exclude\n    #   remove_longs    (string)        Decides whether short-to-long translation is attempted (true|false)\n    #\n    # Returns\n    #   retval           (int)           Error / Success\n    #\n    # Side effects\n    #   filtered option list is stored in first variable (passed by ref)\n    #\n    local Opts=$1 filter exclude cur long remove_longs\n\n    cur=\"${COMP_WORDS[COMP_CWORD]}\"\n    filter=\" ${!Opts} \"\n    exclude=$2\n    remove_longs=$3\n\n    # iterate over each word inside the current command line\n    for var in ${COMP_LINE}; do\n\n        # exclude the current word to allow full specified options to be space completed\n        if [[ \"$var\" == \"$cur\" ]]; then\n            continue\n\n        # exclude words from the exclusion list\n        elif _usbguard_contains \"$exclude\" $var; then\n            continue\n\n        # otherwise remove the word from the filter list\n        else\n            # if short option, remove long option\n            if [[ \"$remove_longs\" != \"false\" && $var =~ ^-[a-zA-Z0-9]+$ ]]; then\n                _usbguard_short_to_long $var $filter && \\\n                filter=( \"${filter//[[:space:]]${long}[[:space:]]/ }\" )\n            fi\n\n            # remove actual option\n            filter=( \"${filter//[[:space:]]${var}[[:space:]]/ }\" )\n        fi\n\n    done\n\n    _upvars -v $Opts \"$filter\"\n}\n\n_usbguard_filter_shorts() {\n    # Copied from https://github.com/qtc-de/completion-helpers\n    #\n    # Takes a string of space separated words and removes all short options from it.\n    # Completion of short options is a matter of taste. The maintainers of bash-completion\n    # do not recommend it. Instead, completions should only handle completion for arguments\n    # that are required by short options, but to not complete short options themselves.\n    #\n    # Parameters\n    #   opts            (string)        Space separated option list (call by ref)\n    #\n    # Returns\n    #   retval           (int)           Error / Success\n    #\n    # Side effects\n    #   filtered option list is stored in first variable (passed by ref)\n    #\n    local Opts=$1 filter\n\n    filter=\" ${!Opts} \"\n\n    for word in $filter; do\n\n        if [[ $word =~ ^-[a-zA-Z0-9]+$ ]]; then\n            filter=( \"${filter//[[:space:]]${word}[[:space:]]/ }\" )\n        fi\n\n    done\n\n    _upvars -v $Opts \"$filter\"\n}\n\n\n_usbguard_comp_list() {\n    # This function is used for list completion (comma separated words). If an option\n    # expects a comma separated list of arguments, you can call this function with the\n    # desired set of available list arguments. The function does already populate the\n    # COMPREPLY variable and you normally want to return from the completion script\n    # after calling it.\n    #\n    # Additionally to the array of available options, it is possible to specify an\n    # integer as second argument that specifies the maximum amount of selectable\n    # options. After this amount of options was specified, space completion is enabled.\n    #\n    # Parameters\n    #   options         (string)        Space separated list of available list options\n    #   max             (int)           Maximum number of list items\n    #\n    # Returns\n    #   retval          (int)           Error / Success\n    #\n    local cur prev prev_arr options=\" $1 \" count=1\n\n    compopt -o nospace\n    cur=\"${COMP_WORDS[COMP_CWORD]}\"\n\n    if [[ \"$cur\" != ?*,* ]]; then\n        mapfile -t COMPREPLY < <(compgen -W \"${options}\" -- \"${cur}\")\n        return 0\n\n    else\n        prev=\"${cur%,*}\"\n        cur=\"${cur##*,}\"\n        prev_arr=${prev//,/ }\n\n        for word in $prev_arr; do\n\n            count=$((count+1))\n            if _usbguard_contains \"$options\" $word; then\n                options=( \"${options//[[:space:]]${word}[[:space:]]/ }\" )\n                continue\n            fi\n\n        done\n\n        if [[ $count -ge $2 ]]; then\n            compopt +o nospace\n        fi\n\n        mapfile -t COMPREPLY < <(compgen -P \"$prev,\" -W \"${options}\" -- \"${cur}\")\n        return 0\n    fi\n}\n\n_usbguard() {\n    local args cur prev words cword value_options\n\n    _init_completion || return\n    _count_args\n\n    COMPREPLY=()\n\n    # If there was no positional argument provided yet, complete commands\n    if [[ $args -eq 1 ]]; then\n        opts=\"get-parameter set-parameter list-devices allow-device block-device reject-device list-rules append-rule\"\n        opts=\"${opts} remove-rule generate-policy watch read-descriptor add-user remove-user --version\"\n\n    else\n        opts='-h --help'\n        case \"${words[1]}\" in\n\n            get-parameter)\n                if ! _usbguard_in_option && [[ $args -eq 2 ]]; then\n                    opts=\"InsertedDevicePolicy ImplicitPolicyTarget\"\n                fi\n                ;;\n\n            set-parameter)\n                if ! _usbguard_in_option && [[ $args -eq 2 ]]; then\n                    opts=\"InsertedDevicePolicy ImplicitPolicyTarget\"\n\n                elif ! _usbguard_in_option && [[ $args -eq 3 ]]; then\n                    return 0\n\n                else\n                    opts=\"$opts -v --verbose\"\n                fi\n                ;;\n\n            list-devices)\n                opts=\"$opts -a --allowed -b --blocked -t --tree\"\n                ;;\n\n            list-rules)\n                if _usbguard_contains \"-l --label\" $prev; then\n                    return 0\n                fi\n\n                opts=\"$opts -d --show-devices -l --label\"\n                ;;\n\n            allow-device|block-device|reject-device)\n                if ! _usbguard_in_option && [[ $args -eq 2 ]]; then\n                    opts=$(_usbguard_get_ids || :)\n                else\n                    opts=\"$opts -p --permanent\"\n                fi\n                ;;\n\n            append-rule)\n                if _usbguard_contains \"-a --after\" $prev; then\n                    opts=$(_usbguard_get_rules || :)\n\n                elif ! _usbguard_in_option && [[ $args -eq 2 ]]; then\n                    return 0\n\n                else\n                    opts=\"$opts -a --after -t --temporary\"\n                fi\n                ;;\n\n            remove-rule)\n                if ! _usbguard_in_option && [[ $args -eq 2 ]]; then\n                    opts=$(_usbguard_get_rules || :)\n                fi\n                ;;\n\n            generate-policy)\n                if _usbguard_contains \"-d --devpath\" $prev; then\n                    _filedir\n                    return 0\n\n                elif _usbguard_contains \"-t --target\" $prev; then\n                    opts=\"allow block reject\"\n\n                elif _usbguard_contains \"-b --usbguardbase -o --objectclass -n --name-prefix\" $prev; then\n                    return 0\n\n                else\n                    opts=\"$opts -p --with-ports -P --no-ports-sn -d --devpath -t --target -X --no-hashes\"\n                    opts=\"$opts -H --hash-only -L --ldif -b --usbguardbase -o --objectclass -n --name-prefix\"\n                fi\n                ;;\n\n            watch)\n                if _usbguard_contains \"-e --exec\" $prev; then\n                    _filedir\n                    return 0\n                fi\n\n                opts=\"$opts -w --wait -o --once -e --exec\"\n                ;;\n\n            read-descriptor)\n                if ! _usbguard_in_option && [[ $args -eq 2 ]]; then\n                    _filedir\n                    return 0\n                fi\n                ;;\n\n            add-user)\n                value_options=\"-p --policy -d --devices -e --exceptions -P --parameters\"\n                _count_args \"\" \"@(${value_options// /|})\"\n\n                if _usbguard_contains \"$value_options\" $prev; then\n                    _usbguard_comp_list \"modify list listen\" 3\n                    return 0\n\n                elif ! _usbguard_in_option && [[ $args -eq 2 ]]; then\n                    _usergroup\n                    return 0\n\n                else\n                    opts=\"$opts -u --user -g --group $value_options\"\n                fi\n                ;;\n\n            remove-user)\n                if ! _usbguard_in_option && [[ $args -eq 2 ]]; then\n                    _usergroup\n                    return 0\n                fi\n\n                opts=\"$opts -u --user -g --group\"\n                ;;\n\n            *)\n            ;;\n        esac\n    fi\n\n    _usbguard_filter \"opts\"\n    _usbguard_filter_shorts \"opts\"\n\n    mapfile -t COMPREPLY < <(compgen -W \"${opts}\" -- \"${cur}\")\n    return 0\n}\n\ncomplete -F _usbguard usbguard\n"
  },
  {
    "path": "scripts/copr-build-srpm.sh",
    "content": "#!/bin/bash\n#\n# Copyright (C) 2016 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Daniel Kopecek <dkopecek@redhat.com>\n#\nCURL=$(which curl)\nJQ=$(which jq)\n\nif [ -z \"$CURL\" ]; then\n  echo \"Required curl command missing. Aborting.\"\n  exit 1\nfi\nif [ -z \"$JQ\" ]; then\n  echo \"Required jq command missing. Aborting.\"\n  exit 1\nfi\n\nCOPR_URL_API2=\"https://copr.fedorainfracloud.org/api_2/\"\n\nCOPR_LOGIN=\"${COPR_LOGIN:=invalidlogin}\"\nCOPR_TOKEN=\"${COPR_TOKEN:=invalidtoken}\"\nCOPR_PROJECT_ID=\"${COPR_PROJECT_ID:=0}\"\nSRPM=\"$1\"\n\nif [ -z \"$SRPM\" ]; then\n  echo \"Usage: $(basename $0) <srpm>\"\n  exit 1\nfi\n\necho \"[+] Fetching project chroots...\"\n#\n# Fetch project chroots\n#\nCOPR_PROJECT_CHROOTS=$(\n  $CURL -o - -s \"https://copr.fedorainfracloud.org/api_2/projects/${COPR_PROJECT_ID}/chroots\" | \\\n    $JQ -c '[ .chroots | .[] | .chroot | .name ]'\n)\n\nif [ $? -ne 0 ]; then\n  echo \"[!] FAILED: Can't retrieve list of project chroots. Aborting.\"\n  exit 1\nfi\n\nCOPR_BUILD_METADATA=\"{ \\\"project_id\\\": ${COPR_PROJECT_ID}, \\\"chroots\\\": $COPR_PROJECT_CHROOTS, \\\"enable_net\\\": false }\"\n\necho \"[+] Submitting SRPM for build: $SRPM\"\n#\n# Upload and build the srpm\n#\nCOPR_RESPONSE=$($CURL \\\n  -s \\\n  --basic -u $COPR_LOGIN:$COPR_TOKEN \\\n  -F \"metadata=$COPR_BUILD_METADATA\" \\\n  -F \"srpm=@$SRPM;type=application/x-rpm\" \\\n  -i \\\n  -o - \\\n  \"$COPR_URL_API2/builds\")\n\nif [ $? -ne 0 ]; then\n  echo \"[!] FAILED: Unable to submit the srpm. Server responded:\"\n  echo \"$COPR_RESPONSE\"\n  exit 1\nelse\n  echo \"[+] Build successfully submitted. Server responded:\"\n  echo \"$COPR_RESPONSE\"\nfi\n"
  },
  {
    "path": "scripts/docker/build_on_alpine_linux_3_21.Dockerfile",
    "content": "##\n## Copyright (c) 2022 Sebastian Pipping <sebastian@pipping.org>\n##\n## This program is free software; you can redistribute it and/or modify\n## it under the terms of the GNU General Public License as published by\n## the Free Software Foundation; either version 2 of the License, or\n## (at your option) any later version.\n##\n## This program is distributed in the hope that it will be useful,\n## but WITHOUT ANY WARRANTY; without even the implied warranty of\n## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n## GNU General Public License for more details.\n##\n## You should have received a copy of the GNU General Public License\n## along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nFROM alpine:3.21\nRUN echo '@edge-testing https://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories \\\n        && \\\n    apk add --update \\\n            asciidoc \\\n            autoconf \\\n            automake \\\n            bash \\\n            dbus-glib-dev \\\n            file \\\n            g++ \\\n            gcc \\\n            git \\\n            libgcrypt-dev \\\n            libqb-dev@edge-testing \\\n            libsodium-dev \\\n            libtool \\\n            make \\\n            musl-dev \\\n            pegtl@edge-testing \\\n            pkgconf \\\n            polkit-dev \\\n            protobuf-dev \\\n            tar\nADD usbguard.tar usbguard/\nADD catch.tar usbguard/src/ThirdParty/Catch/\nWORKDIR usbguard\nRUN git init &>/dev/null && ./autogen.sh\nRUN ./configure --with-bundled-catch || ! cat config.log\nRUN make dist\nRUN tar --version\nRUN tar xf usbguard-*.tar.gz\nRUN mv -v usbguard-*.*.*/ usbguard-release/\nRUN mkdir usbguard-release/build/\nWORKDIR usbguard-release/build/\nRUN ../configure --with-bundled-catch || ! cat config.log\nRUN bash -c 'set -o pipefail; make V=1 \"-j$(nproc)\" |& tee build.log'\nRUN ! grep -F 'include file not found' build.log\n"
  },
  {
    "path": "scripts/docker/build_on_centos_8_2.Dockerfile",
    "content": "##\n## Copyright (c) 2022 Sebastian Pipping <sebastian@pipping.org>\n##\n## This program is free software; you can redistribute it and/or modify\n## it under the terms of the GNU General Public License as published by\n## the Free Software Foundation; either version 2 of the License, or\n## (at your option) any later version.\n##\n## This program is distributed in the hope that it will be useful,\n## but WITHOUT ANY WARRANTY; without even the implied warranty of\n## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n## GNU General Public License for more details.\n##\n## You should have received a copy of the GNU General Public License\n## along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nFROM centos:8.2.2004\nRUN sed \\\n            -e '/^baseurl=.*/d' \\\n            -e 's,^mirrorlist=.*repo=\\([^&]\\+\\).*,baseurl=http://linuxsoft.cern.ch/centos-vault/8.2.2004/\\1/x86_64/os/,' \\\n            -i /etc/yum.repos.d/CentOS-* \\\n        && \\\n    dnf clean metadata \\\n        && \\\n    dnf install -y epel-release dnf-plugins-core \\\n        && \\\n    dnf config-manager --set-enabled PowerTools \\\n        && \\\n    dnf install -y \\\n            asciidoc \\\n            autoconf \\\n            automake \\\n            dbus-glib-devel \\\n            diffutils \\\n            file \\\n            gcc-c++ \\\n            git \\\n            libgcrypt-devel \\\n            libqb-devel \\\n            libsodium-devel \\\n            libtool \\\n            libxslt \\\n            make \\\n            polkit-devel \\\n            protobuf-compiler \\\n            protobuf-devel\nADD usbguard.tar usbguard/\nADD catch.tar usbguard/src/ThirdParty/Catch/\nADD pegtl.tar usbguard/src/ThirdParty/PEGTL/\nWORKDIR usbguard\nRUN git init &>/dev/null && ./autogen.sh\nRUN ./configure --with-bundled-catch --with-bundled-pegtl || ! cat config.log\nRUN make dist\nRUN tar xf usbguard-*.tar.gz\nRUN mv -v usbguard-*.*.*/ usbguard-release/\nRUN mkdir usbguard-release/build/\nWORKDIR usbguard-release/build/\nRUN ../configure --with-bundled-catch --with-bundled-pegtl || ! cat config.log\nRUN bash -c 'set -o pipefail; make V=1 \"-j$(nproc)\" |& tee build.log'\nRUN ! grep -F 'include file not found' build.log\n"
  },
  {
    "path": "scripts/docker/build_on_debian_buster_with_gcc_9_2.Dockerfile",
    "content": "##\n## Copyright (c) 2022 Sebastian Pipping <sebastian@pipping.org>\n##\n## This program is free software; you can redistribute it and/or modify\n## it under the terms of the GNU General Public License as published by\n## the Free Software Foundation; either version 2 of the License, or\n## (at your option) any later version.\n##\n## This program is distributed in the hope that it will be useful,\n## but WITHOUT ANY WARRANTY; without even the implied warranty of\n## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n## GNU General Public License for more details.\n##\n## You should have received a copy of the GNU General Public License\n## along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nFROM gcc:9.2\nSHELL [\"/bin/bash\", \"-c\"]\nRUN head -n1 /etc/os-release \\\n        && \\\n    apt-get update \\\n        && \\\n    DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --yes -V \\\n            asciidoc \\\n            autoconf \\\n            automake \\\n            bash-completion \\\n            build-essential \\\n            docbook-xml \\\n            docbook-xsl \\\n            git \\\n            ldap-utils \\\n            libaudit-dev \\\n            libcap-ng-dev \\\n            libdbus-glib-1-dev \\\n            libldap-dev \\\n            libpolkit-gobject-1-dev \\\n            libprotobuf-dev \\\n            libqb-dev \\\n            libseccomp-dev \\\n            libsodium-dev \\\n            libtool \\\n            libxml2-utils \\\n            libumockdev-dev \\\n            pkg-config \\\n            protobuf-compiler \\\n            sudo \\\n            systemd \\\n            tao-pegtl-dev \\\n            xsltproc\nRUN set -x \\\n        && \\\n    [[ \"$(gcc -dumpversion) == 9.2.* ]] \\\n        && \\\n    [[ \"$(g++ -dumpversion) == 9.2.* ]]\nADD usbguard.tar usbguard/\nADD catch.tar usbguard/src/ThirdParty/Catch/\nWORKDIR usbguard\nRUN git init &>/dev/null && ./autogen.sh\nRUN ./configure --enable-systemd --with-bundled-catch || ! cat config.log\nRUN make dist\nRUN tar xf usbguard-*.tar.gz\nRUN mv -v usbguard-*.*.*/ usbguard-release/\nRUN mkdir usbguard-release/build/\nWORKDIR usbguard-release/build/\nRUN ../configure --enable-systemd --with-bundled-catch || ! cat config.log\nRUN bash -c 'set -o pipefail; make V=1 \"-j$(nproc)\" |& tee build.log'\nRUN ! grep -F 'include file not found' build.log\nRUN make V=1 check || { cat src/Tests/test-suite.log ; false ; }\n"
  },
  {
    "path": "scripts/docker/build_on_ubuntu_22_04.Dockerfile",
    "content": "##\n## Copyright (c) 2022 Sebastian Pipping <sebastian@pipping.org>\n##\n## This program is free software; you can redistribute it and/or modify\n## it under the terms of the GNU General Public License as published by\n## the Free Software Foundation; either version 2 of the License, or\n## (at your option) any later version.\n##\n## This program is distributed in the hope that it will be useful,\n## but WITHOUT ANY WARRANTY; without even the implied warranty of\n## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n## GNU General Public License for more details.\n##\n## You should have received a copy of the GNU General Public License\n## along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nFROM ubuntu:22.04\nRUN apt-get update \\\n        && \\\n    DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --yes -V \\\n            asciidoc \\\n            autoconf \\\n            automake \\\n            bash-completion \\\n            build-essential \\\n            catch2 \\\n            docbook-xml \\\n            docbook-xsl \\\n            git \\\n            ldap-utils \\\n            libaudit-dev \\\n            libcap-ng-dev \\\n            libdbus-glib-1-dev \\\n            libldap-dev \\\n            libpolkit-gobject-1-dev \\\n            libprotobuf-dev \\\n            libqb-dev \\\n            libseccomp-dev \\\n            libsodium-dev \\\n            libtool \\\n            libxml2-utils \\\n            libumockdev-dev \\\n            pkg-config \\\n            protobuf-compiler \\\n            sudo \\\n            systemd \\\n            tao-pegtl-dev \\\n            xsltproc\nADD usbguard.tar usbguard/\nWORKDIR usbguard\nRUN git init &>/dev/null && ./autogen.sh\nRUN ./configure --enable-systemd || ! cat config.log\nRUN make dist\nRUN tar xf usbguard-*.tar.gz\nRUN mv -v usbguard-*.*.*/ usbguard-release/\nRUN mkdir usbguard-release/build/\nWORKDIR usbguard-release/build/\nRUN ../configure --enable-systemd || ! cat config.log\nRUN bash -c 'set -o pipefail; make V=1 \"-j$(nproc)\" |& tee build.log'\nRUN ! grep -F 'include file not found' build.log\nRUN make V=1 check || { cat src/Tests/test-suite.log ; false ; }\n"
  },
  {
    "path": "scripts/docker/build_on_ubuntu_25_04.Dockerfile",
    "content": "##\n## Copyright (c) 2025 Sebastian Pipping <sebastian@pipping.org>\n##\n## This program is free software; you can redistribute it and/or modify\n## it under the terms of the GNU General Public License as published by\n## the Free Software Foundation; either version 2 of the License, or\n## (at your option) any later version.\n##\n## This program is distributed in the hope that it will be useful,\n## but WITHOUT ANY WARRANTY; without even the implied warranty of\n## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n## GNU General Public License for more details.\n##\n## You should have received a copy of the GNU General Public License\n## along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nFROM ubuntu:25.04\nRUN apt-get update \\\n        && \\\n    DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --yes -V \\\n            asciidoc \\\n            autoconf \\\n            automake \\\n            bash-completion \\\n            build-essential \\\n            catch2 \\\n            docbook-xml \\\n            docbook-xsl \\\n            g++-15 \\\n            gcc-15 \\\n            git \\\n            ldap-utils \\\n            libaudit-dev \\\n            libcap-ng-dev \\\n            libdbus-glib-1-dev \\\n            libldap-dev \\\n            libpolkit-gobject-1-dev \\\n            libprotobuf-dev \\\n            libqb-dev \\\n            libseccomp-dev \\\n            libsodium-dev \\\n            libtool \\\n            libxml2-utils \\\n            libumockdev-dev \\\n            pkg-config \\\n            protobuf-compiler \\\n            sudo \\\n            systemd-dev \\\n            tao-pegtl-dev \\\n            xsltproc\nADD usbguard.tar usbguard/\nWORKDIR usbguard\nRUN git init &>/dev/null && ./autogen.sh\nRUN ./configure --enable-systemd CC=gcc-15 CXX=g++-15 || ! cat config.log\nRUN make dist\nRUN tar xf usbguard-*.tar.gz\nRUN mv -v usbguard-*.*.*/ usbguard-release/\nRUN mkdir usbguard-release/build/\nWORKDIR usbguard-release/build/\nRUN ../configure --enable-systemd CC=gcc-15 CXX=g++-15 || ! cat config.log\nRUN bash -c 'set -o pipefail; make V=1 \"-j$(nproc)\" |& tee build.log'\nRUN ! grep -F 'include file not found' build.log\nRUN make V=1 check || { cat src/Tests/test-suite.log ; false ; }\n"
  },
  {
    "path": "scripts/ldap/ldap.sh",
    "content": "#!/bin/bash\n\nset -e\n\nBASE=\"dc=example,dc=com\"\nUSER=\"cn=Manager,$BASE\"\n\nHOST=\"192.168.122.83\"\nPASS=\"passme\"\n\nping -q -c 1 $HOST 2>&1 >/dev/null\n\nif [ \"$1\" = \"delete\" ]; then\n  ldapdelete -H \"ldap://${HOST}/\" -D $USER -w $PASS -r $BASE\n  exit\nfi\n\nif [ \"$1\" = \"setup\" ]; then\n  ldapadd -v -H \"ldap://${HOST}/\" -D $USER -w $PASS -f ./setup.ldif\n  exit\nfi\n\nif [ \"$1\" = \"policy\" ]; then\n  POLICY='./usbguard-policy.ldif'\n  if [ \"$2\" ]; then\n    POLICY=$2\n  fi\n  ldapadd -v -H \"ldap://${HOST}/\" -D $USER -w $PASS -f $POLICY\n  exit\nfi\n\nif [ \"$1\" = \"search\" ]; then\n  FILTER='objectclass=*'\n  if [ \"$2\" ]; then\n    FILTER=$2\n  fi\n  ldapsearch -H \"ldap://${HOST}/\" -D $USER -b $BASE -w $PASS $FILTER\n  exit\nfi\n"
  },
  {
    "path": "scripts/ldap/schema2ldif.pl",
    "content": "#!/usr/bin/env perl\n# Converts OpenLDAP schema from traditional slapd.conf format to LDIF format\n# usable for importing into cn=config.\n#\n# Copyright (c) 2012-2016 Mantas Mikulėnas <grawity@gmail.com>\n# Released under the MIT license <https://spdx.org/licenses/MIT>\n\nuse warnings;\nuse strict;\n\nmy $name = shift(@ARGV) // \"UNNAMED-SCHEMA\";\nmy $unwrap = 0;\n\nprint \"dn: cn=$name,cn=schema,cn=config\\n\";\nprint \"objectClass: olcSchemaConfig\\n\";\n\nmy $key;\nmy $value;\n\nwhile (<STDIN>) {\n\tif (/^(attributeType(?:s)?|objectClass(?:es)?) (.+)$/i) {\n\t\tif ($key && $value) {\n\t\t\tprint \"$key: $value\\n\";\n\t\t}\n\t\t($key, $value) = ($1, $2);\n\t\tif ($key =~ /^attributeType(s)?$/i) {\n\t\t\t$key = \"olcAttributeTypes\";\n\t\t} elsif ($key =~ /^objectClass(es)?$/i) {\n\t\t\t$key = \"olcObjectClasses\";\n\t\t} else {\n\t\t\t$key = \"olc$key\";\n\t\t}\n\t}\n\telsif (/^\\s+(.+)$/) {\n\t\tif ($unwrap) {\n\t\t\t$value .= \" $1\";\n\t\t} else {\n\t\t\t$value .= \"\\n $&\";\n\t\t}\n\t}\n\telsif (/^#.*/) {\n\t\tprint \"$&\\n\";\n\t}\n\telsif (/.+/) {\n\t\twarn \"$.:unrecognized input line: $&\\n\";\n\t}\n}\nif ($key && $value) {\n\tprint \"$key: $value\\n\";\n}\n"
  },
  {
    "path": "scripts/ldap/setup.ldif",
    "content": "dn: dc=test,dc=com\nobjectclass: dcObject\nobjectclass: organization\ndc: test\no: \"Test server\"\n\ndn: ou=USBGuard,dc=test,dc=com\nobjectClass: top\nobjectClass: organizationalUnit\nou: USBGuard\n"
  },
  {
    "path": "scripts/ldap/usbguard-policy.ldif",
    "content": "dn: cn=Rule1,ou=USBGuard,dc=test,dc=com\nobjectClass: USBGuardPolicy\nobjectClass: top\ncn: Rule1\nRuleType: allow\nUSBGuardHost: Axis\nUSBGuardOrder: 0\nDeviceID: 1038:1702\nDeviceSerial: \"\"\nDeviceWithConnectType: \"hotplug\"\nDeviceName: \"SteelSeries Rival 100 Gaming Mouse\"\nDeviceHash: \"Ty9aMqdLp96HdR+3R3oFUeWy250MhWmb8zznl5+uHWk=\"\nDeviceParentHash: \"OkrTUwAUxn55t8+ezGtkhdgxjz9TIluGUS+bjFE+iC4=\"\nDeviceViaPort: \"2-3\"\n\n\ndn: cn=Rule2,ou=USBGuard,dc=test,dc=com\nobjectClass: USBGuardPolicy\nobjectClass: top\ncn: Rule2\nRuleType: allow\nUSBGuardHost: *\nUSBGuardHost: !Axis\nUSBGuardOrder: 1\nDeviceID: 1038:1702\nDeviceSerial: \"\"\nDeviceName: \"Keyboard...\"\nDeviceHash: \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=\"\nDeviceParentHash: \"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb=\"\nDeviceWithInterface: { 03:01:01 03:00:00 03:00:00 }\n\ndn: cn=Rule3,ou=USBGuard,dc=test,dc=com\nobjectClass: USBGuardPolicy\nobjectClass: top\ncn: Rule3\nRuleType: allow\nUSBGuardHost: *\nUSBGuardOrder: 6\nDeviceID: 1038:1702\nDeviceSerial: \"\"\nDeviceName: \"Flash\"\nDeviceHash: \"ccccccccccccccccccccccccccccccccccccccccccccc=\"\nDeviceParentHash: \"ddddddddddddddddddddddddddddddddddddddddddddd=\"\n\ndn: cn=Rule4,ou=USBGuard,dc=test,dc=com\nobjectClass: USBGuardPolicy\nobjectClass: top\ncn: Rule4\nRuleType: allow\nUSBGuardHost: *\nUSBGuardOrder: 2\n"
  },
  {
    "path": "scripts/ldap/usbguard.ldif",
    "content": "dn: cn=usbguard,cn=schema,cn=config\nobjectClass: olcSchemaConfig\ncn: usbguard\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.1\n   NAME 'USBGuardRuleTarget'\n   DESC 'Hostname for USBGuard host'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.2\n   NAME 'USBGuardHost'\n   DESC 'Hostname for USBGuard host'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.3\n   NAME 'USBGuardRuleOrder'\n   DESC 'an integer to order the USBGuard Policy entries'\n   EQUALITY integerMatch\n   ORDERING integerOrderingMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.4\n   NAME 'USBID'\n   DESC 'USB device ID'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.5\n   NAME 'USBSerial'\n   DESC 'USB device Serial'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.6\n   NAME 'USBWithConnectType'\n   DESC 'USB device With-Connect-Type'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.7\n   NAME 'USBName'\n   DESC 'USB device Name'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.8\n   NAME 'USBHash'\n   DESC 'USB device hash'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.9\n   NAME 'USBParentHash'\n   DESC 'USB device ParentHash'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.10\n   NAME 'USBViaPort'\n   DESC 'USB device ViaPort'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.11\n   NAME 'USBWithInterface'\n   DESC 'USB device With-Interface'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.12\n   NAME 'USBGuardRuleCondition'\n   DESC 'Condition'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcObjectClasses: ( 1.3.6.1.4.1.15955.9.1.1 NAME 'USBGuardPolicy' SUP top STRUCTURAL\n   DESC 'USBGuard Policy'\n   MUST ( cn $ USBGuardRuleTarget $ USBGuardHost $ USBGuardRuleOrder )\n   MAY  ( USBID $ USBSerial $ USBWithConnectType $ USBName $ USBHash $ USBParentHash $ USBViaPort $ USBWithInterface $ USBGuardRuleCondition $ description )\n   )\n"
  },
  {
    "path": "scripts/ldap/usbguard.schema",
    "content": "attributetype ( 1.3.6.1.4.1.15955.9.1.1\n  NAME 'USBGuardRuleTarget'\n  DESC 'Hostname for USBGuard host'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.2\n  NAME 'USBGuardHost'\n  DESC 'Hostname for USBGuard host'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.3\n  NAME 'USBGuardRuleOrder'\n  DESC 'an integer to order the USBGuard Policy entries'\n  EQUALITY integerMatch\n  ORDERING integerOrderingMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.4\n  NAME 'USBID'\n  DESC 'USB device ID'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.5\n  NAME 'USBSerial'\n  DESC 'USB device Serial'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.6\n  NAME 'USBWithConnectType'\n  DESC 'USB device With-Connect-Type'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.7\n  NAME 'USBName'\n  DESC 'USB device Name'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.8\n  NAME 'USBHash'\n  DESC 'USB device hash'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.9\n  NAME 'USBParentHash'\n  DESC 'USB device ParentHash'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.10\n  NAME 'USBViaPort'\n  DESC 'USB device ViaPort'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.11\n  NAME 'USBWithInterface'\n  DESC 'USB device With-Interface'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.12\n  NAME 'USBGuardRuleCondition'\n  DESC 'Condition'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nobjectclass ( 1.3.6.1.4.1.15955.9.1.1 NAME 'USBGuardPolicy' SUP top STRUCTURAL\n  DESC 'USBGuard Policy'\n  MUST ( cn $ USBGuardRuleTarget $ USBGuardHost $ USBGuardRuleOrder )\n  MAY  ( USBID $ USBSerial $ USBWithConnectType $ USBName $ USBHash $ USBParentHash $ USBViaPort $ USBWithInterface $ USBGuardRuleCondition $ description )\n  )\n"
  },
  {
    "path": "scripts/modeline.vim",
    "content": "set ts=2 sw=2 et\n"
  },
  {
    "path": "scripts/reformat-sources.sh",
    "content": "#!/bin/bash\n#\n# Copyright (C) 2017 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Daniel Kopecek <dkopecek@redhat.com>\n#\nPROJECT_ROOT=\"$(dirname \"$0\")/../\"\nASTYLE=\"${PROJECT_ROOT}/scripts/astyle.sh\"\n\necho\necho \" PLEASE READ:\"\necho \" ============\"\necho \" This script requires AStyle version 3 and above.\"\necho \" Older versions won't work correctly (or not at all).\"\necho \" ============\"\necho\n\nset -ex\n\nfind \"${PROJECT_ROOT}/src\" \\\n\t-type f -not -path '*ThirdParty/*' \\\n\t-not \\( -name \\*.pb.h -o -name build-config.h \\) \\\n\t\\( -name '*.cpp' -or -name '*.hpp' -or -name '*.c' -or -name '*.h' \\) \\\n\t-exec \"${ASTYLE}\" --preserve-date --suffix=none --lineend=linux --formatted \"{}\" \\;\n"
  },
  {
    "path": "scripts/rule-generator.sh",
    "content": "#!/bin/sh\n#\n# Copyright (C) 2016 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Daniel Kopecek <dkopecek@redhat.com>\n#\nTARGET=(allow block reject)\n\nfunction generate_target {\n  echo -n ${TARGET[$RANDOM % 3]}\n}\n\nOPERATORS=(equals one-of none-of all-of equals-ordered match-all)\n\nfunction generate_hex {\n  size=$1\n  cat /dev/urandom | tr -d -c '[:xdigit:]' | head -c $size\n}\n\nfunction generate_interface_type {\n  case $(( RANDOM % 3 )) in\n    0)\n      generate_hex 2\n      echo -n ':'\n      generate_hex 2\n      echo -n ':'\n      generate_hex 2\n      ;;\n    1)\n      generate_hex 2\n      echo -n ':'\n      generate_hex 2\n      echo -n ':*'\n      ;;\n    2)\n      generate_hex 2\n      echo -n ':*:*'\n      ;;\n  esac\n}\n\nfunction generate_device_id {\n  generate_hex 4\n  echo -n \":\"\n  (( RANDOM % 2 )) && generate_hex 4 || echo -n '*'\n}\n\nfunction generate_string {\n  if [[ -n \"$1\" ]]; then\n    size=$1\n  else\n    size=8\n  fi\n  cat /dev/urandom | tr -d -c '[:print:]' | tr -d '\"\\\\()' | head -c $size\n}\n\nfunction generate_dq_string {\n  echo -n '\"'\n  generate_string\n  echo -n '\"'\n}\n\nfunction generate_operator {\n  echo -n ${OPERATORS[$RANDOM % 5]}\n}\n\nfunction generate_set {\n  if [ -n \"$2\" ]; then\n    size=$2\n  else\n    size=$((RANDOM % 8 + 1))\n  fi\n  (( RANDOM % 2 )) && (generate_operator && echo -n \" \")\n  echo -n \"{ \"\n  for i in $(seq $size); do\n    $1\n    echo -n \" \"\n  done\n  echo -n \"}\"\n}\n\nfunction generate_string_attribute {\n  name=$1\n  echo -n $name\n  echo -n \" \"\n  case $((RANDOM % 2)) in\n    0)\n      generate_dq_string\n      ;;\n    1)\n      generate_set generate_dq_string\n      ;;\n  esac\n}\n\nfunction generate_interface_attribute {\n  echo -n \"with-interface\"\n  echo -n \" \"\n  case $((RANDOM % 2)) in\n    0)\n      generate_interface_type\n      ;;\n    1)\n      generate_set generate_interface_type\n      ;;\n  esac\n}\n\nfunction generate_id_attribute {\n  echo -n \"id\"\n  echo -n \" \"\n  case $((RANDOM % 2)) in\n    0)\n      generate_device_id\n      ;;\n    1)\n      generate_set generate_device_id\n      ;;\n  esac\n}\n\ngenerated=(0 0 0 0 0 0 0)\n\nfunction generate_attribute {\n  while true; do\n    rnd=$((RANDOM % 7))\n    if [ ${generated[$rnd]} -eq 0 ]; then\n      generated[$rnd]=1\n      break\n    fi\n  done\n  case \"$rnd\" in\n    0)\n      generate_string_attribute \"name\"\n      ;;\n    1)\n      generate_string_attribute \"hash\"\n      ;;\n    2)\n      generate_string_attribute \"parent-hash\"\n      ;;\n    3)\n      generate_string_attribute \"serial\"\n      ;;\n    4)\n      generate_string_attribute \"via-port\"\n      ;;\n    5)\n      generate_interface_attribute\n      ;;\n    6)\n      generate_id_attribute\n      ;;\n  esac\n}\n\nfunction generate_condition {\n  case $((RANDOM % 13)) in\n    0)\n      echo -n \"if true\"\n      ;;\n    1)\n      echo -n \"if !true\"\n      ;;\n    2)\n      echo -n \"if false\"\n      ;;\n    3)\n      echo -n \"if !false\"\n      ;;\n    4)\n      echo -n \"if localtime(1:00)\"\n      ;;\n    5)\n      echo -n \"if !localtime(2:00)\"\n      ;;\n    6)\n      echo -n \"if \"\n      generate_operator\n      echo -n \" { true false !true false }\"\n      ;;\n    8)\n      echo -n \"if random\"\n      ;;\n    9)\n      echo -n \"if random(0.4)\"\n      ;;\n    10)\n      echo -n \"if rule-applied\"\n      ;;\n    11)\n      echo -n \"if rule-evaluated\"\n      ;;\n    12)\n      echo -n \"if allowed-matches(name \"\n      generate_dq_string\n      echo -n \")\"\n      ;;\n  esac\n}\n\nfunction generate_rule {\n  num_attributes=$1\n\n  generate_target\n  echo -n \" \"\n  for i in $(seq $num_attributes); do\n    generate_attribute\n    echo -n \" \"\n  done\n  (( RANDOM % 2 )) && (echo -n ' '; generate_condition)\n}\n\nif [ -n \"$1\" ]; then\n  num_attributes=$1\nelse\n  num_attributes=$((RANDOM % 7 + 1))\nfi\n\ngenerate_rule $num_attributes\necho\n"
  },
  {
    "path": "scripts/usb-descriptor-collect.sh",
    "content": "#!/bin/bash\n#\n# Copyright (C) 2016 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Daniel Kopecek <dkopecek@redhat.com>\n#\nset -e -o pipefail\n\nSED=$(which sed)\nFIND=$(which find)\nLSUSB=$(which lsusb)\nSHA1SUM=$(which sha1sum)\nTAR=$(which tar)\nMKTEMP=$(which mktemp)\nCP=$(which cp)\nWC=$(which wc)\nRM=$(which rm)\n\nTEMPDIR=$($MKTEMP -d --tmpdir usb-descriptor-collect.XXXXXX || (echo \"Failed to create temporary directory\"; exit 1))\nROOTDIR=\"$TEMPDIR/usb-descriptor-data\"\n\nmkdir $ROOTDIR || (echo \"Failed to create data root directory: $ROOTDIR\"; exit 1)\n\nfor dev_syspath in $($FIND /sys/bus/usb/devices/ -regex '.*/[0-9]+-[0-9]+\\(\\.[0-9]+\\)*$' -o -regex '.*/usb[0-9]+$'); do\n  echo \"Collecting data from $dev_syspath\"\n  pushd \"$dev_syspath\"\n  dev_bus=$(< busnum)\n  dev_num=$(< devnum)\n  echo \" busnum: $dev_bus\"\n  echo \" devnum: $dev_num\"\n  count_c=$($LSUSB -s $dev_bus:$dev_num -v 2> /dev/null | $SED -n 's|Configuration Descriptor|&|p' | $WC -l)\n  count_i=$($LSUSB -s $dev_bus:$dev_num -v 2> /dev/null | $SED -n 's|Interface Descriptor|&|p' | $WC -l)\n  count_e=$($LSUSB -s $dev_bus:$dev_num -v 2> /dev/null | $SED -n 's|Endpoint Descriptor|&|p' | $WC -l)\n  echo \" count_c: $count_c\"\n  echo \" count_i: $count_i\"\n  echo \" count_e: $count_e\"\n  descriptor_hash=$($SHA1SUM descriptors | $SED -n 's|^\\([a-fA-F0-9]\\{40\\}\\).*$|\\1|p')\n  echo \" hash: $descriptor_hash\"\n  echo \"count_c: $count_c\" >  \"$ROOTDIR/$descriptor_hash.log\"\n  echo \"count_i: $count_i\" >> \"$ROOTDIR/$descriptor_hash.log\"\n  echo \"count_e: $count_e\" >> \"$ROOTDIR/$descriptor_hash.log\"\n  $CP -f descriptors \"$ROOTDIR/$descriptor_hash.bin\"\n  popd\ndone\n\nARCHIVE_PATH=\"$TEMPDIR/usb-descriptor-data.tar.gz\"\n\necho \"Creating data archive: $ARCHIVE_PATH\"\npushd \"$TEMPDIR\"\n$TAR zcvf $ARCHIVE_PATH usb-descriptor-data\npopd\n$RM -rf \"$TEMPDIR/usb-descriptor-data\"\n\necho \"=========================================\"\necho\necho \" Data collection complete!\"\necho \" Please send the data archive to dnk.usbdev@gmail.com\"\necho\necho \" Archive path: $ARCHIVE_PATH\"\necho\necho \" Thanks!\"\necho\necho \"=========================================\"\n\n"
  },
  {
    "path": "scripts/usbguard-zsh-completion",
    "content": "#compdef usbguard\n#autoload\n\n# usbguard completion, based on cli help text\n\nlocal curcontext=\"$curcontext\" state line ret=1\nlocal -a _command_args\nlocal -a _global_args\nlocal -a _subcommands\n\nlocal IFS=$'\\n'\n_global_args=($(usbguard advanced | grep '^\\s*--' | sed -r 's/^[\\t ]*(--[^\\t ,]+)( [^\\t ,]*)?,? ?(--?[^\\t ]+)?[\\t ]*(.*)$/(\\3)\\1[\\4]/'))\n\n_arguments -C -A \"-v\" -A \"--version\"\\\n  '(- 1 *)'{-v,--version}'[display version information]' \\\n  '1: :->cmds' \\\n  $_global_args \\\n  '*:: :->args' && ret=0\n\ncase $state in\n  cmds)\n    _subcommands=(\n      \"get-parameter:Get the value of a runtime parameter.\"\n      \"set-parameter:Set the value of a runtime parameter.\"\n      \"list-devices:List all USB devices recognized by the USBGuard daemon.\"\n      \"allow-device:Authorize a device to interact with the system.\"\n      \"block-device:Deauthorize a device.\"\n      \"reject-device:Deauthorize and remove a device from the system.\"\n      \"list-rules:List the rule set (policy) used by the USBGuard daemon.\"\n      \"append-rule:Append a rule to the rule set.\"\n      \"remove-rule:Remove a rule from the rule set.\"\n      \"generate-policy:Generate a rule set (policy) based on the connected USB devices.\"\n      \"watch:Watch for IPC interface events and print them to stdout.\"\n      \"read-descriptor:Read a USB descriptor from a file and print it in human-readable form.\"\n      \"add-user:Add USBGuard IPC user/group (requires root privileges)\"\n      \"remove-user:Remove USBGuard IPC user/group (requires root privileges)\"\n    )\n    _describe -t subcommands 'usbguard subcommands' _subcommands && ret=0\n    ;;\n  args)\n    case $line[1] in\n      help)\n        _values 'commands' \\\n          'get-parameter' \\\n          'set-parameter' \\\n          'list-devices' \\\n          'allow-device' \\\n          'block-device' \\\n          'reject-device' \\\n          'list-rules' \\\n          'append-rule' \\\n          'remove-rule' \\\n          'generate-policy' \\\n          'watch' \\\n          'read-descriptor' \\\n          'add-user' \\\n          'remove-user' && ret=0\n        ;;\n      get-parameter)\n        _values \"command\" \\\n          '<name>[name]'\n        _command_args=( \\\n          '(--help)--help[Show help]'\n        )\n        ;;\n      set-parameter)\n        _values \"command\" \\\n          '<name>[name]' \\\n          '<value>[value]'\n        _command_args=( \\\n          '(--verbose)--verbose[Print the previous and new attribute value]' \\\n          '(--help)--help[Show help]'\n        )\n        ;;\n      list-devices)\n        _command_args=( \\\n          '(--allowed)--allowed[List allowed devices]' \\\n          '(--blocked)--blocked[List blocked devices]' \\\n          '(--help)--help[Show help]'\n        )\n        ;;\n      allow-device)\n        _values \"command\" \\\n          '<id>[device-id]'\n        _command_args=( \\\n          '(--permanent)--permanent[Make the decision permanent]' \\\n          '(--help)--help[Show help]'\n        )\n        ;;\n      block-device)\n        _values \"command\" \\\n          '<id>[device-id]'\n        _command_args=( \\\n          '(--permanent)--permanent[Make the decision permanent]' \\\n          '(--help)--help[Show help]'\n        )\n        ;;\n      reject-device)\n        _values \"command\" \\\n          '<id>[device-id]'\n        _command_args=( \\\n          '(--permanent)--permanent[Make the decision permanent]' \\\n          '(--help)--help[Show help]'\n        )\n        ;;\n      list-rules)\n        _command_args=( \\\n          '(--help)--help[Show help]'\n        )\n        ;;\n      append-rule)\n        _values \"command\" \\\n          '<rule>[rule]'\n        _command_args=( \\\n          '(--after)--after <id>[Append the new rule after a rule with the specified id instead of appending it]' \\\n          '(--help)--help[Show help]'\n        )\n        ;;\n      remove-rule)\n        _values \"command\" \\\n          '<id>[device-id]'\n        _command_args=( \\\n          '(--help)--help[Show help]'\n        )\n        ;;\n      generate-policy)\n        _command_args=( \\\n          '(--with-ports-sn)--with-ports-sn[Generate port specific rules for all devices]' \\\n          '(--no-ports-sn)--no-ports-sn[Do not generate port specific rule for devices without an iSerial value]' \\\n          '(--target)--target <T>[Generate an explicit \"catch all\" rule with the specified target (allow, block, reject)]' \\\n          '(--no-hashes)--no-hashes[Do not generate a hash attribute for each device]' \\\n          '(--hash-only)--hash-only[Generate a hash-only policy]' \\\n          '(--help)--help[Show help]'\n        )\n        ;;\n      get-parameter)\n        _command_args=( \\\n          '(--wait)--wait[Wait for IPC connection to become available]' \\\n          '(--once)--once[Wait only when starting, if needed. Exit when the connection is lost]' \\\n          '(--help)--help[Show help]'\n        )\n        ;;\n      read-descriptor)\n        _values \"command\" \\\n          '<name>[name]'\n        _command_args=( \\\n          '(--help)--help[Show help]'\n        )\n        ;;\n      add-user)\n        _values \"command\" \\\n          '<name>[name]'\n        _command_args=( \\\n          '(--user)--user[The specified name represents a username or UID (default)]' \\\n          '(--group)--group[The specified name represents a groupname or GID]' \\\n          '(--policy)--policy <privileges>[Policy related privileges]' \\\n          '(--devices)--devices <privileges>[Device related privileges]' \\\n          '(--exceptions)--exceptions <privileges>[Exceptions related privileges]' \\\n          '(--parameters)--parameters <privileges>[Run-time parameter related privileges]' \\\n          '(--no-root-check)--no-root-check[Disable root privileges checking]' \\\n          '(--help)--help[Show help]'\n        )\n        ;;\n      remove-user)\n        _values \"command\" \\\n          '<name>[name]'\n        _command_args=( \\\n          '(--user)--user[The specified name represents a username or UID (default)]' \\\n          '(--group)--group[The specified name represents a groupname or GID]' \\\n          '(--no-root-check)--no-root-check[Disable root privileges checking]' \\\n          '(--help)--help[Show help]'\n        )\n        ;;\n    esac\n    ;;\nesac\n\n_arguments \\\n  $_command_args \\\n  &&  ret=0\n\nreturn ret\n"
  },
  {
    "path": "src/.gitignore",
    "content": "/build-config.h\n/build-config.h.in\n"
  },
  {
    "path": "src/CLI/IPCSignalWatcher.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"IPCSignalWatcher.hpp\"\n#include \"usbguard/Exception.hpp\"\n\n#include <iostream>\n\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <sys/wait.h>\n#include <fcntl.h>\n#include <unistd.h>\n\nnamespace usbguard\n{\n  IPCSignalWatcher::~IPCSignalWatcher()\n  {\n    if (hasOpenExecutable()) {\n      closeExecutable();\n    }\n  }\n\n  void IPCSignalWatcher::setExecutable(const std::string& path)\n  {\n    if (hasOpenExecutable()) {\n      closeExecutable();\n    }\n\n    openExecutable(path);\n  }\n\n  void IPCSignalWatcher::IPCConnected()\n  {\n    std::cout << \"[IPC] Connected\" << std::endl;\n\n    if (hasOpenExecutable()) {\n      const std::map<std::string, std::string> env = {\n        { \"USBGUARD_IPC_SIGNAL\", \"IPC.Connected\" }\n      };\n      runExecutable(env);\n    }\n  }\n\n  void IPCSignalWatcher::IPCDisconnected(bool exception_initiated, const IPCException& exception)\n  {\n    std::cout << \"[IPC] Disconnected: exception_initiated=\" << exception_initiated;\n\n    if (exception_initiated) {\n      std::cout << \" message=\" << exception.message();\n    }\n\n    std::cout << std::endl;\n\n    if (hasOpenExecutable()) {\n      const std::map<std::string, std::string> env = {\n        { \"USBGUARD_IPC_SIGNAL\", \"IPC.Disconnected\" },\n        { \"USBGUARD_MESSAGE\", exception_initiated ? exception.message() : \"\" }\n      };\n      runExecutable(env);\n    }\n  }\n\n  void IPCSignalWatcher::DevicePresenceChanged(uint32_t id,\n    DeviceManager::EventType event,\n    Rule::Target target,\n    const std::string& device_rule)\n  {\n    std::cout << \"[device] PresenceChanged: id=\" << id << std::endl;\n    std::cout << \" event=\" << DeviceManager::eventTypeToString(event) << std::endl;\n    std::cout << \" target=\" << Rule::targetToString(target) << std::endl;\n    std::cout << \" device_rule=\" << device_rule << std::endl;\n\n    if (hasOpenExecutable()) {\n      const std::map<std::string, std::string> env = {\n        { \"USBGUARD_IPC_SIGNAL\", \"Device.PresenceChanged\" },\n        { \"USBGUARD_DEVICE_ID\", std::to_string(id) },\n        { \"USBGUARD_DEVICE_EVENT\", DeviceManager::eventTypeToString(event) },\n        { \"USBGUARD_DEVICE_TARGET\", Rule::targetToString(target) },\n        { \"USBGUARD_DEVICE_RULE\", device_rule }\n      };\n      runExecutable(env);\n    }\n  }\n\n  void IPCSignalWatcher::DevicePolicyChanged(uint32_t id,\n    Rule::Target target_old,\n    Rule::Target target_new,\n    const std::string& device_rule,\n    uint32_t rule_id)\n  {\n    std::cout << \"[device] PolicyChanged: id=\" << id << std::endl;\n    std::cout << \" target_old=\" << Rule::targetToString(target_old) << std::endl;\n    std::cout << \" target_new=\" << Rule::targetToString(target_new) << std::endl;\n    std::cout << \" device_rule=\" << device_rule << std::endl;\n    std::cout << \" rule_id=\" << rule_id << std::endl;\n\n    if (hasOpenExecutable()) {\n      const std::map<std::string, std::string> env = {\n        { \"USBGUARD_IPC_SIGNAL\", \"Device.PolicyChanged\" },\n        { \"USBGUARD_DEVICE_ID\", std::to_string(id) },\n        { \"USBGUARD_DEVICE_TARGET_OLD\", Rule::targetToString(target_old) },\n        { \"USBGUARD_DEVICE_TARGET_NEW\", Rule::targetToString(target_new) },\n        { \"USBGUARD_DEVICE_RULE\", device_rule },\n        { \"USBGUARD_DEVICE_RULE_ID\", std::to_string(rule_id) }\n      };\n      runExecutable(env);\n    }\n  }\n\n  void IPCSignalWatcher::DevicePolicyApplied(uint32_t id,\n    Rule::Target target_new,\n    const std::string& device_rule,\n    uint32_t rule_id)\n  {\n    std::cout << \"[device] PolicyApplied: id=\" << id << std::endl;\n    std::cout << \" target_new=\" << Rule::targetToString(target_new) << std::endl;\n    std::cout << \" device_rule=\" << device_rule << std::endl;\n    std::cout << \" rule_id=\" << rule_id << std::endl;\n\n    if (hasOpenExecutable()) {\n      const std::map<std::string, std::string> env = {\n        { \"USBGUARD_IPC_SIGNAL\", \"Device.PolicyApplied\" },\n        { \"USBGUARD_DEVICE_ID\", std::to_string(id) },\n        { \"USBGUARD_DEVICE_TARGET_NEW\", Rule::targetToString(target_new) },\n        { \"USBGUARD_DEVICE_RULE\", device_rule },\n        { \"USBGUARD_DEVICE_RULE_ID\", std::to_string(rule_id) }\n      };\n      runExecutable(env);\n    }\n  }\n\n  void IPCSignalWatcher::PropertyParameterChanged(const std::string& name,\n    const std::string& value_old,\n    const std::string& value_new)\n  {\n    std::cout << \"[property] ParameterChanged: name=\" << name << std::endl;\n    std::cout << \" value_old=\" << value_old << std::endl;\n    std::cout << \" value_new=\" << value_new << std::endl;\n\n    if (hasOpenExecutable()) {\n      const std::map<std::string, std::string> env = {\n        { \"USBGUARD_IPC_SIGNAL\", \"Property.ParameterChanged\" },\n        { \"USBGUARD_PROPERTY_NAME\", name },\n        { \"USBGUARD_PROPERTY_VALUE_OLD\", value_old },\n        { \"USBGUARD_PROPERTY_VALUE_NEW\", value_new }\n      };\n      runExecutable(env);\n    }\n  }\n\n  void IPCSignalWatcher::openExecutable(const std::string& path)\n  {\n    const int fd = ::open(path.c_str(), O_RDONLY);\n\n    if (fd < 0) {\n      throw ErrnoException(\"openExecutable\", path, errno);\n    }\n\n    struct ::stat st = { };\n\n    if (::fstat(fd, &st) != 0) {\n      ::close(fd);\n      throw ErrnoException(\"openExecutable\", path, errno);\n    }\n\n    if (!S_ISREG(st.st_mode) || !(st.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH))) {\n      ::close(fd);\n      throw Exception(\"openExecutable\", path, \"not an executable file\");\n    }\n\n    _exec_path = path;\n    _exec_path_fd = fd;\n  }\n\n  void IPCSignalWatcher::closeExecutable()\n  {\n    _exec_path.clear();\n    (void)::close(_exec_path_fd);\n  }\n\n  bool IPCSignalWatcher::hasOpenExecutable() const\n  {\n    return (_exec_path_fd >= 0);\n  }\n\n  void IPCSignalWatcher::runExecutable(const std::map<std::string, std::string>& environment)\n  {\n    /*\n     * Fork child process, that will fork again and exec.\n     */\n    const ::pid_t pid_fork1 = fork();\n\n    if (pid_fork1 == -1) {\n      std::cerr << \"ERROR: runExecutable: \" << strerror(errno) << std::endl;\n      return;\n    }\n\n    if (pid_fork1 > 0) {\n      /*\n       * Wait for the intermediary process to fork and exit. In case something\n       * fails in the intermediary process, we can retrieve the error code from\n       * the return status.\n       */\n      int fork1_status = -1;\n      const ::pid_t pid_waited = ::waitpid(pid_fork1, &fork1_status, 0);\n\n      if (pid_waited == -1) {\n        std::cerr << \"ERROR: runExecutable: \"  << strerror(errno) << std::endl;\n      }\n      else if (WIFEXITED(fork1_status)) {\n        const int fork1_errno = WEXITSTATUS(fork1_status);\n\n        if (fork1_errno != 0) {\n          std::cerr << \"ERROR: runExecutable: \" << strerror(errno) << std::endl;\n        }\n      }\n      else if (WIFSIGNALED(fork1_status)) {\n        const int fork1_signal = WTERMSIG(fork1_status);\n        std::cerr << \"ERROR: runExecutable: terminated by signal \" << fork1_signal << std::endl;\n      }\n\n      return;\n    }\n\n    /*\n     * Intermediary process.\n     */\n    const ::pid_t sid = ::setsid();\n\n    if (sid == (::pid_t)-1) {\n      ::_exit(errno);\n    }\n\n    const ::pid_t pid_fork2 = fork();\n\n    if (pid_fork2 == (::pid_t)-1) {\n      ::_exit(errno);\n    }\n\n    if (pid_fork2 > 0) {\n      ::_exit(0);\n    }\n\n    char* const exec_argv[] = { &_exec_path[0], nullptr };\n    char** const exec_envp = createExecutableEnvironment(environment);\n    (void)::fexecve(_exec_path_fd, exec_argv, exec_envp);\n    const int saved_errno = errno;\n    destroyExecutableEnvironment(exec_envp);\n    _exit(saved_errno);\n  }\n\n  char** IPCSignalWatcher::createExecutableEnvironment(const std::map<std::string, std::string>& environment)\n  {\n    size_t environ_size = 0;\n\n    if (environ != nullptr) {\n      for (char** global_envp = environ; global_envp[0] != nullptr; ++global_envp) {\n        ++environ_size;\n      }\n    }\n\n    char** envp = new char* [environ_size + environment.size() + 1];\n    size_t i = 0;\n\n    for (; i < environ_size; ++i) {\n      envp[i] = cstrCopy(environ[i]);\n    }\n\n    for (const auto& map_entry : environment) {\n      std::string environ_value;\n      environ_value.append(map_entry.first);\n      environ_value.append(\"=\");\n      environ_value.append(map_entry.second);\n      envp[i++] = cstrCopy(environ_value.c_str());\n    }\n\n    envp[i] = nullptr;\n    return envp;\n  }\n\n  void IPCSignalWatcher::destroyExecutableEnvironment(char** const envp)\n  {\n    if (envp != nullptr) {\n      char** envp_current = envp;\n\n      while (envp_current[0] != nullptr) {\n        delete [] envp_current[0];\n        ++envp_current;\n      }\n\n      delete [] envp;\n    }\n  }\n\n  char* IPCSignalWatcher::cstrCopy(const char* c_str)\n  {\n    if (c_str == nullptr) {\n      return nullptr;\n    }\n\n    const auto c_str_len = ::strlen(c_str);\n    char* c_str_copy = new char [c_str_len + 1];\n    /*\n     * new throws std::bad_alloc on failure, no need\n     * to check the pointer.\n     */\n    ::memcpy(c_str_copy, c_str, c_str_len);\n    c_str_copy[c_str_len] = '\\0';\n    return c_str_copy;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/IPCSignalWatcher.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/IPCClient.hpp\"\n\nnamespace usbguard\n{\n  class IPCSignalWatcher : public IPCClient\n  {\n  public:\n    ~IPCSignalWatcher();\n\n    void setExecutable(const std::string& path);\n\n    void IPCConnected() override;\n    void IPCDisconnected(bool exception_initiated, const IPCException& exception) override;\n\n    void DevicePresenceChanged(uint32_t id,\n      DeviceManager::EventType event,\n      Rule::Target target,\n      const std::string& device_rule) override;\n\n    void DevicePolicyChanged(uint32_t id,\n      Rule::Target target_old,\n      Rule::Target target_new,\n      const std::string& device_rule,\n      uint32_t rule_id) override;\n\n    void DevicePolicyApplied(uint32_t id,\n      Rule::Target target_new,\n      const std::string& device_rule,\n      uint32_t rule_id) override;\n\n    void PropertyParameterChanged(const std::string& name,\n      const std::string& value_old,\n      const std::string& value_new) override;\n  private:\n    void openExecutable(const std::string& path);\n    void closeExecutable();\n    bool hasOpenExecutable() const;\n\n    void runExecutable(const std::map<std::string, std::string>& environment);\n    static char** createExecutableEnvironment(const std::map<std::string, std::string>& environment);\n    static void destroyExecutableEnvironment(char** const envp);\n    static char* cstrCopy(const char* c_str);\n\n    std::string _exec_path;\n    int _exec_path_fd {-1};\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/PolicyGenerator.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Radovan Sroka <rsroka@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"PolicyGenerator.hpp\"\n\nnamespace usbguard\n{\n\n  PolicyGenerator::PolicyGenerator()\n  {\n    _ruleset.push_back(std::dynamic_pointer_cast<RuleSet>(std::make_shared<MemoryRuleSet>(nullptr)));\n    _with_hash = true;\n    _hash_only = false;\n    _port_specific = false;\n    _port_specific_noserial = true;\n    _devpath = \"\";\n    _with_catchall = false;\n    _catchall_target = Rule::Target::Block;\n    _dm = DeviceManager::create(*this, \"uevent\");\n    _dm->setEnumerationOnlyMode(true);\n  }\n\n  void PolicyGenerator::setWithHashAttribute(bool state)\n  {\n    _with_hash = state;\n  }\n\n  void PolicyGenerator::setHashOnly(bool state)\n  {\n    _hash_only = state;\n  }\n\n  void PolicyGenerator::setPortSpecificRules(bool state)\n  {\n    _port_specific = state;\n  }\n\n  void PolicyGenerator::setPortSpecificNoSerialRules(bool state)\n  {\n    _port_specific_noserial = state;\n  }\n\n  void PolicyGenerator::generate()\n  {\n    if (_devpath.empty()) {\n      _dm->start();\n      _dm->scan();\n    }\n    else {\n      _dm->scan(_devpath);\n    }\n\n    if (_with_catchall) {\n      Rule catchall_rule;\n      catchall_rule.setTarget(_catchall_target);\n      _ruleset.front()->appendRule(catchall_rule);\n    }\n  }\n\n  const std::vector<std::shared_ptr<RuleSet>> PolicyGenerator::refRuleSet() const\n  {\n    return _ruleset;\n  }\n\n  void PolicyGenerator::setDevpath(const std::string& devpath)\n  {\n    _devpath = devpath;\n  }\n\n  void PolicyGenerator::setExplicitCatchAllRule(bool state, Rule::Target target)\n  {\n    _with_catchall = state;\n    _catchall_target = target;\n  }\n\n  void PolicyGenerator::dmHookDeviceEvent(DeviceManager::EventType event, std::shared_ptr<Device> device)\n  {\n    if (event != DeviceManager::EventType::Present) {\n      /*\n       * Ignore run-time device events\n       */\n      return;\n    }\n\n    bool port_specific = _port_specific;\n\n    /*\n     * If the the global \"port specific\" flag isn't\n     * set, check the \"no iSerial port specific\" flag\n     * applicability.\n     */\n    if (!port_specific && _port_specific_noserial) {\n      port_specific = device->getSerial().empty();\n    }\n\n    std::shared_ptr<Rule> rule = device->getDeviceRule(/*include_port=*/port_specific);\n\n    /* Remove everything but the hash value for hash-only rules */\n    if (_hash_only) {\n      std::shared_ptr<Rule> rule_hashonly(new Rule());\n      rule_hashonly->setRuleID(rule->getRuleID());\n      rule_hashonly->setHash(rule->getHash());\n      rule_hashonly->setParentHash(rule->getParentHash());\n\n      if (port_specific) {\n        rule_hashonly->attributeViaPort().set(rule->attributeViaPort().values(), Rule::SetOperator::Equals);\n      }\n\n      rule = rule_hashonly;\n    }\n    /* Remove the hash attributes if set to do so */\n    else if (!_with_hash) {\n      rule->attributeHash().clear();\n      rule->attributeParentHash().clear();\n    }\n\n    rule->setTarget(Rule::Target::Allow);\n    _ruleset.front()->appendRule(*rule);\n  }\n\n\n  uint32_t PolicyGenerator::dmHookAssignID()\n  {\n    return _ruleset.front()->assignID();\n  }\n\n  void PolicyGenerator::dmHookDeviceException(const std::string& message)\n  {\n    USBGUARD_LOG(Error) << message;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/PolicyGenerator.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Radovan Sroka <rsroka@redhat.com>\n//\n#pragma once\n\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/DeviceManager.hpp\"\n#include \"usbguard/DeviceManagerHooks.hpp\"\n#include \"usbguard/Rule.hpp\"\n#include \"usbguard/RuleSet.hpp\"\n#include \"usbguard/MemoryRuleSet.hpp\"\n\nnamespace usbguard\n{\n  class PolicyGenerator : public DeviceManagerHooks\n  {\n  public:\n    PolicyGenerator();\n\n    void setWithHashAttribute(bool state);\n    void setHashOnly(bool state);\n    void setPortSpecificRules(bool state);\n    void setPortSpecificNoSerialRules(bool state);\n    void setDevpath(const std::string& devpath);\n    void setExplicitCatchAllRule(bool state, Rule::Target target = Rule::Target::Block);\n\n    void generate();\n    const std::vector<std::shared_ptr<RuleSet>> refRuleSet() const;\n\n    void dmHookDeviceEvent(DeviceManager::EventType event, std::shared_ptr<Device> device) override;\n    uint32_t dmHookAssignID() override;\n    void dmHookDeviceException(const std::string& message) override;\n\n  private:\n    std::vector<std::shared_ptr<RuleSet>> _ruleset;\n    std::shared_ptr<DeviceManager> _dm;\n\n    bool _with_hash;\n    bool _hash_only;\n    bool _port_specific;\n    bool _port_specific_noserial;\n    std::string _devpath;\n    bool _with_catchall;\n    Rule::Target _catchall_target;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-add-user.cpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard.hpp\"\n#include \"usbguard-add-user.hpp\"\n\n#include \"usbguard/USBGuard.hpp\"\n#include \"usbguard/IPCServer.hpp\"\n\n#include <iostream>\n#include <unistd.h>\n#include <sys/stat.h>\n\nnamespace usbguard\n{\n  static const char* options_short = \"hugp:d:e:P:\";\n\n  static const struct ::option options_long[] = {\n    { \"help\", no_argument, nullptr, 'h' },\n    { \"user\", no_argument, nullptr, 'u' },\n    { \"group\", no_argument, nullptr, 'g' },\n    { \"policy\", required_argument, nullptr, 'p' },\n    { \"devices\", required_argument, nullptr, 'd' },\n    { \"exceptions\", required_argument, nullptr, 'e' },\n    { \"parameters\", required_argument, nullptr, 'P' },\n    { nullptr, 0, nullptr, 0 }\n  };\n\n  static void showHelp(std::ostream& stream)\n  {\n    stream << \" Usage: \" << usbguard_arg0 << \" add-user [OPTIONS] <name>\" << std::endl;\n    stream << std::endl;\n    stream << \" Options:\" << std::endl;\n    stream << \"  -u, --user                     The specified name represents a username or UID (default).\" << std::endl;\n    stream << \"  -g, --group                    The specified name represents a groupname or GID.\" << std::endl;\n    stream << \"  -p, --policy <privileges>      Policy related privileges.\" << std::endl;\n    stream << \"  -d, --devices <privileges>     Device related privileges.\" << std::endl;\n    stream << \"  -e, --exceptions <privileges>  Exceptions related privileges.\" << std::endl;\n    stream << \"  -P, --parameters <privileges>  Run-time parameter related privileges.\" << std::endl;\n    stream << \"  -h, --help                     Show this help.\" << std::endl;\n    stream << std::endl;\n  }\n\n  static void createIPCAccessControlFile(const std::string& path, const std::string& name, bool is_group,\n    const IPCServer::AccessControl& access_control)\n  {\n    IPCServer::checkAccessControlName(name);\n    const std::string basename = getIPCAccessControlFileBasename(name, is_group);\n    const std::string separator = (path.at(path.size() - 1) == '/' ? \"\" : \"/\");\n    const std::string filepath = path + separator + basename;\n    /*\n     * Ensure that only the owner can read/write the file.\n     */\n    umask(0177);\n    std::ofstream access_control_stream(filepath);\n\n    if (!access_control_stream.good()) {\n      throw ErrnoException(\"createIPCAccessControlFile\", filepath, errno);\n    }\n\n    access_control.save(access_control_stream);\n    return;\n  }\n\n  int usbguard_add_user(int argc, char* argv[])\n  {\n    int opt = 0;\n    bool opt_is_group = false;\n    IPCServer::AccessControl access_control;\n\n    while ((opt = getopt_long(argc, argv, options_short, options_long, nullptr)) != -1) {\n      switch (opt) {\n      case 'h':\n        showHelp(std::cout);\n        return EXIT_SUCCESS;\n\n      case 'u':\n        opt_is_group = false;\n        break;\n\n      case 'g':\n        opt_is_group = true;\n        break;\n\n      case 'p':\n        access_control.merge(std::string(\"Policy=\").append(optarg));\n        break;\n\n      case 'd':\n        access_control.merge(std::string(\"Devices=\").append(optarg));\n        break;\n\n      case 'e':\n        access_control.merge(std::string(\"Exceptions=\").append(optarg));\n        break;\n\n      case 'P':\n        access_control.merge(std::string(\"Parameters=\").append(optarg));\n        break;\n\n      case '?':\n        showHelp(std::cerr);\n\n      default:\n        return EXIT_FAILURE;\n      }\n    }\n\n    argv += optind;\n    argc -= optind;\n\n    if (argc != 1) {\n      showHelp(std::cerr);\n      return EXIT_FAILURE;\n    }\n\n    if (!(getuid() == 0 && geteuid() == 0)) {\n      USBGUARD_LOG(Error) << \"This subcommand requires root privileges. Please retry as root.\";\n      return EXIT_FAILURE;\n    }\n\n    const std::string name(argv[0]);\n    const std::string path(getIPCAccessControlFilesPath());\n    createIPCAccessControlFile(path, name, opt_is_group, access_control);\n    return EXIT_SUCCESS;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-add-user.hpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\nnamespace usbguard\n{\n  int usbguard_add_user(int argc, char** argv);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-allow-device.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Attila Lakatos <alakatos@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard.hpp\"\n#include \"usbguard-allow-device.hpp\"\n#include \"usbguard-apply-device-policy.hpp\"\n\n#include <iostream>\n\nnamespace usbguard\n{\n  int usbguard_allow_device(int argc, char* argv[])\n  {\n    return usbguard_apply_device_policy(argc, argv, Rule::Target::Allow);\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-allow-device.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\nnamespace usbguard\n{\n  int usbguard_allow_device(int argc, char** argv);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-append-rule.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard.hpp\"\n#include \"usbguard-append-rule.hpp\"\n\n#include \"usbguard/IPCClient.hpp\"\n\n#include <iostream>\n\nnamespace usbguard\n{\n  static const char* options_short = \"ha:t\";\n\n  static const struct ::option options_long[] = {\n    { \"help\", no_argument, nullptr, 'h' },\n    { \"after\", required_argument, nullptr, 'a' },\n    { \"temporary\", no_argument, nullptr, 't' },\n    { nullptr, 0, nullptr, 0 }\n  };\n\n  static void showHelp(std::ostream& stream)\n  {\n    stream << \" Usage: \" << usbguard_arg0 << \" append-rule [OPTIONS] <rule>\" << std::endl;\n    stream << std::endl;\n    stream << \" Options:\" << std::endl;\n    stream << \"  -a, --after <id>  Append the new rule after a rule with the specified id\" << std::endl;\n    stream << \"                    instead of appending it at the end of the rule set.\" << std::endl;\n    stream << \"  -t, --temporary   Make the decision temporary. The rule policy file will not\" << std::endl;\n    stream << \"                    be updated.\" << std::endl;\n    stream << \"  -h, --help        Show this help.\" << std::endl;\n    stream << std::endl;\n  }\n\n  int usbguard_append_rule(int argc, char* argv[])\n  {\n    uint32_t parent_id = usbguard::Rule::LastID;\n    bool permanent = true;\n    int opt = 0;\n\n    while ((opt = getopt_long(argc, argv, options_short, options_long, nullptr)) != -1) {\n      switch (opt) {\n      case 'h':\n        showHelp(std::cout);\n        return EXIT_SUCCESS;\n\n      case 'a':\n        parent_id = std::stoul(optarg);\n        break;\n\n      case 't':\n        permanent = false;\n        break;\n\n      case '?':\n        showHelp(std::cerr);\n\n      default:\n        return EXIT_FAILURE;\n      }\n    }\n\n    argc -= optind;\n    argv += optind;\n\n    if (argc != 1) {\n      showHelp(std::cerr);\n      return EXIT_FAILURE;\n    }\n\n    usbguard::IPCClient ipc(/*connected=*/true);\n    const std::string rule_spec = argv[0];\n    const uint32_t id = ipc.appendRule(rule_spec, parent_id, permanent);\n    std::cout << id << std::endl;\n    return EXIT_SUCCESS;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-append-rule.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\nnamespace usbguard\n{\n  int usbguard_append_rule(int argc, char** argv);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-apply-device-policy.cpp",
    "content": "//\n// Copyright (C) 2020 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Attila Lakatos <alakatos@redhat.com>, Zoltan Fridrich <zfridric@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard.hpp\"\n#include \"usbguard-apply-device-policy.hpp\"\n#include \"Common/Utility.hpp\"\n\n#include \"usbguard/IPCClient.hpp\"\n\n#include <iostream>\n#include <list>\n\nnamespace usbguard\n{\n  static const char* options_short = \"hp\";\n\n  static const struct ::option options_long[] = {\n    { \"help\", no_argument, nullptr, 'h' },\n    { \"permanent\", no_argument, nullptr, 'p' },\n    { nullptr, 0, nullptr, 0 }\n  };\n\n  static void showHelp(std::ostream& stream, Rule::Target target)\n  {\n    std::string target_string = Rule::targetToString(target);\n    stream << \" Usage: \" << usbguard_arg0 << \" \" << target_string\n      << \"-device [OPTIONS] (<id> | <rule> | <partial-rule>)\" << std::endl;\n    stream << std::endl;\n    stream << \" Options:\" << std::endl;\n    stream << \"  -p, --permanent  Make the decision permanent. A device specific \" << target_string << std::endl;\n    stream << \"                   rule will be appended to or updated in the current policy.\" << std::endl;\n    stream << \"  -h, --help       Show this help.\" << std::endl;\n    stream << std::endl;\n  }\n\n  static bool isNumeric(const std::string& s)\n  {\n    return !s.empty() && std::find_if(s.begin(), s.end(), [](unsigned char c) {\n      return !std::isdigit(c);\n    }) == s.end();\n  }\n\n  int usbguard_apply_device_policy(int argc, char** argv, Rule::Target target)\n  {\n    bool permanent = false;\n    int opt = 0;\n\n    while ((opt = getopt_long(argc, argv, options_short, options_long, nullptr)) != -1) {\n      switch (opt) {\n      case 'h':\n        showHelp(std::cout, target);\n        return EXIT_SUCCESS;\n\n      case 'p':\n        permanent = true;\n        break;\n\n      case '?':\n        showHelp(std::cerr, target);\n\n      default:\n        return EXIT_FAILURE;\n      }\n    }\n\n    argc -= optind;\n    argv += optind;\n\n    if (argc == 0) {\n      showHelp(std::cerr, target);\n      return EXIT_FAILURE;\n    }\n\n    usbguard::IPCClient ipc(/*connected=*/true);\n\n    /* If a single numeric argument is supplied interpret it as a rule ID */\n    if (argc == 1 && isNumeric(std::string(argv[0]))) {\n      uint32_t id = std::stoul(argv[0]);\n      ipc.applyDevicePolicy(id, target, permanent);\n      return EXIT_SUCCESS;\n    }\n\n    /*\n     * Interpret arguments as a rule/partial-rule\n     */\n    std::string rule_string;\n\n    if (argc == 1) {\n      rule_string = argv[0];\n    }\n    else {\n      std::vector<std::string> arguments(argv, argv + argc);\n      rule_string = joinElements(arguments.begin(), arguments.end());\n    }\n\n    try { /* Check whether rule target has been supplied */\n      std::string rule_target = rule_string.substr(0, rule_string.find(\" \"));\n      Rule::targetFromString(rule_target);\n    }\n    catch (const std::runtime_error& ex) {\n      /*\n       * The rule contains no target => partial rule\n       * Supply a default match target\n       */\n      rule_string.insert(0, Rule::targetToString(Rule::Target::Match) + \" \");\n    }\n\n    for (auto device_rule : ipc.listDevices(rule_string)) {\n      if (target != device_rule.getTarget()) {\n        uint32_t id = device_rule.getRuleID();\n\n        try {\n          ipc.applyDevicePolicy(id, target, permanent);\n        }\n        catch (const usbguard::Exception& ex) {\n          /*\n           * When a parent device is blocked/rejected, all its child\n           * devices are removed from the device map. If we try to apply\n           * device policy to a device whose parent has been\n           * blocked/rejected, therefore this device is not present in\n           * the device map anymore, we will receive an exception.\n           * We ignore such exceptions.\n           */\n        }\n      }\n    }\n\n    return EXIT_SUCCESS;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-apply-device-policy.hpp",
    "content": "//\n// Copyright (C) 2020 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Attila Lakatos <alakatos@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/RuleParser.hpp\"\n\nnamespace usbguard\n{\n  int usbguard_apply_device_policy(int argc, char** argv, Rule::Target target);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-block-device.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Attila Lakatos <alakatos@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard.hpp\"\n#include \"usbguard-block-device.hpp\"\n#include \"usbguard-apply-device-policy.hpp\"\n\n#include <iostream>\n\nnamespace usbguard\n{\n  int usbguard_block_device(int argc, char* argv[])\n  {\n    return usbguard_apply_device_policy(argc, argv, Rule::Target::Block);\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-block-device.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\nnamespace usbguard\n{\n  int usbguard_block_device(int argc, char** argv);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-generate-policy.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Radovan Sroka <rsroka@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard.hpp\"\n#include \"usbguard-generate-policy.hpp\"\n#include \"PolicyGenerator.hpp\"\n#include \"Common/Utility.hpp\"\n\n#include \"usbguard/DeviceManager.hpp\"\n#include \"Common/LDAPUtil.hpp\"\n\n#include <iostream>\n#include <unistd.h>\n\nnamespace usbguard\n{\n  static const char* options_short = \"hpPd:t:HXLb:o:n:\";\n\n  static const struct ::option options_long[] = {\n    { \"help\", no_argument, nullptr, 'h' },\n    { \"with-ports\", no_argument, nullptr, 'p' },\n    { \"no-ports-sn\", no_argument, nullptr, 'P' },\n    { \"devpath\", required_argument, nullptr, 'd' },\n    { \"target\", required_argument, nullptr, 't' },\n    { \"hash-only\", no_argument, nullptr, 'H' },\n    { \"no-hashes\", no_argument, nullptr, 'X' },\n    { \"ldif\", no_argument, nullptr, 'L' },\n    { \"usbguardbase\", required_argument, nullptr, 'b' },\n    { \"objectclass\", required_argument, nullptr, 'o' },\n    { \"name-prefix\", required_argument, nullptr, 'n' },\n    { nullptr, 0, nullptr, 0 }\n  };\n\n  static void showHelp(std::ostream& stream)\n  {\n    stream << \" Usage: \" << usbguard_arg0 << \" generate-policy [OPTIONS]\" << std::endl;\n    stream << std::endl;\n    stream << \" Options:\" << std::endl;\n    stream << \"  -p, --with-ports       Generate port specific rules for all devices.\" << std::endl;\n    stream << \"  -P, --no-ports-sn      Don't generate port specific rule for devices\" << std::endl;\n    stream << \"                         without an iSerial value.\" << std::endl;\n    stream << \"  -d, --devpath <D>      Only generate a rule for the device at the specified\" << std::endl;\n    stream << \"                         sub path of /sys.\" << std::endl;\n    stream << \"  -t, --target <T>       Generate an explicit \\\"catch all\\\" rule with the\" << std::endl;\n    stream << \"                         specified target. Possible targets: allow, block, reject.\" << std::endl;\n    stream << \"  -X, --no-hashes        Don't generate a hash attribute for each device.\" << std::endl;\n    stream << \"  -H, --hash-only        Generate a hash-only policy.\" << std::endl;\n    stream << \"  -L, --ldif             Generate a ldif policy for LDAP.\" << std::endl;\n    stream << \"  -b, --usbguardbase <B> Generate a ldif policy for LDAP with this base\" << std::endl;\n    stream << \"                         this option is required when --ldif was specified\" << std::endl;\n    stream << \"  -o, --objectclass <O>  Generate a ldif policy for LDAP with this objectClass\" << std::endl;\n    stream << \"  -n, --name-prefix <N>  Generate a ldif policy for LDAP with this name prefix\" << std::endl;\n    stream << \"  -h, --help             Show this help.\" << std::endl;\n    stream << std::endl;\n  }\n\n  int usbguard_generate_policy(int argc, char** argv)\n  {\n    bool port_specific = false;\n    bool port_specific_noserial = true;\n    std::string devpath = \"\";\n    bool with_catchall = false;\n    std::string catchall_target = \"block\";\n    bool with_hashes = true;\n    bool only_hashes = false;\n    bool ldif = false;\n    bool with_base = false;\n    std::string base = \"\";\n    std::string objclass = \"USBGuardPolicy\";\n    std::string name_prefix = \"Rule\";\n    int opt = 0;\n\n    while ((opt = getopt_long(argc, argv, options_short, options_long, nullptr)) != -1) {\n      switch (opt) {\n      case 'h':\n        showHelp(std::cout);\n        return EXIT_SUCCESS;\n\n      case 'p':\n        port_specific = true;\n        break;\n\n      case 'P':\n        port_specific_noserial = false;\n        break;\n\n      case 'd':\n        devpath = optarg;\n        break;\n\n      case 't':\n        with_catchall = true;\n        catchall_target = optarg;\n        break;\n\n      case 'H':\n        only_hashes = true;\n        break;\n\n      case 'X':\n        with_hashes = false;\n        break;\n\n      case 'L':\n        ldif = true;\n        break;\n\n      case 'b':\n        with_base = true;\n        base = optarg;\n        break;\n\n      case 'o':\n        objclass = optarg;\n        break;\n\n      case 'n':\n        name_prefix = optarg;\n        break;\n\n      case '?':\n        showHelp(std::cerr);\n\n      default:\n        return EXIT_FAILURE;\n      }\n    }\n\n    PolicyGenerator generator;\n    generator.setWithHashAttribute(with_hashes);\n    generator.setHashOnly(only_hashes);\n    generator.setPortSpecificRules(port_specific);\n    generator.setPortSpecificNoSerialRules(port_specific_noserial);\n    generator.setDevpath(devpath);\n    generator.setExplicitCatchAllRule(with_catchall,\n      Rule::targetFromString(catchall_target));\n    generator.generate();\n    auto rulesets = generator.refRuleSet();\n    char array[HOST_NAME_MAX];\n    int rc = gethostname(array, HOST_NAME_MAX);\n    std::string hostname;\n\n    if (rc != -1) {\n      hostname = array;\n    }\n    else {\n      /*TODO maybe some option for setting hostname explicitly\n      * without hostname LDAP query will not work!\n      */\n      std::cerr << \"Cannot get hostname\" << std::endl;\n    }\n\n    if (!ldif) {\n      for (auto ruleset : rulesets) {\n        ruleset->serialize(std::cout);\n      }\n    }\n    else if (ldif && with_base) {\n      std::map<std::string, std::string> values = {\n        {\"HOSTNAME\", hostname},\n        {\"NAME_PREFIX\", name_prefix},\n        {\"USBGUARD_BASE\", base},\n        {\"OBJCLASS\", objclass}\n      };\n      LDAPUtil::serializeLDIF(rulesets, std::cout, values);\n    }\n    else {\n      std::cerr << \"If you want to generate ldif you must specify USBGuardBase\" << std::endl;\n      std::cerr << \"USBGuardBase is usually \\\"ou=USBGuard,\\\" followed by your LDAP base\" << std::endl;\n      return EXIT_FAILURE;\n    }\n\n    return EXIT_SUCCESS;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-generate-policy.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\nnamespace usbguard\n{\n  int usbguard_generate_policy(int argc, char** argv);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-get-parameter.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard.hpp\"\n#include \"usbguard-get-parameter.hpp\"\n\n#include \"usbguard/IPCClient.hpp\"\n\n#include <iostream>\n\nnamespace usbguard\n{\n  static const char* options_short = \"h\";\n\n  static const struct ::option options_long[] = {\n    { \"help\", no_argument, nullptr, 'h' },\n    { nullptr, 0, nullptr, 0 }\n  };\n\n  static void showHelp(std::ostream& stream)\n  {\n    stream << \" Usage: \" << usbguard_arg0 << \" get-parameter [OPTIONS] <name>\" << std::endl;\n    stream << std::endl;\n    stream << \" Options:\" << std::endl;\n    stream << \"  -h, --help     Show this help.\" << std::endl;\n    stream << std::endl;\n    stream << \" Parameters:\" << std::endl;\n    stream << \"  ImplicitPolicyTarget    - How to treat devices that don't match any rule\" << std::endl;\n    stream << \"                            Values: allow, block, reject\" << std::endl;\n    stream << \"  InsertedDevicePolicy    - How to treat USB devices that are already connected after the daemon starts\" <<\n      std::endl;\n    stream << \"                            Values: block, reject, apply-policy\" << std::endl;\n    stream << std::endl;\n  }\n\n  int usbguard_get_parameter(int argc, char* argv[])\n  {\n    int opt = 0;\n\n    while ((opt = getopt_long(argc, argv, options_short, options_long, nullptr)) != -1) {\n      switch (opt) {\n      case 'h':\n        showHelp(std::cout);\n        return EXIT_SUCCESS;\n\n      case '?':\n        showHelp(std::cerr);\n\n      default:\n        return EXIT_FAILURE;\n      }\n    }\n\n    argv += optind;\n    argc -= optind;\n\n    if (argc != 1) {\n      showHelp(std::cerr);\n      return EXIT_FAILURE;\n    }\n\n    const std::string name = argv[0];\n    usbguard::IPCClient ipc(/*connected=*/true);\n    const std::string value = ipc.getParameter(name);\n    std::cout << value << std::endl;\n    return EXIT_SUCCESS;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-get-parameter.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\nnamespace usbguard\n{\n  int usbguard_get_parameter(int argc, char** argv);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-list-devices.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard.hpp\"\n#include \"usbguard-list-devices.hpp\"\n\n#include \"usbguard/IPCClient.hpp\"\n\n#include <iostream>\n#include <map>\n#include <vector>\n\nnamespace usbguard\n{\n  static const char* options_short = \"habt\";\n\n  static const struct ::option options_long[] = {\n    { \"help\", no_argument, nullptr, 'h' },\n    { \"allowed\", no_argument, nullptr, 'a' },\n    { \"blocked\", no_argument, nullptr, 'b' },\n    { \"tree\", no_argument, nullptr, 't' },\n    { nullptr, 0, nullptr, 0 }\n  };\n\n  static void showHelp(std::ostream& stream)\n  {\n    stream << \" Usage: \" << usbguard_arg0 << \" list-devices [OPTIONS]\" << std::endl;\n    stream << std::endl;\n    stream << \" Options:\" << std::endl;\n    stream << \"  -a, --allowed  List allowed devices.\" << std::endl;\n    stream << \"  -b, --blocked  List blocked devices.\" << std::endl;\n    stream << \"  -t, --tree     List devices in a tree format.\" << std::endl;\n    stream << \"  -h, --help     Show this help.\" << std::endl;\n    stream << std::endl;\n  }\n\n  /**\n   * @brief Prints list of devices in a classic format\n   *\n   * @param rules Device rules to print\n   */\n  static void classicFormat(const std::vector<Rule>& rules)\n  {\n    for (const auto& rule : rules) {\n      std::cout << rule.getRuleID() << \": \" << rule.toString() << std::endl;\n    }\n  }\n\n  /**\n   * @brief Recursively prints the tree nodes\n   *\n   * @param tree Rules organized into a tree structure\n   * @param node Node of a tree\n   * @param prefix Helper string used for prefixing the output\n   */\n  static void printNode(\n    const std::map<std::string, std::pair<Rule, std::vector<std::string>>>& tree,\n    const std::pair<Rule, std::vector<std::string>>& node,\n    const std::string& prefix)\n  {\n    const auto& rule = node.first;\n    const auto& children = node.second;\n\n    if (rule) {\n      std::cout << rule.getRuleID() << \": \"\n        << Rule::targetToString(rule.getTarget()) << \" \"\n        << rule.getName() << std::endl;\n    }\n\n    if (children.empty()) {\n      return;\n    }\n\n    for (unsigned i = 0; i < children.size() - 1; ++i) {\n      std::cout << prefix << \"├── \";\n      printNode(tree, tree.at(children[i]), prefix + \"│   \");\n    }\n\n    std::cout << prefix << \"└── \";\n    printNode(tree, tree.at(children.back()), prefix + \"    \");\n  }\n\n  /**\n   * @brief Recursively prints the rule tree\n   *\n   * @param tree Rules organized into a tree structure\n   */\n  static void printTree(const std::map<std::string, std::pair<Rule, std::vector<std::string>>>& tree)\n  {\n    std::cout << \".\" << std::endl;\n    std::vector<std::pair<Rule, std::vector<std::string>>> roots;\n\n    for (const auto& it : tree) {\n      if (!it.second.first) {\n        roots.push_back(it.second);\n      }\n    }\n\n    for (const auto& root : roots) {\n      auto children = root.second;\n\n      for (const auto& child : children) {\n        if (root == roots.back() && child == children.back()) {\n          std::cout << \"└── \";\n          printNode(tree, tree.at(child), \"    \");\n        }\n        else {\n          std::cout << \"├── \";\n          printNode(tree, tree.at(child), \"│   \");\n        }\n      }\n    }\n  }\n\n  /**\n   * @brief Prints list of devices in a tree format\n   *\n   * Complexity O(n*log(n)), where n = rules.size\n   *\n   * @param rules Device rules to print\n   */\n  static void treeFormat(const std::vector<Rule>& rules)\n  {\n    /*\n     * key: hash\n     * value: (rule, children_hashes)\n     */\n    std::map<std::string, std::pair<Rule, std::vector<std::string>>> tree;\n\n    for (const auto& rule : rules) {\n      auto hash = rule.getHash();\n      auto p_hash = rule.getParentHash();\n      auto hash_it = tree.find(hash);\n      auto p_hash_it = tree.find(p_hash);\n\n      if (p_hash_it == tree.end()) {\n        tree.insert({p_hash, {{}, {hash}}});\n      }\n      else {\n        p_hash_it->second.second.push_back(hash);\n      }\n\n      if (hash_it == tree.end()) {\n        tree.insert({hash, {rule, {}}});\n      }\n      else {\n        hash_it->second.first = rule;\n      }\n    }\n\n    printTree(tree);\n  }\n\n  int usbguard_list_devices(int argc, char* argv[])\n  {\n    bool list_blocked = false;\n    bool list_allowed = false;\n    bool tree_format = false;\n    int opt = 0;\n\n    while ((opt = getopt_long(argc, argv, options_short, options_long, nullptr)) != -1) {\n      switch (opt) {\n      case 'h':\n        showHelp(std::cout);\n        return EXIT_SUCCESS;\n\n      case 'a':\n        list_allowed = true;\n        break;\n\n      case 'b':\n        list_blocked = true;\n        break;\n\n      case 't':\n        tree_format = true;\n        break;\n\n      case '?':\n        showHelp(std::cerr);\n\n      default:\n        return EXIT_FAILURE;\n      }\n    }\n\n    std::string query = \"match\";\n\n    if (list_blocked != list_allowed) {\n      query = list_allowed ? \"allow\" : \"block\";\n    }\n\n    usbguard::IPCClient ipc(/*connected=*/true);\n    auto device_rules = ipc.listDevices(query);\n\n    if (tree_format) {\n      treeFormat(device_rules);\n    }\n    else {\n      classicFormat(device_rules);\n    }\n\n    return EXIT_SUCCESS;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-list-devices.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\nnamespace usbguard\n{\n  int usbguard_list_devices(int argc, char** argv);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-list-rules.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard.hpp\"\n#include \"usbguard-list-rules.hpp\"\n\n#include \"usbguard/IPCClient.hpp\"\n\n#include <iostream>\n\nnamespace usbguard\n{\n  static const char* options_short = \"hdl:\";\n\n  static const struct ::option options_long[] = {\n    { \"help\", no_argument, nullptr, 'h' },\n    { \"show-devices\", no_argument, nullptr, 'd'},\n    { \"label\", required_argument, nullptr, 'l' },\n    { nullptr, 0, nullptr, 0 }\n  };\n\n  static void showHelp(std::ostream& stream)\n  {\n    stream << \" Usage: \" << usbguard_arg0 << \" list-rules [OPTIONS]\" << std::endl;\n    stream << std::endl;\n    stream << \" Options:\" << std::endl;\n    stream << \"  -d, --show-devices  Show all devices which are affected by the specific rule.\" << std::endl;\n    stream << \"  -h, --help          Show this help.\" << std::endl;\n    stream << \"  -l, --label <label> Only show rules having a specific label.\" << std::endl;\n    stream << std::endl;\n  }\n\n  int usbguard_list_rules(int argc, char* argv[])\n  {\n    bool show_devices = false;\n    int opt = 0;\n    std::string label;\n\n    while ((opt = getopt_long(argc, argv, options_short, options_long, nullptr)) != -1) {\n      switch (opt) {\n      case 'h':\n        showHelp(std::cout);\n        return EXIT_SUCCESS;\n\n      case 'd':\n        show_devices = true;\n        break;\n\n      case 'l':\n        label = optarg;\n        break;\n\n      case '?':\n        showHelp(std::cerr);\n\n      default:\n        return EXIT_FAILURE;\n      }\n    }\n\n    usbguard::IPCClient ipc(/*connected=*/true);\n    auto rules = ipc.listRules(label);\n\n    for (auto rule : rules) {\n      std::cout << rule.getRuleID() << \": \" << rule.toString() << std::endl;\n\n      if (show_devices) {\n        for (auto device_rule : ipc.listDevices(rule.toString())) {\n          std::cout << \"\\t\"<< device_rule.getRuleID() << \": \" << device_rule.toString() << std::endl;\n        }\n      }\n    }\n\n    return EXIT_SUCCESS;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-list-rules.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\nnamespace usbguard\n{\n  int usbguard_list_rules(int argc, char** argv);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-print-version.cpp",
    "content": "//\n// Copyright (C) 2022 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Attila Lakatos <alakatos@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard.hpp\"\n#include \"usbguard-print-version.hpp\"\n\n#include \"usbguard/IPCClient.hpp\"\n\n#include <iostream>\n#include <map>\n#include <vector>\n\n\nnamespace usbguard\n{\n  static std::string toHumanReadable(const int enabled)\n  {\n    return enabled ? \"enabled\" : \"disabled\";\n  }\n\n  int usbguard_print_version(__attribute__((unused)) int argc, __attribute__((unused)) char* argv[])\n  {\n    if (argc != 1) {\n      return EXIT_FAILURE;\n    }\n\n    int audit = 0, libcapng = 0, seccomp = 0, systemd = 0, umockdev = 0;\n    std::string crypto;\n#ifdef HAVE_LINUX_AUDIT\n    audit = 1;\n#endif\n#ifdef HAVE_LIBCAPNG\n    libcapng = 1;\n#endif\n#ifdef HAVE_SECCOMP\n    seccomp = 1;\n#endif\n#ifdef SYSTEMD_SUPPORT_ENABLED\n    systemd = 1;\n#endif\n#ifdef HAVE_UMOCKDEV\n    umockdev = 1;\n#endif\n#ifdef USBGUARD_USE_LIBGCRYPT\n    crypto = \"libgcrypt\";\n#elif USBGUARD_USE_LIBSODIUM\n    crypto = \"libsodium\";\n#elif USBGUARD_USE_OPENSSL\n    crypto = \"openssl\";\n#else\n    crypto = \"unknown\";\n#endif\n    std::cout << \"usbguard \" << PACKAGE_VERSION << \" compiled with:\" << std::endl;\n    std::cout << \"  Linux audit support:    \" << toHumanReadable(audit) << std::endl;\n    std::cout << \"  Libcapng support:       \" << toHumanReadable(libcapng) << std::endl;\n    std::cout << \"  Seccomp support:        \" << toHumanReadable(seccomp) << std::endl;\n    std::cout << \"  Systemd support:        \" << toHumanReadable(systemd) << std::endl;\n    std::cout << \"  Umockdev support:       \" << toHumanReadable(umockdev) << std::endl;\n    std::cout << \"  Crypto backend library: \" << crypto << std::endl;\n    return EXIT_SUCCESS;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-print-version.hpp",
    "content": "//\n// Copyright (C) 2022 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Attila Lakatos <alakatos@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\nnamespace usbguard\n{\n  int usbguard_print_version(int argc, char** argv);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-read-descriptor.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard.hpp\"\n#include \"usbguard-read-descriptor.hpp\"\n\n#include \"usbguard/USB.hpp\"\n#include \"usbguard/Exception.hpp\"\n\n#include <iostream>\n#include <fstream>\n#include <cstdio>\n#include <cinttypes>\n\nnamespace usbguard\n{\n  static const char* options_short = \"h\";\n\n  static const struct ::option options_long[] = {\n    { \"help\", no_argument, nullptr, 'h' },\n    { nullptr, 0, nullptr, 0 }\n  };\n\n  static void showHelp(std::ostream& stream)\n  {\n    stream << \" Usage: \" << usbguard_arg0 << \" read-descriptor [OPTIONS] <file>\" << std::endl;\n    stream << std::endl;\n    stream << \" Options:\" << std::endl;\n    stream << \"  -h, --help       Show this help.\" << std::endl;\n    stream << std::endl;\n  }\n\n  static void printDeviceDescriptor(const USBDescriptor*);\n  static void printConfigurationDescriptor(const USBDescriptor*);\n  static void printInterfaceDescriptor(const USBDescriptor*);\n  static void printEndpointDescriptor(const USBDescriptor*);\n  static void printAudioEndpointDescriptor(const USBDescriptor*);\n  static void printUnknownDescriptor(const USBDescriptor*);\n\n  class USBDescriptorPrinter : public USBDescriptorParserHooks\n  {\n  public:\n    void loadUSBDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor) override\n    {\n      (void)parser;\n\n      switch (static_cast<USBDescriptorType>(descriptor->bHeader.bDescriptorType)) {\n      case USBDescriptorType::Device:\n        printDeviceDescriptor(descriptor);\n        break;\n\n      case USBDescriptorType::Configuration:\n        printConfigurationDescriptor(descriptor);\n        break;\n\n      case USBDescriptorType::Interface:\n        printInterfaceDescriptor(descriptor);\n        break;\n\n      case USBDescriptorType::Endpoint:\n        switch (descriptor->bHeader.bLength) {\n        case sizeof(USBEndpointDescriptor):\n          printEndpointDescriptor(descriptor);\n          break;\n\n        case sizeof(USBAudioEndpointDescriptor):\n          printAudioEndpointDescriptor(descriptor);\n          break;\n\n        default:\n          printUnknownDescriptor(descriptor);\n        }\n\n        break;\n\n      case USBDescriptorType::String:\n      case USBDescriptorType::AssociationInterface:\n      case USBDescriptorType::Unknown:\n      default:\n        printUnknownDescriptor(descriptor);\n        break;\n      }\n    }\n  };\n\n  int usbguard_read_descriptor(int argc, char* argv[])\n  {\n    int opt = 0;\n\n    while ((opt = getopt_long(argc, argv, options_short, options_long, nullptr)) != -1) {\n      switch (opt) {\n      case 'h':\n        showHelp(std::cout);\n        return EXIT_SUCCESS;\n\n      case '?':\n        showHelp(std::cerr);\n\n      default:\n        return EXIT_FAILURE;\n      }\n    }\n\n    argc -= optind;\n    argv += optind;\n\n    if (argc != 1) {\n      showHelp(std::cerr);\n      return EXIT_FAILURE;\n    }\n\n    std::ifstream descriptor_stream(argv[0], std::ifstream::binary);\n\n    if (!descriptor_stream.good()) {\n      throw ErrnoException(\"read-descriptor\", argv[0], errno);\n    }\n    else {\n      USBDescriptorPrinter printer;\n      USBDescriptorParser parser(printer);\n      const size_t size_parsed = parser.parse(descriptor_stream);\n      printf(\"Bytes parsed: %zu\\n\", size_parsed);\n\n      for (auto const& count : parser.getDescriptorCounts()) {\n        printf(\"Descriptor type 0x%02\" PRIx8 \" count: %zu\\n\", count.first, count.second);\n      }\n    }\n\n    return EXIT_SUCCESS;\n  }\n\n#define PRINTF_LEVEL(level) for (int l = level; l > 0; --l) printf(\"\\t\")\n\n#define PRINTF_HEADER(sp, label, level) \\\n  do { \\\n    PRINTF_LEVEL(level); \\\n    printf(\"%s: type=%02\" PRIx8 \" length=%\" PRIu8 \"\\n\", label, \\\n      (sp)->bHeader.bDescriptorType, (sp)->bHeader.bLength); \\\n  } while(0)\n\n#define PRINTF_MEMBER(sp, m, fmt, level) \\\n  do { \\\n    PRINTF_LEVEL(level); \\\n    printf(\"%20s: \" fmt \"\\n\", #m, sp->m); \\\n  } while(0)\n\n  void printDeviceDescriptor(const USBDescriptor* descriptor_base)\n  {\n    const USBDeviceDescriptor* descriptor = reinterpret_cast<const USBDeviceDescriptor*>(descriptor_base);\n    PRINTF_HEADER(descriptor, \"Device Descriptor\", 0);\n    PRINTF_MEMBER(descriptor, bcdUSB, \"0x%04\" PRIx16, 0);\n    PRINTF_MEMBER(descriptor, bDeviceClass, \"0x%02\" PRIx8, 0);\n    PRINTF_MEMBER(descriptor, bDeviceSubClass, \"0x%02\" PRIx8, 0);\n    PRINTF_MEMBER(descriptor, bDeviceProtocol, \"0x%02\" PRIx8, 0);\n    PRINTF_MEMBER(descriptor, bMaxPacketSize, \"%\" PRIu8, 0);\n    PRINTF_MEMBER(descriptor, idVendor, \"0x%04\" PRIx16, 0);\n    PRINTF_MEMBER(descriptor, idProduct, \"0x%04\" PRIx16, 0);\n    PRINTF_MEMBER(descriptor, bcdDevice, \"0x%04\" PRIx16, 0);\n    PRINTF_MEMBER(descriptor, iManufacturer, \"%\" PRIu8, 0);\n    PRINTF_MEMBER(descriptor, iSerialNumber, \"%\" PRIu8, 0);\n    PRINTF_MEMBER(descriptor, bNumConfigurations, \"%\" PRIu8, 0);\n    printf(\"\\n\");\n  }\n\n  void printConfigurationDescriptor(const USBDescriptor* descriptor_base)\n  {\n    const USBConfigurationDescriptor* descriptor = reinterpret_cast<const USBConfigurationDescriptor*>(descriptor_base);\n    PRINTF_HEADER(descriptor, \"Configuration Descriptor\", 0);\n    PRINTF_MEMBER(descriptor, wTotalLength, \"%\" PRIu16, 0);\n    PRINTF_MEMBER(descriptor, bNumInterfaces, \"%\" PRIu8, 0);\n    PRINTF_MEMBER(descriptor, bConfigurationValue, \"%\" PRIu8, 0);\n    PRINTF_MEMBER(descriptor, iConfiguration, \"%\" PRIu8, 0);\n    PRINTF_MEMBER(descriptor, bmAttributes, \"%02\" PRIx8, 0);\n    PRINTF_MEMBER(descriptor, bMaxPower, \"%\" PRIu8, 0);\n    printf(\"\\n\");\n  }\n\n  void printInterfaceDescriptor(const USBDescriptor* descriptor_base)\n  {\n    const USBInterfaceDescriptor* descriptor = reinterpret_cast<const USBInterfaceDescriptor*>(descriptor_base);\n    PRINTF_HEADER(descriptor, \"Interface Descriptor\", 0);\n    PRINTF_MEMBER(descriptor, bInterfaceNumber, \"%\" PRIu8, 0);\n    PRINTF_MEMBER(descriptor, bAlternateSetting, \"%\" PRIu8, 0);\n    PRINTF_MEMBER(descriptor, bNumEndpoints, \"%\" PRIu8, 0);\n    PRINTF_MEMBER(descriptor, bInterfaceClass, \"%\" PRIu8, 0);\n    PRINTF_MEMBER(descriptor, bInterfaceSubClass, \"%\" PRIu8, 0);\n    PRINTF_MEMBER(descriptor, bInterfaceProtocol, \"%\" PRIu8, 0);\n    PRINTF_MEMBER(descriptor, iInterface, \"%\" PRIu8, 0);\n    printf(\"\\n\");\n  }\n\n  void printEndpointDescriptor(const USBDescriptor* descriptor_base)\n  {\n    const USBEndpointDescriptor* descriptor = reinterpret_cast<const USBEndpointDescriptor*>(descriptor_base);\n    PRINTF_HEADER(descriptor, \"Endpoint Descriptor\", 0);\n    PRINTF_MEMBER(descriptor, bEndpointAddress, \"%\" PRIu8, 0);\n    PRINTF_MEMBER(descriptor, bmAttributes, \"0x%02\" PRIx8, 0);\n    PRINTF_MEMBER(descriptor, wMaxPacketSize, \"%\" PRIu16, 0);\n    PRINTF_MEMBER(descriptor, bInterval, \"%\" PRIu8, 0);\n    printf(\"\\n\");\n  }\n\n  void printAudioEndpointDescriptor(const USBDescriptor* descriptor_base)\n  {\n    const USBAudioEndpointDescriptor* descriptor = reinterpret_cast<const USBAudioEndpointDescriptor*>(descriptor_base);\n    PRINTF_HEADER(descriptor, \"Endpoint Descriptor (Audio)\", 0);\n    PRINTF_MEMBER(descriptor, bEndpointAddress, \"%\" PRIu8, 0);\n    PRINTF_MEMBER(descriptor, bmAttributes, \"0x%02\" PRIx8, 0);\n    PRINTF_MEMBER(descriptor, wMaxPacketSize, \"%\" PRIu16, 0);\n    PRINTF_MEMBER(descriptor, bInterval, \"%\" PRIu8, 0);\n    PRINTF_MEMBER(descriptor, bRefresh, \"%\" PRIu8, 0);\n    PRINTF_MEMBER(descriptor, bSynchAddress, \"%\" PRIu8, 0);\n    printf(\"\\n\");\n  }\n\n  void printUnknownDescriptor(const USBDescriptor* descriptor)\n  {\n    PRINTF_HEADER(descriptor, \"UNKNOWN Descriptor\", 0);\n    printf(\"\\n\");\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-read-descriptor.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\nnamespace usbguard\n{\n  int usbguard_read_descriptor(int argc, char** argv);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-reject-device.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Attila Lakatos <alakatos@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard.hpp\"\n#include \"usbguard-reject-device.hpp\"\n#include \"usbguard-apply-device-policy.hpp\"\n\n#include <iostream>\n\nnamespace usbguard\n{\n  int usbguard_reject_device(int argc, char* argv[])\n  {\n    return usbguard_apply_device_policy(argc, argv, Rule::Target::Reject);\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-reject-device.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\nnamespace usbguard\n{\n  int usbguard_reject_device(int argc, char** argv);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-remove-rule.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard.hpp\"\n#include \"usbguard-remove-rule.hpp\"\n\n#include \"usbguard/IPCClient.hpp\"\n\n#include <iostream>\n\nnamespace usbguard\n{\n  static const char* options_short = \"h\";\n\n  static const struct ::option options_long[] = {\n    { \"help\", no_argument, nullptr, 'h' },\n    { nullptr, 0, nullptr, 0 }\n  };\n\n  static void showHelp(std::ostream& stream)\n  {\n    stream << \" Usage: \" << usbguard_arg0 << \" remove-rule [OPTIONS] <id>\" << std::endl;\n    stream << std::endl;\n    stream << \" Options:\" << std::endl;\n    stream << \"  -h, --help  Show this help.\" << std::endl;\n    stream << std::endl;\n  }\n\n  int usbguard_remove_rule(int argc, char* argv[])\n  {\n    int opt = 0;\n\n    while ((opt = getopt_long(argc, argv, options_short, options_long, nullptr)) != -1) {\n      switch (opt) {\n      case 'h':\n        showHelp(std::cout);\n        return EXIT_SUCCESS;\n\n      case '?':\n        showHelp(std::cerr);\n\n      default:\n        return EXIT_FAILURE;\n      }\n    }\n\n    argc -= optind;\n    argv += optind;\n\n    if (argc != 1) {\n      showHelp(std::cerr);\n      return EXIT_FAILURE;\n    }\n\n    const uint32_t id = std::stoul(argv[0]);\n    usbguard::IPCClient ipc(/*connected=*/true);\n    ipc.removeRule(id);\n    return EXIT_SUCCESS;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-remove-rule.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\nnamespace usbguard\n{\n  int usbguard_remove_rule(int argc, char** argv);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-remove-user.cpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard.hpp\"\n#include \"usbguard-remove-user.hpp\"\n\n#include \"usbguard/USBGuard.hpp\"\n#include \"usbguard/IPCServer.hpp\"\n\n#include <iostream>\n#include <unistd.h>\n\nnamespace usbguard\n{\n  static const char* options_short = \"hug\";\n\n  static const struct ::option options_long[] = {\n    { \"help\", no_argument, nullptr, 'h' },\n    { \"user\", no_argument, nullptr, 'u' },\n    { \"group\", no_argument, nullptr, 'g' },\n    { nullptr, 0, nullptr, 0  }\n  };\n\n  static void showHelp(std::ostream& stream)\n  {\n    stream << \" Usage: \" << usbguard_arg0 << \" remove-user [OPTIONS]\" << std::endl;\n    stream << std::endl;\n    stream << \" Options:\" << std::endl;\n    stream << \"  -u, --user           The specified name represents a username or UID (default).\" << std::endl;\n    stream << \"  -g, --group          The specified name represents a groupname or GID.\" << std::endl;\n    stream << \"  -h, --help           Show this help.\" << std::endl;\n    stream << std::endl;\n  }\n\n  static void removeIPCAccessControlFile(const std::string& path, const std::string& name, bool is_group)\n  {\n    IPCServer::checkAccessControlName(name);\n    const std::string basename = getIPCAccessControlFileBasename(name, is_group);\n    const std::string separator = (path.at(path.size() - 1) == '/' ? \"\" : \"/\");\n    const std::string filepath = path + separator + basename;\n\n    if (unlink(filepath.c_str()) != 0) {\n      throw ErrnoException(\"removeIPCAccessControlFile\", filepath, errno);\n    }\n  }\n\n  int usbguard_remove_user(int argc, char* argv[])\n  {\n    int opt = 0;\n    bool opt_is_group = false;\n\n    while ((opt = getopt_long(argc, argv, options_short, options_long, nullptr)) != -1) {\n      switch (opt) {\n      case 'u':\n        opt_is_group = false;\n        break;\n\n      case 'g':\n        opt_is_group = true;\n        break;\n\n      case 'h':\n        showHelp(std::cout);\n        return EXIT_SUCCESS;\n\n      case '?':\n        showHelp(std::cerr);\n\n      default:\n        return EXIT_FAILURE;\n      }\n    }\n\n    argv += optind;\n    argc -= optind;\n\n    if (argc != 1) {\n      showHelp(std::cerr);\n      return EXIT_FAILURE;\n    }\n\n    if (!(getuid() == 0 && geteuid() == 0)) {\n      USBGUARD_LOG(Error) << \"This subcommand requires root privileges. Please retry as root.\";\n      return EXIT_FAILURE;\n    }\n\n    const std::string name(argv[0]);\n    const std::string path(getIPCAccessControlFilesPath());\n    removeIPCAccessControlFile(path, name, opt_is_group);\n    return EXIT_SUCCESS;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-remove-user.hpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\nnamespace usbguard\n{\n  int usbguard_remove_user(int argc, char** argv);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-rule-parser.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/Exception.hpp\"\n#include \"usbguard/Rule.hpp\"\n#include \"usbguard/RuleParser.hpp\"\n\n#ifdef HAVE_GNU_BASENAME\n  /* GNU version of basename(3) */\n  #ifndef _GNU_SOURCE\n    #define _GNU_SOURCE\n  #endif\n  #include <cstring>\n#else\n  /* POSIX version of basename(3) */\n  #include <libgen.h>\n#endif\n\n#include <cstdlib>  // for free(3)\n#include <cstring>  // for strdup(3)\n#include <iostream>\n#include <fstream>\n\n#include <getopt.h>\n\nstatic const char* options_short = \"hft\";\n\nstatic const struct ::option options_long[] = {\n  { \"help\", no_argument, nullptr, 'h' },\n  { \"file\", no_argument, nullptr, 'f' },\n  { \"trace\", no_argument, nullptr, 't' },\n  { nullptr, 0, nullptr, 0 }\n};\n\nstatic void showHelp(std::ostream& stream, const char* usbguard_arg0)\n{\n  char* const writeable_arg0 = ::strdup(usbguard_arg0);\n  stream << \" Usage: \" << ::basename(writeable_arg0) << \" [OPTIONS] <rule_spec>\" << std::endl;\n  stream << \" Usage: \" << ::basename(writeable_arg0) << \" [OPTIONS] -f <file>\" << std::endl;\n  stream << std::endl;\n  stream << \" Options:\" << std::endl;\n  stream << \"  -f, --file       Interpret the argument as a path to a file that should be parsed.\" << std::endl;\n  stream << \"  -t, --trace      Enable parser tracing.\" << std::endl;\n  stream << \"  -h, --help       Show this help.\" << std::endl;\n  stream << std::endl;\n  ::free(writeable_arg0);\n}\n\nint main(int argc, char** argv)\n{\n  const char* usbguard_arg0 = argv[0];\n  bool trace = false;\n  bool from_file = false;\n  int opt = 0;\n\n  while ((opt = getopt_long(argc, argv, options_short, options_long, nullptr)) != -1) {\n    switch (opt) {\n    case 'h':\n      showHelp(std::cout, usbguard_arg0);\n      return EXIT_SUCCESS;\n\n    case 'f':\n      from_file = true;\n      break;\n\n    case 't':\n      trace = true;\n      break;\n\n    case '?':\n    default:\n      showHelp(std::cout, usbguard_arg0);\n      return EXIT_FAILURE;\n    }\n  }\n\n  argc -= optind;\n  argv += optind;\n\n  if (argc != 1) {\n    showHelp(std::cerr, usbguard_arg0);\n    return EXIT_FAILURE;\n  }\n\n  std::string rule_spec;\n\n  try {\n    if (from_file) {\n      const char* const rule_file_filename = argv[0];\n      const std::string rule_file(rule_file_filename);\n      std::ifstream stream(rule_file);\n\n      if (! stream.is_open()) {\n        throw usbguard::ErrnoException(\"Rules file could not be opened\", rule_file_filename, errno);\n      }\n\n      size_t line = 0;\n\n      while (stream.good()) {\n        rule_spec.clear();\n        std::getline(stream, rule_spec);\n        ++line;\n\n        if (rule_spec.empty()) {\n          continue;\n        }\n\n        std::cout << \"INPUT: \" << rule_spec << std::endl;\n        const usbguard::Rule rule = usbguard::parseRuleFromString(rule_spec, rule_file, line, trace);\n        std::cout << \"OUTPUT: \" << rule.toString() << std::endl;\n      }\n\n      return EXIT_SUCCESS;\n    }\n    else {\n      rule_spec = argv[0];\n      std::cout << \"INPUT: \" << rule_spec << std::endl;\n      const usbguard::Rule rule = usbguard::parseRuleFromString(rule_spec, \"<argv>\", 0, trace);\n      std::cout << \"OUTPUT: \" << rule.toString() << std::endl;\n      return EXIT_SUCCESS;\n    }\n  }\n  catch (const usbguard::RuleParserError& ex) {\n    std::cerr << \"! ERROR: \" << ex.what() << std::endl;\n    std::cerr << \"!!  \" << rule_spec << std::endl;\n    std::cerr << \"!!  \";\n    std::cerr.width(4 + ex.offset());\n    std::cerr << \"^-- \" << ex.hint() << std::endl;\n    std::cerr.width(1);\n  }\n  catch (const usbguard::Exception& ex) {\n    std::cerr << \"! ERROR: \" << ex.message() << std::endl;\n  }\n  catch (const std::exception& ex) {\n    std::cerr << \"! EXCEPTION: \" << ex.what() << std::endl;\n  }\n  catch (...) {\n    std::cerr << \"! EXCEPTION: Unknown\" << std::endl;\n  }\n\n  return EXIT_FAILURE;\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-set-parameter.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard.hpp\"\n#include \"usbguard-set-parameter.hpp\"\n\n#include \"usbguard/IPCClient.hpp\"\n\n#include <iostream>\n\nnamespace usbguard\n{\n  static const char* options_short = \"hv\";\n\n  static const struct ::option options_long[] = {\n    { \"help\", no_argument, nullptr, 'h' },\n    { \"verbose\", no_argument, nullptr, 'v' },\n    { nullptr, 0, nullptr, 0 }\n  };\n\n  static void showHelp(std::ostream& stream)\n  {\n    stream << \" Usage: \" << usbguard_arg0 << \" set-parameter [OPTIONS] <name> <value>\" << std::endl;\n    stream << std::endl;\n    stream << \" Options:\" << std::endl;\n    stream << \"  -v, --verbose  Print the previous and new attribute value.\" << std::endl;\n    stream << \"  -h, --help     Show this help.\" << std::endl;\n    stream << std::endl;\n    stream << \" Parameters:\" << std::endl;\n    stream << \"  ImplicitPolicyTarget    - How to treat devices that don't match any rule\" << std::endl;\n    stream << \"                            Values: allow, block, reject\" << std::endl;\n    stream << \"  InsertedDevicePolicy    - How to treat USB devices that are already connected after the daemon starts\" <<\n      std::endl;\n    stream << \"                            Values: block, reject, apply-policy\" << std::endl;\n    stream << std::endl;\n  }\n\n  int usbguard_set_parameter(int argc, char* argv[])\n  {\n    int opt = 0;\n    bool verbose = false;\n\n    while ((opt = getopt_long(argc, argv, options_short, options_long, nullptr)) != -1) {\n      switch (opt) {\n      case 'h':\n        showHelp(std::cout);\n        return EXIT_SUCCESS;\n\n      case 'v':\n        verbose = true;\n        break;\n\n      case '?':\n        showHelp(std::cerr);\n\n      default:\n        return EXIT_FAILURE;\n      }\n    }\n\n    argv += optind;\n    argc -= optind;\n\n    if (argc != 2) {\n      showHelp(std::cerr);\n      return EXIT_FAILURE;\n    }\n\n    const std::string name = argv[0];\n    const std::string value = argv[1];\n    usbguard::IPCClient ipc(/*connected=*/true);\n    const std::string previous_value = ipc.setParameter(name, value);\n\n    if (verbose) {\n      std::cout << previous_value << \" => \" << value << std::endl;\n    }\n\n    return EXIT_SUCCESS;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-set-parameter.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\nnamespace usbguard\n{\n  int usbguard_set_parameter(int argc, char** argv);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-watch.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard.hpp\"\n#include \"usbguard-watch.hpp\"\n\n#include <IPCSignalWatcher.hpp>\n#include <iostream>\n#include <unistd.h>\n\nnamespace usbguard\n{\n  static const char* options_short = \"wohe:\";\n\n  static const struct ::option options_long[] = {\n    { \"wait\", no_argument, nullptr, 'w' },\n    { \"once\", no_argument, nullptr, 'o' },\n    { \"help\", no_argument, nullptr, 'h' },\n    { \"exec\", required_argument, nullptr, 'e' },\n    { nullptr, 0, nullptr, 0 }\n  };\n\n  static void showHelp(std::ostream& stream)\n  {\n    stream << \" Usage: \" << usbguard_arg0 << \" watch [OPTIONS]\" << std::endl;\n    stream << std::endl;\n    stream << \" Options:\" << std::endl;\n    stream << \"  -w, --wait         Wait for IPC connection to become available.\" << std::endl;\n    stream << \"  -o, --once         Wait only when starting, if needed. Exit when the connection is lost.\" << std::endl;\n    stream << \"  -e, --exec <path>  Run an executable file located at <path> for every event. Pass event\" << std::endl;\n    stream << \"                     data to the process via environment variables.\" << std::endl;\n    stream << \"  -h, --help         Show this help.\" << std::endl;\n    stream << std::endl;\n  }\n\n  int usbguard_watch(int argc, char* argv[])\n  {\n    int opt = 0;\n    bool do_wait = false;\n    bool wait_once = false;\n    std::string exec_path;\n\n    while ((opt = getopt_long(argc, argv, options_short, options_long, nullptr)) != -1) {\n      switch (opt) {\n      case 'w':\n        do_wait = true;\n        break;\n\n      case 'o':\n        wait_once = do_wait = true;\n        break;\n\n      case 'h':\n        showHelp(std::cout);\n        return EXIT_SUCCESS;\n\n      case 'e':\n        exec_path = std::string(optarg);\n        break;\n\n      case '?':\n        showHelp(std::cerr);\n\n      default:\n        return EXIT_FAILURE;\n      }\n    }\n\n    IPCSignalWatcher watcher;\n\n    if (!exec_path.empty()) {\n      watcher.setExecutable(exec_path);\n    }\n\n    bool connect_waiting = false;\n    std::string connect_last_exception;\n\n    while (true) {\n      try {\n        watcher.connect();\n        connect_waiting = false;\n\n        if (wait_once) {\n          do_wait = false;\n        }\n\n        watcher.wait();\n      }\n      catch (const Exception& ex) {\n        /*\n         * Re-throw if we won't be waiting for the connection\n         * to become available.\n         */\n        if (!do_wait) {\n          throw;\n        }\n\n        /*\n         * Save the exception message. If the message changes, we'll\n         * write an updated waiting message to the output.\n         */\n        const std::string connect_exception = ex.message();\n\n        /*\n         * When transitioning to waiting state or on exception message\n         * updates, write a waiting status message to the output.\n         */\n        if (!connect_waiting || connect_last_exception != connect_exception) {\n          std::cerr << \"Waiting. IPC not available: \" << connect_exception << std::endl;\n          connect_waiting = true;\n          connect_last_exception = connect_exception;\n        }\n\n        /*\n         * Wait for some time...\n         */\n        sleep(1);\n      }\n    }\n\n    return EXIT_SUCCESS;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard-watch.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\nnamespace usbguard\n{\n  int usbguard_watch(int argc, char** argv);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/Logger.hpp\"\n#include \"usbguard/Exception.hpp\"\n\n#include <map>\n#include <iostream>\n\n#ifdef HAVE_GNU_BASENAME\n  /* GNU version of basename(3) */\n  #ifndef _GNU_SOURCE\n    #define _GNU_SOURCE\n  #endif\n  #include <cstring>\n#else\n  /* POSIX version of basename(3) */\n  #include <libgen.h>\n#endif\n\n#include \"usbguard.hpp\"\n#include \"usbguard-get-parameter.hpp\"\n#include \"usbguard-set-parameter.hpp\"\n#include \"usbguard-list-devices.hpp\"\n#include \"usbguard-list-rules.hpp\"\n#include \"usbguard-generate-policy.hpp\"\n#include \"usbguard-allow-device.hpp\"\n#include \"usbguard-block-device.hpp\"\n#include \"usbguard-reject-device.hpp\"\n#include \"usbguard-append-rule.hpp\"\n#include \"usbguard-remove-rule.hpp\"\n#include \"usbguard-watch.hpp\"\n#include \"usbguard-read-descriptor.hpp\"\n#include \"usbguard-add-user.hpp\"\n#include \"usbguard-remove-user.hpp\"\n#include \"usbguard-print-version.hpp\"\n\nnamespace usbguard\n{\n  const char* usbguard_arg0 = nullptr;\n\n  static const std::map<const std::string, int(*)(int, char**)> cmd_handler_map = {\n    { \"get-parameter\", &usbguard_get_parameter },\n    { \"set-parameter\", &usbguard_set_parameter },\n    { \"list-devices\", &usbguard_list_devices },\n    { \"allow-device\", &usbguard_allow_device },\n    { \"block-device\", &usbguard_block_device },\n    { \"reject-device\", &usbguard_reject_device },\n    { \"list-rules\", &usbguard_list_rules },\n    { \"append-rule\", &usbguard_append_rule },\n    { \"remove-rule\", &usbguard_remove_rule },\n    { \"generate-policy\", &usbguard_generate_policy },\n    { \"watch\", &usbguard_watch },\n    { \"read-descriptor\", &usbguard_read_descriptor },\n    { \"add-user\", &usbguard_add_user },\n    { \"remove-user\", &usbguard_remove_user },\n    { \"--version\", &usbguard_print_version }\n  };\n\n  static void showTopLevelHelp(std::ostream& stream = std::cout)\n  {\n    stream << \" Usage: \" << usbguard_arg0\n      << \" [OPTIONS] <command> [COMMAND OPTIONS] ...\" << std::endl;\n    stream << std::endl;\n    stream << \" Options:\" << std::endl;\n    stream << \"\" << std::endl;\n    stream << \" Commands:\" << std::endl;\n    stream << \"  get-parameter <name>           Get the value of a runtime parameter.\" << std::endl;\n    stream << \"  set-parameter <name> <value>   Set the value of a runtime parameter.\" << std::endl;\n    stream << \"  list-devices                   List all USB devices recognized by the USBGuard daemon.\" << std::endl;\n    stream << \"  allow-device <id|rule|p-rule>  Authorize a device to interact with the system.\" << std::endl;\n    stream << \"  block-device <id|rule|p-rule>  Deauthorize a device.\" << std::endl;\n    stream << \"  reject-device <id|rule|p-rule> Deauthorize and remove a device from the system.\" << std::endl;\n    stream << std::endl;\n    stream << \"  list-rules                     List the rule set (policy) used by the USBGuard daemon.\" << std::endl;\n    stream << \"  append-rule <rule>             Append a rule to the rule set.\" << std::endl;\n    stream << \"  remove-rule <id>               Remove a rule from the rule set.\" << std::endl;\n    stream << std::endl;\n    stream << \"  generate-policy                Generate a rule set (policy) based on the connected USB devices.\" << std::endl;\n    stream << \"  watch                          Watch for IPC interface events and print them to stdout.\" << std::endl;\n    stream << \"  read-descriptor                Read a USB descriptor from a file and print it in human-readable form.\" <<\n      std::endl;\n    stream << std::endl;\n    stream << \"  add-user <name>                Add USBGuard IPC user/group (requires root privileges)\" << std::endl;\n    stream << \"  remove-user <name>             Remove USBGuard IPC user/group (requires root privileges)\" << std::endl;\n    stream << std::endl;\n  }\n\n  static int usbguard_cli(int argc, char* argv[])\n  {\n    usbguard_arg0 = ::basename(argv[0]);\n\n    if (argc == 1) {\n      showTopLevelHelp();\n      return EXIT_SUCCESS;\n    }\n\n    const char* subcommand_key = argv[1];\n    const auto iterator = cmd_handler_map.find(subcommand_key);\n\n    /* Not such key in the map, show list of commands */\n    if (iterator == cmd_handler_map.cend()) {\n      showTopLevelHelp();\n      return EXIT_FAILURE;\n    }\n\n    auto subcommand = iterator->second;\n    return subcommand(argc - 1, argv + 1);\n  }\n} /* namespace usbguard */\n\nint main(int argc, char* argv[])\n{\n  try {\n    return usbguard::usbguard_cli(argc, argv);\n  }\n  catch (const usbguard::IPCException& ex) {\n    std::cerr << \"IPC ERROR: request id=\" << ex.messageID()\n      << \": \"  << ex.message() << std::endl;\n  }\n  catch (const usbguard::Exception& ex) {\n    std::cerr << \"ERROR: \" << ex.message() << std::endl;\n  }\n  catch (const std::exception& ex) {\n    std::cerr << \"EXCEPTION: \" << ex.what() << std::endl;\n  }\n  catch (...) {\n    std::cerr << \"BUG: Unknown exception\" << std::endl;\n  }\n\n  return EXIT_FAILURE;\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/CLI/usbguard.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/Logger.hpp\"\n\n#include <cstddef>\n#include <cstdlib>\n#include <getopt.h>\n\nnamespace usbguard\n{\n  extern const char* usbguard_arg0;\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Common/ByteOrder.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include <cstdint>\n#include <endian.h>\n\nnamespace usbguard\n{\n\n  static inline uint16_t busEndianToHost(uint16_t bus_value)\n  {\n    return le16toh(bus_value);\n  }\n\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Common/FDInputStream.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#if HAVE_EXT_STDIO_FILEBUF_H\n  #include <ext/stdio_filebuf.h>\n#else\n  #include <cstdio>\n  #include <streambuf>\n#endif /* !HAVE_EXT_STDIO_FILEBUF_H */\n#include <fstream>\n#include <memory>\n#include <unistd.h>\n\nnamespace usbguard\n{\n#if HAVE_EXT_STDIO_FILEBUF_H\n  class FDInputStream : public std::ifstream\n  {\n  public:\n    FDInputStream(int fd)\n      : _filebuf_ptr(new __gnu_cxx::stdio_filebuf<char>(fd, std::ios::in))\n    {\n      std::ios::rdbuf(_filebuf_ptr.get());\n    }\n\n    FDInputStream(FDInputStream&& stream)\n      : _filebuf_ptr(std::move(stream._filebuf_ptr))\n    {\n      std::ios::rdbuf(_filebuf_ptr.get());\n    }\n\n  private:\n    std::unique_ptr<__gnu_cxx::stdio_filebuf<char>> _filebuf_ptr;\n  };\n\n#else\n  class FDStreamBuf :\n    public std::streambuf\n  {\n  public:\n    FDStreamBuf(int fd) : fd_(fd) { }\n\n    ~FDStreamBuf() override\n    {\n      if (fd_ >= 0) {\n        close(fd_);\n        fd_ = -1;\n      }\n    }\n\n    std::streamsize xsgetn(char* s, std::streamsize n)\n    {\n      ssize_t ret;\n\n      do {\n        ret = read(fd_, s, n);\n      }\n      while (ret == -1 && (errno == EAGAIN || errno ==EINTR));\n\n      if (ret < 0) {\n        return EOF;\n      }\n\n      return ret;\n    }\n\n    int underflow()\n    {\n      char c;\n      ssize_t result = xsgetn(&c, 1);\n\n      if (result != 1) {\n        return EOF;\n      }\n\n      return c;\n    }\n\n  private:\n    int fd_;\n  };\n\n  class FDInputStream : public std::istream\n  {\n  public:\n    FDInputStream(int fd) : std::istream(nullptr),\n      _filebuf_ptr(new FDStreamBuf(fd))\n    {\n      std::ios::rdbuf(_filebuf_ptr.get());\n    }\n\n    FDInputStream(FDInputStream&& stream) : std::istream(nullptr),\n      _filebuf_ptr(std::move(stream._filebuf_ptr))\n    {\n      std::ios::rdbuf(_filebuf_ptr.get());\n    }\n\n  private:\n    std::unique_ptr<FDStreamBuf> _filebuf_ptr;\n  };\n\n#endif /* !HAVE_EXT_STDIO_FILEBUF_H */\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Common/LDAPUtil.cpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Radovan Sroka <rsroka@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"LDAPUtil.hpp\"\n\n#include \"usbguard/Rule.hpp\"\n#include \"usbguard/RuleSet.hpp\"\n\nnamespace usbguard\n{\n  std::vector<std::string> LDAPUtil::_ldap_keys = {\n    \"USBGuardRuleTarget\",\n    \"USBGuardHost\",\n    \"USBGuardRuleOrder\",\n    \"USBID\",\n    \"USBSerial\",\n    \"USBWithConnectType\",\n    \"USBName\",\n    \"USBHash\",\n    \"USBParentHash\",\n    \"USBViaPort\",\n    \"USBWithInterface\",\n    \"USBGuardRuleCondition\"\n  };\n\n  std::vector<std::string> LDAPUtil::_rule_keys = {\n    \"RuleTarget\", /* just for indexing */\n    \"USBGuardHost\", /* just for indexing */\n    \"USBGuardOrder\", /* just for indexing */\n    \"id\",\n    \"serial\",\n    \"with-connect-type\",\n    \"name\",\n    \"hash\",\n    \"parent-hash\",\n    \"via-port\",\n    \"with-interface\",\n    \"if\"\n  };\n\n  template<class ValueType>\n  static void toLDIF_appendNonEmptyAttribute(std::string& rule_string, const Rule::Attribute<ValueType>& attribute)\n  {\n    if (attribute.empty()) {\n      return;\n    }\n\n    std::string name = attribute.getName();\n    std::string ldif_name = \"unknown\";\n\n    for (size_t i = 0; i < LDAPUtil::_rule_keys.size(); i++) {\n      if (LDAPUtil::_rule_keys[i] == name) {\n        ldif_name = LDAPUtil::_ldap_keys[i];\n        break;\n      }\n    }\n\n    rule_string.append(\"\\n\");\n    rule_string.append(ldif_name + \": \");\n    std::string tmp = attribute.toRuleString();\n    size_t index = tmp.find_first_of(' ');\n\n    if (index == std::string::npos) {\n      rule_string.append(tmp);\n    }\n    else {\n      rule_string.append(tmp.substr(index));\n    }\n\n    return;\n  }\n\n  std::string LDAPUtil::toLDIF(const std::shared_ptr<const Rule> rule, std::map<std::string, std::string>& values,\n    bool invalid)\n  {\n    std::string rule_string;\n    std::string name = values[\"NAME_PREFIX\"] + std::to_string(rule->getRuleID());\n    rule_string  = \"dn: cn=\" + name + \",\" + values[\"USBGUARD_BASE\"] + \"\\n\";\n    rule_string += \"objectClass: \" + values[\"OBJCLASS\"] + \"\\n\";\n    rule_string += \"objectClass: top\\n\";\n    rule_string += \"cn: \" + name + \"\\n\";\n    rule_string += LDAPUtil::_ldap_keys[static_cast<unsigned>(LDAPUtil::LDAP_KEY_INDEX::USBGuardRuleTarget)] + \": \";\n\n    try {\n      rule_string.append(Rule::targetToString(rule->getTarget()));\n    }\n    catch (...) {\n      if (invalid) {\n        rule_string.append(\"<invalid>\");\n      }\n      else {\n        throw;\n      }\n    }\n\n    rule_string += \"\\nUSBGuardHost: \" + values[\"HOSTNAME\"];\n    toLDIF_appendNonEmptyAttribute(rule_string, rule->attributeDeviceID());\n    toLDIF_appendNonEmptyAttribute(rule_string, rule->attributeSerial());\n    toLDIF_appendNonEmptyAttribute(rule_string, rule->attributeName());\n    toLDIF_appendNonEmptyAttribute(rule_string, rule->attributeHash());\n    toLDIF_appendNonEmptyAttribute(rule_string, rule->attributeParentHash());\n    toLDIF_appendNonEmptyAttribute(rule_string, rule->attributeViaPort());\n    toLDIF_appendNonEmptyAttribute(rule_string, rule->attributeWithInterface());\n    toLDIF_appendNonEmptyAttribute(rule_string, rule->attributeConditions());\n    rule_string.append(\"\\n\");\n    return rule_string;\n  }\n\n  void LDAPUtil::serializeLDIF(const std::vector<std::shared_ptr<RuleSet>> rulesets, std::ostream& stream,\n    std::map<std::string, std::string>& values)\n  {\n    for (auto ruleset : rulesets) {\n      for (auto const& rule : ruleset->getRules()) {\n        std::string rule_string = toLDIF(rule, values, false);\n        stream << rule_string << std::endl;\n      }\n    }\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Common/LDAPUtil.hpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Radovan Sroka <rsroka@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include <vector>\n#include <map>\n\n#include \"usbguard/Rule.hpp\"\n#include \"usbguard/RuleSet.hpp\"\n\nnamespace usbguard\n{\n  class DLL_PUBLIC LDAPUtil\n  {\n  public:\n    enum class LDAP_KEY_INDEX {\n      USBGuardRuleTarget = 0,\n      USBGuardHost,\n      USBGuardRuleOrder,\n      USBID,\n      USBSerial,\n      USBWithConnectType,\n      USBName,\n      USBHash,\n      USBParentHash,\n      USBViaPort,\n      USBWithInterface,\n      USBGuardRuleCondition\n    };\n    static std::vector<std::string> _ldap_keys;\n    static std::vector<std::string> _rule_keys;\n\n    static std::string toLDIF(const std::shared_ptr<const Rule> rule, std::map<std::string, std::string>& values, bool invalid);\n    static void serializeLDIF(const std::vector<std::shared_ptr<RuleSet>> rulesets, std::ostream& stream,\n      std::map<std::string, std::string>& values);\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Common/Thread.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/Logger.hpp\"\n\n#include <thread>\n#include <atomic>\n#include <system_error>\n\nnamespace usbguard\n{\n  template<class C>\n  class Thread\n  {\n  public:\n    Thread(C* method_class_ptr, void(C::*method)())\n    {\n      _method_class_ptr = method_class_ptr;\n      _method = method;\n      _stop_request = false;\n    }\n\n    Thread(Thread& thread)\n    {\n      _method_class_ptr = thread._method_class_ptr;\n      _method = thread._method;\n      std::swap(_thread, thread._thread);\n      _stop_request = thread._stop_request.load();\n    }\n\n    Thread& operator=(Thread& thread)\n    {\n      _method_class_ptr = thread._method_class_ptr;\n      _method = thread._method;\n      std::swap(_thread, thread._thread);\n      _stop_request = thread._stop_request.load();\n      return *this;\n    }\n\n    ~Thread()\n    {\n    }\n\n    void start()\n    {\n      _stop_request = false;\n      _thread = std::thread(_method, _method_class_ptr);\n    }\n\n    /**\n     * Set the termination flag and wait for the thread\n     * to exit.\n     */\n    void stop(bool do_wait = true)\n    {\n      _stop_request = true;\n\n      if (do_wait) {\n        wait();\n      }\n    }\n\n    void wait()\n    {\n      if (_thread.joinable()) {\n        try {\n          _thread.join();\n        }\n        catch (const std::system_error& ex) {\n          USBGUARD_LOG(Error) << ex.what();\n          throw;\n        }\n      }\n\n      _stop_request = false;\n    }\n\n    bool running() const\n    {\n      return (_thread.get_id() != std::thread::id());\n    }\n\n    bool stopRequested() const\n    {\n      return _stop_request;\n    }\n\n  private:\n    C* _method_class_ptr;\n    void(C::*_method)();\n    std::thread _thread;\n    std::atomic_bool _stop_request;\n  };\n\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Common/Utility.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/Logger.hpp\"\n\n#include \"Common/Utility.hpp\"\n\n#include <fstream>\n#include <algorithm>\n\n#include <alloca.h>\n#include <ctype.h>\n#include <fcntl.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <sys/resource.h>\n#include <sys/stat.h>\n#include <sys/time.h>\n#include <sys/types.h>\n#include <sys/wait.h>\n#include <unistd.h>\n\nnamespace usbguard\n{\n\n  static void runCommandExecChild(const std::string& path, const std::vector<std::string>& args)\n  {\n    struct rlimit rlim;\n\n    // Find out what the maxfd value could be\n    if (::getrlimit(RLIMIT_NOFILE, &rlim) == -1) {\n      return;\n    }\n\n    const int maxfd = (rlim.rlim_max == RLIM_INFINITY ? 4096 : rlim.rlim_max);\n    const int nullfd = ::open(\"/dev/null\", O_RDWR);\n\n    if (nullfd < 0) {\n      return;\n    }\n\n    for (int fd = 0; fd < maxfd; ++fd) {\n      if (fd == nullfd) {\n        // Don't close our /dev/null fd\n        continue;\n      }\n\n      switch (fd) {\n      case STDERR_FILENO:\n      case STDOUT_FILENO:\n      case STDIN_FILENO:\n        // Redirect the standard descriptors to /dev/null\n        ::dup2(nullfd, fd);\n        break;\n\n      default:\n        // Close everything else\n        (void)::close(fd);\n      }\n    }\n\n    (void)::close(nullfd);\n\n    if (args.size() > 1024) {\n      // Looks suspicious...\n      return;\n    }\n\n    //\n    // Allocate space for the argv array on stack\n    // +1 ... for argv[0]\n    // +1 ... for nullptr termination of the array\n    //\n    char** const args_cstr = (char**)(::alloca(sizeof(const char*) * (args.size() + 2)));\n    unsigned int i;\n    args_cstr[0] = const_cast<char*>(path.c_str());\n\n    for (i = 0; i < args.size(); ++i) {\n      args_cstr[1+i] = const_cast<char*>(args[i].c_str());\n    }\n\n    args_cstr[1+i] = nullptr;\n    // TODO: Reset environment?\n    (void)::execv(path.c_str(), args_cstr);\n  }\n\n  int runCommand(const char* const path, const char* const arg1, const int timeout_secs)\n  {\n    std::vector<std::string> args;\n    args.push_back(arg1);\n    return runCommand(path, args, timeout_secs);\n  }\n\n  int runCommand(const char* const path, const char* const arg1, const char* const arg2, const int timeout_secs)\n  {\n    std::vector<std::string> args;\n    args.push_back(arg1);\n    args.push_back(arg2);\n    return runCommand(path, args, timeout_secs);\n  }\n\n  int runCommand(const std::string& path, const std::vector<std::string>& args, const int timeout_secs)\n  {\n    int retval = 0, status = 0;\n    bool timedout = false;\n    const pid_t child_pid = ::fork();\n\n    switch (child_pid) {\n    case 0:\n      // Child\n      runCommandExecChild(path, args);\n      ::_exit(EXIT_FAILURE);\n\n    case -1:\n    default:\n      break;\n    }\n\n    // Parent - wait for the child to exit (up to timeout seconds)\n    int waitpid_time_usec = timeout_secs * 1000 * 1000;\n\n    while (waitpid_time_usec > 0) {\n      const pid_t waitpid_retval = ::waitpid(child_pid, &status, WNOHANG);\n      timedout = false;\n\n      switch (waitpid_retval) {\n      case 0: // Not exited yet; Sleep & retry\n        timedout = true;\n        waitpid_time_usec -= 500;\n        ::usleep(500);\n        continue;\n\n      case -1: // Error\n        retval = -1;\n        break;\n\n      default:\n        if (waitpid_retval == child_pid) {\n          // Child exited\n          retval = WEXITSTATUS(status);\n          waitpid_time_usec = 0;\n          continue;\n        }\n        else {\n          // Unexpected error\n        }\n      }\n    }\n\n    if (timedout) {\n      // Try to be nice first\n      ::kill(child_pid, SIGTERM);\n      ::usleep(1000*500);\n\n      // Send SIGKILL if the process is still running\n      if (::waitpid(child_pid, &status, WNOHANG) != child_pid) {\n        ::kill(child_pid, SIGKILL);\n      }\n\n      retval = -1;\n    }\n\n    return retval;\n  }\n\n  std::string filenameFromPath(const std::string& filepath, const bool include_extension)\n  {\n    const std::string directory_separator = \"/\";\n    std::vector<std::string> path_tokens;\n    tokenizeString(filepath, path_tokens, directory_separator);\n\n    if (path_tokens.size() == 0) {\n      return std::string();\n    }\n\n    const std::string& filename = path_tokens.back();\n\n    if (include_extension) {\n      return filename;\n    }\n\n    const size_t substr_to = filename.find_last_of('.');\n    return filename.substr(0, substr_to);\n  }\n\n  std::string parentPath(const std::string& path)\n  {\n    const std::string directory_separator = \"/\";\n    std::string parent_path(path);\n    // find first not '/' (from end)\n    // find first '/' (from end)\n    // find first not '/' (from end)\n    auto reverse_start_pos = \\\n      parent_path.find_last_not_of(directory_separator);\n\n    /*\n     * Whole path consists only of '/'.\n     */\n    if (reverse_start_pos == std::string::npos) {\n      return std::string();\n    }\n\n    reverse_start_pos = \\\n      parent_path.find_last_of(directory_separator, reverse_start_pos);\n\n    /*\n     * No directory separator in the rest of the path.\n     */\n    if (reverse_start_pos == std::string::npos) {\n      return std::string();\n    }\n\n    reverse_start_pos = \\\n      parent_path.find_last_not_of(directory_separator, reverse_start_pos);\n\n    /*\n     *\n     * /foo/bar   => /foo\n     * /foo/bar/  => /foo\n     * /foo/bar// => /foo\n     * /foo       => std::string()\n     * /foo/      => std::string()\n     * /          => std::string()\n     * //foo      => std::string()\n     *\n     */\n    if (reverse_start_pos == std::string::npos) {\n      return std::string();\n    }\n\n    return path.substr(0, reverse_start_pos + 1);\n  }\n\n  std::string trimRight(const std::string& s, const std::string& delimiters)\n  {\n    const size_t substr_to = s.find_last_not_of(delimiters);\n\n    if (substr_to != std::string::npos) {\n      return s.substr(0, substr_to + 1);\n    }\n    else {\n      return std::string();\n    }\n  }\n\n  std::string trimLeft(const std::string& s, const std::string& delimiters)\n  {\n    const size_t substr_from = s.find_first_not_of(delimiters);\n\n    if (substr_from == std::string::npos) {\n      return s;\n    }\n    else {\n      return s.substr(substr_from);\n    }\n  }\n\n  std::string trim(const std::string& s, const std::string& delimiters)\n  {\n    return trimRight(trimLeft(s, delimiters), delimiters);\n  }\n\n  /*\n   * The ostringstream class used for the implementation of numberToString\n   * treats (u)int8_t as a char. We want to treat it as a number, so this\n   * explicit specialization handles the uint8_t case by recasting it to\n   * an unsigned int.\n   */\n  template<>\n  std::string numberToString(const uint8_t number, const std::string& prefix, const int base, const int align,\n    const char align_char)\n  {\n    const uint16_t n = static_cast<uint16_t>(number);\n    return numberToString(n, prefix, base, align, align_char);\n  }\n\n  template<>\n  uint8_t stringToNumber(const std::string& s, const int base)\n  {\n    const unsigned int num = stringToNumber<unsigned int>(s, base);\n    return (uint8_t)num;\n  }\n\n  bool isNumericString(const std::string& s)\n  {\n    for (int c : s) {\n      if (!isdigit(c)) {\n        return false;\n      }\n    }\n\n    return true;\n  }\n\n  int loadFiles(const std::string& directory,\n    std::function<std::string(const std::string&, const struct dirent*)> filter,\n    std::function<int(const std::string&, const std::string&)> loader,\n    std::function<bool(const std::pair<std::string, std::string>&, const std::pair<std::string, std::string>&)> sorter,\n    bool directory_required)\n  {\n    DIR* dirobj = opendir(directory.c_str());\n\n    if (dirobj == nullptr) {\n      if (!directory_required && errno == ENOENT) {\n        return 0;\n      }\n      else {\n        throw ErrnoException(\"loadFiles\", directory, errno);\n      }\n    }\n\n    int retval = 0;\n\n    try {\n      std::vector<std::pair<std::string, std::string>> loadpaths;\n      struct dirent* entry_ptr = nullptr;\n\n      /*\n       * readdir usage note: We rely on the fact that readdir should be thread-safe\n       * when used on a different directory stream. Since we create our own stream,\n       * we should be fine with readdir here. The thread-safe version of readdir,\n       * readdir_r, is deprecated in newer versions of glibc.\n       */\n      while ((entry_ptr = readdir(dirobj)) != nullptr) {\n        const std::string filename(entry_ptr->d_name);\n\n        if (filename == \".\" || filename == \"..\") {\n          continue;\n        }\n\n        std::string fullpath = directory + \"/\" + filename;\n        std::string loadpath = filter(fullpath, entry_ptr);\n\n        if (!loadpath.empty()) {\n          loadpaths.emplace_back(std::make_pair(std::move(loadpath), std::move(fullpath)));\n        }\n      }\n\n      std::sort(loadpaths.begin(), loadpaths.end(), sorter);\n\n      for (const auto& loadpath : loadpaths) {\n        USBGUARD_LOG(Trace) << \"L: \" << loadpath.first << \" : \" << loadpath.second;\n      }\n\n      for (const auto& loadpath : loadpaths) {\n        retval += loader(loadpath.first, loadpath.second);\n      }\n    }\n    catch (...) {\n      closedir(dirobj);\n      throw;\n    }\n\n    closedir(dirobj);\n    return retval;\n  }\n\n  std::string removePrefix(const std::string& prefix, const std::string& value)\n  {\n    if (value.compare(0, prefix.size(), prefix) == 0) {\n      return value.substr(prefix.size());\n    }\n    else {\n      return value;\n    }\n  }\n\n  bool hasSuffix(const std::string& value, const std::string& suffix)\n  {\n    if (suffix.size() > value.size()) {\n      return false;\n    }\n\n    const auto pos = value.size() - suffix.size();\n    const auto cmp = value.compare(pos, suffix.size(), suffix);\n    return cmp == 0;\n  }\n\n  bool hasPrefix(const std::string& value, const std::string& prefix)\n  {\n    if (prefix.size() > value.size()) {\n      return false;\n    }\n\n    const auto cmp = value.compare(0, prefix.size(), prefix);\n    return cmp == 0;\n  }\n\n  std::string symlinkPath(const std::string& linkpath, struct stat* st_user)\n  {\n    struct stat st = { };\n    struct stat* st_ptr = nullptr;\n\n    if (st_user == nullptr) {\n      USBGUARD_SYSCALL_THROW(\"symlinkPath\",\n        lstat(linkpath.c_str(), &st) != 0);\n      st_ptr = &st;\n    }\n    else {\n      st_ptr = st_user;\n    }\n\n    if (!S_ISLNK(st_ptr->st_mode)) {\n      throw Exception(\"symlinkPath\", linkpath, \"not a symlink\");\n    }\n\n    if (st_ptr->st_size < 1) {\n      st_ptr->st_size = 4096;\n    }\n\n    /*\n     * Check sanity of st_size. min: 1 byte, max: 1 MiB (because 1 MiB should be enough :)\n     */\n    if (st_ptr->st_size < 1 || st_ptr->st_size > (1024 * 1024)) {\n      USBGUARD_LOG(Debug) << \"st_size=\" << st_ptr->st_size;\n      throw Exception(\"symlinkPath\", linkpath, \"symlink value size out of range\");\n    }\n\n    std::string buffer(st_ptr->st_size, 0);\n    const ssize_t link_size = readlink(linkpath.c_str(), &buffer[0], buffer.capacity());\n\n    if (link_size <= 0 || link_size > st_ptr->st_size) {\n      USBGUARD_LOG(Debug) << \"link_size=\" << link_size\n        << \" st_size=\" << st_ptr->st_size;\n      throw Exception(\"symlinkPath\", linkpath, \"symlink value size changed before read\");\n    }\n\n    buffer.resize(link_size);\n\n    if (buffer[0] == '/') {\n      /* Absolute path */\n      return buffer;\n    }\n    else {\n      /* Relative path */\n      return parentPath(linkpath) + \"/\" + buffer;\n    }\n  }\n\n  std::size_t countPathComponents(const std::string& path)\n  {\n    bool was_component = false;\n    std::size_t count = 0;\n\n    for (std::size_t i = 0; i < path.size(); ++i) {\n      const char c = path[i];\n\n      if (c == '/') {\n        if (was_component) {\n          ++count;\n          was_component = false;\n        }\n      }\n      else {\n        was_component = true;\n      }\n    }\n\n    return count;\n  }\n\n  std::string normalizePath(const std::string& path)\n  {\n    std::vector<std::string> components;\n    const bool is_absolute = (path[0] == '/');\n    tokenizeString(path, components, \"/\", /*trim_empty=*/true);\n\n    for (auto it = components.begin(); it != components.end();) {\n      if (*it == \".\") {\n        /* remove this component */\n        it = components.erase(it);\n      }\n      else if (*it == \"..\") {\n        /* remove this and previous component (if any) */\n        if (it != components.begin()) {\n          it = components.erase(it - 1);\n        }\n\n        it = components.erase(it);\n      }\n      else {\n        ++it;\n      }\n    }\n\n    std::string normalized_path(is_absolute ? \"/\" : \"\");\n\n    for (auto it = components.cbegin(); it != components.cend(); ++it) {\n      normalized_path.append(*it);\n\n      if ((it+1) != components.cend()) {\n        normalized_path.append(\"/\");\n      }\n    }\n\n    return normalized_path;\n  }\n\n  std::vector<std::string> getConfigsFromDir(const std::string& path)\n  {\n    std::vector<std::string> rulefile_list;\n    DIR* dir_fd = opendir(path.c_str());\n    struct dirent* dp;\n    struct stat path_stat;\n    std::string file_name;\n\n    if (!dir_fd) {\n      throw Exception(\"getConfigsFromDir\", \"opendir: \" + path, strerror(errno));\n    }\n\n    while ((dp = readdir(dir_fd)) != NULL) { // iterate over directory for file entries\n      file_name = path + '/' + dp->d_name;\n\n      if (stat(file_name.c_str(), &path_stat) == 0) {\n        if (S_ISREG(path_stat.st_mode)) { // check if entry is a file\n          rulefile_list.push_back(file_name); // add it to output\n        }\n      }\n    }\n\n    // cleanup\n    closedir(dir_fd);\n    std::sort(rulefile_list.begin(), rulefile_list.end());\n    return rulefile_list;\n  }\n\n  static bool isValidUID(const std::string& uid)\n  {\n    if (uid.empty()) {\n      return false;\n    }\n\n    for (char c : uid) {\n      if (!std::isdigit(c)) {\n        return false;\n      }\n    }\n\n    return true;\n  }\n\n  static bool isValidName(const std::string& name)\n  {\n    const char* s = name.data();\n\n    if (('\\0' == *s) ||\n      !((('a' <= *s) && ('z' >= *s)) ||\n        (('A' <= *s) && ('Z' >= *s)) ||\n        ('_' == *s))) {\n      return false;\n    }\n\n    while ('\\0' != *++s) {\n      if (!((('a' <= *s) && ('z' >= *s)) ||\n          (('A' <= *s) && ('Z' >= *s)) ||\n          (('0' <= *s) && ('9' >= *s)) ||\n          ('_' == *s) ||\n          ('-' == *s) ||\n          (('$' == *s) && ('\\0' == *(s + 1))))) {\n        return false;\n      }\n    }\n\n    return true;\n  }\n\n  bool isValidNameOrUID(const std::string& input)\n  {\n    return isValidName(input) || isValidUID(input);\n  }\n\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Common/Utility.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/Exception.hpp\"\n#include \"usbguard/Typedefs.hpp\"\n\n#include <functional>\n#include <iomanip>\n#include <iostream>\n#include <regex>\n#include <sstream>\n#include <string>\n#include <utility>\n#include <vector>\n#include <memory>\n\n#include <dirent.h>\n#include <sys/stat.h>\n#include <sys/types.h>\n#include <unistd.h>\n\nnamespace usbguard\n{\n  /**\n   * Wrappers for the __builtin_expect function.\n   */\n#if defined(__GNUC__)\n  #define likely(expr) __builtin_expect(!!(expr), 1)\n  #define unlikely(expr) __builtin_expect(!!(expr), 0)\n#else\n  #define likely(expr) (expr)\n  #define unlikely(expr) (expr)\n#endif\n\n  int runCommand(const char* path, const char* arg1, int timeout_secs = 10);\n  int runCommand(const char* path, const char* arg1, const char* arg2, int timeout_secs = 10);\n  int runCommand(const std::string& path, const std::vector<std::string>& args = std::vector<std::string>(),\n    int timeout_secs = 10);\n\n  /**\n   * Tokenize a std::string compatible type using delimiters specified in a string.\n   *\n   * Splits the given string using delimiters found in the delimiter string (each\n   * character in the delimiter string is considered as a delimiter) and stores the\n   * token in a vector. If trim_empty is set to true, empty tokens won't be included\n   * in the vector.\n   */\n  template<typename StringType>\n  void tokenizeString(const StringType& str, std::vector<StringType>& tokens,\n    const typename std::vector<StringType>::value_type delimiters, const bool trim_empty = false)\n  {\n    typename StringType::size_type pos, last_pos = 0;\n\n    while (true) {\n      pos = str.find_first_of(delimiters, last_pos);\n\n      if (pos == StringType::npos) {\n        pos = str.length();\n\n        if (pos != last_pos || !trim_empty) {\n          tokens.push_back(StringType(str.data() + last_pos, pos - last_pos));\n        }\n\n        break;\n      }\n      else {\n        if (pos != last_pos || !trim_empty) {\n          tokens.push_back(StringType(str.data() + last_pos, pos - last_pos));\n        }\n      }\n\n      last_pos = pos + 1;\n    }\n  }\n\n  /**\n   * Convert a number of type T to its string\n   * representation.\n   */\n  template<typename T>\n  std::string numberToString(const T number, const std::string& prefix = std::string(), const int base = 10, const int align = -1,\n    const char align_char = ' ')\n  {\n    std::ostringstream ss;\n    ss << std::setbase(base);\n    ss << number;\n    const std::string number_string = ss.str();\n    std::string result;\n    result.append(prefix);\n\n    if (align > 0 && number_string.size() < (size_t)align) {\n      size_t chars_to_add = (size_t)align - number_string.size();\n\n      for (; chars_to_add > 0; --chars_to_add) {\n        result += align_char;\n      }\n    }\n\n    result.append(number_string);\n    return result;\n  }\n\n  template<>\n  std::string numberToString(const uint8_t number, const std::string& prefix, const int base, const int align,\n    const char align_char);\n\n  /**\n   * Convert a string representation of a number\n   * to a number of type T.\n   */\n  template<typename T>\n  T stringToNumber(const std::string& s, const int base = 10)\n  {\n    std::istringstream ss(s);\n    T num;\n    ss >> std::setbase(base) >> num;\n    return num;\n  }\n\n  template<>\n  uint8_t stringToNumber(const std::string& s, const int base);\n\n  bool isNumericString(const std::string& s);\n\n  /**\n   * Return the filename part of a path. If include_extension is set to\n   * false, then any characters after the last dot character '.' will be\n   * removed including the dot.\n   *\n   * Examples: \"/foo/bar/baz\" => \"baz\"\n   *           \"/foo/bar/baz.txt\" (include_extension=false) => \"baz\"\n   *           \"/foo/bar/baz.txt\" (include_extension=true) => \"baz.txt\"\n   *           \"/foo/bar/baz.woo.txt\" (include_extension=false) => \"baz.woo\"\n   *           \"foo.txt\" (include_extension=true) => \"foo.txt\"\n   */\n  std::string filenameFromPath(const std::string& filepath, bool include_extension = false);\n\n  /**\n   * Return the parent path part of a path.\n   */\n  std::string parentPath(const std::string& path);\n\n  /**\n   * Return the number of path components.\n   */\n  std::size_t countPathComponents(const std::string& path);\n\n  /**\n   * Remove whitespace characters from the right side of a string.\n   */\n  std::string trimRight(const std::string& s, const std::string& delimiters = \" \\f\\n\\r\\t\\v\");\n\n  /**\n   * Remove whitespace characters from the left side of a string.\n   */\n  std::string trimLeft(const std::string& s, const std::string& delimiters = \" \\f\\n\\r\\t\\v\");\n\n  /**\n   * Remove whitespace characters from the left & right side of a string.\n   */\n  std::string trim(const std::string& s, const std::string& delimiters = \" \\f\\n\\r\\t\\v\");\n\n  /**\n   * Call a void(*)(const std::string&) compatible method for every file in a directory\n   * matching a regular expression. The function does not recursively descent into\n   * subdirectories.\n   */\n  int loadFiles(const std::string& directory,\n    std::function<std::string(const std::string&, const struct dirent*)> filter,\n    std::function<int(const std::string&, const std::string&)> loader,\n    std::function<bool(const std::pair<std::string, std::string>&, const std::pair<std::string, std::string>&)> sorter = \\\n  [](const std::pair<std::string, std::string>& a, const std::pair<std::string, std::string>& b) -> bool {\n    return a.first < b.first;\n  },\n  bool directory_required = true);\n\n  /**\n   * Remove prefix from string.\n   */\n  std::string removePrefix(const std::string& prefix, const std::string& value);\n\n  /**\n   * Test whether a string value has a prefix/suffix.\n   */\n  bool hasSuffix(const std::string& value, const std::string& suffix);\n  bool hasPrefix(const std::string& value, const std::string& prefix);\n\n  /**\n   * Read symlink destination.\n   */\n  std::string symlinkPath(const std::string& linkpath, struct stat* st_user = nullptr);\n\n  /*\n   * Normalize path string:\n   *  - remove //\n   *  - remove ./\n   *  - resolve foo/../bar/ to bar\n   *  - resolve /foo/../bar/ to /bar\n   */\n  std::string normalizePath(const std::string& path);\n\n  /*\n   * Get files in directory\n   */\n  std::vector<std::string> getConfigsFromDir(const std::string& path);\n\n\n  /*\n   * Restorer class\n   */\n  template<typename Tvar, typename Tval>\n  class Restorer\n  {\n  public:\n    Restorer(Tvar& var, Tval transient, Tval restored)\n      : _ref(var),\n        _val(restored)\n    {\n      _ref = transient;\n    }\n\n    ~Restorer()\n    {\n      _ref = _val;\n    }\n\n  private:\n    Tvar& _ref;\n    Tval _val;\n  };\n\n  struct FreeDeleter {\n    void operator()(void* p)\n    {\n      free(p);\n    }\n  };\n\n  template<typename T, typename... Params>\n  std::unique_ptr<T> make_unique(Params&& ... params)\n  {\n    return std::unique_ptr<T>(new T(std::forward<Params>(params)...));\n  }\n\n  /*\n   * Scoped File Descriptor\n   */\n  class ScopedFD\n  {\n  public:\n    ScopedFD(int fd)\n      : _fd(fd) {}\n\n    ScopedFD(const ScopedFD&) = delete;\n\n    ~ScopedFD()\n    {\n      if (_fd >= 0) {\n        ::close(_fd);\n        _fd = -1;\n      }\n    }\n\n    operator int() const noexcept\n    {\n      return _fd;\n    }\n\n    bool operator<(int rhs) const noexcept\n    {\n      return _fd < rhs;\n    }\n\n    bool operator==(int rhs) const noexcept\n    {\n      return _fd == rhs;\n    }\n\n  private:\n    int _fd{-1};\n  };\n\n\n  template<typename T>\n  std::string joinElements(T begin, T end, const std::string& separator = \" \")\n  {\n    std::ostringstream ss;\n\n    if (begin != end) {\n      ss << *(begin++);\n    }\n\n    while (begin != end) {\n      ss << separator << *(begin++);\n    }\n\n    return ss.str();\n  }\n\n  /**\n   * @brief Checks whether a given name is a valid group/user name\n   *\n   *\n   * @param name Name to check\n   * @return True if given name is valid, false otherwise\n   */\n  bool isValidNameOrUID(const std::string& name);\n\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/DBus/.gitignore",
    "content": "/DBusInterface.xml.cstr\n/*.service\n"
  },
  {
    "path": "src/DBus/DBusBridge.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n// Authors: Sebastian Pipping <sebastian@pipping.org>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"DBusBridge.hpp\"\n#include <polkit/polkit.h>\n\nnamespace usbguard\n{\n  DBusBridge::DBusBridge(GDBusConnection* const gdbus_connection,\n    void(*ipc_callback)(bool))\n    : p_gdbus_connection(gdbus_connection),\n      p_ipc_callback(ipc_callback)\n  {\n  }\n\n  DBusBridge::~DBusBridge()\n  {\n  }\n\n  void DBusBridge::handleMethodCall(const std::string interface, const std::string method_name, GVariant* parameters,\n    GDBusMethodInvocation* invocation)\n  {\n    if (!isConnected()) {\n      g_dbus_method_invocation_return_error(invocation, G_DBUS_ERROR,\n        G_DBUS_ERROR_NO_SERVER, \"USBGuard DBus service is not connected to the daemon.\");\n      return;\n    }\n\n    try {\n      if (interface == DBUS_POLICY_INTERFACE) {\n        handlePolicyMethodCall(method_name, parameters, invocation);\n      }\n      else if (interface == DBUS_DEVICES_INTERFACE) {\n        handleDevicesMethodCall(method_name, parameters, invocation);\n      }\n      else if (interface == DBUS_ROOT_INTERFACE) {\n        handleRootMethodCall(method_name, parameters, invocation);\n      }\n      else {\n        g_dbus_method_invocation_return_error(invocation, G_DBUS_ERROR,\n          G_DBUS_ERROR_UNKNOWN_METHOD, \"Unknown method interface\");\n      }\n    }\n    catch (const Exception& ex) {\n      g_dbus_method_invocation_return_error(invocation, G_DBUS_ERROR,\n        G_DBUS_ERROR_FAILED, \"%s\", ex.message().c_str());\n    }\n    catch (const std::exception& ex) {\n      g_dbus_method_invocation_return_error(invocation, G_DBUS_ERROR,\n        G_DBUS_ERROR_FAILED, \"%s\", ex.what());\n    }\n    catch (...) {\n      g_dbus_method_invocation_return_error(invocation, G_DBUS_ERROR,\n        G_DBUS_ERROR_FAILED, \"BUG: Unknown exception\");\n    }\n\n    return;\n  }\n\n  void DBusBridge::handleRootMethodCall(const std::string& method_name, GVariant* parameters, GDBusMethodInvocation* invocation)\n  {\n    if (method_name == \"getParameter\") {\n      GDBusError authErrorCode = G_DBUS_ERROR_FAILED;\n      const gchar* authErrorMessage = NULL;\n\n      if (! isAuthorizedByPolkit(invocation, &authErrorCode, &authErrorMessage)) {\n        g_dbus_method_invocation_return_error_literal(invocation, G_DBUS_ERROR, authErrorCode, authErrorMessage);\n        return;\n      }\n\n      const char* name_cstr = nullptr;\n      g_variant_get(parameters, \"(&s)\", &name_cstr);\n      std::string name(name_cstr);\n      auto value = getParameter(name);\n      g_dbus_method_invocation_return_value(invocation, g_variant_new(\"(s)\", value.c_str()));\n      return;\n    }\n\n    if (method_name == \"setParameter\") {\n      GDBusError authErrorCode = G_DBUS_ERROR_FAILED;\n      const gchar* authErrorMessage = NULL;\n\n      if (! isAuthorizedByPolkit(invocation, &authErrorCode, &authErrorMessage)) {\n        g_dbus_method_invocation_return_error_literal(invocation, G_DBUS_ERROR, authErrorCode, authErrorMessage);\n        return;\n      }\n\n      const char* name_cstr = nullptr;\n      const char* value_cstr = nullptr;\n      g_variant_get(parameters, \"(&s&s)\", &name_cstr, &value_cstr);\n      const std::string name(name_cstr);\n      const std::string value(value_cstr);\n      auto previous_value = setParameter(name, value);\n      g_dbus_method_invocation_return_value(invocation, g_variant_new(\"(s)\", previous_value.c_str()));\n      return;\n    }\n\n    g_dbus_method_invocation_return_error(invocation, G_DBUS_ERROR,\n      G_DBUS_ERROR_UNKNOWN_METHOD, \"Unknown method interface\");\n    return;\n  }\n\n  void DBusBridge::handlePolicyMethodCall(const std::string& method_name, GVariant* parameters, GDBusMethodInvocation* invocation)\n  {\n    if (method_name == \"listRules\") {\n      GDBusError authErrorCode = G_DBUS_ERROR_FAILED;\n      const gchar* authErrorMessage = NULL;\n\n      if (! isAuthorizedByPolkit(invocation, &authErrorCode, &authErrorMessage)) {\n        g_dbus_method_invocation_return_error_literal(invocation, G_DBUS_ERROR, authErrorCode, authErrorMessage);\n        return;\n      }\n\n      const char* label_cstr = nullptr;\n      g_variant_get(parameters, \"(&s)\", &label_cstr);\n      std::string label(label_cstr);\n      auto rules = listRules(label);\n\n      if (rules.size() > 0) {\n        auto gvbuilder = g_variant_builder_new(G_VARIANT_TYPE_ARRAY);\n\n        try {\n          for (auto rule : rules) {\n            g_variant_builder_add(gvbuilder, \"(us)\",\n              rule.getRuleID(),\n              rule.toString().c_str());\n          }\n\n          g_dbus_method_invocation_return_value(invocation, g_variant_new(\"(a(us))\", gvbuilder));\n        }\n        catch (...) {\n          g_variant_builder_unref(gvbuilder);\n          throw;\n        }\n\n        g_variant_builder_unref(gvbuilder);\n      }\n      else {\n        g_dbus_method_invocation_return_value(invocation, g_variant_new(\"(a(us))\", nullptr));\n      }\n\n      return;\n    }\n\n    if (method_name == \"appendRule\") {\n      GDBusError authErrorCode = G_DBUS_ERROR_FAILED;\n      const gchar* authErrorMessage = NULL;\n\n      if (! isAuthorizedByPolkit(invocation, &authErrorCode, &authErrorMessage)) {\n        g_dbus_method_invocation_return_error_literal(invocation, G_DBUS_ERROR, authErrorCode, authErrorMessage);\n        return;\n      }\n\n      const char* rule_spec_cstr = nullptr;\n      uint32_t parent_id = 0;\n      gboolean temporary = false;\n      g_variant_get(parameters, \"(&sub)\", &rule_spec_cstr, &parent_id, &temporary);\n      std::string rule_spec(rule_spec_cstr);\n      const uint32_t rule_id = appendRule(rule_spec, parent_id, !temporary);\n      g_dbus_method_invocation_return_value(invocation, g_variant_new(\"(u)\", rule_id));\n      return;\n    }\n\n    if (method_name == \"removeRule\") {\n      GDBusError authErrorCode = G_DBUS_ERROR_FAILED;\n      const gchar* authErrorMessage = NULL;\n\n      if (! isAuthorizedByPolkit(invocation, &authErrorCode, &authErrorMessage)) {\n        g_dbus_method_invocation_return_error_literal(invocation, G_DBUS_ERROR, authErrorCode, authErrorMessage);\n        return;\n      }\n\n      uint32_t rule_id = 0;\n      g_variant_get(parameters, \"(u)\", &rule_id);\n      removeRule(rule_id);\n      g_dbus_method_invocation_return_value(invocation, nullptr);\n      return;\n    }\n\n    g_dbus_method_invocation_return_error(invocation, G_DBUS_ERROR,\n      G_DBUS_ERROR_UNKNOWN_METHOD, \"Unknown method interface\");\n    return;\n  }\n\n  void DBusBridge::handleDevicesMethodCall(const std::string& method_name, GVariant* parameters,\n    GDBusMethodInvocation* invocation)\n  {\n    USBGUARD_LOG(Debug) << \"dbus devices method call: \" << method_name;\n\n    if (method_name == \"listDevices\") {\n      GDBusError authErrorCode = G_DBUS_ERROR_FAILED;\n      const gchar* authErrorMessage = NULL;\n\n      if (! isAuthorizedByPolkit(invocation, &authErrorCode, &authErrorMessage)) {\n        g_dbus_method_invocation_return_error_literal(invocation, G_DBUS_ERROR, authErrorCode, authErrorMessage);\n        return;\n      }\n\n      const char* query_cstr = nullptr;\n      g_variant_get(parameters, \"(&s)\", &query_cstr);\n      std::string query(query_cstr);\n      auto devices = listDevices(query);\n\n      if (devices.size() > 0) {\n        auto gvbuilder = g_variant_builder_new(G_VARIANT_TYPE_ARRAY);\n\n        try {\n          for (auto device_rule : devices) {\n            g_variant_builder_add(gvbuilder, \"(us)\",\n              device_rule.getRuleID(),\n              device_rule.toString().c_str());\n          }\n\n          g_dbus_method_invocation_return_value(invocation, g_variant_new(\"(a(us))\", gvbuilder));\n        }\n        catch (...) {\n          g_variant_builder_unref(gvbuilder);\n          throw;\n        }\n\n        g_variant_builder_unref(gvbuilder);\n      }\n      else {\n        g_dbus_method_invocation_return_value(invocation, g_variant_new(\"(a(us))\", nullptr));\n      }\n\n      return;\n    }\n\n    if (method_name == \"applyDevicePolicy\") {\n      GDBusError authErrorCode = G_DBUS_ERROR_FAILED;\n      const gchar* authErrorMessage = NULL;\n\n      if (! isAuthorizedByPolkit(invocation, &authErrorCode, &authErrorMessage)) {\n        g_dbus_method_invocation_return_error_literal(invocation, G_DBUS_ERROR, authErrorCode, authErrorMessage);\n        return;\n      }\n\n      uint32_t device_id = 0;\n      uint32_t target_integer = 0;\n      gboolean permanent = false;\n      g_variant_get(parameters, \"(uub)\", &device_id, &target_integer, &permanent);\n      USBGUARD_LOG(Debug) << \"DBus: applyDevicePolicy: Parsed device_id: \" << device_id << \" target_integer: \" << target_integer <<\n        \" and permanent: \" << permanent;\n      const Rule::Target target = Rule::targetFromInteger(target_integer);\n      const uint32_t rule_id = applyDevicePolicy(device_id, target, permanent);\n      g_dbus_method_invocation_return_value(invocation, g_variant_new(\"(u)\", rule_id));\n      return;\n    }\n\n    g_dbus_method_invocation_return_error(invocation, G_DBUS_ERROR,\n      G_DBUS_ERROR_UNKNOWN_METHOD, \"Unknown method \");\n  }\n\n  void DBusBridge::IPCConnected()\n  {\n    if (p_ipc_callback != nullptr) {\n      p_ipc_callback(/*connected=*/true);\n    }\n  }\n\n  void DBusBridge::IPCDisconnected(bool exception_initiated, const IPCException& exception)\n  {\n    (void)exception_initiated;\n    (void)exception;\n\n    if (p_ipc_callback != nullptr) {\n      p_ipc_callback(/*connected=*/false);\n    }\n  }\n\n  void DBusBridge::DevicePresenceChanged(uint32_t id,\n    DeviceManager::EventType event,\n    Rule::Target target,\n    const std::string& device_rule)\n  {\n    GVariantBuilder* gv_builder_attributes = deviceRuleToAttributes(device_rule);\n    g_dbus_connection_emit_signal(p_gdbus_connection, nullptr,\n      DBUS_DEVICES_PATH, DBUS_DEVICES_INTERFACE, \"DevicePresenceChanged\",\n      g_variant_new(\"(uuusa{ss})\",\n        id,\n        DeviceManager::eventTypeToInteger(event),\n        Rule::targetToInteger(target),\n        device_rule.c_str(),\n        gv_builder_attributes),\n      nullptr);\n\n    if (gv_builder_attributes != nullptr) {\n      g_variant_builder_unref(gv_builder_attributes);\n    }\n  }\n\n  void DBusBridge::DevicePolicyChanged(uint32_t id,\n    Rule::Target target_old,\n    Rule::Target target_new,\n    const std::string& device_rule,\n    uint32_t rule_id)\n  {\n    GVariantBuilder* gv_builder_attributes = deviceRuleToAttributes(device_rule);\n    g_dbus_connection_emit_signal(p_gdbus_connection, nullptr,\n      DBUS_DEVICES_PATH, DBUS_DEVICES_INTERFACE, \"DevicePolicyChanged\",\n      g_variant_new(\"(uuusua{ss})\",\n        id,\n        Rule::targetToInteger(target_old),\n        Rule::targetToInteger(target_new),\n        device_rule.c_str(),\n        rule_id,\n        gv_builder_attributes),\n      nullptr);\n\n    if (gv_builder_attributes != nullptr) {\n      g_variant_builder_unref(gv_builder_attributes);\n    }\n  }\n\n  void DBusBridge::DevicePolicyApplied(uint32_t id,\n    Rule::Target target_new,\n    const std::string& device_rule,\n    uint32_t rule_id)\n  {\n    GVariantBuilder* gv_builder_attributes = deviceRuleToAttributes(device_rule);\n    g_dbus_connection_emit_signal(p_gdbus_connection, nullptr,\n      DBUS_DEVICES_PATH, DBUS_DEVICES_INTERFACE, \"DevicePolicyApplied\",\n      g_variant_new(\"(uusua{ss})\",\n        id,\n        Rule::targetToInteger(target_new),\n        device_rule.c_str(),\n        rule_id,\n        gv_builder_attributes),\n      nullptr);\n\n    if (gv_builder_attributes != nullptr) {\n      g_variant_builder_unref(gv_builder_attributes);\n    }\n  }\n\n  void DBusBridge::PropertyParameterChanged(const std::string& name,\n    const std::string& value_old,\n    const std::string& value_new)\n  {\n    g_dbus_connection_emit_signal(p_gdbus_connection, nullptr,\n      DBUS_ROOT_PATH, DBUS_ROOT_INTERFACE, \"PropertyParameterChanged\",\n      g_variant_new(\"(sss)\",\n        name.c_str(),\n        value_old.c_str(),\n        value_new.c_str()),\n      nullptr);\n  }\n\n  void DBusBridge::ExceptionMessage(const std::string& context,\n    const std::string& object,\n    const std::string& reason)\n  {\n    g_dbus_connection_emit_signal(p_gdbus_connection, nullptr,\n      DBUS_ROOT_PATH, DBUS_ROOT_INTERFACE, \"ExceptionMessage\",\n      g_variant_new(\"(sss)\",\n        context.c_str(),\n        object.c_str(),\n        reason.c_str()),\n      nullptr);\n  }\n\n  GVariantBuilder* DBusBridge::deviceRuleToAttributes(const std::string& device_spec)\n  {\n    Rule device_rule = Rule::fromString(device_spec);\n    GVariantBuilder* builder = g_variant_builder_new(G_VARIANT_TYPE_DICTIONARY);\n\n    if (builder == nullptr) {\n      return nullptr;\n    }\n\n    g_variant_builder_add(builder, \"{ss}\",\n      \"hash\",\n      device_rule.getHash().c_str());\n    g_variant_builder_add(builder, \"{ss}\",\n      \"id\",\n      device_rule.getDeviceID().toString().c_str());\n    g_variant_builder_add(builder, \"{ss}\",\n      \"name\",\n      device_rule.getName().c_str());\n    g_variant_builder_add(builder, \"{ss}\",\n      \"parent-hash\",\n      device_rule.getParentHash().c_str());\n    g_variant_builder_add(builder, \"{ss}\",\n      \"serial\",\n      device_rule.getSerial().c_str());\n    g_variant_builder_add(builder, \"{ss}\",\n      \"via-port\",\n      device_rule.getViaPort().c_str());\n    std::string with_interface_string;\n    auto const& with_interface_vector = device_rule.attributeWithInterface().values();\n\n    for (size_t i = 0; i < with_interface_vector.size(); ++i) {\n      with_interface_string.append(with_interface_vector[i].toRuleString());\n\n      if (i < (with_interface_vector.size() - 1)) {\n        with_interface_string.append(\" \");\n      }\n    }\n\n    g_variant_builder_add(builder, \"{ss}\",\n      \"with-interface\",\n      with_interface_string.c_str());\n    g_variant_builder_add(builder, \"{ss}\",\n      \"with-connect-type\",\n      device_rule.getWithConnectType().c_str());\n    return builder;\n  }\n\n  std::string DBusBridge::formatGError(GError* error)\n  {\n    if (error) {\n      std::stringstream formatGError;\n      formatGError << error->message << \" (code \" << error->code << \")\";\n      return formatGError.str();\n    }\n    else {\n      return \"unknown error\";\n    }\n  }\n\n  bool DBusBridge::isAuthorizedByPolkit(GDBusMethodInvocation* invocation, GDBusError* authErrorCode,\n    const gchar** authErrorMessage)\n  {\n    GError* error = NULL;\n    USBGUARD_LOG(Trace) << \"Extracting bus name...\";\n    const gchar* const /*no-free!*/ bus_name = g_dbus_method_invocation_get_sender (invocation);\n\n    if (! bus_name) {\n      USBGUARD_LOG(Trace) << \"Failed to extract bus name.\";\n      *authErrorCode = G_DBUS_ERROR_AUTH_FAILED;\n      *authErrorMessage = \"Failed to extract bus name.\";\n      return false;\n    }\n\n    USBGUARD_LOG(Trace) << \"Extracted bus name \\\"\" << bus_name << \"\\\".\";\n    USBGUARD_LOG(Trace) << \"Extracting interface name...\";\n    const gchar* const /*no-free!*/ interfaceName = g_dbus_method_invocation_get_interface_name(invocation);\n\n    if (! interfaceName) {\n      USBGUARD_LOG(Trace) << \"Failed to extract interface name.\";\n      *authErrorCode = G_DBUS_ERROR_AUTH_FAILED;\n      *authErrorMessage = \"Failed to extract interface name.\";\n      return false;\n    }\n\n    USBGUARD_LOG(Trace) << \"Extracted interface name \\\"\" << interfaceName << \"\\\".\";\n    USBGUARD_LOG(Trace) << \"Extracting method name...\";\n    const gchar* const /*no-free!*/ methodName = g_dbus_method_invocation_get_method_name(invocation);\n\n    if (! methodName) {\n      USBGUARD_LOG(Trace) << \"Failed to extract method name.\";\n      *authErrorCode = G_DBUS_ERROR_AUTH_FAILED;\n      *authErrorMessage = \"Failed to extract method name.\";\n      return false;\n    }\n\n    std::stringstream action_id;\n    action_id << interfaceName << \".\" << methodName;\n    USBGUARD_LOG(Trace) << \"Extracted method name \\\"\" << methodName << \"\\\".\";\n    USBGUARD_LOG(Trace) << \"Creating a system bus Polkit subject...\";\n    PolkitSubject* const subject = polkit_system_bus_name_new(bus_name);\n\n    if (! subject) {\n      USBGUARD_LOG(Trace) << \"Failed to create Polkit subject.\";\n      *authErrorCode = G_DBUS_ERROR_AUTH_FAILED;\n      *authErrorMessage = \"Failed to create Polkit subject.\";\n      return false;\n    }\n\n    USBGUARD_LOG(Trace) << \"Created.\";\n    USBGUARD_LOG(Trace) << \"Connecting with Polkit authority...\";\n    PolkitAuthority* const authority = polkit_authority_get_sync(/*cancellable=*/ NULL, &error);\n\n    if (! authority) {\n      USBGUARD_LOG(Trace) << \"Failed to connect to Polkit authority: \" << formatGError(error) << \".\";\n      *authErrorCode = G_DBUS_ERROR_AUTH_FAILED;\n      *authErrorMessage = \"Failed to connect to Polkit authority\";\n      g_error_free(error);\n      g_object_unref(subject);\n      return false;\n    }\n\n    USBGUARD_LOG(Trace) << \"Connected.\";\n    USBGUARD_LOG(Trace) << \"Customizing Polkit authentication dialog...\";\n    PolkitDetails* const details = polkit_details_new();\n\n    if (! details) {\n      USBGUARD_LOG(Trace) << \"Failed to customize the Polkit authentication dialog.\";\n      *authErrorCode = G_DBUS_ERROR_AUTH_FAILED;\n      *authErrorMessage = \"Failed to customize the Polkit authentication dialog.\";\n      g_object_unref(authority);\n      g_object_unref(subject);\n      return false;\n    }\n\n    polkit_details_insert (details, \"polkit.message\", \"This USBGuard action needs authorization\");\n    USBGUARD_LOG(Trace) << \"Customized.\";\n    USBGUARD_LOG(Trace) << \"Checking authorization of action \\\"\" << action_id.str() << \"\\\" with Polkit ...\";\n    GDBusMessage* const message = g_dbus_method_invocation_get_message (invocation);\n    const PolkitCheckAuthorizationFlags flags = (g_dbus_message_get_flags (message) &\n        G_DBUS_MESSAGE_FLAGS_ALLOW_INTERACTIVE_AUTHORIZATION)\n      ? POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION\n      : POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE;\n    PolkitAuthorizationResult* const result = polkit_authority_check_authorization_sync\n      (authority,\n        subject,\n        action_id.str().c_str(),\n        details,\n        flags,\n        /*cancellable=*/ NULL,\n        &error);\n\n    if (! result) {\n      USBGUARD_LOG(Trace) << \"Failed to check back with Polkit for authoriation: \" << formatGError(error) << \".\";\n      *authErrorCode = G_DBUS_ERROR_AUTH_FAILED;\n      *authErrorMessage = \"Failed to check back with Polkit for authoriation.\";\n      g_error_free(error);\n      g_object_unref(details);\n      g_object_unref(authority);\n      g_object_unref(subject);\n      return false;\n    }\n\n    gboolean isAuthorized = polkit_authorization_result_get_is_authorized(result);\n    USBGUARD_LOG(Trace) << (isAuthorized ? \"Authorized\" : \"Not authorized\") << \".\";\n\n    if (! isAuthorized) {\n      *authErrorCode = G_DBUS_ERROR_ACCESS_DENIED;\n      *authErrorMessage = \"Not authorized.\";\n    }\n\n    g_object_unref(result);\n    g_object_unref(details);\n    g_object_unref(authority);\n    g_object_unref(subject);\n    return isAuthorized;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/DBus/DBusBridge.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/IPCClient.hpp\"\n\n#pragma clang diagnostic push\n#pragma clang diagnostic ignored \"-Wdeprecated-register\"\n#include <gio/gio.h>\n#pragma clang diagnostic pop\n\n#define DBUS_SERVICE_NAME      \"org.usbguard1\"\n#define DBUS_ROOT_INTERFACE    \"org.usbguard1\"\n#define DBUS_ROOT_PATH         \"/org/usbguard1\"\n#define DBUS_POLICY_INTERFACE  \"org.usbguard.Policy1\"\n#define DBUS_POLICY_PATH       \"/org/usbguard1/Policy\"\n#define DBUS_DEVICES_INTERFACE \"org.usbguard.Devices1\"\n#define DBUS_DEVICES_PATH      \"/org/usbguard1/Devices\"\n\nnamespace usbguard\n{\n  class DBusBridge : public IPCClient\n  {\n  public:\n    DBusBridge(GDBusConnection* const gdbus_connection,\n      void(*ipc_callback)(bool) = nullptr);\n    ~DBusBridge();\n\n    void handleMethodCall(const std::string interface, const std::string method_name,\n      GVariant* parameters, GDBusMethodInvocation* invocation);\n\n  private:\n    void IPCConnected() override;\n    void IPCDisconnected(bool exception_initiated, const IPCException& exception) override;\n\n    void DevicePresenceChanged(uint32_t id,\n      DeviceManager::EventType event,\n      Rule::Target target,\n      const std::string& device_rule) override;\n\n    void DevicePolicyChanged(uint32_t id,\n      Rule::Target target_old,\n      Rule::Target target_new,\n      const std::string& device_rule,\n      uint32_t rule_id) override;\n\n    void DevicePolicyApplied(uint32_t id,\n      Rule::Target target_new,\n      const std::string& device_rule,\n      uint32_t rule_id) override;\n\n    void PropertyParameterChanged(const std::string& name,\n      const std::string& value_old,\n      const std::string& value_new) override;\n\n    void ExceptionMessage(const std::string& context,\n      const std::string& object,\n      const std::string& reason) override;\n\n    static GVariantBuilder* deviceRuleToAttributes(const std::string& device_spec);\n\n    void handleRootMethodCall(const std::string& method_name, GVariant* parameters, GDBusMethodInvocation* invocation);\n    void handlePolicyMethodCall(const std::string& method_name, GVariant* parameters, GDBusMethodInvocation* invocation);\n    void handleDevicesMethodCall(const std::string& method_name, GVariant* parameters, GDBusMethodInvocation* invocation);\n\n    void emitDevicePolicyDecision(const char* policy_signal,\n      uint32_t id,\n      const std::map<std::string, std::string>& attributes,\n      bool rule_match,\n      uint32_t rule_id);\n\n    static std::string formatGError(GError* error);\n    static bool isAuthorizedByPolkit(GDBusMethodInvocation* invocation, GDBusError* authError, const gchar** authErrorMessage);\n\n    GDBusConnection* const p_gdbus_connection;\n    void(*p_ipc_callback)(bool);\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/DBus/DBusInterface.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE node PUBLIC\n  \"-//freedesktop//DTD D-Bus Object Introspection 1.0//EN\"\n  \"https://specifications.freedesktop.org/dbus/1.0/introspect.dtd\">\n<node>\n  <!--\n    org.usbguard1\n    -->\n  <interface name=\"org.usbguard1\">\n    <!--\n      getParameter:\n       @name:\n       @value:\n      -->\n    <method name=\"getParameter\">\n      <arg name=\"name\" direction=\"in\" type=\"s\"/>\n      <arg name=\"value\" direction=\"out\" type=\"s\"/>\n    </method>\n    <!--\n      setParameter:\n       @name:\n       @value:\n       @previous_value:\n      -->\n    <method name=\"setParameter\">\n      <arg name=\"name\" direction=\"in\" type=\"s\"/>\n      <arg name=\"value\" direction=\"in\" type=\"s\"/>\n      <arg name=\"previous_value\" direction=\"out\" type=\"s\"/>\n    </method>\n\n    <!--\n      PropertyParameterChanged:\n       @name: Policy name\n       @value_old: Previous policy value.\n       @value_new: Current policy value.\n\n        Notify about a change of a property parameter.\n\n      -->\n    <signal name=\"PropertyParameterChanged\">\n      <arg name=\"name\" direction=\"out\" type=\"s\"/>\n      <arg name=\"value_old\" direction=\"out\" type=\"s\"/>\n      <arg name=\"value_new\" direction=\"out\" type=\"s\"/>\n    </signal>\n\n    <!--\n      ExceptionMessage:\n      @context: Description or identifier of the exception context.\n      @object: Description or identifier of the object which caused the exception.\n      @reason: Reason explaining why the exception was generated.\n      -->\n    <signal name=\"ExceptionMessage\">\n      <arg name=\"context\" direction=\"out\" type=\"s\"/>\n      <arg name=\"object\" direction=\"out\" type=\"s\"/>\n      <arg name=\"reason\" direction=\"out\" type=\"s\"/>\n    </signal>\n  </interface>\n  <!--\n   org.usbguard.Policy1:\n\n   The Policy interface allows to modify the USBGuard authorization policy.\n  -->\n  <interface name=\"org.usbguard.Policy1\">\n    <!--\n      listRules:\n       @label: A label for matching rules.\n       @ruleset: An array of (rule_id, rule) tuples.\n\n      List the current rule set (policy) used by the USBGuard daemon. The\n      rules are returned in the same order as they are evaluated.\n     -->\n    <method name=\"listRules\">\n      <arg name=\"label\" direction=\"in\" type=\"s\"/>\n      <arg name=\"ruleset\" direction=\"out\" type=\"a(us)\"/>\n    </method>\n\n    <!--\n      appendRule:\n       @rule: The rule that should be appended to the policy.\n       @parent_id: Rule id of the parent rule.\n       @temporary: A boolean to avoid adding this rule to the policy file.\n       @id: The rule id assigned to the succesfully appended rule.\n\n      Append a new rule to the current policy. Using the parent_id\n      parameter, the rule can be inserted anywhere in the policy,\n      not only at the end. 4294967293 (UINT32_MAX-2) is the last possible\n      ID and thus, when using this as parent id, the rule is effectively\n      appended to the list of rules. When the rule is successfully appended,\n      the id assigned to the new rule is returned.\n     -->\n    <method name=\"appendRule\">\n      <arg name=\"rule\" direction=\"in\" type=\"s\"/>\n      <arg name=\"parent_id\" direction=\"in\" type=\"u\"/>\n      <arg name=\"temporary\" direction=\"in\" type=\"b\"/>\n      <arg name=\"id\" direction=\"out\" type=\"u\"/>\n    </method>\n\n    <!--\n      removeRule:\n       @id: The rule id of the rule to be removed.\n\n      Remove a rule from the current policy.\n     -->\n    <method name=\"removeRule\">\n      <arg name=\"id\" direction=\"in\" type=\"u\"/>\n    </method>\n  </interface>\n  <!--\n    org.usbguard.Devices1:\n\n    The org.usbguard.Devices interface provides access to USB\n    devices via the USBGuard daemon. It can be used to modify\n    the runtime authorization state of devices and to listen\n    for device events (insertion, removal, (de)authorization,\n    ...)\n   -->\n  <interface name=\"org.usbguard.Devices1\">\n    <!--\n      listDevices:\n       @query: A query, in the rule language syntax, for matching devices.\n       @devices: An array of (device_id, device_rule) tuples that match the query.\n\n      List devices that match the specified query. The query uses the rule\n      language syntax and the devices are returned as device specific rules.\n      The target in each rule represents the current authorization state of\n      the device. Order of the returned devices is not defined and should not\n      be relied upon.\n\n      Example queries:\n       - 'match': Matches any device.\n       - 'allow': Matches only authorized devices.\n       - 'block': Matches only unauthorized devices.\n       - 'match with-interface one-of { 03:00:01 03:01:01 }': Matches any device with a HID/Keyboard interface.\n\n      -->\n    <method name=\"listDevices\">\n      <arg name=\"query\" direction=\"in\" type=\"s\"/>\n      <arg name=\"devices\" direction=\"out\" type=\"a(us)\"/>\n    </method>\n\n    <!--\n      applyDevicePolicy:\n       @id: Device id of the device to authorize.\n       @target: Device authorization target in numerical form.\n                0 = Allow. 1 = Block. 2 = Reject.\n       @permanent: A boolean flag specifying whether an allow rule should be appended to the policy.\n       @rule_id: If permanent was set to true, the method will return an ID of the rule that was\n                 modified or created because of this request.\n\n      Apply an authorization target to a device.\n\n      If the permanent flag is set to True, a rule will be appended to the policy or an exiting device\n      rule will be modified in order to permanently store the authorization decision.\n\n      Successful execution of this method will cause the DevicePolicyChanged signal to be broadcasted if\n      the device authorization target was different from the applied target.\n      -->\n    <method name=\"applyDevicePolicy\">\n      <arg name=\"id\" direction=\"in\" type=\"u\"/>\n      <arg name=\"target\" direction=\"in\" type=\"u\"/>\n      <arg name=\"permanent\" direction=\"in\" type=\"b\"/>\n      <arg name=\"rule_id\" direction=\"out\" type=\"u\"/>\n    </method>\n\n    <!--\n      DevicePresenceChanged:\n       @id: Device id of the device.\n       @event: Type of the presence change event in numerical form.\n               0 = Present, 1 = Insert, 2 = Update, 3 = Remove.\n       @target: The current authorization target of the device in numerical form.\n       @device_rule: Device specific rule.\n       @attributes: A dictionary of device attributes and their values.\n \n      Notify that a USB device was already present when USBGuard was started. Note\n      that currently this signal is of little use to 3rd-party application developers\n      as the signal won't reach any clients on the bus because the bus connections\n      are handled after the devices are processed. However, the internal processing\n      routines may change in the future so this signal is provided and documented\n      for completeness.\n\n      The device attribute dictionary contains the following attributes:\n        - id (the USB device ID in the form VID:PID)\n        - name\n        - serial\n        - via-port\n        - hash\n        - parent-hash\n        - with-interface\n        - with-connect-type (either \"hardwired\", \"hotplug\", or the empty string for unknown)\n\n      The USB interface types are represented as strings of the form AA:BB:CC, where AA,\n      BB, and CC are hexadecimal numbers representing the class, subclass and protocol\n      of the interface  as defined by the USB standard.\n\n      -->\n    <signal name=\"DevicePresenceChanged\">\n      <arg name=\"id\" direction=\"out\" type=\"u\"/>\n      <arg name=\"event\" direction=\"out\" type=\"u\"/>\n      <arg name=\"target\" direction=\"out\" type=\"u\"/>\n      <arg name=\"device_rule\" direction=\"out\" type=\"s\"/>\n      <arg name=\"attributes\" direction=\"out\" type=\"a{ss}\"/>\n    </signal>\n\n    <!--\n      DevicePolicyChanged:\n       @id: Device id of the device\n       @target_old: Previous authorization target in numerical form.\n                    0 = Allow. 1 = Block. 2 = Reject.\n       @target_new: Current authorization target in numerical form.\n       @device_rule: Device specific rule.\n       @rule_id: A rule id of the matched rule. Otherwise a reserved rule id value is used.\n                 Reserved values are:\n                     4294967294 (UINT32_MAX - 1) for an implicit rule, e.g. \n                     ImplicitPolicyTarget or InsertedDevicePolicy.\n       @attributes: A dictionary of device attributes and their values.\n\n      Notify about a change of a USB device authorization target.\n\n      The device attribute dictionary contains the following attributes:\n        - id (the USB device ID in the form VID:PID)\n        - name\n        - serial\n        - via-port\n        - hash\n        - parent-hash\n        - with-interface\n        - with-connect-type (either \"hardwired\", \"hotplug\", or the empty string for unknown)\n\n     -->\n    <signal name=\"DevicePolicyChanged\">\n      <arg name=\"id\" direction=\"out\" type=\"u\"/>\n      <arg name=\"target_old\" direction=\"out\" type=\"u\"/>\n      <arg name=\"target_new\" direction=\"out\" type=\"u\"/>\n      <arg name=\"device_rule\" direction=\"out\" type=\"s\"/>\n      <arg name=\"rule_id\" direction=\"out\" type=\"u\"/>\n      <arg name=\"attributes\" direction=\"out\" type=\"a{ss}\"/>\n    </signal>\n\n    <!--\n      DevicePolicyApplied:\n       @id: Device id of the device\n       @target_new: Current authorization target in numerical form.\n                    0 = Allow. 1 = Block. 2 = Reject.\n       @device_rule: Device specific rule.\n       @rule_id: A rule id of the matched rule. Otherwise a reserved rule id value is used.\n                 Reserved values are:\n                     4294967294 (UINT32_MAX - 1) for an implicit rule, e.g. \n                     ImplicitPolicyTarget or InsertedDevicePolicy.\n       @attributes: A dictionary of device attributes and their values.\n\n      Notify about a change of a USB device.\n      This is a superset of DevicePolicyChanged and will always be thrown\n      when a device is inserted, authorised, or rejected.\n\n      The device attribute dictionary contains the following attributes:\n        - id (the USB device ID in the form VID:PID)\n        - name\n        - serial\n        - via-port\n        - hash\n        - parent-hash\n        - with-interface\n        - with-connect-type (either \"hardwired\", \"hotplug\", or the empty string for unknown)\n\n     -->\n    <signal name=\"DevicePolicyApplied\">\n      <arg name=\"id\" direction=\"out\" type=\"u\"/>\n      <arg name=\"target_new\" direction=\"out\" type=\"u\"/>\n      <arg name=\"device_rule\" direction=\"out\" type=\"s\"/>\n      <arg name=\"rule_id\" direction=\"out\" type=\"u\"/>\n      <arg name=\"attributes\" direction=\"out\" type=\"a{ss}\"/>\n    </signal>\n  </interface>\n</node>\n\n"
  },
  {
    "path": "src/DBus/README.adoc",
    "content": "USBGuard DBus\n=============\n\n== Generating DBus documentation\n\n[source,bash]\n----\ninclude::generate-documentation.sh[]\n----\n"
  },
  {
    "path": "src/DBus/gdbus-server.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#ifdef HAVE_GNU_BASENAME\n  /* GNU version of basename(3) */\n  #ifndef _GNU_SOURCE\n    #define _GNU_SOURCE\n  #endif\n  #include <cstring>\n#else\n  /* POSIX version of basename(3) */\n  #include <libgen.h>\n#endif\n\n#include <cstdlib>  // e.g. for free(3)\n#include <cstring>  // e.g. for strdup(3)\n#include <iostream>\n#include <getopt.h>\n#include \"DBusBridge.hpp\"\n\nstatic usbguard::DBusBridge* dbus_bridge = nullptr;\nstatic GMainLoop* main_loop = nullptr;\nstatic GDBusNodeInfo* introspection_data = NULL;\n\nstatic const gchar introspection_xml[] =\n#include \"DBusInterface.xml.cstr\"\n  ;\nstatic const unsigned int expected_interface_count = 3;\n\nstatic int global_ret = EXIT_SUCCESS;\n\nstatic void\nhandle_method_call (GDBusConnection*       connection,\n  const gchar*           sender,\n  const gchar*           object_path,\n  const gchar*           interface_name,\n  const gchar*           method_name,\n  GVariant*              parameters,\n  GDBusMethodInvocation* invocation,\n  gpointer               user_data)\n{\n  (void)connection;\n  (void)sender;\n  (void)object_path;\n  (void)user_data;\n\n  try {\n    dbus_bridge->handleMethodCall(interface_name, method_name, parameters, invocation);\n  }\n  catch (std::exception& ex) {\n    g_dbus_method_invocation_return_error(invocation, G_DBUS_ERROR,\n      G_DBUS_ERROR_FAILED, \"Exception: %s\", ex.what());\n  }\n  catch (...) {\n    g_dbus_method_invocation_return_error(invocation, G_DBUS_ERROR,\n      G_DBUS_ERROR_FAILED, \"BUG: Unknown exception; method call failed for unknown reasons.\");\n  }\n}\n\nstatic gboolean\nusbguard_ipc_try_connect(gpointer user_data)\n{\n  (void)user_data;\n\n  if (dbus_bridge == nullptr) {\n    g_main_loop_quit(main_loop);\n    global_ret = EXIT_FAILURE;\n    return FALSE;\n  }\n  else if (dbus_bridge->isConnected()) {\n    /* returning FALSE removes the function call from the main loop */\n    return FALSE;\n  }\n  else {\n    try {\n      dbus_bridge->connect();\n    }\n    catch (...) {\n      /* ignore exception */\n    }\n\n    return TRUE;\n  }\n}\n\nstatic void\nhandle_usbguard_ipc_state(bool state)\n{\n  if (state == false) {\n    if (g_timeout_add_seconds(1, &usbguard_ipc_try_connect, nullptr) <= 0) {\n      std::cerr << \"Unable to setup the IPC reconnection timer.\" << std::endl;\n      g_main_loop_quit(main_loop);\n      global_ret = EXIT_FAILURE;\n      return;\n    }\n  }\n}\n\nstatic const GDBusInterfaceVTable devices_interface_vtable = {\n  handle_method_call,\n  nullptr,\n  nullptr,\n  {}\n};\n\nstatic const GDBusInterfaceVTable policy_interface_vtable = {\n  handle_method_call,\n  nullptr,\n  nullptr,\n  {}\n};\n\nstatic const GDBusInterfaceVTable usbguard_interface_vtable = {\n  handle_method_call,\n  nullptr,\n  nullptr,\n  {}\n};\n\nstatic void\non_bus_acquired (GDBusConnection* connection,\n  const gchar*     name,\n  gpointer         user_data)\n{\n  (void)name;\n  (void)user_data;\n  auto usbguard_rid = g_dbus_connection_register_object(connection,\n      DBUS_ROOT_PATH,\n      introspection_data->interfaces[0],\n      &usbguard_interface_vtable,\n      /*user_data=*/dbus_bridge,\n      /*user_data_free_func=*/nullptr,\n      /*GError=*/nullptr);\n  auto policy_rid = g_dbus_connection_register_object(connection,\n      DBUS_POLICY_PATH,\n      introspection_data->interfaces[1],\n      &policy_interface_vtable,\n      /*user_data=*/dbus_bridge,\n      /*user_data_free_func=*/nullptr,\n      /*GError=*/nullptr);\n  auto devices_rid = g_dbus_connection_register_object(connection,\n      DBUS_DEVICES_PATH,\n      introspection_data->interfaces[2],\n      &devices_interface_vtable,\n      /*user_data=*/dbus_bridge,\n      /*user_data_free_func=*/nullptr,\n      /*GError=*/nullptr);\n\n  if (policy_rid <= 0 || devices_rid <= 0 || usbguard_rid <= 0) {\n    std::cerr << \"Unable to register required objects on the bus.\" << std::endl;\n    g_main_loop_quit(main_loop);\n    global_ret = EXIT_FAILURE;\n  }\n}\n\nstatic void\non_name_acquired (GDBusConnection* connection,\n  const gchar*     name,\n  gpointer         user_data)\n{\n  (void)name;\n  (void)user_data;\n  /* We got the name, reset the global return value */\n  global_ret = EXIT_SUCCESS;\n\n  try {\n    dbus_bridge = new usbguard::DBusBridge(connection);\n    handle_usbguard_ipc_state(/*state=*/false);\n  }\n  catch (...) {\n    dbus_bridge = nullptr;\n    std::cerr << \"Unable to create the USBGuard DBus Bridge.\" << std::endl;\n    g_main_loop_quit(main_loop);\n    global_ret = EXIT_FAILURE;\n  }\n}\n\nstatic void\non_name_lost (GDBusConnection* connection,\n  const gchar*     name,\n  gpointer         user_data)\n{\n  (void)connection;\n  (void)name;\n  (void)user_data;\n  g_main_loop_quit(main_loop);\n  auto dbus_bridge_local = dbus_bridge;\n  dbus_bridge = nullptr;\n  delete dbus_bridge_local;\n}\n\nstatic const char* options_short = \"sSh\";\nstatic const char* usbguard_arg0 = nullptr;\n\nstatic const struct ::option options_long[] = {\n  { \"system\", no_argument, nullptr, 's' },\n  { \"session\", no_argument, nullptr, 'S' },\n  { \"help\", no_argument, nullptr, 'h' },\n  { nullptr, 0, nullptr, 0 }\n};\n\nstatic void showHelp(std::ostream& stream)\n{\n  char* const writeable_arg0 = ::strdup(usbguard_arg0);\n  stream << \" Usage: \" << ::basename(writeable_arg0) << \" [OPTIONS]\" << std::endl;\n  stream << std::endl;\n  stream << \" Options:\" << std::endl;\n  stream << \"  -s, --system   Listen on the system bus.\" << std::endl;\n  stream << \"  -S, --session  Listen on the session bus.\" << std::endl;\n  stream << \"  -h, --help     Show this help.\" << std::endl;\n  stream << std::endl;\n  ::free(writeable_arg0);\n}\n\nint\nmain (int argc, char* argv[])\n{\n  usbguard_arg0 = argv[0];\n  int opt = 0;\n  bool use_system_bus = true;\n\n  while ((opt = getopt_long(argc, argv, options_short, options_long, nullptr)) != -1) {\n    switch (opt) {\n    case 's':\n      use_system_bus = true;\n      break;\n\n    case 'S':\n      use_system_bus = false;\n      break;\n\n    case 'h':\n      showHelp(std::cout);\n      return EXIT_SUCCESS;\n\n    case '?':\n      showHelp(std::cerr);\n\n    default:\n      return EXIT_FAILURE;\n    }\n  }\n\n  /* Parse the XML DBus interface definition */\n  if ((introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, nullptr)) == nullptr) {\n    std::cerr << \"Failed to parse the introspection data.\" << std::endl;\n    return EXIT_FAILURE;\n  }\n\n  /* Ensure that the expected number of interfaces is defined */\n  unsigned int interface_count = 0;\n\n  if (introspection_data->interfaces != nullptr) {\n    while (introspection_data->interfaces[interface_count] != nullptr) {\n      ++interface_count;\n    }\n  }\n\n  if (interface_count != expected_interface_count) {\n    std::cerr << \"The introspection data contains an unexpected\"\n      << \" number of interfaces: \" << interface_count\n      << \", expected: \" << expected_interface_count << std::endl;\n    return EXIT_FAILURE;\n  }\n\n  /*\n   * Set the global return value to FAILURE before we start the mainloop.\n   * When we succesfully own the bus name, this flag will be reset by the\n   * DBus callbacks back to SUCCESS. Otherwise, the on_name_lost callback\n   * will be called which will stop the main loop and we'll return the\n   * FAILURE return code.\n   */\n  global_ret = EXIT_FAILURE;\n  /* Try to take ownership of the bus */\n  auto owner_id = g_bus_own_name (use_system_bus ?\n      G_BUS_TYPE_SYSTEM : G_BUS_TYPE_SESSION,\n      DBUS_SERVICE_NAME,\n      G_BUS_NAME_OWNER_FLAGS_NONE,\n      on_bus_acquired,\n      on_name_acquired,\n      on_name_lost,\n      /*user_data=*/nullptr,\n      /*user_data_free_func=*/nullptr);\n  int ret;\n\n  /* Start the main loop */\n  if (owner_id > 0) {\n    if ((main_loop = g_main_loop_new (NULL, FALSE)) != nullptr) {\n      g_main_loop_run (main_loop);\n    }\n\n    g_bus_unown_name (owner_id);\n    ret = global_ret;\n  }\n  else {\n    std::cerr << \"Failed to take ownership of the \" << DBUS_SERVICE_NAME << \" bus name.\" << std::endl;\n    ret = EXIT_FAILURE;\n  }\n\n  /* Release allocated resources */\n  g_dbus_node_info_unref (introspection_data);\n  return ret;\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/DBus/generate-documentation.sh",
    "content": "#!/bin/sh\n#\n# Copyright (C) 2018 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Daniel Kopecek <dkopecek@redhat.com>\n#\nset -x\n\nmkdir doc/\ngdbus-codegen --generate-docbook=doc DBusInterface.xml\nmv doc-*.xml doc/\npushd doc/\n\necho \"USBGuard DBus Interface Documentation\"  > usbguard-dbus.adoc\necho \"=====================================\" >> usbguard-dbus.adoc\necho \"\" >> usbguard-dbus.adoc\n\nfor doc in doc-*.xml; do \\\n docbook2html -u $doc\n\n html_file=$(echo $doc | sed 's/\\.xml$/.html/')\n html_title=$(echo $doc | sed -n 's/^doc-\\(.*\\)\\.xml$/\\1/p')\n echo \"* link:$html_file[$html_title]\" >> usbguard-dbus.adoc\ndone\na2x -f xhtml usbguard-dbus.adoc\npopd\n"
  },
  {
    "path": "src/DBus/org.usbguard1.conf",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE busconfig PUBLIC\n  \"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN\"\n  \"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd\">\n<busconfig>\n  <!--\n    root can own the service\n    -->\n  <policy user=\"root\">\n    <allow own=\"org.usbguard1\"/>\n  </policy>\n\n  <!--\n  <policy user=\"usbguard-dbus\">\n    <allow own=\"org.usbguard1\"/>\n  </policy>\n    -->\n\n  <!--\n    Allow anyone to invoke methods on the interfaces, authorization\n    is performed by PolicyKit\n    -->\n  <policy context=\"default\">\n    <allow send_destination=\"org.usbguard1\"/>\n  </policy>\n</busconfig>\n\n"
  },
  {
    "path": "src/DBus/org.usbguard1.policy",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE policyconfig PUBLIC \"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN\"\n        \"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd\">\n\n<policyconfig>\n  <vendor>The USBGuard Project</vendor>\n  <vendor_url>https://github.org/USBGuard/usbguard</vendor_url>\n\n  <action id=\"org.usbguard.Policy1.listRules\">\n    <description>List the rule set (policy) used by the USBGuard daemon</description>\n    <message>Prevents listing the USBGuard policy</message>\n    <defaults>\n      <allow_inactive>no</allow_inactive>\n      <allow_active>yes</allow_active>\n    </defaults>\n  </action>\n\n  <action id=\"org.usbguard.Policy1.appendRule\">\n    <description>Append a new rule to the policy</description>\n    <message>Prevents appending rules to the USBGuard policy</message>\n    <defaults>\n      <allow_inactive>no</allow_inactive>\n      <allow_active>auth_admin</allow_active>\n    </defaults>\n  </action>\n\n  <action id=\"org.usbguard.Policy1.removeRule\">\n    <description>Remove a rule from the policy</description>\n    <message>Prevents removing rules from the USBGuard policy</message>\n    <defaults>\n      <allow_inactive>no</allow_inactive>\n      <allow_active>auth_admin</allow_active>\n    </defaults>\n  </action>\n\n  <action id=\"org.usbguard.Devices1.applyDevicePolicy\">\n    <description>Apply a policy to a device in USBGuard</description>\n    <message>Prevents applying a policy to a device in USBGuard</message>\n    <defaults>\n      <allow_inactive>no</allow_inactive>\n      <allow_active>auth_admin</allow_active>\n    </defaults>\n  </action>\n\n  <action id=\"org.usbguard.Devices1.listDevices\">\n    <description>List all USB devices recognized by the USBGuard daemon</description>\n    <message>Prevents listing USB devices recognized by the USBGuard daemon</message>\n    <defaults>\n      <allow_inactive>no</allow_inactive>\n      <allow_active>yes</allow_active>\n    </defaults>\n  </action>\n\n  <action id=\"org.usbguard1.getParameter\">\n    <description>Get the value of a runtime parameter</description>\n    <message>Prevents getting values of runtime USBGuard parameters</message>\n    <defaults>\n      <allow_inactive>no</allow_inactive>\n      <allow_active>yes</allow_active>\n    </defaults>\n  </action>\n\n  <action id=\"org.usbguard1.setParameter\">\n    <description>Set the value of a runtime parameter</description>\n    <message>Prevents setting values of runtime USBGuard parameters</message>\n    <defaults>\n      <allow_inactive>no</allow_inactive>\n      <allow_active>auth_admin</allow_active>\n    </defaults>\n  </action>\n</policyconfig>\n\n"
  },
  {
    "path": "src/DBus/org.usbguard1.service.in",
    "content": "[D-BUS Service]\nName=org.usbguard1\nExec=%{sbindir}%/usbguard-dbus --system\nSystemdService=dbus-org.usbguard.service\n\n"
  },
  {
    "path": "src/DBus/usbguard-dbus.service.in",
    "content": "[Unit]\nDescription=USBGuard D-Bus Service\nRequires=usbguard.service\nDocumentation=man:usbguard-dbus(8)\n\n[Service]\nType=dbus\nBusName=org.usbguard1\nExecStart=%{sbindir}%/usbguard-dbus --system\nRestart=on-failure\n\n[Install]\nWantedBy=multi-user.target\nAlias=dbus-org.usbguard.service\n\n"
  },
  {
    "path": "src/Daemon/Daemon.cpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Jiri Vymazal   <jvymazal@redhat.com>\n//          Radovan Sroka <rsroka@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"Daemon.hpp\"\n#include \"FileAuditBackend.hpp\"\n#include \"LinuxAuditBackend.hpp\"\n#include \"Common/Utility.hpp\"\n#include \"NSHandler.hpp\"\n\n#include \"usbguard/DeviceManager.hpp\"\n#include \"usbguard/Logger.hpp\"\n#include \"usbguard/RuleParser.hpp\"\n#include \"usbguard/Audit.hpp\"\n\n#include <array>\n\n#include <sys/select.h>\n#include <sys/time.h>\n#include <sys/types.h>\n#include <sys/poll.h>\n#include <sys/wait.h>\n#include <unistd.h>\n#include <signal.h>\n#include <string.h>\n#include <sys/stat.h>\n#include <fcntl.h>\n#include <grp.h>\n#include <pwd.h>\n\nnamespace usbguard\n{\n  /*\n   * Recognized configuration option names. If an\n   * unknown setting is found in the config file,\n   * a warning message will be displayed.\n   */\n  static const std::vector<std::string> G_config_known_names = {\n    \"RuleFile\",\n    \"RuleFolder\",\n    \"ImplicitPolicyTarget\",\n    \"PresentDevicePolicy\",\n    \"PresentControllerPolicy\",\n    \"IPCAllowedUsers\",\n    \"IPCAllowedGroups\",\n    \"DeviceRulesWithPort\",\n    \"InsertedDevicePolicy\",\n    \"AuthorizedDefault\",\n    \"RestoreControllerDeviceState\",\n    \"DeviceManagerBackend\",\n    \"IPCAccessControlFiles\",\n    \"AuditFilePath\",\n    \"AuditBackend\",\n    \"HidePII\"\n  };\n\n  static const std::vector<std::pair<std::string, Daemon::DevicePolicyMethod>> device_policy_method_strings = {\n    { \"allow\", Daemon::DevicePolicyMethod::Allow },\n    { \"block\", Daemon::DevicePolicyMethod::Block },\n    { \"reject\", Daemon::DevicePolicyMethod::Reject },\n    { \"keep\", Daemon::DevicePolicyMethod::Keep },\n    { \"apply-policy\", Daemon::DevicePolicyMethod::ApplyPolicy }\n  };\n\n  Daemon::DevicePolicyMethod Daemon::devicePolicyMethodFromString(const std::string& policy_string)\n  {\n    for (auto device_policy_method_string : device_policy_method_strings) {\n      if (device_policy_method_string.first == policy_string) {\n        return device_policy_method_string.second;\n      }\n    }\n\n    throw Exception(\"DevicePolicyMethod\", policy_string, \"invalid policy method string\");\n  }\n\n  const std::string Daemon::devicePolicyMethodToString(DevicePolicyMethod policy)\n  {\n    for (auto device_policy_method_string : device_policy_method_strings) {\n      if (device_policy_method_string.second == policy) {\n        return device_policy_method_string.first;\n      }\n    }\n\n    throw USBGUARD_BUG(\"Invalid device policy method value\");\n  }\n\n  Daemon::Daemon()\n    : _config(G_config_known_names),\n      _audit(_audit_identity)\n  {\n    sigset_t signal_set;\n    sigfillset(&signal_set);\n\n    for (int del_signum : {\n        SIGSEGV, SIGABRT, SIGKILL, SIGILL\n      }) {\n      sigdelset(&signal_set, del_signum);\n    }\n    USBGUARD_SYSCALL_THROW(\"Daemon initialization\",\n      (errno = pthread_sigmask(SIG_BLOCK, &signal_set, nullptr)) != 0);\n    _device_manager_backend = \"uevent\";\n    _implicit_policy_target = Rule::Target::Block;\n    _present_device_policy_method = DevicePolicyMethod::ApplyPolicy;\n    _present_controller_policy_method = DevicePolicyMethod::Keep;\n    _inserted_device_policy_method = DevicePolicyMethod::ApplyPolicy;\n    _device_rules_with_port = false;\n    _restore_controller_device_state = false;\n    pid_fd = -1;\n  }\n\n  Daemon::~Daemon()\n  {\n    _config.close();\n  }\n\n  int Daemon::checkFilePermissions(const std::string& path,\n    const mode_t permissions)\n  {\n    struct stat file_stat;\n    // from all enabled permissions we subtract the permissions we want to check\n    // after this operation variable permission_bad contains the complement of\n    // permissions we want to check.\n    mode_t permission_bad { (S_IRWXU | S_IRWXG | S_IRWXO ) - permissions };\n\n    if (!stat(path.c_str(), &file_stat)) {\n      if (S_ISREG(file_stat.st_mode)) {\n        // this comparison inspect if file has the wanted permissions and if\n        // the file does not contain the unwanted permissions.\n        if (!(file_stat.st_mode & permissions ) ||\n          (file_stat.st_mode & permission_bad)\n        ) {\n          std::ostringstream strm ;\n          strm.width(4) ;\n          strm.fill('0') ;\n          strm << std::oct << permissions ;\n          USBGUARD_LOG(Error) << \"Permissions for \" << path << \" should be \" <<  strm.str() ;\n          throw Exception(\"Check permissions\", path, \"Policy may be readable\");\n        }\n        else {\n          USBGUARD_LOG(Info) << \"File has correct permissions.\";\n        }\n      }\n      else {\n        USBGUARD_LOG(Error) << \"ERROR: File is not a regular file.\";\n        throw Exception(\"Check permissions\", path, \"Path is not a file\");\n      }\n    }\n    else {\n      USBGUARD_LOG(Error) << \"ERROR: obtaining file permissions! Errno: \" << errno;\n      throw ErrnoException(\"Check permissions\", path, errno);\n    }\n\n    return 0;\n  }\n\n  void Daemon::checkFolderPermissions(const std::string& path,\n    const mode_t permissions)\n  {\n    auto configFiles = getConfigsFromDir(path);\n\n    for (auto configFile : configFiles) {\n      auto config_path = configFile;\n      checkFilePermissions(config_path, permissions);\n    }\n  }\n\n  void Daemon::loadConfiguration(const std::string& path, const bool check_permissions)\n  {\n    USBGUARD_LOG(Info) << \"Loading configuration from \" << path;\n\n    if (check_permissions) {\n      checkFilePermissions(path, (S_IRUSR | S_IWUSR));\n    }\n\n    _config.open(path, /*readonly=*/true);\n    USBGUARD_LOG(Info) << \"Loading NSSwitch...\";\n    _nss.parseNSSwitch();\n\n    /* RuleFile */\n    if (_config.hasSettingValue(\"RuleFile\")) {\n      const std::string& rulefile_path = _config.getSettingValue(\"RuleFile\");\n\n      if (check_permissions) {\n        checkFilePermissions(rulefile_path, (S_IRUSR | S_IWUSR));\n      }\n\n      _nss.setRulesPath(rulefile_path);\n    }\n\n    /* RuleDir */\n    if (_config.hasSettingValue(\"RuleFolder\")) {\n      std::string ruledir_path = _config.getSettingValue(\"RuleFolder\");\n\n      /* Check proper ending in path and correct it if corrupted */\n      if (ruledir_path.back() != '/') {\n        ruledir_path.append(\"/\");\n      }\n\n      ruledir_path = normalizePath(ruledir_path);\n\n      if (check_permissions) {\n        checkFolderPermissions(ruledir_path, (S_IRUSR | S_IWUSR));\n      }\n\n      _nss.setRulesDirPath(ruledir_path);\n    }\n\n    loadRules();\n\n    /* ImplicitPolicyTarget */\n    if (_config.hasSettingValue(\"ImplicitPolicyTarget\")) {\n      const std::string& target_string = _config.getSettingValue(\"ImplicitPolicyTarget\");\n      Rule::Target target = Rule::targetFromString(target_string);\n      setImplicitPolicyTarget(target);\n    }\n\n    /* PresentDevicePolicy */\n    if (_config.hasSettingValue(\"PresentDevicePolicy\")) {\n      const std::string& policy_string = _config.getSettingValue(\"PresentDevicePolicy\");\n      DevicePolicyMethod policy = Daemon::devicePolicyMethodFromString(policy_string);\n      setPresentDevicePolicyMethod(policy);\n    }\n\n    /* PresentControllerPolicy */\n    if (_config.hasSettingValue(\"PresentControllerPolicy\")) {\n      const std::string& policy_string = _config.getSettingValue(\"PresentControllerPolicy\");\n      DevicePolicyMethod policy = Daemon::devicePolicyMethodFromString(policy_string);\n      setPresentControllerPolicyMethod(policy);\n    }\n\n    /* InsertedDevicePolicy */\n    if (_config.hasSettingValue(\"InsertedDevicePolicy\")) {\n      const std::string& policy_string = _config.getSettingValue(\"InsertedDevicePolicy\");\n      DevicePolicyMethod policy = Daemon::devicePolicyMethodFromString(policy_string);\n      setInsertedDevicePolicyMethod(policy);\n    }\n\n    /* IPCAllowedUsers */\n    if (_config.hasSettingValue(\"IPCAllowedUsers\")) {\n      const std::string users_value = _config.getSettingValue(\"IPCAllowedUsers\");\n      std::vector<std::string> users;\n      tokenizeString(users_value, users, \" \", /*trim_empty=*/true);\n      USBGUARD_LOG(Debug) << \"Setting IPCAllowedUsers to { \" << users_value << \" }\";\n\n      for (auto const& user : users) {\n        addIPCAllowedUser(user);\n      }\n    }\n\n    /* IPCAllowedGroups */\n    if (_config.hasSettingValue(\"IPCAllowedGroups\")) {\n      const std::string groups_value =_config.getSettingValue(\"IPCAllowedGroups\");\n      std::vector<std::string> groups;\n      tokenizeString(groups_value, groups, \" \", /*trim_empty=*/true);\n      USBGUARD_LOG(Debug) << \"Setting IPCAllowedGroups to { \" << groups_value << \" }\";\n\n      for (auto const& group : groups) {\n        addIPCAllowedGroup(group);\n      }\n    }\n\n    /* DeviceRulesWithPort */\n    if (_config.hasSettingValue(\"DeviceRulesWithPort\")) {\n      const std::string value = _config.getSettingValue(\"DeviceRulesWithPort\");\n      USBGUARD_LOG(Debug) << \"Setting DeviceRulesWithPort to \" << value;\n\n      if (value == \"true\") {\n        _device_rules_with_port = true;\n      }\n      else if (value == \"false\") {\n        _device_rules_with_port = false;\n      }\n      else {\n        throw Exception(\"Configuration\", \"DeviceRulesWithPort\", \"Invalid value\");\n      }\n    }\n\n    /* DeviceManagerBackend */\n    if (_config.hasSettingValue(\"DeviceManagerBackend\")) {\n      _device_manager_backend = _config.getSettingValue(\"DeviceManagerBackend\");\n    }\n\n    _dm = DeviceManager::create(*this, _device_manager_backend);\n\n    /* RestoreControllerDeviceState */\n    if (_config.hasSettingValue(\"AuthorizedDefault\")) {\n      const std::string value = _config.getSettingValue(\"AuthorizedDefault\");\n      DeviceManager::AuthorizedDefaultType authorized_default = DeviceManager::authorizedDefaultTypeFromString(value);\n      _dm->setAuthorizedDefault(authorized_default);\n    }\n\n    /* RestoreControllerDeviceState */\n    if (_config.hasSettingValue(\"RestoreControllerDeviceState\")) {\n      const std::string value = _config.getSettingValue(\"RestoreControllerDeviceState\");\n\n      if (value == \"true\") {\n        _restore_controller_device_state = true;\n      }\n      else if (value == \"false\") {\n        _restore_controller_device_state = false;\n      }\n      else {\n        throw Exception(\"Configuration\", \"RestoreControllerDeviceState\", \"Invalid value\");\n      }\n\n      _dm->setRestoreControllerDeviceState(_restore_controller_device_state);\n    }\n\n    /* IPCAccessControlFiles */\n    if (_config.hasSettingValue(\"IPCAccessControlFiles\")) {\n      const std::string ipc_dir = _config.getSettingValue(\"IPCAccessControlFiles\");\n\n      if (check_permissions) {\n        checkFolderPermissions(ipc_dir, (S_IRUSR | S_IWUSR));\n      }\n\n      loadIPCAccessControlFiles(ipc_dir);\n    }\n\n    /* AuditBackend */\n    if (_config.hasSettingValue(\"AuditBackend\")) {\n      const std::string value = _config.getSettingValue(\"AuditBackend\");\n      USBGUARD_LOG(Debug) << \"Setting AuditBackend to \" << value;\n\n      if (value == \"LinuxAudit\") {\n        std::unique_ptr<AuditBackend> backend(new LinuxAuditBackend());\n        _audit.setBackend(std::move(backend));\n      }\n      else if (value == \"FileAudit\") {\n        if (_config.hasSettingValue(\"AuditFilePath\")) {\n          const std::string value = _config.getSettingValue(\"AuditFilePath\");\n          USBGUARD_LOG(Debug) << \"Setting AuditFilePath to \" << value;\n          USBGUARD_LOGGER.setAuditFile(true, value);\n        }\n        else {\n          /* AuditFilePath value is required is AuditBackend is set to FileAudit */\n          throw Exception(\"Configuration\", \"AuditBackend\", \"AuditFilePath not set\");\n        }\n\n        std::unique_ptr<AuditBackend> backend(new FileAuditBackend());\n        _audit.setBackend(std::move(backend));\n      }\n      else {\n        throw Exception(\"Configuration\", \"AuditBackend\", \"Invalid value\");\n      }\n    }\n    else {\n      /*\n       * Left for backwards compatibility. If AuditBackend is NOT set, but\n       * AuditFilePath is, we set the backend to FileAudit automatically.\n       */\n\n      /* AuditFilePath */\n      if (_config.hasSettingValue(\"AuditFilePath\")) {\n        const std::string value = _config.getSettingValue(\"AuditFilePath\");\n        USBGUARD_LOG(Debug) << \"Setting AuditFilePath to \" << value;\n        USBGUARD_LOGGER.setAuditFile(true, value);\n        std::unique_ptr<AuditBackend> backend(new FileAuditBackend());\n        _audit.setBackend(std::move(backend));\n      }\n      else {\n        USBGUARD_LOG(Info) << \"Audit logging disabled. Set AuditBackend and/or AuditFilePath to enable.\";\n        _audit.setBackend(nullptr);\n      }\n    }\n\n    /* HidePII */\n    if (_config.hasSettingValue(\"HidePII\")) {\n      const std::string value = _config.getSettingValue(\"HidePII\");\n\n      if (value == \"true\") {\n        _audit.setHidePII(true);\n      }\n      else if (value != \"false\") {\n        throw Exception(\"Configuration\", \"HidePII\", \"Invalid value\");\n      }\n    }\n\n    USBGUARD_LOG(Info) << \"Configuration loaded successfully.\";\n  }\n\n  void Daemon::loadRules()\n  {\n    USBGUARD_LOG(Info) << \"Loading RuleSet\";\n    auto rulesets = _nss.getRuleSet(this);\n\n    try {\n      for (auto ruleset : rulesets) {\n        ruleset->load();\n      }\n    }\n    catch (const RuleParserError& ex) {\n      throw Exception(\"Rules\", _nss.getSourceInfo(), ex.hint());\n    }\n    catch (const Exception& ex) {\n      throw ex;\n    }\n    catch (const std::exception& ex) {\n      throw Exception(\"Rules\", _nss.getSourceInfo(), ex.what());\n    }\n    catch (...) {\n      throw Exception(\"Rules\", _nss.getSourceInfo(), \"unknown exception\");\n    }\n\n    _policy.setRuleSet(rulesets);\n  }\n\n  void Daemon::loadIPCAccessControlFiles(const std::string& path)\n  {\n    USBGUARD_LOG(Info) << \"Loading IPC access control files at \" << path;\n    loadFiles(path,\n    [](const std::string& path, const struct dirent * dir_entry) {\n      (void)dir_entry;\n      return filenameFromPath(path, /*include_extension=*/true);\n    }\n    ,\n    [this](const std::string& basename, const std::string& fullpath) {\n      return loadIPCAccessControlFile(basename, fullpath);\n    });\n  }\n\n  void Daemon::checkIPCAccessControlName(const std::string& name)\n  {\n    IPCServer::checkAccessControlName(name);\n  }\n\n  void Daemon::parseIPCAccessControlFilename(const std::string& basename, std::string* const ptr_user,\n    std::string* const ptr_group)\n  {\n    // There are five supported forms:\n    // - \"<user>:<group>\"\n    // - \"<user>:\"\n    // - \"<user>\"\n    // - \":<group>\"\n    // - \":\"\n    const auto ug_separator = basename.find_first_of(\":\");\n    const bool has_group = ug_separator != std::string::npos;\n    const std::string user = basename.substr(0, ug_separator);\n    const std::string group = has_group ? basename.substr(ug_separator + 1) : std::string();\n\n    if (! user.empty()) {\n      checkIPCAccessControlName(user);\n    }\n\n    if (! group.empty()) {\n      checkIPCAccessControlName(group);\n    }\n\n    *ptr_user = user;\n    *ptr_group = group;\n  }\n\n  bool Daemon::loadIPCAccessControlFile(const std::string& basename, const std::string& fullpath)\n  {\n    USBGUARD_LOG(Info) << \"Loading IPC access control file \" << fullpath;\n    std::string user;\n    std::string group;\n    IPCServer::AccessControl ac;\n\n    try {\n      parseIPCAccessControlFilename(basename, &user, &group);\n    }\n    catch (...) {\n      USBGUARD_LOG(Warning) << \"Ignoring access control file because of malformed name: \" << basename;\n      return false;\n    }\n\n    try {\n      std::ifstream ac_stream(fullpath);\n      ac.load(ac_stream);\n    }\n    catch (...) {\n      USBGUARD_LOG(Warning) << \"Failed to load IPC access control file \" << fullpath;\n      return false;\n    }\n\n    if (!user.empty()) {\n      addIPCAllowedUser(user, ac);\n    }\n\n    if (!group.empty()) {\n      addIPCAllowedGroup(group, ac);\n    }\n\n    return true;\n  }\n\n  void Daemon::setImplicitPolicyTarget(Rule::Target target)\n  {\n    USBGUARD_LOG(Debug) << \"Setting ImplicitPolicyTarget to \" << Rule::targetToString(target);\n    _implicit_policy_target = target;\n    _policy.setDefaultTarget(target);\n  }\n\n  void Daemon::setPresentDevicePolicyMethod(DevicePolicyMethod policy)\n  {\n    USBGUARD_LOG(Debug) << \"Setting PresentDevicePolicy to \" << devicePolicyMethodToString(policy);\n    _present_device_policy_method = policy;\n  }\n\n  void Daemon::setPresentControllerPolicyMethod(DevicePolicyMethod policy)\n  {\n    USBGUARD_LOG(Debug) << \"Setting PresentControllerPolicy to \" << devicePolicyMethodToString(policy);\n    _present_controller_policy_method = policy;\n  }\n\n  void Daemon::setInsertedDevicePolicyMethod(DevicePolicyMethod policy)\n  {\n    USBGUARD_LOG(Debug) << \"Setting InsertedDevicePolicy to \" << devicePolicyMethodToString(policy);\n\n    switch (policy) {\n    case DevicePolicyMethod::ApplyPolicy:\n    case DevicePolicyMethod::Block:\n    case DevicePolicyMethod::Reject:\n      _inserted_device_policy_method = policy;\n      break;\n\n    case DevicePolicyMethod::Keep:\n    case DevicePolicyMethod::Allow:\n    default:\n      throw Exception(\"setInsertedDevicePolicyMethod\", devicePolicyMethodToString(policy), \"invalid policy method\");\n    }\n  }\n\n  void Daemon::run()\n  {\n    USBGUARD_LOG(Trace) << \"Entering main loop\";\n    _dm->start();\n    _dm->scan();\n    IPCServer::start();\n    sigset_t signal_set;\n    sigemptyset(&signal_set);\n    sigaddset(&signal_set, SIGINT);\n    sigaddset(&signal_set, SIGTERM);\n    sigaddset(&signal_set, SIGSYS);\n    bool exit_loop = false;\n\n    do {\n      siginfo_t signal_info = { };\n      const int signal_num = sigwaitinfo(&signal_set, &signal_info);\n\n      if (signal_num <= 0) {\n        if (errno == EINTR) {\n          USBGUARD_LOG(Info) << \"sigwaitinfo interrupted: [EINTR]. Ignoring.\";\n          continue;\n        }\n        else {\n          USBGUARD_LOG(Error) << \"sigwaitinfo failed: errno=\" << errno << \"; Shutting down.\";\n          throw Exception(\"Daemon::run\", \"sigwaitinfo\", \"failed\");\n        }\n      }\n\n      switch (signal_num) {\n      case SIGTERM:\n      case SIGINT:\n        USBGUARD_LOG(Info) << \"Received SIGTERM/SIGINT. Shutting down.\";\n        exit_loop = true;\n        break;\n\n      case SIGSYS:\n        USBGUARD_LOG(Error) << \"Received SIGSYS: Seccomp allowlist violation!\";\n        exit_loop = false;\n        break;\n\n      /* should not be reachable */\n      default:\n        USBGUARD_LOG(Warning) << \"Received signal \" << signal_num << \". Ignoring!\";\n        continue;\n      }\n    }\n    while (!exit_loop);\n\n    if (pid_fd != -1) {\n      (void)lockf(pid_fd, F_ULOCK, 0);\n      (void)close(pid_fd);\n    }\n\n    IPCServer::stop();\n    _dm->stop();\n    USBGUARD_LOG(Trace) << \"Leaving main loop.\";\n  }\n\n  void Daemon::daemonize(const std::string& pid_file)\n  {\n    USBGUARD_LOG(Trace) << \"Starting daemonization\";\n    pid_t pid = 0;\n    pid_t original_pid = getpid();\n    sigset_t mask;\n    sigemptyset(&mask);\n    sigaddset(&mask, SIGUSR1);\n    sigprocmask(SIG_BLOCK, &mask, nullptr);\n    USBGUARD_SYSCALL_THROW(\"Daemonize\", (pid = fork()) < 0);\n\n    if (pid > 0) {\n      constexpr int timeout_val = 5;\n      struct timespec timeout {\n        timeout_val, 0\n      };\n      const time_t start = time(nullptr);\n      siginfo_t info;\n\n      do {\n        const int signum = sigtimedwait(&mask, &info, &timeout);\n\n        if (signum == SIGUSR1 && info.si_signo == SIGUSR1 && info.si_pid == pid) {\n          waitpid(pid, nullptr, 0);\n          USBGUARD_LOG(Trace) << \"Finished daemonization\";\n          exit(EXIT_SUCCESS);\n        }\n\n        if (signum == -1 && errno == EAGAIN) {\n          break; /* timed out */\n        }\n\n        timeout.tv_sec = timeout_val - difftime(time(nullptr), start); /* avoid potentially endless loop */\n      }\n      while (true);\n\n      throw Exception(\"Daemonize\", \"signal\",  \"Waiting on pid file write timeout!\");\n    }\n\n    /* Now we are forked */\n    USBGUARD_SYSCALL_THROW(\"Daemonize\", setsid() < 0);\n    signal(SIGCHLD, SIG_IGN);\n    USBGUARD_SYSCALL_THROW(\"Daemonize\", (pid_fd = open(pid_file.c_str(), O_RDWR|O_CREAT, 0640)) < 0);\n    USBGUARD_SYSCALL_THROW(\"Daemonize\", (lockf(pid_fd, F_TLOCK, 0)) < 0);\n    USBGUARD_SYSCALL_THROW(\"Daemonize\", (pid = fork()) < 0);\n\n    if (pid > 0) {\n      try {\n        std::string pid_str = std::to_string(pid);\n        USBGUARD_SYSCALL_THROW(\"Daemonize\", write(pid_fd, pid_str.c_str(), pid_str.size()) != static_cast<ssize_t>(pid_str.size()));\n        kill(original_pid, SIGUSR1);\n        exit(EXIT_SUCCESS);\n      }\n      catch (...) {\n        kill(pid, SIGKILL);\n        throw;\n      }\n    }\n\n    /* Now we are forked 2nd time */\n    umask(0047);  /* no need for world-accessible or executable files */\n    (void)chdir(\"/\");\n    const std::array<int, 3> std_fds {{STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO}};\n    int fd_null;\n    USBGUARD_SYSCALL_THROW(\"Daemonize\", (fd_null = open(\"/dev/null\", O_RDWR)) < 0);\n\n    /* We do not need to close all fds because there is only logging open at this point */\n    for (auto fd : std_fds) {\n      USBGUARD_SYSCALL_THROW(\"Daemonize\", close(fd));\n      USBGUARD_SYSCALL_THROW(\"Daemonize\", (dup2(fd_null, fd)) < 0);\n    }\n\n    close(fd_null);\n    USBGUARD_SYSCALL_THROW(\"Daemonize\", (lockf(pid_fd, F_LOCK, 0)) < 0);\n  }\n\n  uint32_t Daemon::assignID()\n  {\n    return _policy.assignID();\n  }\n\n  /*\n   * Search for a rule that matches `match_spec' rule and\n   * update it with a rule specified by `rule_spec'. Fail\n   * if multiple rules match. If there are no matching\n   * rules, append the `rule_spec' rule.\n   *\n   * Return the id of the updated or new rule.\n   */\n  uint32_t Daemon::upsertRule(const std::string& match_spec,\n    const std::string& rule_spec,\n    const bool parent_insensitive)\n  {\n    USBGUARD_LOG(Trace) << \"entry:\"\n      << \" match_spec=\" << match_spec\n      << \" rule_spec=\" << rule_spec\n      << \" parent_insensitive=\" << parent_insensitive;\n    const Rule match_rule = Rule::fromString(match_spec);\n    const Rule new_rule = Rule::fromString(rule_spec);\n    const uint32_t id = _policy.upsertRule(match_rule, new_rule, parent_insensitive);\n\n    if (_config.hasSettingValue(\"RuleFile\")) {\n      _policy.save();\n    }\n\n    USBGUARD_LOG(Trace) << \"return: id=\" << id;\n    return id;\n  }\n\n  /*\n   * IPC service methods\n   */\n  std::string Daemon::setParameter(const std::string& name, const std::string& value)\n  {\n    if (name == \"InsertedDevicePolicy\") {\n      const auto previous_value = devicePolicyMethodToString(_inserted_device_policy_method);\n      setInsertedDevicePolicyMethod(devicePolicyMethodFromString(value));\n      PropertyParameterChanged(name,\n        previous_value,\n        value);\n      return previous_value;\n    }\n    else if (name == \"ImplicitPolicyTarget\") {\n      const auto previous_value = Rule::targetToString(_implicit_policy_target);\n      setImplicitPolicyTarget(Rule::targetFromString(value));\n      PropertyParameterChanged(name,\n        previous_value,\n        value);\n      return previous_value;\n    }\n    else {\n      throw Exception(\"setParameter\", name, \"unknown parameter\");\n    }\n  }\n\n  std::string Daemon::getParameter(const std::string& name)\n  {\n    if (name == \"InsertedDevicePolicy\") {\n      return devicePolicyMethodToString(_inserted_device_policy_method);\n    }\n    else if (name == \"ImplicitPolicyTarget\") {\n      return Rule::targetToString(_implicit_policy_target);\n    }\n    else {\n      throw Exception(\"getParameter\", name, \"unknown parameter\");\n    }\n  }\n\n  uint32_t Daemon::appendRule(const std::string& rule_spec,\n    uint32_t parent_id, bool permanent)\n  {\n    USBGUARD_LOG(Trace) << \"entry:\"\n      << \" rule_spec=\" << rule_spec\n      << \" parent_id=\" << parent_id;\n    const Rule rule = Rule::fromString(rule_spec);\n    /* TODO: reevaluate the firewall rules for all active devices */\n    const uint32_t id = _policy.appendRule(rule, parent_id);\n\n    if ((_config.hasSettingValue(\"RuleFile\") || _config.hasSettingValue(\"RuleFolder\")) && permanent) {\n      _policy.save();\n    }\n\n    USBGUARD_LOG(Trace) << \"return: id=\" << id;\n    return id;\n  }\n\n  void Daemon::removeRule(uint32_t id)\n  {\n    USBGUARD_LOG(Trace) << \"id=\" << id;\n    _policy.removeRule(id);\n\n    if (_config.hasSettingValue(\"RuleFile\") || _config.hasSettingValue(\"RuleFolder\")) {\n      _policy.save();\n    }\n  }\n\n  const std::vector<Rule> Daemon::listRules(const std::string& label)\n  {\n    USBGUARD_LOG(Trace) << \"entry: label=\" << label;\n    std::vector<Rule> rules;\n\n    for (auto ruleset : _policy.getRuleSet()) {\n      for (auto const& rule : ruleset->getRules()) {\n        if (label.empty() || (!rule->attributeLabel().empty() && rule->getLabel() == label)) {\n          rules.push_back(*rule);\n        }\n      }\n    }\n\n    USBGUARD_LOG(Trace) << \"return:\" << \" count(rules)=\" << rules.size();\n    return rules;\n  }\n\n  uint32_t Daemon::applyDevicePolicy(uint32_t id, Rule::Target target, bool permanent)\n  {\n    USBGUARD_LOG(Trace) << \"entry:\"\n      << \" id=\" << id\n      << \" target=\" << Rule::targetToString(target)\n      << \" permanent=\" << permanent;\n    std::shared_ptr<Device> device = _dm->getDevice(id);\n    std::shared_ptr<Rule> rule;\n\n    if (permanent) {\n      rule = upsertDeviceRule(id, target);\n    }\n    else {\n      rule = std::make_shared<Rule>();\n      rule->setTarget(target);\n    }\n\n    dmApplyDevicePolicy(device, rule);\n    USBGUARD_LOG(Trace) << \"return:\"\n      << \" id=\" << rule->getRuleID();\n    return rule->getRuleID();\n  }\n\n  void Daemon::dmHookDeviceEvent(DeviceManager::EventType event, std::shared_ptr<Device> device)\n  {\n    USBGUARD_LOG(Trace) << \"event=\" << DeviceManager::eventTypeToString(event)\n      << \" device_ptr=\" << device.get();\n    auto audit_event = _audit.deviceEvent(device, event);\n    std::shared_ptr<const Rule> device_rule = \\\n      device->getDeviceRule(/*with_port*/true,\n        /*with_parent_hash=*/true);\n    DevicePresenceChanged(device->getID(),\n      event,\n      device->getTarget(),\n      device_rule->toString());\n    audit_event.success();\n    std::shared_ptr<Rule> policy_rule = nullptr;\n\n    switch (event) {\n    case DeviceManager::EventType::Present:\n      policy_rule = getPresentDevicePolicyRule(device);\n      break;\n\n    case DeviceManager::EventType::Insert:\n    case DeviceManager::EventType::Update:\n      policy_rule = getInsertedDevicePolicyRule(device);\n      break;\n\n    case DeviceManager::EventType::Remove:\n      /* NOOP */\n      return;\n\n    default:\n      throw USBGUARD_BUG(\"Unknown DeviceManager event type\");\n    }\n\n    dmApplyDevicePolicy(device, policy_rule);\n  }\n\n  void Daemon::dmHookDeviceException(const std::string& message)\n  {\n    USBGUARD_LOG(Warning) << message;\n  }\n\n  void Daemon::dmApplyDevicePolicy(std::shared_ptr<Device> device, std::shared_ptr<Rule> matched_rule)\n  {\n    USBGUARD_LOG(Trace) << \"device_ptr=\" << device.get()\n      << \" matched_rule_ptr=\" << matched_rule.get();\n    auto audit_event = _audit.policyEvent(device, device->getTarget(), matched_rule->getTarget());\n    const Rule::Target target_old = device->getTarget();\n    std::shared_ptr<Device> device_post = \\\n      _dm->applyDevicePolicy(device->getID(),\n        matched_rule->getTarget());\n    const bool target_changed = target_old != device_post->getTarget();\n    std::shared_ptr<const Rule> device_rule = \\\n      device_post->getDeviceRule(/*with_port=*/true,\n        /*with_parent_hash=*/true);\n\n    if (target_changed || matched_rule->getRuleID() == Rule::ImplicitID) {\n      if (target_changed) {\n        USBGUARD_LOG(Debug) << \"Device target changed:\"\n          << \" old=\" << Rule::targetToString(target_old)\n          << \" new=\" << Rule::targetToString(device_post->getTarget());\n      }\n      else {\n        USBGUARD_LOG(Debug) << \"Implicit rule matched\";\n      }\n\n      DevicePolicyChanged(device->getID(),\n        target_old,\n        device_post->getTarget(),\n        device_rule->toString(),\n        matched_rule->getRuleID());\n    }\n\n    DevicePolicyApplied(device->getID(),\n      device_post->getTarget(),\n      device_rule->toString(),\n      matched_rule->getRuleID());\n    matched_rule->updateMetaDataCounters(/*applied=*/true);\n    audit_event.success();\n  }\n\n  std::shared_ptr<Rule> Daemon::getInsertedDevicePolicyRule(std::shared_ptr<Device> device)\n  {\n    USBGUARD_LOG(Trace) << \"device_ptr=\" << device.get();\n    std::shared_ptr<const Rule> device_rule = \\\n      device->getDeviceRule(/*with_port=*/true,\n        /*with_parent_hash=*/true,\n        /*match_rule=*/true);\n    Rule::Target target = Rule::Target::Invalid;\n    std::shared_ptr<Rule> policy_rule;\n    const DevicePolicyMethod policy_method = _inserted_device_policy_method;\n\n    switch (policy_method) {\n    case DevicePolicyMethod::Block:\n      target = Rule::Target::Block;\n      break;\n\n    case DevicePolicyMethod::Reject:\n      target = Rule::Target::Reject;\n      break;\n\n    case DevicePolicyMethod::ApplyPolicy:\n      policy_rule = _policy.getFirstMatchingRule(device_rule);\n      break;\n\n    case DevicePolicyMethod::Allow:\n    case DevicePolicyMethod::Keep:\n    default:\n      throw USBGUARD_BUG(\"Invalid DevicePolicyMethod value\");\n    }\n\n    if (policy_rule == nullptr) {\n      policy_rule = std::make_shared<Rule>();\n      policy_rule->setTarget(target);\n      policy_rule->setRuleID(Rule::RootID);\n    }\n\n    return policy_rule;\n  }\n\n  std::shared_ptr<Rule> Daemon::getPresentDevicePolicyRule(std::shared_ptr<Device> device)\n  {\n    USBGUARD_LOG(Trace) << \"entry: device_ptr=\" << device.get();\n    std::shared_ptr<const Rule> device_rule = \\\n      device->getDeviceRule(/*with_port=*/true,\n        /*with_parent_hash=*/true,\n        /*match_rule=*/true);\n    USBGUARD_LOG(Debug) << \"device_rule=\" << device_rule->toString();\n    USBGUARD_LOG(Debug) << \"isController=\" << device->isController();\n    const DevicePolicyMethod policy_method = \\\n      device->isController() ? _present_controller_policy_method : _present_device_policy_method;\n    Rule::Target target = Rule::Target::Invalid;\n    std::shared_ptr<Rule> matched_rule = nullptr;\n\n    switch (policy_method) {\n    case DevicePolicyMethod::Allow:\n      target = Rule::Target::Allow;\n      break;\n\n    case DevicePolicyMethod::Block:\n      target = Rule::Target::Block;\n      break;\n\n    case DevicePolicyMethod::Reject:\n      target = Rule::Target::Reject;\n      break;\n\n    case DevicePolicyMethod::Keep:\n      target = device->getTarget();\n      break;\n\n    case DevicePolicyMethod::ApplyPolicy:\n      matched_rule = _policy.getFirstMatchingRule(device_rule);\n      target = matched_rule->getTarget();\n      break;\n\n    default:\n      throw USBGUARD_BUG(\"Invalid DevicePolicyMethod value\");\n    }\n\n    if (matched_rule == nullptr) {\n      matched_rule = std::make_shared<Rule>();\n      matched_rule->setTarget(target);\n      matched_rule->setRuleID(Rule::ImplicitID);\n    }\n\n    USBGUARD_LOG(Trace) << \"return:\"\n      << \" matched_rule=\" << matched_rule->toString();\n    return matched_rule;\n  }\n\n  uint32_t Daemon::dmHookAssignID()\n  {\n    return assignID();\n  }\n\n  const std::vector<Rule> Daemon::listDevices(const std::string& query)\n  {\n    USBGUARD_LOG(Trace) << \"entry:\"\n      << \" query=\" << query;\n    std::vector<Rule> device_rules;\n    const Rule query_rule = Rule::fromString(query);\n\n    for (auto const& device : _dm->getDeviceList(query_rule)) {\n      device_rules.push_back(*device->getDeviceRule());\n    }\n\n    USBGUARD_LOG(Trace) << \"return:\"\n      << \" count(device_rules)=\" << device_rules.size();\n    return device_rules;\n  }\n\n  std::shared_ptr<Rule> Daemon::upsertDeviceRule(uint32_t id, Rule::Target target)\n  {\n    USBGUARD_LOG(Trace) << \"entry:\"\n      << \"id=\" << id\n      << \"target=\" << Rule::targetToString(target);\n    std::shared_ptr<Device> device = _dm->getDevice(id);\n    bool with_port = true && _device_rules_with_port;\n    bool with_parent_hash = true;\n\n    /*\n     * Generate a port specific or agnostic rule depending on the target\n     */\n    switch (target) {\n    case Rule::Target::Allow:\n      with_port = true && with_port;\n      with_parent_hash = true;\n      break;\n\n    case Rule::Target::Block:\n      /*\n       * Block the device using a port agnostic rule, so that the same device\n       * inserted in a different port is still blocked. Note that allowDevice\n       * generates a port specific rule and the same device won't be allowed\n       * when inserted in a different port.\n       */\n      with_port = false;\n      with_parent_hash = false;\n      break;\n\n    case Rule::Target::Reject:\n      /*\n       * Reject the device using a port agnostic port. When we explicitly\n       * reject a device, we don't want to reject it again when the same\n       * device is inserted in a different port.\n       */\n      with_port = false;\n      with_parent_hash = false;\n      break;\n\n    case Rule::Target::Invalid:\n    case Rule::Target::Empty:\n    case Rule::Target::Unknown:\n    case Rule::Target::Match:\n    case Rule::Target::Device:\n    default:\n      throw Exception(\"upsertDeviceRule\", \"device rule\", \"Invalid target\");\n    }\n\n    /* Generate a match rule for upsert */\n    std::shared_ptr<Rule> match_rule = device->getDeviceRule(/*with-port=*/false,\n        /*with-parent-hash=*/false,\n        /*match_rule=*/true);\n    const std::string match_spec = match_rule->toString();\n    USBGUARD_LOG(Debug) << \"match_spec=\" << match_spec;\n    /* Generate new device rule */\n    std::shared_ptr<Rule> device_rule = device->getDeviceRule(with_port, with_parent_hash);\n    device_rule->setTarget(target);\n    const std::string rule_spec = device_rule->toString();\n    USBGUARD_LOG(Debug) << \"rule_spec=\" << rule_spec;\n    /* Upsert */\n    const uint32_t rule_id = upsertRule(match_spec, rule_spec, /*parent_insensitive=*/true);\n    auto upsert_rule = _policy.getRule(rule_id);\n    USBGUARD_LOG(Trace) << \"return:\"\n      << \" upsert_rule=\" << upsert_rule->toString();\n    return upsert_rule;\n  }\n\n  void Daemon::addIPCAllowedUID(uid_t uid, const IPCServer::AccessControl& ac)\n  {\n    USBGUARD_LOG(Trace) << \"uid=\" << uid;\n    IPCServer::addAllowedUID(uid, ac);\n  }\n\n  void Daemon::addIPCAllowedUID(const std::string& uid_string, const IPCServer::AccessControl& ac)\n  {\n    addIPCAllowedUID(stringToNumber<uid_t>(uid_string), ac);\n  }\n\n  void Daemon::addIPCAllowedGID(gid_t gid, const IPCServer::AccessControl& ac)\n  {\n    USBGUARD_LOG(Trace) << \"gid=\" << gid;\n    IPCServer::addAllowedGID(gid, ac);\n  }\n\n  void Daemon::addIPCAllowedGID(const std::string& gid_string, const IPCServer::AccessControl& ac)\n  {\n    addIPCAllowedGID(stringToNumber<gid_t>(gid_string), ac);\n  }\n\n  void Daemon::addIPCAllowedUser(const std::string& user, const IPCServer::AccessControl& ac)\n  {\n    USBGUARD_LOG(Trace) << \"user=\" << user;\n\n    if (isNumericString(user)) {\n      addIPCAllowedUID(user, ac);\n    }\n    else {\n      IPCServer::addAllowedUsername(user, ac);\n    }\n  }\n\n  void Daemon::addIPCAllowedGroup(const std::string& group, const IPCServer::AccessControl& ac)\n  {\n    USBGUARD_LOG(Trace) << \"group=\" << group;\n\n    if (isNumericString(group)) {\n      addIPCAllowedGID(group, ac);\n    }\n    else {\n      IPCServer::addAllowedGroupname(group, ac);\n    }\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Daemon/Daemon.hpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Jiri Vymazal   <jvymazal@redhat.com>\n//          Radovan Sroka <rsroka@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"Common/Thread.hpp\"\n\n#include \"NSHandler.hpp\"\n#include \"usbguard/RuleSet.hpp\"\n#include \"usbguard/Policy.hpp\"\n\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/ConfigFile.hpp\"\n#include \"usbguard/IPCServer.hpp\"\n#include \"usbguard/Rule.hpp\"\n#include \"usbguard/Device.hpp\"\n#include \"usbguard/DeviceManager.hpp\"\n#include \"usbguard/DeviceManagerHooks.hpp\"\n#include \"usbguard/Audit.hpp\"\n\n#include <mutex>\n#include <atomic>\n#include <signal.h>\n\nnamespace usbguard\n{\n  class Daemon : public IPCServer, public DeviceManagerHooks\n  {\n  public:\n    enum DevicePolicyMethod {\n      Allow,\n      Block,\n      Reject,\n      Keep,\n      ApplyPolicy\n    };\n\n    static DevicePolicyMethod devicePolicyMethodFromString(const std::string& policy_string);\n    static const std::string devicePolicyMethodToString(DevicePolicyMethod policy);\n\n    Daemon();\n    ~Daemon();\n\n    int checkFilePermissions(const std::string& path, const mode_t permissions);\n    void checkFolderPermissions(const std::string& path, const mode_t permissions);\n    void loadConfiguration(const std::string& path, const bool check_permissions);\n    void loadRules();\n    void loadIPCAccessControlFiles(const std::string& path);\n    bool loadIPCAccessControlFile(const std::string& basename, const std::string& fullpath);\n    void checkIPCAccessControlName(const std::string& basename);\n    void parseIPCAccessControlFilename(const std::string& basename, std::string* const ptr_user, std::string* const ptr_group);\n\n    void setImplicitPolicyTarget(Rule::Target target);\n    void setPresentDevicePolicyMethod(DevicePolicyMethod policy);\n    void setPresentControllerPolicyMethod(DevicePolicyMethod policy);\n    void setInsertedDevicePolicyMethod(DevicePolicyMethod policy);\n\n    /* Start the daemon */\n    void run();\n    /* Handle process daemonization */\n    void daemonize(const std::string& pid_file);\n\n    uint32_t assignID();\n    uint32_t upsertRule(const std::string& match_spec, const std::string& rule_spec, bool parent_insensitive = false);\n\n    /* IPC methods */\n    std::string setParameter(const std::string& name, const std::string& value) override;\n    std::string getParameter(const std::string& name) override;\n\n    uint32_t appendRule(const std::string& rule_spec, uint32_t parent_id, bool permanent) override;\n    void removeRule(uint32_t id) override;\n    const std::vector<Rule> listRules(const std::string& query) override;\n\n    uint32_t applyDevicePolicy(uint32_t id, Rule::Target target, bool permanent) override;\n    const std::vector<Rule> listDevices(const std::string& query) override;\n\n    /* Device manager hooks */\n    void dmHookDeviceEvent(DeviceManager::EventType event, std::shared_ptr<Device> device) override;\n    uint32_t dmHookAssignID() override;\n    void dmHookDeviceException(const std::string& message) override;\n\n#define USBGUARD_IPCSERVER_DEFAULT_AC \\\n  IPCServer::AccessControl(IPCServer::AccessControl::Section::ALL, IPCServer::AccessControl::Privilege::ALL)\n\n    void addIPCAllowedUID(uid_t uid, const IPCServer::AccessControl& ac = USBGUARD_IPCSERVER_DEFAULT_AC);\n    void addIPCAllowedUID(const std::string& uid_string, const IPCServer::AccessControl& ac = USBGUARD_IPCSERVER_DEFAULT_AC);\n    void addIPCAllowedGID(gid_t gid, const IPCServer::AccessControl& ac = USBGUARD_IPCSERVER_DEFAULT_AC);\n    void addIPCAllowedGID(const std::string& gid_string, const IPCServer::AccessControl& ac = USBGUARD_IPCSERVER_DEFAULT_AC);\n    void addIPCAllowedUser(const std::string& user, const IPCServer::AccessControl& ac = USBGUARD_IPCSERVER_DEFAULT_AC);\n    void addIPCAllowedGroup(const std::string& group, const IPCServer::AccessControl& ac = USBGUARD_IPCSERVER_DEFAULT_AC);\n\n  private:\n    void dmApplyDevicePolicy(std::shared_ptr<Device> device, std::shared_ptr<Rule> matched_rule);\n    std::shared_ptr<Rule> getInsertedDevicePolicyRule(std::shared_ptr<Device> device);\n    std::shared_ptr<Rule> getPresentDevicePolicyRule(std::shared_ptr<Device> device);\n\n    std::vector<std::string> getRuleFiles(const std::string& ruledir_path);\n\n    std::shared_ptr<Rule> upsertDeviceRule(uint32_t id, Rule::Target target);\n\n    ConfigFile _config;\n\n    NSHandler _nss;\n    Policy _policy;\n\n    int pid_fd;\n\n    std::string _device_manager_backend;\n    std::shared_ptr<DeviceManager> _dm;\n\n    std::atomic<Rule::Target> _implicit_policy_target;\n    std::atomic<DevicePolicyMethod> _present_device_policy_method;\n    std::atomic<DevicePolicyMethod> _present_controller_policy_method;\n    std::atomic<DevicePolicyMethod> _inserted_device_policy_method;\n\n    bool _device_rules_with_port;\n    bool _restore_controller_device_state;\n\n    AuditIdentity _audit_identity;\n    Audit _audit;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Daemon/FileAuditBackend.cpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"FileAuditBackend.hpp\"\n\n#include <Common/Utility.hpp>\n\nnamespace usbguard\n{\n  void FileAuditBackend::write(const AuditEvent& event)\n  {\n    std::string message;\n    message.append(\"uid=\");\n    message.append(numberToString(event.identity().uid()));\n    message.append(\" \");\n    message.append(\"pid=\");\n    message.append(numberToString(event.identity().pid()));\n    message.append(\" \");\n\n    for (const auto& kv_pair : event.keys()) {\n      message.append(kv_pair.first);\n      message.append(\"='\");\n      message.append(kv_pair.second);\n      message.append(\"' \");\n    }\n\n    USBGUARD_LOG(Audit) << message;\n  }\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Daemon/FileAuditBackend.hpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include <usbguard/Audit.hpp>\n\nnamespace usbguard\n{\n  class FileAuditBackend : public AuditBackend\n  {\n  public:\n    void write(const AuditEvent& event);\n  };\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Daemon/FileRuleSet.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Radovan Sroka <rsroka@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"FileRuleSet.hpp\"\n\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/Rule.hpp\"\n#include \"usbguard/RuleParser.hpp\"\n#include \"usbguard/Exception.hpp\"\n\n#include <fstream>\n\nnamespace usbguard\n{\n\n  FileRuleSet::FileRuleSet(Interface* const interface_ptr, std::string const path)\n    : RuleSet(interface_ptr),\n      _rulesPath(path)\n  {\n    setWritable();\n    USBGUARD_LOG(Info) << \"Creating FileRuleSet\";\n  }\n\n  FileRuleSet::FileRuleSet(const FileRuleSet& rhs)\n    : RuleSet(rhs._interface_ptr)\n  {\n    *this = rhs;\n  }\n\n  const FileRuleSet& FileRuleSet::operator=(const FileRuleSet& rhs)\n  {\n    RuleSet::operator = (rhs);\n    return *this;\n  }\n\n\n  void FileRuleSet::load()\n  {\n    if (!isWritable()) {\n      USBGUARD_LOG(Info) << \"RuleSet is not writable\";\n      return;\n    }\n\n    load(_rulesPath);\n  }\n\n  void FileRuleSet::save()\n  {\n    save(_rulesPath);\n  }\n\n  void FileRuleSet::setRulesPath(const std::string& path)\n  {\n    _rulesPath = path;\n  }\n\n  void FileRuleSet::load(const std::string& path)\n  {\n    std::ifstream stream(path);\n\n    if (!stream.is_open()) {\n      throw ErrnoException(\"FileRuleSet loading\", path, errno);\n    }\n\n    load(stream);\n  }\n\n  void FileRuleSet::load(std::istream& stream)\n  {\n    std::unique_lock<std::mutex> lock(_op_mutex);\n    std::string line_string;\n    size_t line_number = 0;\n\n    do {\n      ++line_number;\n      std::getline(stream, line_string);\n      const Rule rule = parseRuleFromString(line_string, \"\", line_number);\n\n      if (rule) {\n        appendRule(rule, Rule::LastID, /*lock=*/false);\n      }\n    }\n    while (stream.good());\n  }\n\n  void FileRuleSet::save(const std::string& path) const\n  {\n    std::ofstream stream(path, std::fstream::trunc);\n\n    if (!stream.is_open()) {\n      throw ErrnoException(\"FileRuleSet saving\", path, errno);\n    }\n\n    save(stream);\n  }\n\n  void FileRuleSet::save(std::ostream& stream) const\n  {\n    serialize(stream);\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Daemon/FileRuleSet.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Radovan Sroka <rsroka@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/Rule.hpp\"\n#include \"usbguard/RuleSet.hpp\"\n\n#include <istream>\n#include <ostream>\n#include <mutex>\n\nnamespace usbguard\n{\n  class Interface;\n  class FileRuleSet : public RuleSet\n  {\n  public:\n    FileRuleSet(Interface* const interface_ptr, std::string const path);\n    FileRuleSet(const FileRuleSet& rhs);\n    const FileRuleSet& operator=(const FileRuleSet& rhs);\n\n    void load() override;\n    void save() override;\n\n    void load(const std::string& path);\n    void load(std::istream& stream);\n    void save(const std::string& path) const;\n    void save(std::ostream& stream) const;\n\n    void setRulesPath(const std::string& path);\n\n  private:\n    std::string _rulesPath;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Daemon/LDAPHandler.cpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Radovan Sroka <rsroka@redhat.com>\n//\n\n\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#ifdef HAVE_LDAP\n\n#include <iostream>\n#include <string.h>\n\n#include \"usbguard/Exception.hpp\"\n#include \"usbguard/Logger.hpp\"\n#include \"usbguard/KeyValueParser.hpp\"\n\n#include \"Common/LDAPUtil.hpp\"\n#include \"Common/Utility.hpp\"\n#include \"LDAPHandler.hpp\"\n\n#include <ldap.h>\n#include <unistd.h>\n\nnamespace usbguard\n{\n\n  std::vector<std::string> LDAPHandler::_configValues = {\n    \"URI\",\n    \"ROOTDN\",\n    \"BASE\",\n    \"ROOTPW\",\n    \"USBGUARDBASE\",\n    \"RULEQUERY\",\n    \"UPDATEINTERVAL\"\n  };\n\n  LDAPHandler::LDAPHandler()\n    : _parser(LDAPHandler::_configValues, \" \", /*case_sensitive?*/false, /*validate_keys?*/true),\n      _ldap_file(\"/etc/usbguard/usbguard-ldap.conf\"),\n      _updateInterval(1 * 60 * 60 * 1000)           /* default update interval is 1h*/\n  {\n    USBGUARD_LOG(Info) << \"LDAPHandler Loading...\";\n    char array[HOST_NAME_MAX];\n    int rc = gethostname(array, HOST_NAME_MAX);\n\n    if (rc != -1) {\n      _hostname = array;\n    }\n    else {\n      /*TODO maybe some option for setting hostname explicitly\n      * without hostname LDAP query will not work!\n      */\n      USBGUARD_LOG(Debug) << \"Cannot get hostname\";\n    }\n\n    USBGUARD_LOG(Debug) << \"Hostname is: \" << _hostname;\n    parseConf(_ldap_file);\n    validateConf();\n    LDAP* ptr = nullptr;\n\n    if (ldap_initialize(&ptr, _parsedOptions[\"URI\"].c_str()) != LDAP_SUCCESS) {\n      throw ErrnoException(\"LDAPHandler initialization\", \"ldap_initialize\", errno);\n    }\n\n    _ldap_ptr.reset(ptr);\n    int version = LDAP_VERSION3;\n    ldap_set_option(_ldap_ptr.get(), LDAP_OPT_PROTOCOL_VERSION, &version);\n    rc = LDAP_SUCCESS;\n    struct berval passwd;\n    passwd.bv_val = strdup(_parsedOptions[\"ROOTPW\"].c_str());\n    passwd.bv_len = _parsedOptions[\"ROOTPW\"].length();\n    rc = ldap_sasl_bind_s(_ldap_ptr.get(), _parsedOptions[\"ROOTDN\"].c_str(), LDAP_SASL_SIMPLE,\n        &passwd, nullptr, nullptr, nullptr);\n    free(passwd.bv_val);\n\n    if (rc != LDAP_SUCCESS) {\n      throw Exception(\"LDAPHandler initialization\", \"ldap_sasl_bind_s\", ldap_err2string(rc));\n    }\n\n    USBGUARD_LOG(Info) << \"LDAPHandler Loaded\";\n  }\n\n  LDAPHandler::~LDAPHandler()\n  {\n  }\n\n  std::string LDAPHandler::getRuleQuery()\n  {\n    return _parsedOptions[\"RULEQUERY\"];\n  }\n\n  std::time_t LDAPHandler::getUpdateInterval()\n  {\n    return _updateInterval;\n  }\n\n  std::shared_ptr<LDAPMessage> LDAPHandler::query(const std::string filter)\n  {\n    USBGUARD_LOG(Debug) << \"Trying to fetch LDAP data, query: \" << filter;\n    LDAPMessage* res = nullptr;\n    int rc = ldap_search_ext_s(_ldap_ptr.get(), _parsedOptions[\"USBGUARDBASE\"].c_str(),\n        LDAP_SCOPE_SUBTREE, filter.c_str(), nullptr, false,\n        nullptr, nullptr, nullptr, 0, &res);\n\n    if (rc != LDAP_SUCCESS) {\n      ldap_msgfree(res);\n      throw Exception(\"LDAPHandler query\", \"ldap_search_ext_s\", ldap_err2string(rc));\n    }\n\n    std::shared_ptr<LDAPMessage> ptr(res, LDAPHandler::LDAPDeleter());\n    USBGUARD_LOG(Debug) << \"Fetched LDAP DNs: \";\n    char* dn = nullptr;\n\n    for ( LDAPMessage* e = ldap_first_entry( _ldap_ptr.get(), ptr.get() ); e != nullptr;\n      e = ldap_next_entry( _ldap_ptr.get(), e ) ) {\n      if ((dn = ldap_get_dn( _ldap_ptr.get(), e )) != NULL ) {\n        USBGUARD_LOG(Debug) << \"dn: \" << dn;\n        ldap_memfree( dn );\n      }\n    }\n\n    return ptr;\n  }\n\n  std::vector<std::pair<long, std::string>> LDAPHandler::ldapToRules(std::shared_ptr<LDAPMessage> message)\n  {\n    std::vector<std::pair<long, std::string>> rules;\n    USBGUARD_LOG(Info);\n    USBGUARD_LOG(Info) << \"Complete LDAP Data:\";\n    USBGUARD_LOG(Info);\n    struct berval** entry = nullptr;\n    char* dn = nullptr;\n\n    for (LDAPMessage* e = ldap_first_entry(_ldap_ptr.get(), message.get() ); e != nullptr;\n      e = ldap_next_entry(_ldap_ptr.get(), e ) ) {\n      std::pair<long, std::string> rule;\n\n      if ((dn = ldap_get_dn( _ldap_ptr.get(), e)) != nullptr ) {\n        USBGUARD_LOG(Info) << \"dn: \" << dn;\n        ldap_memfree(dn);\n      }\n\n      for (size_t i = 0 ; i < LDAPUtil::_ldap_keys.size() ; i++) {\n        if ((entry = ldap_get_values_len( _ldap_ptr.get(), e, LDAPUtil::_ldap_keys[i].c_str() )) != nullptr ) {\n          if ((*entry)[0].bv_val == nullptr) {\n            continue;\n          }\n\n          std::string value((*entry)[0].bv_val);\n          size_t index = 0;\n\n          switch (static_cast<LDAPUtil::LDAP_KEY_INDEX>(i)) {\n          case LDAPUtil::LDAP_KEY_INDEX::USBGuardRuleTarget:\n            rule.second += value;\n            break;\n\n          case LDAPUtil::LDAP_KEY_INDEX::USBID:\n          case LDAPUtil::LDAP_KEY_INDEX::USBSerial:\n          case LDAPUtil::LDAP_KEY_INDEX::USBWithConnectType:\n          case LDAPUtil::LDAP_KEY_INDEX::USBName:\n          case LDAPUtil::LDAP_KEY_INDEX::USBHash:\n          case LDAPUtil::LDAP_KEY_INDEX::USBParentHash:\n          case LDAPUtil::LDAP_KEY_INDEX::USBViaPort:\n          case LDAPUtil::LDAP_KEY_INDEX::USBWithInterface:\n          case LDAPUtil::LDAP_KEY_INDEX::USBGuardRuleCondition:\n            rule.second += \" \" + LDAPUtil::_rule_keys[i] + \" \" + value;\n            break;\n\n          case LDAPUtil::LDAP_KEY_INDEX::USBGuardRuleOrder:\n            rule.first = std::stol(value, &index);\n\n            if (value[index] != 0) {\n              throw Exception(\"ldapToRules\", \"stol\", \"cannot convert USBGuardRuleOrder to number: \" + value);\n            }\n\n            break;\n\n          case LDAPUtil::LDAP_KEY_INDEX::USBGuardHost:\n            break;\n\n          default:\n            /* code */\n            break;\n          }\n\n          USBGUARD_LOG(Info) << LDAPUtil::_ldap_keys[i] << \": \" << (*entry)[0].bv_val;\n          ldap_value_free_len(entry);\n        }\n      }\n\n      rules.push_back(rule);\n    }\n\n    return rules;\n  }\n\n  void LDAPHandler::parseConf(const std::string path)\n  {\n    _ldap_file = path;\n    USBGUARD_LOG(Info) << \"Loading LDAP configuration from \" << _ldap_file;\n    std::ifstream ldap_file(_ldap_file);\n\n    if (!ldap_file.is_open()) {\n      throw ErrnoException(\"LDAP configuration parsing\", _ldap_file, errno);\n    }\n\n    _parser.parseStream(ldap_file);\n    _parsedOptions = _parser.getMap();\n    ldap_file.close();\n    USBGUARD_LOG(Debug) << \"Map contains:\";\n\n    for (auto x: _parsedOptions) {\n      USBGUARD_LOG(Debug) << \"--> \" << x.first << \"->\" << x.second << \" <--\";\n    }\n\n    USBGUARD_LOG(Debug) << \"LDAP conf has been parsed\";\n  }\n\n  void LDAPHandler::validateConf()\n  {\n    USBGUARD_LOG(Debug) << \"Validating LDAP conf\";\n    // required\n    std::vector<std::string> v = {\"URI\", \"BASE\", \"ROOTDN\", \"ROOTPW\"};\n\n    for (auto s: v) {\n      if (_parsedOptions[s] == \"\") {\n        USBGUARD_LOG(Debug) << \"Option \" << s << \" is missing!\";\n        throw Exception(\"LDAP conf validation\", \"validateConf\", \"Too few options\");\n      }\n    }\n\n    if (_parsedOptions[\"USBGUARDBASE\"] == \"\") {\n      _parsedOptions[\"USBGUARDBASE\"] = \"ou=USBGuard,\" + _parsedOptions[\"BASE\"];\n      USBGUARD_LOG(Debug) << \"Option \" << \"USBGUARDBASE\" << \" is missing!\";\n      USBGUARD_LOG(Debug) <<  _parsedOptions[\"USBGUARDBASE\"];\n      USBGUARD_LOG(Debug) << \"Using defult: \" << _parsedOptions[\"USBGUARDBASE\"];\n    }\n\n    if (_parsedOptions[\"RULEQUERY\"] == \"\") {\n      _parsedOptions[\"RULEQUERY\"] = \"(&\" \"(cn=Rule*)\"  /*TODO add option for setting cn prefix*/\n        /*                              */\"(|\" \"(&\" \"(USBGuardHost=\" + _hostname + \")\"\n        /*                                        */\"(!\" \"(USBGuardHost=!\" + _hostname + \"))\"\n        /*                                   */\")\"\n        /*                                   */\"(&\" \"(USBGuardHost=\\\\*)\"\n        /*                                        */\"(!\" \"(USBGuardHost=!\" + _hostname + \"))\"\n        /*                                   */\")\"\n        /*                              */\")\"\n        /*                        */\")\";\n      USBGUARD_LOG(Debug) << \"Option \" << \"RULEQUERY\" << \" is missing!\";\n      USBGUARD_LOG(Debug) << \"Using default: \" << _parsedOptions[\"RULEQUERY\"];\n    }\n\n    if (_parsedOptions[\"UPDATEINTERVAL\"] != \"\") {\n      size_t index = 0;\n      _updateInterval = std::stol(_parsedOptions[\"UPDATEINTERVAL\"], &index) * 60 * 60 * 1000;\n\n      if (_parsedOptions[\"UPDATEINTERVAL\"][index] != 0) {\n        throw Exception(\"validateConf\", \"stol\", \"cannot convert UPDATEINTERVAL to number: \" + _parsedOptions[\"UPDATEINTERVAL\"]);\n      }\n    }\n\n    USBGUARD_LOG(Debug) << \"Map after validation:\";\n\n    for (auto x: _parsedOptions) {\n      USBGUARD_LOG(Debug) << \"--> \" << x.first << \" -> \" << x.second << \" <--\";\n    }\n  }\n}\n\n#endif\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Daemon/LDAPHandler.hpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Radovan Sroka <rsroka@redhat.com>\n//\n\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#ifdef HAVE_LDAP\n\n#include <map>\n#include <ctime>\n#include <ldap.h>\n\n#include \"usbguard/KeyValueParser.hpp\"\n#include \"usbguard/Rule.hpp\"\n\nnamespace usbguard\n{\n\n  class LDAPHandler\n  {\n  public:\n    struct LDAPDeleter {\n      void operator()(LDAP* p)\n      {\n        ldap_unbind_ext_s(p, nullptr, nullptr);\n      }\n\n      void operator()(LDAPMessage* p)\n      {\n        ldap_msgfree(p);\n      }\n    };\n\n    LDAPHandler();\n    ~LDAPHandler();\n\n    std::shared_ptr<LDAPMessage> query(const std::string filter);\n    std::string getRuleQuery();\n    std::time_t getUpdateInterval();\n\n    std::vector<std::pair<long, std::string>> ldapToRules(std::shared_ptr<LDAPMessage> message);\n\n    static std::vector<std::string> _configValues;\n\n  private:\n    void parseConf(const std::string path);\n    void validateConf();\n\n    std::map<std::string, std::string> _parsedOptions;\n    KeyValueParser _parser;\n\n    std::unique_ptr<LDAP, LDAPDeleter> _ldap_ptr;\n    std::string _ldap_file;\n    std::string _hostname;\n\n    std::time_t _updateInterval;\n  };\n}\n\n#endif\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Daemon/LDAPRuleSet.cpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Radovan Sroka <rsroka@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#ifdef HAVE_LDAP\n\n#include <algorithm>\n\n#include \"LDAPRuleSet.hpp\"\n#include \"LDAPHandler.hpp\"\n\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/RuleParser.hpp\"\n#include \"usbguard/Exception.hpp\"\n\n#include \"Common/LDAPUtil.hpp\"\n\n#include <future>\n#include <unistd.h>\n\n\nnamespace usbguard\n{\n  LDAPRuleSet::LDAPRuleSet(Interface* const interface_ptr, std::shared_ptr<LDAPHandler> ldap)\n    : RuleSet(interface_ptr),\n      _LDAP(ldap),\n      _last_update(0)\n\n  {\n    clearWritable();\n    USBGUARD_LOG(Info) << \"Creating LDAPRuleSet\";\n  }\n\n  LDAPRuleSet::LDAPRuleSet(const LDAPRuleSet& rhs)\n    : RuleSet(rhs._interface_ptr),\n      _LDAP(rhs._LDAP),\n      _last_update(rhs._last_update)\n  {\n    *this = rhs;\n  }\n\n  const LDAPRuleSet& LDAPRuleSet::operator=(const LDAPRuleSet& rhs)\n  {\n    RuleSet::operator = (rhs);\n    return *this;\n  }\n\n  LDAPRuleSet::~LDAPRuleSet()\n  {\n  }\n\n  void LDAPRuleSet::load()\n  {\n    std::shared_ptr<LDAPMessage> message = _LDAP->query(_LDAP->getRuleQuery());\n    std::vector<std::pair<long, std::string>> v = _LDAP->ldapToRules(message);\n    std::sort(v.begin(), v.end(), [](std::pair<long, std::string> a, std::pair<long, std::string> b) {\n      return a.first < b.first;\n    });\n    size_t rule_number = 1;\n\n    for (auto _rule: v) {\n      USBGUARD_LOG(Info) << \"Parsing rule: \" << rule_number << \"  RuleOrder: \"<< _rule.first;\n      USBGUARD_LOG(Info) << _rule.second;\n      auto rule = parseRuleFromString(_rule.second, \"\", rule_number);\n      appendRule(rule, Rule::LastID, /*lock=*/false);\n      rule_number++;\n      USBGUARD_LOG(Info);\n    }\n\n    _last_update = std::time(nullptr);\n  }\n\n  void LDAPRuleSet::save() {}\n\n  void LDAPRuleSet::update()\n  {\n    USBGUARD_LOG(Trace);\n\n    if (std::time(nullptr) - _last_update < _LDAP->getUpdateInterval()) {\n      USBGUARD_LOG(Trace) << \"UPDATE is not needed!\";\n      return;\n    }\n\n    /*TODO:\n    *\n    * we should handle that LDAP server can be unreachable\n    *\n    */\n    std::unique_lock<std::mutex> op_lock(_op_mutex);\n    USBGUARD_LOG(Trace) << \"Processing UPDATE!\";\n    _rules.clear();\n    _id_next = Rule::RootID + 1;\n    load();\n  }\n\n  std::shared_ptr<Rule> LDAPRuleSet::getFirstMatchingRule(std::shared_ptr<const Rule> device_rule, uint32_t from_id) const\n  {\n    USBGUARD_LOG(Trace);\n    std::future<void> ft = std::async(std::launch::deferred, std::bind(&LDAPRuleSet::update, *this));\n    ft.get();\n    return RuleSet::getFirstMatchingRule(device_rule, from_id);\n  }\n} /* namespace usbguard */\n\n#endif\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Daemon/LDAPRuleSet.hpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Radovan Sroka <rsroka@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#ifdef HAVE_LDAP\n\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/Rule.hpp\"\n#include \"usbguard/RuleSet.hpp\"\n\n#include \"LDAPHandler.hpp\"\n\n#include \"Common/Thread.hpp\"\n\n#include <ctime>\n#include <future>\n\nnamespace usbguard\n{\n  class Interface;\n  class DLL_PUBLIC LDAPRuleSet : public RuleSet\n  {\n  public:\n    LDAPRuleSet(Interface* const interface_ptr, std::shared_ptr<LDAPHandler> ldap);\n    LDAPRuleSet(const LDAPRuleSet& rhs);\n    const LDAPRuleSet& operator=(const LDAPRuleSet& rhs);\n\n    ~LDAPRuleSet();\n\n    void update();\n    void loop();\n\n    void load() override;\n    void save() override;\n\n    std::shared_ptr<Rule> getFirstMatchingRule(std::shared_ptr<const Rule> device_rule, uint32_t from_id = 1) const override;\n\n  private:\n    std::shared_ptr<LDAPHandler> _LDAP;\n    std::time_t _last_update;\n  };\n} /* namespace usbguard */\n\n#endif\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Daemon/LinuxAuditBackend.cpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"LinuxAuditBackend.hpp\"\n\n#include <usbguard/Exception.hpp>\n#include <usbguard/Logger.hpp>\n#include \"Common/Utility.hpp\"\n#include \"Library/Utility.hpp\"\n\n#include <stdexcept>\n\n#if defined(HAVE_LINUX_AUDIT)\n#include <libaudit.h>\n\n#ifndef AUDIT_USER_DEVICE\n  #define AUDIT_USER_DEVICE 1137 /* User space hotplug device changes */\n#endif\n\n#if !defined(HAVE_DECL_AUDIT_ENCODE_NV_STRING)\n#ifndef _GNU_SOURCE\n  #define _GNU_SOURCE 1\n#endif\n\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n/*\n * Audit message encoding functions based on:\n *  https://github.com/linux-audit/audit-userspace/blob/f7cd4d6/lib/audit_logging.c#L125\n */\n\n/*\n* This function checks a string to see if it needs encoding.\n* It returns true if needed and false if not.\n*/\nstatic bool audit_value_needs_encoding(const char* str, unsigned int size)\n{\n  if (str == NULL) {\n    return false;\n  }\n\n  for (unsigned int i = 0; i < size; i++) {\n    // we don't test for > 0x7f because str[] is signed.\n    if (str[i] == '\"' || str[i] < 0x21 || str[i] == 0x7F) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\n/*\n* This function does encoding of \"untrusted\" names just like the kernel\n*/\nstatic char* audit_encode_value(char* final, const char* buf, unsigned int size)\n{\n  char* ptr = final;\n  const char* hex = \"0123456789ABCDEF\";\n\n  if (final == NULL) {\n    return NULL;\n  }\n\n  if (buf == NULL) {\n    *final = 0;\n    return final;\n  }\n\n  for (unsigned int i = 0; i < size; i++) {\n    *ptr++ = hex[(buf[i] & 0xF0)>>4]; /* Upper nibble */\n    *ptr++ = hex[buf[i] & 0x0F];      /* Lower nibble */\n  }\n\n  *ptr = 0;\n  return final;\n}\n\nstatic char* audit_encode_nv_string(const char* name, const char* value, unsigned int vlen)\n{\n  char* str = nullptr;\n\n  if (vlen == 0 && value) {\n    vlen = ::strlen(value);\n  }\n\n  if (value && audit_value_needs_encoding(value, vlen)) {\n    char* tmp = reinterpret_cast<char*>(::malloc(2*vlen + 1));\n\n    if (tmp) {\n      audit_encode_value(tmp, value, vlen);\n\n      if (::asprintf(&str, \"%s=%s\", name, tmp) < 0) {\n        str = nullptr;\n      }\n\n      free(tmp);\n    }\n    else {\n      str = nullptr;\n    }\n  }\n  else {\n    if (::asprintf(&str, \"%s=\\\"%s\\\"\", name, value ? value : \"?\") < 0) {\n      str = nullptr;\n    }\n  }\n\n  return str;\n}\n\n#endif /* HAVE_DECL_AUDIT_ENCODE_NV_STRING */\n#endif /* HAVE_LINUX_AUDIT */\n\nnamespace usbguard\n{\n#if defined(HAVE_LINUX_AUDIT)\n  static std::string encodeMessageNVPair(const std::string& key, const std::string& value)\n  {\n    std::unique_ptr<char, FreeDeleter> encoded_cstr(audit_encode_nv_string(key.c_str(), value.c_str(), value.size()));\n    std::string encoded(encoded_cstr.get());\n    return encoded;\n  }\n\n  static void appendToMessage(std::string& message, const std::string& key, const std::string& value)\n  {\n    if (message.size() > 0) {\n      message.append(\" \");\n    }\n\n    message.append(encodeMessageNVPair(key, value));\n  }\n\n  static std::string translateTypeValue(const std::string& value)\n  {\n    if (hasPrefix(value, \"Policy.Device.\")) {\n      /* device policy events */\n      if (hasSuffix(value, \"Update\")) {\n        return \"changed-authorization-state-for\";\n      }\n\n      throw std::runtime_error(\"LinuxAuditBackend: unexpected Policy.Device event\");\n    }\n    else if (hasPrefix(value, \"Device.\")) {\n      /* device events */\n      if (hasSuffix(value, \"Present\")) {\n        return \"discovered-device\";\n      }\n\n      if (hasSuffix(value, \"Insert\")) {\n        return \"inserted-device\";\n      }\n\n      if (hasSuffix(value, \"Update\")) {\n        return \"updated-device\";\n      }\n\n      if (hasSuffix(value, \"Remove\")) {\n        return \"removed-device\";\n      }\n\n      throw std::runtime_error(\"LinuxAuditBackend: unexpected Device event\");\n    }\n    else if (hasPrefix(value, \"Policy.\")) {\n      /* rule set modification events */\n      if (hasSuffix(value, \"Insert\")) {\n        return \"inserted-policy-rule\";\n      }\n\n      if (hasSuffix(value, \"Update\")) {\n        return \"updated-policy-rule\";\n      }\n\n      if (hasSuffix(value, \"Remove\")) {\n        return \"removed-policy-rule\";\n      }\n\n      throw std::runtime_error(\"LinuxAuditBackend: unexpected Policy event\");\n    }\n\n    throw std::runtime_error(\"LinuxAuditBackend: unexpected type= key value\");\n  }\n\n#endif\n\n  LinuxAuditBackend::LinuxAuditBackend()\n  {\n#if defined(HAVE_LINUX_AUDIT)\n    USBGUARD_LOG(Debug) << \"Opening Linux Audit socket\";\n\n    if ((_audit_fd = audit_open()) < 0) {\n      throw ErrnoException(\"LinuxAuditBackend\", \"audit_open\", errno);\n    }\n\n#else\n    (void)_audit_fd;\n    throw std::runtime_error(\"LinuxAuditBackend: not supported\");\n#endif\n  }\n\n  LinuxAuditBackend::~LinuxAuditBackend()\n  {\n#if defined(HAVE_LINUX_AUDIT)\n    USBGUARD_LOG(Debug) << \"Closing Linux Audit socket\";\n    audit_close(_audit_fd);\n#endif\n  }\n\n  void LinuxAuditBackend::write(const AuditEvent& event)\n  {\n#if defined(HAVE_LINUX_AUDIT)\n    std::string message;\n    /*\n     * Linux Audit event result\n     *  0 = failed\n     *  1 = success\n     */\n    int result = 0;\n    auto kvals = event.keys();\n    std::string audit_key;\n    std::string audit_value;\n\n    if (kvals.count(\"type\") > 0) {\n      audit_key = \"op\";\n      audit_value = translateTypeValue(kvals[\"type\"]);\n      appendToMessage(message, audit_key, audit_value);\n      kvals.erase(\"type\");\n    }\n    else {\n      throw std::runtime_error(\"missing required type field in the audit event\");\n    }\n\n    if (kvals.count(\"result\") > 0) {\n      if (kvals[\"result\"] == \"SUCCESS\") {\n        result = 1;\n      }\n\n      kvals.erase(\"result\");\n    }\n    else {\n      throw std::runtime_error(\"missing required result field in the audit event\");\n    }\n\n    if (kvals.count(\"device.system_name\") > 0) {\n      audit_key = \"device\";\n      audit_value = kvals[\"device.system_name\"];\n      appendToMessage(message, audit_key, audit_value);\n      kvals.erase(\"device.system_name\");\n    }\n\n    if (kvals.count(\"rule\") > 0) {\n      audit_key = \"rule\";\n      audit_value = kvals[\"rule\"];\n      appendToMessage(message, audit_key, audit_value);\n      kvals.erase(\"rule\");\n    }\n\n    for (const auto& kv_pair : kvals) {\n      const std::string& key = kv_pair.first;\n      const std::string& value = kv_pair.second;\n      audit_key.clear();\n      audit_value.clear();\n\n      if (key == \"device.rule\") {\n        audit_key = \"device_rule\";\n        audit_value = value;\n      }\n      else if (key == \"device.rule.new\") {\n        audit_key = \"device_rule\";\n        audit_value = value;\n      }\n      else if (key == \"target\") {\n        audit_key = \"target\";\n        audit_value = value;\n      }\n      else if (key == \"target.new\") {\n        audit_key = \"target\";\n        audit_value = value;\n      }\n      else if (key == \"rule.id\") {\n        audit_key = \"rule_id\";\n        audit_value = value;\n      }\n      else if (key == \"rule.new\") {\n        audit_key = \"rule\";\n        audit_value = value;\n      }\n\n      /*\n       * Skip appending the key=value pair to the message, if the\n       * audit_key string is empty. This is used to skip key=value\n       * pairs that we don't want to include in the Linux Audit trail.\n       */\n      if (!audit_key.empty()) {\n        appendToMessage(message, audit_key, audit_value);\n      }\n    }\n\n    USBGUARD_LOG(Debug) << \"Writing Linux Audit message: \" << message;\n    audit_log_user_message(_audit_fd, AUDIT_USER_DEVICE, message.c_str(),\n      /*hostname=*/nullptr, /*addr=*/nullptr, /*tty=*/nullptr, result);\n#else\n    (void)event;\n    throw std::runtime_error(\"LinuxAuditBackend::write: not supported\");\n#endif\n  }\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Daemon/LinuxAuditBackend.hpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include <usbguard/Audit.hpp>\n\nnamespace usbguard\n{\n  class LinuxAuditBackend : public AuditBackend\n  {\n  public:\n    LinuxAuditBackend();\n    ~LinuxAuditBackend();\n\n    void write(const AuditEvent& event);\n\n  private:\n    int _audit_fd{-1};\n  };\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Daemon/NSHandler.cpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Radovan Sroka <rsroka@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include <iostream>\n#include <fstream>\n#include <vector>\n#include <string>\n#include <cctype>\n#include <locale>\n\n#include \"NSHandler.hpp\"\n\n#include \"FileRuleSet.hpp\"\n\n#ifdef HAVE_LDAP\n  #include \"LDAPRuleSet.hpp\"\n#endif\n\n#include \"usbguard/Exception.hpp\"\n#include \"usbguard/KeyValueParser.hpp\"\n#include \"usbguard/Logger.hpp\"\n#include \"usbguard/RuleSet.hpp\"\n#include \"usbguard/MemoryRuleSet.hpp\"\n\n#include \"RuleSetFactory.hpp\"\n\nnamespace usbguard\n{\n\n  NSHandler* NSHandler::_self = nullptr;\n\n  NSHandler::NSHandler()\n    : _parser( {\"usbguard\"}, \":\", /*case_sensitive?*/false, /*validate_keys?*/false),\n  _nsswitch_path(\"/etc/nsswitch.conf\"),\n  _rulesPath(\"\")\n  {\n    USBGUARD_LOG(Info) << \"NSHandler Loading...\";\n    _source = SourceType::LOCAL;\n    _parser.viewConfig();\n    _self = this;\n    USBGUARD_LOG(Info) << \"NSHandler Loaded\";\n  }\n\n  NSHandler::~NSHandler()\n  {\n  }\n\n  void NSHandler::setNSSwitchPath(const std::string& path)\n  {\n    _nsswitch_path = path;\n  }\n\n  std::string NSHandler::getSourceInfo()\n  {\n    std::string ret = \"unspecified\";\n\n    switch (_source) {\n    case NSHandler::SourceType::LOCAL:\n      if (_rulesPath != \"\") {\n        ret = \"SourceLOCAL::\" + _rulesPath;\n      }\n      else {\n        ret = \"SourceLOCAL::unknown\";\n      }\n\n      break;\n#ifdef HAVE_LDAP\n\n    case NSHandler::SourceType::LDAP:\n      ret = \"SourceLDAP\";\n      break;\n#endif\n\n    // case NSHandler::SourceType::SSSD:\n    //   ret = \"SourceSSSD\";\n    //   break;\n\n    default:\n      ret = \"SourceUnknown\";\n      break;\n    }\n\n    return ret;\n  }\n\n#if HAVE_LDAP\n  std::shared_ptr<LDAPHandler> NSHandler::getLDAPHandler()\n  {\n    if (!_ldap.get()) {\n      _ldap = _ldap = std::make_shared<LDAPHandler>();\n    }\n\n    return _ldap;\n  }\n\n#endif\n\n  NSHandler& NSHandler::getRef()\n  {\n    if (!NSHandler::_self) {\n      throw Exception(\"NSHandler\", \"getRef\", \"uninitialized static _self parameter\");\n    }\n\n    return *NSHandler::_self;\n  }\n\n  std::vector<std::shared_ptr<RuleSet>> NSHandler::getRuleSet(Interface* const interface_ptr)\n  {\n    RuleSetFactory::setInterface(interface_ptr);\n    return RuleSetFactory::generateRuleSetBySource(_source);\n  }\n\n  void NSHandler::setRulesPath(const std::string& path)\n  {\n    _rulesPath = path;\n  }\n\n  void NSHandler::setRulesDirPath(std::string& ruledir_path)\n  {\n    _rulesDirPath = ruledir_path;\n  }\n\n  std::string& NSHandler::getRulesPath()\n  {\n    return _rulesPath;\n  }\n\n  std::string& NSHandler::getRulesDirPath()\n  {\n    return _rulesDirPath;\n  }\n\n  void NSHandler::parseNSSwitch()\n  {\n    USBGUARD_LOG(Info) << \"Loading nsswitch from \" << _nsswitch_path;\n    std::ifstream nss(_nsswitch_path);\n\n    if (!nss.is_open()) {\n      USBGUARD_LOG(Info) << \"Error when opening nsswitch file: \" << _nsswitch_path << \": \" << ErrnoException::reasonFromErrno(errno);\n      USBGUARD_LOG(Info) << \"Using default value FILES\";\n      _source = SourceType::LOCAL;\n      return;\n    }\n\n    _parser.parseStream(nss);\n    _parsedOptions = _parser.getMap();\n    nss.close();\n    USBGUARD_LOG(Debug) << \"Map contains:\";\n\n    for (auto x: _parsedOptions) {\n      USBGUARD_LOG(Debug) << \"--> \" << x.first << \" -> \" << x.second << \" <--\";\n    }\n\n    std::locale loc;\n\n    for (unsigned i = 0 ; i < _parsedOptions[\"USBGUARD\"].length() ; i++) {\n      _parsedOptions[\"USBGUARD\"][i] = std::toupper(_parsedOptions[\"USBGUARD\"][i], loc);\n    }\n\n    USBGUARD_LOG(Info) << \"Fetched value is -> \" << _parsedOptions[\"USBGUARD\"] << \" <-\";\n\n    if (_parsedOptions[\"USBGUARD\"] == \"FILES\") {\n      _source = SourceType::LOCAL;\n    }\n    else if (_parsedOptions[\"USBGUARD\"] == \"LDAP\") {\n#ifdef HAVE_LDAP\n      _source = SourceType::LDAP;\n#else\n      USBGUARD_LOG(Info) << \"USBGuard has been compiled without LDAP support\";\n      USBGUARD_LOG(Info) << \"Using default value FILES\";\n      _source = SourceType::LOCAL;\n#endif\n    }\n    else {\n      USBGUARD_LOG(Info) << \"Value is not valid or not set, using default FILES\";\n      _source = SourceType::LOCAL;\n    }\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Daemon/NSHandler.hpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Radovan Sroka <rsroka@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include <string>\n#include <vector>\n\n#include \"usbguard/KeyValueParser.hpp\"\n#include \"usbguard/RuleSet.hpp\"\n#include \"usbguard/MemoryRuleSet.hpp\"\n#include \"usbguard/Typedefs.hpp\"\n\n#ifdef HAVE_LDAP\n  #include \"LDAPHandler.hpp\"\n#endif\n\nnamespace usbguard\n{\n  class Interface;\n  class DLL_PUBLIC NSHandler\n  {\n  public:\n\n    enum class SourceType {\n      LOCAL,\n#ifdef HAVE_LDAP\n      LDAP,\n#endif\n      //SSSD\n    };\n\n    NSHandler();\n    ~NSHandler();\n\n    void setRulesPath(const std::string& path);\n    void setRulesDirPath(std::string& ruledir_path);\n\n    std::string& getRulesPath();\n    std::string& getRulesDirPath();\n\n    std::vector<std::shared_ptr<RuleSet>> getRuleSet(Interface* const interface_ptr);\n    void parseNSSwitch();\n\n    void setNSSwitchPath(const std::string& path);\n\n    std::string getSourceInfo();\n\n#ifdef HAVE_LDAP\n    std::shared_ptr<LDAPHandler> getLDAPHandler();\n#endif\n\n    static NSHandler& getRef();\n\n  private:\n    KeyValueParser _parser;\n    std::map<std::string, std::string> _parsedOptions;\n\n    std::string _nsswitch_path;\n    SourceType _source;\n    std::string _rulesPath;\n    std::string _rulesDirPath;\n\n#ifdef HAVE_LDAP\n    std::shared_ptr<LDAPHandler> _ldap = nullptr;\n#endif\n\n    static NSHandler* _self;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Daemon/RuleSetFactory.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Radovan Sroka <rsroka@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include <algorithm>\n\n#include \"usbguard/RuleSet.hpp\"\n#include \"usbguard/MemoryRuleSet.hpp\"\n\n#include \"Common/Utility.hpp\"\n\n#include \"FileRuleSet.hpp\"\n\n#ifdef HAVE_LDAP\n  #include \"LDAPRuleSet.hpp\"\n#endif\n\n#include \"NSHandler.hpp\"\n\n#include \"RuleSetFactory.hpp\"\n\nnamespace usbguard\n{\n\n  Interface* RuleSetFactory::interface_ptr = nullptr;\n\n  void RuleSetFactory::setInterface(Interface* ptr)\n  {\n    RuleSetFactory::interface_ptr = ptr;\n  }\n\n  std::vector<std::shared_ptr<RuleSet>> RuleSetFactory::generateDefaultRuleSet()\n  {\n    std::shared_ptr<MemoryRuleSet> rule_set = std::make_shared<MemoryRuleSet>(RuleSetFactory::interface_ptr);\n    std::shared_ptr<RuleSet> _rule_set = std::dynamic_pointer_cast<RuleSet>(rule_set);\n    std::vector<std::shared_ptr<RuleSet>> vec;\n    vec.push_back(_rule_set);\n    return vec;\n  }\n\n  std::vector<std::shared_ptr<RuleSet>> RuleSetFactory::generateRuleSetBySource(NSHandler::SourceType type)\n  {\n    NSHandler& ns = NSHandler::getRef();\n    std::vector<std::shared_ptr<RuleSet>> ruleSet;\n\n    switch (type) {\n    case NSHandler::SourceType::LOCAL:\n      if (!ns.getRulesPath().empty()) {\n        ruleSet.emplace_back(new FileRuleSet(interface_ptr, ns.getRulesPath()));\n      }\n\n      if (!ns.getRulesDirPath().empty()) {\n        for (auto path : getConfigsFromDir(ns.getRulesDirPath())) {\n          auto frs = std::make_shared<FileRuleSet>(interface_ptr, path);\n          auto rs = std::dynamic_pointer_cast<RuleSet>(frs);\n          ruleSet.push_back(rs);\n        }\n      }\n\n      /*\n       * This means one of the following:\n       *  - Neither RuleFile nor RuleFolder are specified\n       *  - RuleFile not specified, RuleFolder is but it does not contain any files,\n       *    where we could save permanent rules\n       */\n      if (ruleSet.empty()) {\n        std::string msg;\n\n        if (ns.getRulesPath().empty() && ns.getRulesDirPath().empty()) {\n          msg = \"Neither RuleFile nor RuleFolder are set.\";\n        }\n        else {\n          msg = \"RuleFile is not set, RuleFolder is but it does not contain any rule files.\";\n        }\n\n        USBGUARD_LOG(Warning) << \"Modification of the permanent policy won't be possible.\"\n          << \" Reason: \" << msg;\n        ruleSet = generateDefaultRuleSet();\n      }\n\n      break;\n#ifdef HAVE_LDAP\n\n    case NSHandler::SourceType::LDAP:\n      ruleSet.emplace_back(new LDAPRuleSet(interface_ptr, ns.getLDAPHandler()));\n      break;\n#endif\n\n    default:\n      ruleSet = generateDefaultRuleSet();\n      break;\n    }\n\n    return ruleSet;\n  }\n\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Daemon/RuleSetFactory.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Radovan Sroka <rsroka@redhat.com>\n//\n#pragma once\n\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include <iostream>\n\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/RuleSet.hpp\"\n#include \"usbguard/MemoryRuleSet.hpp\"\n\n#include \"FileRuleSet.hpp\"\n\n#ifdef HAVE_LDAP\n  #include \"LDAPRuleSet.hpp\"\n#endif\n\n#include \"NSHandler.hpp\"\n#include \"usbguard/Interface.hpp\"\n\nnamespace usbguard\n{\n  class DLL_PUBLIC RuleSetFactory\n  {\n  public:\n\n    static void setInterface(Interface* ptr);\n\n    static std::vector<std::shared_ptr<RuleSet>> generateDefaultRuleSet();\n    static std::vector<std::shared_ptr<RuleSet>> generateRuleSetBySource(NSHandler::SourceType type);\n\n  private:\n    static Interface* interface_ptr;\n\n  };\n\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Daemon/Seccomp.c",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"Seccomp.h\"\n\n#if defined(HAVE_SECCOMP)\n  #include <asm/unistd.h>\n  #include <seccomp.h>\n  #include <errno.h>\n  #include <sys/resource.h>\n  #include <sys/socket.h>\n  #include <linux/netlink.h>\n  #include <sys/mman.h>\n  #if defined(HAVE_LIBCAPNG)\n    #include <sys/prctl.h>\n  #endif\n#endif\n\n#if defined(HAVE_SECCOMP)\nbool setupSeccompWhitelist(void)\n{\n  /* TODO: Use SCMP_ACT_TRAP. Switch to EACCES for 1.x releases */\n  scmp_filter_ctx ctx = seccomp_init(/*SCMP_ACT_ERRNO(EACCES)*/SCMP_ACT_TRAP);\n\n  if (!ctx) {\n    return false;\n  }\n\n  int ret = 0;\n  /* files, dirs */\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(write), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(close), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(read), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(open), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(openat), 0);\n#ifdef __NR_fstat\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(fstat), 0);\n#endif\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(lstat), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(fcntl), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(unlink), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(ftruncate), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(chown), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(chmod), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(lseek), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(getdents), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(stat), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(readlink), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(access), 0);\n  /* memory */\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(brk), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mmap), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(munmap), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mprotect), 1,\n      SCMP_A2(SCMP_CMP_EQ, PROT_NONE));\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mprotect), 1,\n      SCMP_A2(SCMP_CMP_EQ, PROT_READ));\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mprotect), 1,\n      SCMP_A2(SCMP_CMP_EQ, PROT_WRITE));\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mprotect), 1,\n      SCMP_A2(SCMP_CMP_EQ, PROT_READ|PROT_WRITE));\n  /* clock */\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(clock_gettime), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(clock_getres), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(gettid), 0);\n  /* epoll */\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(epoll_create1), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(epoll_wait), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(epoll_ctl), 0);\n  /* signals */\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(rt_sigaction), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(rt_sigreturn), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(rt_sigprocmask), 0);\n  /* process, thread */\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(clone), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(futex), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(exit_group), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(set_robust_list), 0);\n  /* STRACE:\n   *  getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=4*1024}) = 0\n   */\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(getrlimit), 1,\n      SCMP_A0(SCMP_CMP_EQ, RLIMIT_NOFILE));\n  /* pipes, eventfd */\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(pipe), 0);\n  /* STRACE:\n   *  eventfd2(0, 0)\n   */\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(eventfd2), 2,\n      SCMP_A0(SCMP_CMP_EQ, 0),\n      SCMP_A1(SCMP_CMP_EQ, 0));\n  /* socket */\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socket), 1,\n      SCMP_A0(SCMP_CMP_EQ, PF_LOCAL),\n      SCMP_A1(SCMP_CMP_MASKED_EQ, SOCK_STREAM, SOCK_STREAM));\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socket), 1,\n      SCMP_A0(SCMP_CMP_EQ, PF_NETLINK),\n      SCMP_A2(SCMP_CMP_EQ, NETLINK_KOBJECT_UEVENT));\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(bind), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(accept), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(listen), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(setsockopt), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(shutdown), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(recvmsg), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(recvfrom), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(sendto), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(select), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(connect), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(getsockname), 0);\n#if defined(HAVE_LIBCAPNG)\n  /* capabilities */\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(capget), 0);\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(capset), 0);\n  /* allow to drop capabilities using prctl */\n  ret |= seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(prctl), 1,\n      SCMP_A0(SCMP_CMP_EQ, PR_CAPBSET_DROP));\n#endif /* HAVE_LIBCAPNG */\n\n  /* before main() only */\n  //seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(statfs), 0);\n  //seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(arch_prctl), 0);\n  //seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(set_tid_address), 0);\n  //seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(execve), 0);\n\n  if (ret != 0) {\n    goto out;\n  }\n\n  if (seccomp_load(ctx) != 0) {\n    ret = -1;\n    goto out;\n  }\n\nout:\n  seccomp_release(ctx);\n  return (ret == 0);\n}\n\n#else\nbool setupSeccompWhitelist(void)\n{\n  return false;\n}\n\n#endif\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Daemon/Seccomp.h",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include <stdbool.h>\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nbool setupSeccompWhitelist(void);\n\n#ifdef __cplusplus\n}\n\n#endif\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Daemon/main.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Jiri Vymazal   <jvymazal@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"Daemon.hpp\"\n#include \"Common/Utility.hpp\"\n#include \"Seccomp.h\"\n\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/Logger.hpp\"\n#include \"usbguard/Exception.hpp\"\n\n#include <iostream>\n\n#include <getopt.h>\n\n#if defined(HAVE_LIBCAPNG)\n  #include <cap-ng.h>\n  static void setupCapabilities(void);\n#endif\n\n#ifndef USBGUARD_PID_FILE\n  #define USBGUARD_PID_FILE \"/var/run/usbguard.pid\"\n#endif\n\nusing namespace usbguard;\n\nconst char* const G_optstring = \"dfskKl:p:c:hWCP\";\n\nstatic void printUsage(std::ostream& stream, const char* arg0)\n{\n  stream << std::endl;\n  stream << \"Usage: \" << filenameFromPath(std::string(arg0), true) << \" [OPTIONS]\" << std::endl;\n  stream << std::endl;\n  stream << \"  -d         Enable debugging messages in the log.\" << std::endl;\n  stream << \"  -f         Enable classical daemon forking behavior.\" << std::endl;\n  stream << \"  -s         Log to syslog.\" << std::endl;\n  stream << \"  -k         Log to console.\" << std::endl;\n  stream << \"  -K         Disable Logging to console.\" << std::endl;\n  stream << \"  -l <path>  Log to a file at `path'.\" << std::endl;\n  stream << \"  -p <path>  Write PID to a file at `path'.\" << std::endl;\n  stream << \"  -c <path>  Load configuration from a file at `path'.\" << std::endl;\n  stream << \"  -P         Disable permissions check on conf and policy files\" << std::endl;\n  stream << \"             (default: /etc/usbguard/usbguard-daemon.conf)\" << std::endl;\n  stream << \"  -C         Drop capabilities to limit privileges of the process.\" << std::endl;\n  stream << \"  -W         Use a seccomp allowlist to limit available syscalls to the process.\" << std::endl;\n  stream << \"  -h         Show this usage screen.\" << std::endl;\n  stream << std::endl;\n}\n\nint main(int argc, char* argv[])\n{\n  const char* const arg0 = argv[0];\n  bool debug_mode = false;\n  bool log_syslog = false;\n  bool log_console = true;\n  bool log_file = false;\n  bool use_seccomp_allowlist = false;\n  bool drop_capabilities = false;\n  bool check_permissions = true;\n  bool daemonize = false;\n  std::string log_file_path;\n  std::string pid_file = USBGUARD_PID_FILE;\n  std::string conf_file = \"/etc/usbguard/usbguard-daemon.conf\";\n  int opt;\n\n  while ((opt = getopt(argc, argv, G_optstring)) != -1) {\n    switch (opt) {\n    case 'd':\n      debug_mode = true;\n      break;\n\n    case 'f':\n      daemonize = true;\n      break;\n\n    case 's':\n      log_syslog = true;\n      break;\n\n    case 'k':\n      log_console = true;\n      break;\n\n    case 'K':\n      log_console = false;\n      break;\n\n    case 'l':\n      log_file = true;\n      log_file_path = std::string(optarg);\n      break;\n\n    case 'p':\n      pid_file = std::string(optarg);\n      break;\n\n    case 'P':\n      USBGUARD_LOG(Warning) << \"PERMISSIONS CHECK ON POLICY FILE ARE TURNED OFF!\";\n      check_permissions = false;\n      break;\n\n    case 'c':\n      conf_file = std::string(optarg);\n      break;\n\n    case 'W':\n      use_seccomp_allowlist = true;\n      break;\n\n    case 'C':\n      drop_capabilities = true;\n      break;\n\n    case 'h':\n      printUsage(std::cout, arg0);\n      return EXIT_SUCCESS;\n\n    case '?':\n      printUsage(std::cerr, arg0);\n\n    /* FALLTROUGH */\n    default:\n      return EXIT_FAILURE;\n    }\n  }\n\n  /* Initialize logging */\n  try {\n    USBGUARD_LOGGER.setEnabled(true, (debug_mode ?\n        LogStream::Level::Trace\n        :\n        LogStream::Level::Warning));\n    USBGUARD_LOGGER.setOutputConsole(log_console);\n    USBGUARD_LOGGER.setOutputSyslog(log_syslog, \"usbguard-daemon\");\n    USBGUARD_LOGGER.setOutputFile(log_file, log_file_path);\n  }\n  catch (const Exception& ex) {\n    USBGUARD_LOG(Error) << \"Unable to initialize logging: \" << ex.message();\n    return EXIT_FAILURE;\n  }\n\n  /* Setup seccomp allowlist & drop capabilities */\n  if (use_seccomp_allowlist) {\n#if defined(HAVE_SECCOMP)\n\n    if (!setupSeccompWhitelist()) {\n      USBGUARD_LOG(Error) << \"Unable to setup seccomp\";\n      return EXIT_FAILURE;\n    }\n\n#else\n    USBGUARD_LOG(Error) << \"USBGuard was not compiled with libseccomp support\";\n    return EXIT_FAILURE;\n#endif\n  }\n\n  if (drop_capabilities) {\n#if defined(HAVE_LIBCAPNG)\n    setupCapabilities();\n#else\n    USBGUARD_LOG(Error) << \"USBGuard was not compiled with libcap-ng support\";\n    return EXIT_FAILURE;\n#endif\n  }\n\n  /* Start the daemon */\n  int ret = EXIT_FAILURE;\n\n  try {\n    usbguard::Daemon daemon;\n\n    if (!conf_file.empty()) {\n      daemon.loadConfiguration(conf_file, check_permissions);\n    }\n\n    if (daemonize) {\n      if (log_console && !log_syslog && !log_file) {\n        USBGUARD_LOG(Warning) << \"You have selected to fork and log only to \\\n            console, nothing will be logged after forking!\";\n      }\n\n      daemon.daemonize(pid_file);\n    }\n\n    daemon.run();\n    ret = EXIT_SUCCESS;\n  }\n  catch (const usbguard::Exception& ex) {\n    USBGUARD_LOG(Error) << ex.message();\n  }\n  catch (const std::exception& ex) {\n    USBGUARD_LOG(Error) << ex.what();\n  }\n  catch (...) {\n    USBGUARD_LOG(Error) << \"Unknown exception caught while starting the process\";\n  }\n\n  return ret;\n}\n\n#if defined(HAVE_LIBCAPNG)\nstatic void setupCapabilities(void)\n{\n  capng_clear(CAPNG_SELECT_BOTH);\n  capng_updatev(CAPNG_ADD, (capng_type_t)(CAPNG_EFFECTIVE|CAPNG_PERMITTED),\n    CAP_CHOWN, CAP_FOWNER, -1);\n  capng_apply(CAPNG_SELECT_BOTH);\n  return;\n}\n\n#endif\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/AllowedMatchesCondition.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"AllowedMatchesCondition.hpp\"\n\n#include \"usbguard/Interface.hpp\"\n#include \"usbguard/Logger.hpp\"\n#include \"usbguard/RuleParser.hpp\"\n\nnamespace usbguard\n{\n  AllowedMatchesCondition::AllowedMatchesCondition(const std::string& device_spec, bool negated)\n    : RuleConditionBase(\"allowed-matches\", device_spec, negated)\n  {\n    _device_match_rule = parseRuleFromString(std::string(\"allow \") + device_spec);\n    _interface_ptr = nullptr;\n  }\n\n  AllowedMatchesCondition::AllowedMatchesCondition(const AllowedMatchesCondition& rhs)\n    : RuleConditionBase(rhs)\n  {\n    _device_match_rule = rhs._device_match_rule;\n    _interface_ptr = rhs._interface_ptr;\n  }\n\n  void AllowedMatchesCondition::init(Interface* const interface_ptr)\n  {\n    _interface_ptr = interface_ptr;\n  }\n\n  bool AllowedMatchesCondition::update(const Rule& rule)\n  {\n    (void)rule;\n\n    if (_interface_ptr == nullptr) {\n      return false;\n    }\n\n    auto devices = _interface_ptr->listDevices(_device_match_rule.toString());\n    return !devices.empty();\n  }\n\n  RuleConditionBase* AllowedMatchesCondition::clone() const\n  {\n    return new AllowedMatchesCondition(*this);\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/AllowedMatchesCondition.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/RuleCondition.hpp\"\n\n#include \"usbguard/Rule.hpp\"\n#include \"usbguard/Typedefs.hpp\"\n\n#include <string>\n\nnamespace usbguard\n{\n  class AllowedMatchesCondition : public RuleConditionBase\n  {\n  public:\n    AllowedMatchesCondition(const std::string& device_spec, bool negated = false);\n    AllowedMatchesCondition(const AllowedMatchesCondition& rhs);\n    void init(Interface* const interface_ptr);\n    bool update(const Rule& rule);\n    RuleConditionBase* clone() const;\n  private:\n    Rule _device_match_rule;\n    Interface* _interface_ptr;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/Base64.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"Base64.hpp\"\n#include <stdexcept>\n\nnamespace usbguard\n{\n  static const char BASE64_PADDING_CHAR = '=';\n  static const char encode_map[64+1] =\n    \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"\n    \"abcdefghijklmnopqrstuvwxyz\"\n    \"0123456789+/\";\n\n  static const char decode_map[80] = {\n    /* + */ 62,\n    /* , */ 0,\n    /* - */ 0,\n    /* . */ 0,\n    /* / */ 63,\n    /* 0 */ 52,\n    /* 1 */ 53,\n    /* 2 */ 54,\n    /* 3 */ 55,\n    /* 4 */ 56,\n    /* 5 */ 57,\n    /* 6 */ 58,\n    /* 7 */ 59,\n    /* 8 */ 60,\n    /* 9 */ 61,\n    /* : */ 0,\n    /* ; */ 0,\n    /* < */ 0,\n    /* = */ 0,\n    /* > */ 0,\n    /* ? */ 0,\n    /* @ */ 0,\n    /* A */ 0,\n    /* B */ 1,\n    /* C */ 2,\n    /* D */ 3,\n    /* E */ 4,\n    /* F */ 5,\n    /* G */ 6,\n    /* H */ 7,\n    /* I */ 8,\n    /* J */ 9,\n    /* K */ 10,\n    /* L */ 11,\n    /* M */ 12,\n    /* N */ 13,\n    /* O */ 14,\n    /* P */ 15,\n    /* Q */ 16,\n    /* R */ 17,\n    /* S */ 18,\n    /* T */ 19,\n    /* U */ 20,\n    /* V */ 21,\n    /* W */ 22,\n    /* X */ 23,\n    /* Y */ 24,\n    /* Z */ 25,\n    /* [ */ 0,\n    /* \\ */ 0,\n    /* ] */ 0,\n    /* ^ */ 0,\n    /* _ */ 0,\n    /* ` */ 0,\n    /* a */ 26,\n    /* b */ 27,\n    /* c */ 28,\n    /* d */ 29,\n    /* e */ 30,\n    /* f */ 31,\n    /* g */ 32,\n    /* h */ 33,\n    /* i */ 34,\n    /* j */ 35,\n    /* k */ 36,\n    /* l */ 37,\n    /* m */ 38,\n    /* n */ 39,\n    /* o */ 40,\n    /* p */ 41,\n    /* q */ 42,\n    /* r */ 43,\n    /* s */ 44,\n    /* t */ 45,\n    /* u */ 46,\n    /* v */ 47,\n    /* w */ 48,\n    /* x */ 49,\n    /* y */ 50,\n    /* z */ 51\n  };\n\n#define B(n) (*(in+(n)))\n  static void __b64_enc3(const uint8_t in[3], char out[4])\n  {\n    out[0] = encode_map[(B(0) & 0xfc) >> 2];\n    out[1] = encode_map[(B(0) & 0x03) << 4 | (B(1) & 0xf0) >> 4];\n    out[2] = encode_map[(B(1) & 0x0f) << 2 | (B(2) & 0xc0) >> 6];\n    out[3] = encode_map[(B(2) & 0x3f)];\n  }\n\n  static void __b64_enc2 (const uint8_t in[2], char out[4])\n  {\n    out[0] = encode_map[(B(0) & 0xfc) >> 2];\n    out[1] = encode_map[(B(0) & 0x03) << 4 | (B(1) & 0xf0) >> 4];\n    out[2] = encode_map[(B(1) & 0x0f) << 2];\n    out[3] = BASE64_PADDING_CHAR;\n  }\n\n  static void __b64_enc1 (const uint8_t in, char out[4])\n  {\n    out[0] = encode_map[(in & 0xfc) >> 2];\n    out[1] = encode_map[(in & 0x03) << 4];\n    out[2] = BASE64_PADDING_CHAR;\n    out[3] = BASE64_PADDING_CHAR;\n  }\n\n#undef  B\n\n  static void __check_b64_input(const char* in, const size_t count)\n  {\n    bool valid = true;\n\n    for (size_t i = 0; i < count; ++i) {\n      char c = in[i];\n\n      if (c < '+' || c > 'z') {\n        valid = false;\n        break;\n      }\n\n      if (c > 'Z' && c < 'a') {\n        valid = false;\n        break;\n      }\n\n      if (c > '9' && c < 'A') {\n        valid = false;\n        break;\n      }\n\n      if (c > '+' && c < '/') {\n        valid = false;\n        break;\n      }\n    }\n\n    if (!valid) {\n      throw std::runtime_error(\"Invalid base64 input\");\n    }\n  }\n\n#define B(n) ((*(in+(n)) - '+') % (sizeof decode_map / sizeof(decode_map[0])))\n  static void __b64_dec4 (const char in[4], uint8_t out[3])\n  {\n    __check_b64_input(in, 4);\n    out[0] =   decode_map[B(0)]         << 2  | ((decode_map[B(1)] & 0x30) >> 4);\n    out[1] = ((decode_map[B(1)] & 0x0f) << 4) | ((decode_map[B(2)] & 0x3c) >> 2);\n    out[2] = ((decode_map[B(2)] & 0x03) << 6) |   decode_map[B(3)];\n  }\n\n  static void __b64_dec3 (const char in[3], uint8_t out[2])\n  {\n    __check_b64_input(in, 3);\n    out[0] =   decode_map[B(0)]         << 2  | ((decode_map[B(1)] & 0x30) >> 4);\n    out[1] = ((decode_map[B(1)] & 0x0f) << 4) | ((decode_map[B(2)] & 0x3c) >> 2);\n  }\n\n  static void __b64_dec2 (const char in[2], uint8_t out[1])\n  {\n    __check_b64_input(in, 2);\n    out[0] = (decode_map[B(0)] << 2) | ((decode_map[B(1)] >> 4) & 0x03);\n  }\n\n#undef B\n\n  std::string base64Encode (const uint8_t* const data, const size_t size)\n  {\n    if (size == 0 || data == nullptr) {\n      throw std::runtime_error(\"base64encode: invalid input\");\n    }\n\n    const size_t encoded_size = base64EncodedSize(size);\n    const uint8_t remainder = size % 3;\n    const size_t enc3_count = (size - remainder) / 3;\n    std::string result(encoded_size, 0);\n    char* const buffer = &result[0];\n    size_t i = 0;\n\n    for (; i < enc3_count; ++i) {\n      __b64_enc3 (data + (i * 3), buffer + (i * 4));\n    }\n\n    switch (remainder) {\n    case 2:\n      __b64_enc2 (data + (i * 3), buffer + (i * 4));\n      break;\n\n    case 1:\n      __b64_enc1 (*(data + (i * 3)), buffer + (i * 4));\n      break;\n\n    case 0:\n      break;\n\n    default:\n      throw std::runtime_error(\"base64Encode: unexpected remainder value\");\n    }\n\n    return result;\n  }\n\n  std::string base64Decode(const char* const data, const size_t size)\n  {\n    if (size == 0 || (size % 4) != 0) {\n      throw std::runtime_error(\"base64Decode: invalid input\");\n    }\n\n    const size_t decoded_size = base64DecodedSize(size);\n    size_t dec4_count = size / 4;\n    uint8_t padding = 0;\n\n    if (data[size - 1] == BASE64_PADDING_CHAR) {\n      if (data[size - 2] == BASE64_PADDING_CHAR) {\n        padding = 2;\n      }\n      else {\n        padding = 1;\n      }\n\n      --dec4_count;\n    }\n\n    std::string result(decoded_size, 0);\n    uint8_t* const buffer = reinterpret_cast<uint8_t*>(&result[0]);\n    size_t i = 0;\n\n    for (; i < dec4_count; ++i) {\n      __b64_dec4 (data + (i * 4), buffer + (i * 3));\n    }\n\n    switch (padding) {\n    case 2:\n      __b64_dec2 (data + (i * 4), buffer + (i * 3));\n      result.resize(3 * i + 1);\n      break;\n\n    case 1:\n      __b64_dec3 (data + (i * 4), buffer + (i * 3));\n      result.resize(3 * i + 2);\n      break;\n\n    case 0:\n      result.resize(3 * i);\n      break;\n\n    default:\n      throw std::runtime_error(\"base64Device: unexpected padding value\");\n    }\n\n    return result;\n  }\n\n  size_t base64EncodedSize(const size_t decoded_size)\n  {\n    return (decoded_size / 3 * 4) + ((decoded_size % 3) == 0 ? 0 : 4);\n  }\n\n  size_t base64DecodedSize(const size_t encoded_size)\n  {\n    return (encoded_size / 4 * 3) + (encoded_size % 4);\n  }\n\n  std::string base64Encode(const std::string& value)\n  {\n    return base64Encode(reinterpret_cast<const uint8_t*>(value.c_str()), value.size());\n  }\n\n  std::string base64Decode(const std::string& value)\n  {\n    return base64Decode(value.c_str(), value.size());\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/Base64.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include <string>\n#include <cstdint>\n#include <cstddef>\n\nnamespace usbguard\n{\n  size_t base64EncodedSize(size_t decoded_size);\n  size_t base64DecodedSize(size_t encoded_size);\n\n  std::string base64Encode(const std::string& value);\n  std::string base64Encode(const uint8_t* buffer, size_t buflen);\n\n  std::string base64Decode(const std::string& value);\n  size_t base64Decode(const std::string& value, void* buffer, size_t buflen);\n  std::string base64Decode(const char* const data, const size_t size);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/ConfigFilePrivate.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"ConfigFilePrivate.hpp\"\n#include \"usbguard/KeyValueParser.hpp\"\n\n#include \"Common/Utility.hpp\"\n\n#include \"usbguard/Exception.hpp\"\n#include \"usbguard/Logger.hpp\"\n\n#include <stdexcept>\n#include <vector>\n#include <string>\n\n#include <cstddef>\n\n\nnamespace usbguard\n{\n  ConfigFilePrivate::ConfigFilePrivate(ConfigFile& p_instance, const std::vector<std::string>& known_names)\n    : _p_instance(p_instance),\n      _known_names(known_names)\n  {\n    (void)_p_instance;\n    _dirty = false;\n    _readonly = false;\n  }\n\n  ConfigFilePrivate::~ConfigFilePrivate()\n  {\n    close();\n  }\n\n  void ConfigFilePrivate::open(const std::string& path, bool readonly)\n  {\n    _readonly = readonly;\n\n    if (_readonly) {\n      _stream.open(path, std::ios::in);\n    }\n    else {\n      _stream.open(path, std::ios::in|std::ios::out);\n    }\n\n    if (!_stream.is_open()) {\n      throw Exception(\"Configuration\", path, \"unable to open the configuration file\");\n    }\n\n    parse();\n  }\n\n  void ConfigFilePrivate::write()\n  {\n    if (!_stream.is_open()) {\n      throw USBGUARD_BUG(\"ConfigFilePrivate::write: write() before open()\");\n    }\n\n    if (_readonly) {\n      throw USBGUARD_BUG(\"ConfigFilePrivate::write: not applicable in read-only mode\");\n    }\n\n    if (_dirty) {\n      /* Update _lines */\n      for (auto const& map_entry : _settings) {\n        const NVPair& setting = map_entry.second;\n        _lines[setting.line_number - 1] = setting.name + \"=\" + setting.value;\n      }\n    }\n\n    _stream.clear();\n    _stream.seekp(0);\n\n    for (auto const& line : _lines) {\n      _stream << line << std::endl;\n\n      if (!_stream.good()) {\n        throw Exception(\"Configuration\", \"write\", \"failed to write configuration to disk\");\n      }\n    }\n\n    _stream.flush();\n    _dirty = false;\n  }\n\n  void ConfigFilePrivate::close()\n  {\n    if (_stream.is_open()) {\n      if (_dirty && !_readonly) {\n        write();\n      }\n\n      _stream.close();\n    }\n  }\n\n  const std::string& ConfigFilePrivate::getSettingValue(const std::string& name) const\n  {\n    const NVPair& setting = _settings.at(name);\n    return setting.value;\n  }\n\n  void ConfigFilePrivate::setSettingValue(const std::string& name, std::string& value)\n  {\n    NVPair& setting = _settings.at(name);\n    setting.value = value;\n    _dirty = true;\n  }\n\n  bool ConfigFilePrivate::hasSettingValue(const std::string& name) const\n  {\n    return (_settings.count(name) != 0);\n  }\n\n  void ConfigFilePrivate::parse()\n  {\n    std::string config_line;\n    size_t config_line_number = 0;\n    KeyValueParser kvparser(_known_names, \"=\",\n      /*case_sensitive=*/true,\n      /*validate_keys=*/!_known_names.empty());\n\n    while (std::getline(_stream, config_line)) {\n      ++config_line_number;\n      _lines.push_back(config_line);\n\n      if ((config_line.size() < 1) || (config_line[0] == '#')) {\n        continue;\n      }\n\n      auto p = kvparser.parseLine(config_line);\n      NVPair& setting = _settings[p.first];\n      setting.name = p.first;\n      setting.value = p.second;\n      setting.line_number = config_line_number;\n      USBGUARD_LOG(Debug) << \"Parsed: \" << p.first << \"=\" << p.second;\n    }\n  }\n\n  bool ConfigFilePrivate::checkNVPair(const std::string& name, const std::string& value) const\n  {\n    (void)value; /* TODO */\n\n    /*\n     * If the known_names array is empty, then consider\n     * any name-value pair as known.\n     */\n    if (_known_names.empty()) {\n      return true;\n    }\n\n    for (auto const& known_name : _known_names) {\n      if (name == known_name) {\n        return true;\n      }\n    }\n\n    return false;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/ConfigFilePrivate.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/ConfigFile.hpp\"\n#include \"usbguard/KeyValueParser.hpp\"\n\n\n#include <fstream>\n#include <map>\n#include <string>\n#include <vector>\n#include <memory>\n\nnamespace usbguard\n{\n  class ConfigFilePrivate\n  {\n  public:\n    ConfigFilePrivate(ConfigFile& p_instance, const std::vector<std::string>& known_names);\n    ~ConfigFilePrivate();\n\n    void open(const std::string& path, bool readonly);\n    void write();\n    void close();\n\n    void setSettingValue(const std::string& name, std::string& value);\n    bool hasSettingValue(const std::string& name) const;\n    const std::string& getSettingValue(const std::string& name) const;\n\n  protected:\n    void parse();\n    bool checkNVPair(const std::string& name, const std::string& value) const;\n\n  private:\n    struct NVPair {\n      std::string name;\n      std::string value;\n      size_t line_number;\n    };\n\n    ConfigFile& _p_instance;\n    std::string _path;\n    std::fstream _stream;\n    std::vector<std::string> _lines;\n    std::map<std::string, NVPair> _settings;\n    bool _dirty;\n    bool _readonly;\n    std::vector<std::string> _known_names;\n  };\n\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/DeviceBase.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"DeviceBase.hpp\"\n#include \"DeviceManagerBase.hpp\"\n#include \"SysFSDevice.hpp\"\n#include \"Common/FDInputStream.hpp\"\n#include \"Common/Utility.hpp\"\n\n#include \"usbguard/Exception.hpp\"\n#include \"usbguard/Logger.hpp\"\n#include \"usbguard/USB.hpp\"\n\nnamespace usbguard\n{\n\n  DeviceBase::DeviceBase(DeviceManagerBase& device_manager, SysFSDevice& sysfs_device)\n    : Device(device_manager)\n  {\n    /*\n     * Look for the parent USB device and set the parent id if we find one.\n     */\n    const std::string sysfs_parent_path(sysfs_device.getParentPath());\n    const SysFSDevice sysfs_parent_device(sysfs_parent_path);\n\n    if (sysfs_parent_device.getUEvent().getAttribute(\"DEVTYPE\") == \"usb_device\") {\n      setParentID(device_manager.getIDFromSysfsPath(sysfs_parent_path));\n    }\n    else {\n      setParentID(Rule::RootID);\n      setParentHash(hashString(sysfs_parent_path));\n    }\n\n    /*\n     * Set name\n     */\n    setName(sysfs_device.readAttribute(\"product\", /*strip_last_null=*/true, /*optional=*/true));\n    /*\n     * Set USB ID\n     */\n    const std::string id_vendor(sysfs_device.readAttribute(\"idVendor\", /*strip_last_null=*/true));\n    const std::string id_product(sysfs_device.readAttribute(\"idProduct\", /*strip_last_null=*/true));\n    const USBDeviceID device_id(id_vendor, id_product);\n    setDeviceID(device_id);\n    /*\n     * Set serial number\n     */\n    setSerial(sysfs_device.readAttribute(\"serial\", /*strip_last_null=*/true, /*optional=*/true));\n    /*\n     * Set USB port\n     */\n    setPort(sysfs_device.getName());\n    /*\n     * Sync authorization target\n     */\n    const std::string authorized_value(sysfs_device.readAttribute(\"authorized\", /*strip_last_null=*/true));\n\n    if (authorized_value == \"0\") {\n      setTarget(Rule::Target::Block);\n    }\n    else if (authorized_value == \"1\") {\n      setTarget(Rule::Target::Allow);\n    }\n    else {\n      /*\n       * Block the device if we get an unexpected value\n       */\n      setTarget(Rule::Target::Block);\n    }\n\n    /*\n     * Set connect type\n     */\n    int retry = 0;\n    std::string connect_type;\n    /*\n     * Host controllers are directly connected to SoC/PCI bus\n     * hence do not have port/connect_type in sysfs.\n     * Filter out host controllers to avoid unnecessary wait in the loop.\n     */\n    const auto before = std::chrono::steady_clock::now();\n\n    if (!hasPrefix(getPort(), \"usb\")) {\n      while (retry < 30) {\n        connect_type = sysfs_device.readAttribute(\"port/connect_type\", /*strip_last_null=*/true, /*optional=*/true);\n\n        if (connect_type != \"\") {\n          break;\n        }\n\n        USBGUARD_LOG(Trace) << \"connect_type is empty, will attempt again\";\n        usleep(1000);\n        retry++;\n      }\n\n      const auto after = std::chrono::steady_clock::now();\n      const auto duration_nanoseconds = std::chrono::duration_cast<std::chrono::nanoseconds>(after - before).count();\n      USBGUARD_LOG(Info) << \"***Setting connect type=\" << connect_type <<\" after \"<< retry << \" retries (took \" <<\n        duration_nanoseconds << \"ns)\";\n\n      if (connect_type == \"\") {\n        USBGUARD_LOG(Warning) << \"port/connect_type is empty for non host controller device \" << getPort() << \" after waiting for \" <<\n          duration_nanoseconds << \"ns\";\n      }\n    }\n\n    setConnectType(connect_type);\n    /*\n     * Process USB descriptor data.\n     *\n     * FDInputStream (stdio_filebuf) is responsible for closing the file\n     * descriptor returned by sysfs_device.openAttribute().\n     *\n     */\n    FDInputStream descriptor_stream(sysfs_device.openAttribute(\"descriptors\"));\n\n    if (!descriptor_stream.good()) {\n      throw ErrnoException(\"DeviceBase\", sysfs_device.getPath(), errno);\n    }\n\n    initializeHash();\n    USBDescriptorParser parser(*this);\n\n    if (parser.parse(descriptor_stream) < sizeof(USBDeviceDescriptor)) {\n      throw Exception(\"DeviceBase\", sysfs_device.getPath(),\n        \"USB descriptor parser processed less data than the size of a USB device descriptor\");\n    }\n\n    finalizeHash();\n    /*\n     * From now on we take ownership of the SysFSDevice instance.\n     */\n    _sysfs_device = std::move(sysfs_device);\n  }\n\n  SysFSDevice& DeviceBase::sysfsDevice()\n  {\n    return _sysfs_device;\n  }\n\n  const std::string& DeviceBase::getSysPath() const\n  {\n    return _sysfs_device.getPath();\n  }\n\n  bool DeviceBase::isController() const\n  {\n    if (getPort().substr(0, 3) != \"usb\" || getInterfaceTypes().size() != 1) {\n      return false;\n    }\n\n    const USBInterfaceType hub_interface(\"09:00:*\");\n    return hub_interface.appliesTo(getInterfaceTypes()[0]);\n  }\n\n  std::string DeviceBase::getSystemName() const\n  {\n    return getSysPath();\n  }\n\n  void DeviceBase::parseUSBDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor_raw,\n    USBDescriptor* descriptor_out)\n  {\n    USBGUARD_LOG(Trace);\n    USBDescriptorParserHooks::parseUSBDescriptor(parser, descriptor_raw, descriptor_out);\n\n    if (isLinuxRootHubDeviceDescriptor(descriptor_out)) {\n      updateHashLinuxRootHubDeviceDescriptor(descriptor_raw);\n    }\n    else {\n      updateHash(descriptor_raw, static_cast<size_t>(descriptor_raw->bHeader.bLength));\n    }\n  }\n\n  void DeviceBase::loadUSBDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor)\n  {\n    const auto type = static_cast<USBDescriptorType>(descriptor->bHeader.bDescriptorType);\n\n    switch (type) {\n    case USBDescriptorType::Device:\n      loadDeviceDescriptor(parser, descriptor);\n      break;\n\n    case USBDescriptorType::Configuration:\n      loadConfigurationDescriptor(parser, descriptor);\n      break;\n\n    case USBDescriptorType::Interface:\n      loadInterfaceDescriptor(parser, descriptor);\n      break;\n\n    case USBDescriptorType::Endpoint:\n      loadEndpointDescriptor(parser, descriptor);\n      break;\n\n    case USBDescriptorType::AssociationInterface:\n    case USBDescriptorType::Unknown:\n    case USBDescriptorType::String:\n    default:\n      USBGUARD_LOG(Debug) << \"Ignoring descriptor: type=\" << (int)type\n        << \" size=\" << descriptor->bHeader.bLength;\n    }\n  }\n\n  bool DeviceBase::isLinuxRootHubDeviceDescriptor(const USBDescriptor* const descriptor)\n  {\n    USBGUARD_LOG(Trace);\n\n    if (descriptor->bHeader.bDescriptorType != USB_DESCRIPTOR_TYPE_DEVICE) {\n      return false;\n    }\n\n    const USBDeviceDescriptor* const device_descriptor = \\\n      reinterpret_cast<const USBDeviceDescriptor*>(descriptor);\n\n    if (device_descriptor->idVendor == 0x1d6b /* Linux Foundation */) {\n      switch (device_descriptor->idProduct) {\n      case 0x0001: /* 1.1 root hub */\n      case 0x0002: /* 2.0 root hub */\n      case 0x0003: /* 3.0 root hub */\n        return true;\n\n      default:\n        return false;\n      }\n    }\n\n    return false;\n  }\n\n  void DeviceBase::updateHashLinuxRootHubDeviceDescriptor(const USBDescriptor* const descriptor)\n  {\n    USBGUARD_LOG(Trace);\n    USBDeviceDescriptor descriptor_modified = *reinterpret_cast<const USBDeviceDescriptor*>(descriptor);\n    descriptor_modified.bcdDevice = 0;\n    updateHash(&descriptor_modified, sizeof descriptor_modified);\n  }\n\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/DeviceBase.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"SysFSDevice.hpp\"\n\n#include \"usbguard/Device.hpp\"\n#include \"usbguard/USB.hpp\"\n\nnamespace usbguard\n{\n  class DeviceManagerBase;\n\n  class DeviceBase : public Device, public USBDescriptorParserHooks\n  {\n  public:\n    DeviceBase(DeviceManagerBase& device_manager, SysFSDevice& sysfs_device);\n\n    SysFSDevice& sysfsDevice();\n    const std::string& getSysPath() const;\n    bool isController() const override;\n    std::string getSystemName() const override;\n\n  private:\n    void parseUSBDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor_raw,\n      USBDescriptor* descriptor_out) override;\n    void loadUSBDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor) override;\n    bool isLinuxRootHubDeviceDescriptor(const USBDescriptor* descriptor);\n    void updateHashLinuxRootHubDeviceDescriptor(const USBDescriptor* descriptor);\n\n    SysFSDevice _sysfs_device;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/DeviceManagerBase.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"Common/Utility.hpp\"\n#include \"DeviceBase.hpp\"\n#include \"DeviceManagerBase.hpp\"\n#include \"SysFSDevice.hpp\"\n\n#include \"usbguard/Logger.hpp\"\n#include \"usbguard/Exception.hpp\"\n\n#include <stdexcept>\n#include <fstream>\n#include <chrono>\n\n#include <limits.h>\n#include <linux/netlink.h>\n#include <stdlib.h>\n#include <sys/eventfd.h>\n#include <sys/select.h>\n#include <sys/socket.h>\n#include <sys/stat.h>\n#include <sys/types.h>\n#include <sys/un.h>\n#include <unistd.h>\n\nnamespace usbguard\n{\n\n  DeviceManagerBase::DeviceManagerBase(DeviceManagerHooks& hooks)\n    : DeviceManager(hooks),\n      _uevent_fd(-1),\n      _wakeup_fd(-1),\n      _enumeration(false)\n  {\n    setEnumerationOnlyMode(/*state=*/false);\n  }\n\n  DeviceManagerBase::~DeviceManagerBase() = default;\n\n  void DeviceManagerBase::setEnumerationOnlyMode(bool state)\n  {\n    _enumeration_only_mode = state;\n  }\n\n  std::shared_ptr<Device> DeviceManagerBase::applyDevicePolicy(uint32_t id, Rule::Target target)\n  {\n    USBGUARD_LOG(Trace) << \"id=\" << id << \" target=\" << Rule::targetToString(target);\n    std::shared_ptr<DeviceBase> device = std::static_pointer_cast<DeviceBase>(getDevice(id));\n    std::unique_lock<std::mutex> device_lock(device->refDeviceMutex());\n    sysfsApplyTarget(device->sysfsDevice(), target);\n    device->setTarget(target);\n    return device;\n  }\n\n  void DeviceManagerBase::insertDevice(std::shared_ptr<DeviceBase> device)\n  {\n    DeviceManager::insertDevice(std::static_pointer_cast<Device>(device));\n    std::unique_lock<std::mutex> device_lock(device->refDeviceMutex());\n    learnSysfsPath(device->getSysPath(), device->getID());\n  }\n\n  std::shared_ptr<Device> DeviceManagerBase::removeDevice(const std::string& syspath)\n  {\n    /*\n     * FIXME: device map locking\n     */\n    if (!knownSysfsPath(syspath)) {\n      throw Exception(\"removeDevice\", syspath, \"unknown syspath, cannot remove device\");\n    }\n\n    std::shared_ptr<Device> device = DeviceManager::removeDevice(getIDFromSysfsPath(syspath));\n    forgetSysfsPath(syspath);\n    return device;\n  }\n\n  uint32_t DeviceManagerBase::getIDFromSysfsPath(const std::string& sysfs_path) const\n  {\n    uint32_t id = 0;\n\n    if (knownSysfsPath(sysfs_path, &id)) {\n      return id;\n    }\n\n    throw Exception(\"DeviceManagerBase\", sysfs_path, \"unknown sysfs path\");\n  }\n\n  std::string DeviceManagerBase::ueventEnumerateFilterDevice(const std::string& filepath, const struct dirent* direntry)\n  {\n#if defined(_DIRENT_HAVE_D_TYPE)\n\n    if (direntry->d_type != DT_UNKNOWN) {\n      switch (direntry->d_type) {\n      case DT_LNK:\n        return symlinkPath(filepath);\n\n      case DT_DIR:\n        return filepath;\n\n      default:\n        return std::string();\n      }\n    }\n    else {\n      /*\n       * Unknown type. We have to call lstat.\n       */\n#endif\n      struct stat st = {};\n\n      if (lstat(filepath.c_str(), &st) != 0) {\n        /*\n         * Cannot stat, skip this entry.\n         */\n        USBGUARD_LOG(Warning) << \"lstat(\" << filepath << \"): errno=\" << errno;\n        return std::string();\n      }\n\n      if (S_ISLNK(st.st_mode)) {\n        return symlinkPath(filepath, &st);\n      }\n      else if (S_ISDIR(st.st_mode)) {\n        return filepath;\n      }\n      else {\n        return std::string();\n      }\n\n#if defined(_DIRENT_HAVE_D_TYPE)\n    }\n\n#endif\n  }\n\n  int DeviceManagerBase::ueventOpen()\n  {\n    int socket_fd = -1;\n    USBGUARD_SYSCALL_THROW(\"UEvent device manager\",\n      (socket_fd = socket(PF_NETLINK, SOCK_DGRAM, NETLINK_KOBJECT_UEVENT)) < 0);\n\n    try {\n      const int optval = 1;\n      USBGUARD_SYSCALL_THROW(\"UEvent device manager\",\n        setsockopt(socket_fd, SOL_SOCKET, SO_PASSCRED, &optval, sizeof optval) != 0);\n      /*\n       * Set a 1MiB receive buffer on the netlink socket to avoid ENOBUFS error\n       * in recvmsg.\n       */\n      const size_t rcvbuf_max = 1024 * 1024;\n      USBGUARD_SYSCALL_THROW(\"UEvent device manager\",\n        setsockopt(socket_fd, SOL_SOCKET, SO_RCVBUF, &rcvbuf_max, sizeof rcvbuf_max) != 0);\n      struct sockaddr_nl sa = {};\n      sa.nl_family = AF_NETLINK;\n      sa.nl_pid = getpid();\n      sa.nl_groups = -1;\n      USBGUARD_SYSCALL_THROW(\"UEvent device manager\",\n        bind(socket_fd, reinterpret_cast<const sockaddr*>(&sa), sizeof sa) != 0);\n    }\n    catch (...) {\n      (void)close(socket_fd);\n      throw;\n    }\n\n    return socket_fd;\n  }\n\n  void DeviceManagerBase::setDeviceAuthorizedDefault(SysFSDevice* device, DeviceManager::AuthorizedDefaultType auth_default)\n  {\n    if (auth_default == DeviceManager::AuthorizedDefaultType::Keep) {\n      return;\n    }\n\n    std::string auth_default_str = std::to_string(DeviceManager::authorizedDefaultTypeToInteger(auth_default));\n    device->setAttribute(\"authorized_default\", auth_default_str);\n\n    if (device->readAttribute(\"authorized_default\", /*strip_last_null=*/true) != auth_default_str) {\n      if (auth_default == DeviceManager::AuthorizedDefaultType::Internal) {\n        USBGUARD_LOG(Warning) << \"No kernel support for authorized_default = 2, falling back to 0\";\n        setDeviceAuthorizedDefault(device, DeviceManager::AuthorizedDefaultType::None);\n      }\n      else {\n        throw Exception(\"DeviceBase\", device->getPath(), \"Failed to set authorized_default to \\\"\" + auth_default_str + \"\\\"\");\n      }\n    }\n  }\n\n  void DeviceManagerBase::sysfsAuthorizeDevice(SysFSDevice& sysfs_device)\n  {\n    sysfs_device.setAttribute(\"authorized\", \"1\");\n  }\n\n  void DeviceManagerBase::sysfsDeauthorizeDevice(SysFSDevice& sysfs_device)\n  {\n    sysfs_device.setAttribute(\"authorized\", \"0\");\n  }\n\n  void DeviceManagerBase::sysfsRemoveDevice(SysFSDevice& sysfs_device)\n  {\n    sysfs_device.setAttribute(\"remove\", \"1\");\n  }\n\n  void DeviceManagerBase::sysfsApplyTarget(SysFSDevice& sysfs_device, Rule::Target target)\n  {\n    switch (target) {\n    case Rule::Target::Allow:\n      sysfsAuthorizeDevice(sysfs_device);\n      break;\n\n    case Rule::Target::Block:\n      sysfsDeauthorizeDevice(sysfs_device);\n      break;\n\n    case Rule::Target::Reject:\n      sysfsRemoveDevice(sysfs_device);\n      break;\n\n    case Rule::Target::Match:\n    case Rule::Target::Device:\n    case Rule::Target::Unknown:\n    case Rule::Target::Empty:\n    case Rule::Target::Invalid:\n    default:\n      throw std::runtime_error(\"Unknown rule target in applyDevicePolicy\");\n    }\n  }\n\n  void DeviceManagerBase::processDevicePresence(const uint32_t id)\n  {\n    USBGUARD_LOG(Trace) << \"id=\" << id;\n\n    try {\n      std::shared_ptr<DeviceBase> device = \\\n        std::static_pointer_cast<DeviceBase>(DeviceManager::getDevice(id));\n      device->sysfsDevice().reload();\n      /*\n       * TODO: Check attribute state\n       *  - authorized_default (in case of controller)\n       */\n      DeviceEvent(DeviceManager::EventType::Present, device);\n      return;\n    }\n    catch (const Exception& ex) {\n      USBGUARD_LOG(Error) << \"Present device exception: \" << ex.message();\n      DeviceException(ex.message());\n    }\n    catch (const std::exception& ex) {\n      USBGUARD_LOG(Error) << \"Present device exception: \" << ex.what();\n      DeviceException(ex.what());\n    }\n    catch (...) {\n      USBGUARD_LOG(Error) << \"BUG: Unknown device exception.\";\n      DeviceException(\"BUG: Unknown device exception.\");\n    }\n\n    /*\n     * We don't reject the device here (as is done in processDeviceInsertion)\n     * because the device was already connected to the system when USBGuard\n     * started. Therefore, if the device is malicious, it already had a chance\n     * to interact with the system.\n     */\n  }\n\n  void DeviceManagerBase::processDeviceInsertion(SysFSDevice& sysfs_device, const bool signal_present)\n  {\n    USBGUARD_LOG(Trace) << \"sysfs_device=\" << sysfs_device.getPath();\n\n    try {\n      std::shared_ptr<DeviceBase> device = std::make_shared<DeviceBase>(*this, sysfs_device);\n      DeviceManager::AuthorizedDefaultType auth_default = getAuthorizedDefault();\n\n      if (device->isController() && !_enumeration_only_mode) {\n        USBGUARD_LOG(Debug) << \"Setting default blocked state for controller device to \" <<\n          DeviceManager::authorizedDefaultTypeToString(auth_default);\n        setDeviceAuthorizedDefault(&device->sysfsDevice(), auth_default);\n      }\n\n      insertDevice(device);\n\n      /*\n       * Signal insertions as presence if device enumeration hasn't\n       * completed yet.\n       */\n      if (signal_present) {\n        DeviceEvent(DeviceManager::EventType::Present, device);\n      }\n      else {\n        DeviceEvent(DeviceManager::EventType::Insert, device);\n      }\n\n      return;\n    }\n    catch (const Exception& ex) {\n      USBGUARD_LOG(Error) << \"Device insert exception: \" << ex.message();\n      DeviceException(ex.message());\n    }\n    catch (const std::exception& ex) {\n      USBGUARD_LOG(Error) << \"Device insert exception: \" << ex.what();\n      DeviceException(ex.what());\n    }\n    catch (...) {\n      USBGUARD_LOG(Error) << \"BUG: Unknown device insert exception.\";\n      DeviceException(\"BUG: Unknown device insert exception.\");\n    }\n\n    /*\n     * Skip device reject when in enumeration only mode.\n     */\n    if (_enumeration_only_mode) {\n      return;\n    }\n\n    /*\n     * Something went wrong and an exception was generated.\n     * Either the device is malicious or the system lacks some\n     * resources to successfully process the device. In either\n     * case, we take the safe route and fallback to rejecting\n     * the device.\n     */\n    USBGUARD_LOG(Warning) << \"Rejecting device at syspath=\" << sysfs_device.getPath();\n    sysfsApplyTarget(sysfs_device, Rule::Target::Reject);\n  }\n\n  void DeviceManagerBase::processDeviceRemoval(const std::string& sysfs_devpath)\n  {\n    USBGUARD_LOG(Trace) << \"sysfs_devpath=\" << sysfs_devpath;\n\n    try {\n      std::shared_ptr<Device> device = removeDevice(sysfs_devpath);\n      DeviceEvent(DeviceManager::EventType::Remove, device);\n    }\n    catch (...) {\n      /* Ignore for now */\n      USBGUARD_LOG(Debug) << \"Removal of an unknown device ignored.\";\n      return;\n    }\n  }\n\n  bool DeviceManagerBase::isPresentSysfsPath(const std::string& sysfs_path) const\n  {\n    uint32_t id = 0;\n\n    if (knownSysfsPath(sysfs_path, &id)) {\n      return 0 == id;\n    }\n\n    return false;\n  }\n\n  bool DeviceManagerBase::knownSysfsPath(const std::string& sysfs_path, uint32_t* id_ptr) const\n  {\n    USBGUARD_LOG(Trace) << \"Known? sysfs_path=\" << sysfs_path << \" size=\" << sysfs_path.size() << \" id_ptr=\" << (void*)id_ptr;\n    auto it = _sysfs_path_to_id_map.find(sysfs_path);\n    uint32_t known_id = 0;\n    bool known = false;\n\n    if (it != _sysfs_path_to_id_map.end()) {\n      known = true;\n      known_id = it->second;\n    }\n\n    if (id_ptr != nullptr) {\n      *id_ptr = known_id;\n    }\n\n    USBGUARD_LOG(Trace) << \"Known? sysfs_path=\" << sysfs_path << \" id_ptr=\" << (void*)id_ptr << \" known=\" << known << \" known_id=\"\n      << known_id;\n    return known;\n  }\n\n  void DeviceManagerBase::learnSysfsPath(const std::string& sysfs_path, uint32_t id)\n  {\n    USBGUARD_LOG(Trace) << \"Learn sysfs_path=\" << sysfs_path << \" size=\" << sysfs_path.size() << \" id=\" << id;\n    _sysfs_path_to_id_map[sysfs_path] = id;\n  }\n\n  void DeviceManagerBase::forgetSysfsPath(const std::string& sysfs_path)\n  {\n    USBGUARD_LOG(Trace) << \"Forget sysfs_path=\" << sysfs_path;\n    _sysfs_path_to_id_map.erase(sysfs_path);\n  }\n\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/DeviceManagerBase.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"SysFSDevice.hpp\"\n\n#include \"usbguard/DeviceManager.hpp\"\n#include \"usbguard/Device.hpp\"\n#include \"usbguard/Rule.hpp\"\n\n#include <dirent.h>\n\nnamespace usbguard\n{\n  class DeviceBase;\n\n  class DeviceManagerBase : public DeviceManager\n  {\n    using DeviceManager::insertDevice;\n\n  public:\n    DeviceManagerBase(DeviceManagerHooks& hooks);\n    virtual ~DeviceManagerBase();\n\n    void setEnumerationOnlyMode(bool state) override;\n\n    std::shared_ptr<Device> applyDevicePolicy(uint32_t id, Rule::Target target) override;\n    void insertDevice(std::shared_ptr<DeviceBase> device);\n    std::shared_ptr<Device> removeDevice(const std::string& syspath);\n\n    uint32_t getIDFromSysfsPath(const std::string& syspath) const;\n\n  protected:\n    static std::string ueventEnumerateFilterDevice(const std::string& filepath, const struct dirent* direntry);\n\n    int ueventOpen();\n    void setDeviceAuthorizedDefault(SysFSDevice* device, DeviceManager::AuthorizedDefaultType auth_default);\n\n    virtual void sysfsAuthorizeDevice(SysFSDevice& sysfs_device);\n    virtual void sysfsDeauthorizeDevice(SysFSDevice& sysfs_device);\n    virtual void sysfsRemoveDevice(SysFSDevice& sysfs_device);\n    void sysfsApplyTarget(SysFSDevice& sysfs_device, Rule::Target target);\n\n    void processDevicePresence(uint32_t id);\n    void processDeviceInsertion(SysFSDevice& sysfs_device, bool signal_present);\n    void processDeviceRemoval(const std::string& sysfs_devpath);\n\n    bool isPresentSysfsPath(const std::string& sysfs_path) const;\n    bool knownSysfsPath(const std::string& sysfs_path, uint32_t* id = nullptr) const;\n    void learnSysfsPath(const std::string& sysfs_path, uint32_t id = 0);\n    void forgetSysfsPath(const std::string& sysfs_path);\n\n    int _uevent_fd;\n    int _wakeup_fd;\n    std::map<std::string, uint32_t> _sysfs_path_to_id_map;\n    bool _enumeration_only_mode;\n    std::atomic<bool> _enumeration;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/DeviceManagerPrivate.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"DeviceManagerPrivate.hpp\"\n\n#include \"usbguard/DeviceManagerHooks.hpp\"\n#include \"usbguard/Exception.hpp\"\n#include \"usbguard/Logger.hpp\"\n\nnamespace usbguard\n{\n  DeviceManagerPrivate::DeviceManagerPrivate(DeviceManager& p_instance, DeviceManagerHooks& hooks)\n    : _p_instance(p_instance),\n      _hooks(hooks)\n  {\n    setRestoreControllerDeviceState(false);\n  }\n\n  DeviceManagerPrivate::DeviceManagerPrivate(DeviceManager& p_instance, const DeviceManagerPrivate& rhs)\n    : _p_instance(p_instance),\n      _hooks(rhs._hooks)\n  {\n    *this = rhs;\n  }\n\n  const DeviceManagerPrivate& DeviceManagerPrivate::operator=(const DeviceManagerPrivate& rhs)\n  {\n    std::unique_lock<std::mutex> local_device_map_lock(_device_map_mutex);\n    std::unique_lock<std::mutex> remote_device_map_lock(rhs._device_map_mutex);\n    _device_map = rhs._device_map;\n    return *this;\n  }\n\n  void DeviceManagerPrivate::setAuthorizedDefault(DeviceManager::AuthorizedDefaultType authorized)\n  {\n    _authorized_default = authorized;\n  }\n\n  DeviceManager::AuthorizedDefaultType DeviceManagerPrivate::getAuthorizedDefault() const\n  {\n    return _authorized_default;\n  }\n\n  void DeviceManagerPrivate::setRestoreControllerDeviceState(bool enabled)\n  {\n    _restore_controller_device_state = enabled;\n  }\n\n  bool DeviceManagerPrivate::getRestoreControllerDeviceState() const\n  {\n    return _restore_controller_device_state;\n  }\n\n  void DeviceManagerPrivate::insertDevice(std::shared_ptr<Device> device)\n  {\n    USBGUARD_LOG(Trace) << \"device_ptr=\" << device.get();\n    std::unique_lock<std::mutex> device_map_lock(_device_map_mutex);\n    const uint32_t id = _hooks.dmHookAssignID();\n    USBGUARD_LOG(Debug) << \"id=\" << id;\n    device->setID(id);\n    _device_map[id] = device;\n  }\n\n  std::shared_ptr<Device> DeviceManagerPrivate::removeDevice(uint32_t id)\n  {\n    USBGUARD_LOG(Trace) << \"entry: id=\" << id;\n    std::unique_lock<std::mutex> device_map_lock(_device_map_mutex);\n    auto it = _device_map.find(id);\n\n    if (it == _device_map.end()) {\n      throw Exception(\"Device remove\", \"device id\", \"id doesn't exist\");\n    }\n\n    std::shared_ptr<Device> device = it->second;\n    _device_map.erase(it);\n    USBGUARD_LOG(Trace) << \"return: device_ptr=\" << device.get();\n    return device;\n  }\n\n  std::vector<std::shared_ptr<Device>> DeviceManagerPrivate::getDeviceList()\n  {\n    std::unique_lock<std::mutex> device_map_lock(_device_map_mutex);\n    std::vector<std::shared_ptr<Device>> devices;\n\n    for (auto& map_entry : _device_map) {\n      devices.push_back(map_entry.second);\n    }\n\n    return devices;\n  }\n\n  std::shared_ptr<Device> DeviceManagerPrivate::getDevice(uint32_t id)\n  {\n    USBGUARD_LOG(Trace) << \"id=\" << id;\n    std::unique_lock<std::mutex> device_map_lock(_device_map_mutex);\n\n    try {\n      return _device_map.at(id);\n    }\n    catch (...) {\n      USBGUARD_LOG(Debug) << \"Lookup error: \" << id;\n      throw Exception(\"Device lookup\", \"device id\", \"id doesn't exist\");\n    }\n  }\n\n  void DeviceManagerPrivate::DeviceEvent(DeviceManager::EventType event, std::shared_ptr<Device> device)\n  {\n    USBGUARD_LOG(Trace) << \"event=\" << DeviceManager::eventTypeToString(event)\n      << \"device_ptr=\" << device.get();\n    _hooks.dmHookDeviceEvent(event, device);\n  }\n\n  void DeviceManagerPrivate::DeviceException(const std::string& message)\n  {\n    USBGUARD_LOG(Trace) << \"message=\" << message;\n    _hooks.dmHookDeviceException(message);\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/DeviceManagerPrivate.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/Device.hpp\"\n#include \"usbguard/DeviceManager.hpp\"\n#include \"usbguard/RuleSet.hpp\"\n#include \"usbguard/Typedefs.hpp\"\n\n#include <map>\n#include <memory>\n#include <mutex>\n\nnamespace usbguard\n{\n  class DeviceManagerHooks;\n  class DeviceManagerPrivate\n  {\n  public:\n    DeviceManagerPrivate(DeviceManager& p_instance, DeviceManagerHooks& hooks);\n    DeviceManagerPrivate(DeviceManager& p_instance, const DeviceManagerPrivate& rhs);\n    const DeviceManagerPrivate& operator=(const DeviceManagerPrivate& rhs);\n\n    void setAuthorizedDefault(DeviceManager::AuthorizedDefaultType authorized);\n    DeviceManager::AuthorizedDefaultType getAuthorizedDefault() const;\n\n    void setRestoreControllerDeviceState(bool enabled);\n    bool getRestoreControllerDeviceState() const;\n\n    void insertDevice(std::shared_ptr<Device> device);\n    std::shared_ptr<Device> removeDevice(uint32_t id);\n\n    /* Returns a copy of the list of active USB devices */\n    std::vector<std::shared_ptr<Device>> getDeviceList();\n    std::shared_ptr<Device> getDevice(uint32_t id);\n    std::mutex& refDeviceMapMutex();\n\n    /* Call Daemon instance hooks */\n    void DeviceEvent(DeviceManager::EventType event, std::shared_ptr<Device> device);\n    void DeviceException(const std::string& message);\n\n  private:\n    DeviceManager& _p_instance;\n    DeviceManagerHooks& _hooks;\n    mutable std::mutex _device_map_mutex;\n    std::map<uint32_t, std::shared_ptr<Device>> _device_map;\n    DeviceManager::AuthorizedDefaultType _authorized_default{DeviceManager::AuthorizedDefaultType::None};\n    bool _restore_controller_device_state{false};\n  };\n\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/DevicePrivate.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"DevicePrivate.hpp\"\n#include \"Hash.hpp\"\n#include \"Common/Utility.hpp\"\n\n#include \"usbguard/DeviceManager.hpp\"\n#include \"usbguard/Logger.hpp\"\n#include \"usbguard/Exception.hpp\"\n\n#include <mutex>\n\nnamespace usbguard\n{\n  DevicePrivate::DevicePrivate(Device& p_instance, DeviceManager& manager)\n    : //_p_instance(p_instance),\n      _manager(manager)\n  {\n    (void)p_instance;\n    _id = Rule::DefaultID;\n    _parent_id = Rule::RootID;\n    _target = Rule::Target::Unknown;\n  }\n\n  DevicePrivate::DevicePrivate(Device& p_instance, const DevicePrivate& rhs)\n    : //_p_instance(p_instance),\n      _manager(rhs._manager)\n  {\n    (void)p_instance;\n    *this = rhs;\n  }\n\n  const DevicePrivate& DevicePrivate::operator=(const DevicePrivate& rhs)\n  {\n    _id = rhs._id;\n    _parent_id = rhs._parent_id;\n    _target = rhs._target;\n    _name = rhs._name;\n    _device_id = rhs._device_id;\n    _serial_number = rhs._serial_number;\n    _port = rhs._port;\n    _interface_types = rhs._interface_types;\n    _hash_base64 = rhs._hash_base64;\n    return *this;\n  }\n\n  DeviceManager& DevicePrivate::manager() const\n  {\n    return _manager;\n  }\n\n  std::mutex& DevicePrivate::refDeviceMutex()\n  {\n    return _mutex;\n  }\n\n  std::shared_ptr<Rule> DevicePrivate::getDeviceRule(const bool with_port, const bool with_parent_hash, const bool match_rule)\n  {\n    USBGUARD_LOG(Trace) << \"entry: \"\n      << \" with_port=\" << with_port\n      << \" with_parent_hash=\" << with_parent_hash\n      << \" match_rule=\" << match_rule;\n    std::shared_ptr<Rule> device_rule = std::make_shared<Rule>();\n    std::unique_lock<std::mutex> device_lock(refDeviceMutex());\n    device_rule->setRuleID(_id);\n\n    if (match_rule) {\n      device_rule->setTarget(Rule::Target::Match);\n    }\n    else {\n      device_rule->setTarget(_target);\n    }\n\n    device_rule->setDeviceID(_device_id);\n    device_rule->setSerial(_serial_number);\n    device_rule->setWithConnectType(_connect_type);\n\n    if (with_port) {\n      device_rule->setViaPort(_port);\n    }\n\n    device_rule->attributeWithInterface().set(getInterfaceTypes(), Rule::SetOperator::Equals);\n    device_rule->setName(_name);\n    device_rule->setHash(getHash());\n\n    if (with_parent_hash) {\n      if (!_parent_hash.empty()) {\n        device_rule->setParentHash(_parent_hash);\n      }\n      else {\n        if (_parent_id != Rule::RootID) {\n          auto parent_device = manager().getDevice(_parent_id);\n          device_rule->setParentHash(parent_device->getHash());\n        }\n        else {\n          throw std::runtime_error(\"Cannot generate device rule: parent hash value not available\");\n        }\n      }\n    }\n\n    USBGUARD_LOG(Trace) << \"return:\"\n      << \" device_rule=\" << device_rule->toString();\n    return device_rule;\n  }\n\n  std::string DevicePrivate::hashString(const std::string& value) const\n  {\n    Hash hash;\n    hash.update(value);\n    return hash.getBase64();\n  }\n\n  void DevicePrivate::initializeHash()\n  {\n    Hash hash;\n    const std::string vendor_id = _device_id.getVendorID();\n    const std::string product_id = _device_id.getProductID();\n\n    if (vendor_id.empty() || product_id.empty()) {\n      throw Exception(\"Device hash initialization\", numberToString(getID()), \"vendor and/or product id values not available\");\n    }\n\n    /*\n     * Hash name, device id and serial number fields.\n     */\n    for (const std::string& field : {\n        _name, vendor_id, product_id, _serial_number\n      }) {\n      hash.update(field);\n    }\n    _hash = std::move(hash);\n  }\n\n  void DevicePrivate::updateHash(std::istream& descriptor_stream, const size_t expected_size)\n  {\n    Hash hash(_hash);\n\n    if (hash.update(descriptor_stream) != expected_size) {\n      throw Exception(\"Device hash update\", numberToString(getID()), \"descriptor stream returned less data than expected\");\n    }\n\n    _hash = std::move(hash);\n  }\n\n  void DevicePrivate::updateHash(const void* const ptr, size_t size)\n  {\n    Hash hash(_hash);\n\n    if (hash.update(ptr, size) != size) {\n      throw Exception(\"Device hash update\", numberToString(getID()), \"hashed less data than expected\");\n    }\n\n    _hash = std::move(hash);\n  }\n\n  std::string DevicePrivate::finalizeHash()\n  {\n    _hash_base64 = _hash.getBase64();\n    return _hash_base64;\n  }\n\n  const std::string& DevicePrivate::getHash() const\n  {\n    if (_hash_base64.empty()) {\n      throw USBGUARD_BUG(\"Accessing unfinalized device hash value\");\n    }\n\n    return _hash_base64;\n  }\n\n  void DevicePrivate::setParentHash(const std::string& hash)\n  {\n    _parent_hash = hash;\n  }\n\n  void DevicePrivate::setID(uint32_t id)\n  {\n    _id = id;\n  }\n\n  uint32_t DevicePrivate::getID() const\n  {\n    return _id;\n  }\n\n  void DevicePrivate::setParentID(uint32_t id)\n  {\n    _parent_id = id;\n  }\n\n  uint32_t DevicePrivate::getParentID() const\n  {\n    return _parent_id;\n  }\n\n  void DevicePrivate::setTarget(Rule::Target target)\n  {\n    _target = target;\n  }\n\n  Rule::Target DevicePrivate::getTarget() const\n  {\n    return _target;\n  }\n\n  void DevicePrivate::setName(const std::string& name)\n  {\n    if (name.size() > USB_GENERIC_STRING_MAX_LENGTH) {\n      throw Exception(\"DevicePrivate::setName\", numberToString(getID()), \"name string size out-of-range\");\n    }\n\n    _name = name;\n  }\n\n  const std::string& DevicePrivate::getName() const\n  {\n    return _name;\n  }\n\n  void DevicePrivate::setDeviceID(const USBDeviceID& device_id)\n  {\n    _device_id = device_id;\n  }\n\n  const USBDeviceID& DevicePrivate::getDeviceID() const\n  {\n    return _device_id;\n  }\n\n  void DevicePrivate::setPort(const std::string& port)\n  {\n    if (port.size() > USB_PORT_STRING_MAX_LENGTH) {\n      throw std::runtime_error(\"device port string size out of range\");\n    }\n\n    _port = port;\n  }\n\n  const std::string& DevicePrivate::getPort() const\n  {\n    return _port;\n  }\n\n  void DevicePrivate::setSerial(const std::string& serial_number)\n  {\n    if (serial_number.size() > USB_GENERIC_STRING_MAX_LENGTH) {\n      throw std::runtime_error(\"device serial number string size out of range\");\n    }\n\n    _serial_number = serial_number;\n  }\n\n  const std::string& DevicePrivate::getSerial() const\n  {\n    return _serial_number;\n  }\n\n  void DevicePrivate::setConnectType(const std::string& connect_type)\n  {\n    if (connect_type.size() > USB_GENERIC_STRING_MAX_LENGTH) {\n      throw std::runtime_error(\"device connect-type string size out of range\");\n    }\n\n    _connect_type = connect_type;\n  }\n\n  const std::string& DevicePrivate::getConnectType() const\n  {\n    return _connect_type;\n  }\n\n  std::vector<USBInterfaceType>& DevicePrivate::refMutableInterfaceTypes()\n  {\n    return _interface_types;\n  }\n\n  const std::vector<USBInterfaceType>& DevicePrivate::getInterfaceTypes() const\n  {\n    return _interface_types;\n  }\n\n  void DevicePrivate::loadDeviceDescriptor(USBDescriptorParser* parser, const USBDescriptor* const descriptor)\n  {\n    (void)descriptor;\n\n    if (parser->haveDescriptor(USB_DESCRIPTOR_TYPE_DEVICE)) {\n      throw std::runtime_error(\"Invalid descriptor data: multiple device descriptors for one device\");\n    }\n\n    _interface_types.clear();\n    return;\n  }\n\n  void DevicePrivate::loadConfigurationDescriptor(USBDescriptorParser* parser, const USBDescriptor* const descriptor)\n  {\n    (void)descriptor;\n\n    if (!parser->haveDescriptor(USB_DESCRIPTOR_TYPE_DEVICE)) {\n      throw std::runtime_error(\"Invalid descriptor data: missing parent device descriptor while loading configuration\");\n    }\n\n    /*\n     * Clean the descriptor state. There shouldn't be any Interface or Endpoint\n     * descriptors while loading.\n     */\n    parser->delDescriptor(USB_DESCRIPTOR_TYPE_INTERFACE);\n    parser->delDescriptor(USB_DESCRIPTOR_TYPE_ENDPOINT);\n    return;\n  }\n\n  void DevicePrivate::loadInterfaceDescriptor(USBDescriptorParser* parser, const USBDescriptor* const descriptor)\n  {\n    if (!parser->haveDescriptor(USB_DESCRIPTOR_TYPE_CONFIGURATION)) {\n      throw std::runtime_error(\"Invalid descriptor data: missing parent configuration descriptor while loading interface\");\n    }\n\n    const USBInterfaceType interface_type(*reinterpret_cast<const USBInterfaceDescriptor*>(descriptor));\n    _interface_types.push_back(interface_type);\n    return;\n  }\n\n  void DevicePrivate::loadEndpointDescriptor(USBDescriptorParser* parser, const USBDescriptor* const descriptor)\n  {\n    (void)descriptor;\n\n    /*\n     * WARNING: This method can receive USB descriptors of two sizes! (endpoint, audio endpoint)\n     */\n    if (!parser->haveDescriptor(USB_DESCRIPTOR_TYPE_INTERFACE)) {\n      throw std::runtime_error(\"Invalid descriptor data: missing parent interface descriptor while loading endpoint\");\n    }\n\n    return;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/DevicePrivate.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"Hash.hpp\"\n\n#include \"usbguard/Device.hpp\"\n#include \"usbguard/Rule.hpp\"\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/USB.hpp\"\n\n#include <istream>\n#include <mutex>\n#include <string>\n#include <vector>\n\n#include <cstdint>\n\nnamespace usbguard\n{\n  class DevicePrivate\n  {\n  public:\n    DevicePrivate(Device& p_instance, DeviceManager& manager);\n    DevicePrivate(Device& p_instance, const DevicePrivate& rhs);\n    const DevicePrivate& operator=(const DevicePrivate& rhs);\n\n    DeviceManager& manager() const;\n\n    std::mutex& refDeviceMutex();\n    std::shared_ptr<Rule> getDeviceRule(bool with_port = true, bool with_parent_hash = true, bool match_rule = false);\n    std::string hashString(const std::string& value) const;\n\n    void initializeHash();\n    void updateHash(const void* const ptr, size_t size);\n    void updateHash(std::istream& descriptor_stream, size_t expected_size);\n    std::string finalizeHash();\n    const std::string& getHash() const;\n\n    void setParentHash(const std::string& hash);\n\n    void setID(uint32_t id);\n    uint32_t getID() const;\n\n    void setParentID(uint32_t id);\n    uint32_t getParentID() const;\n\n    void setTarget(Rule::Target target);\n    Rule::Target getTarget() const;\n\n    void setName(const std::string& name);\n    const std::string& getName() const;\n\n    void setDeviceID(const USBDeviceID& device_id);\n    const USBDeviceID& getDeviceID() const;\n\n    void setPort(const std::string& port);\n    const std::string& getPort() const;\n\n    void setSerial(const std::string& serial_number);\n    const std::string& getSerial() const;\n\n    void setConnectType(const std::string& connect_type);\n    const std::string& getConnectType() const;\n\n    std::vector<USBInterfaceType>& refMutableInterfaceTypes();\n    const std::vector<USBInterfaceType>& getInterfaceTypes() const;\n\n    void loadDeviceDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor);\n    void loadConfigurationDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor);\n    void loadInterfaceDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor);\n    void loadEndpointDescriptor(USBDescriptorParser*, const USBDescriptor* descriptor);\n\n  private:\n    //Device& _p_instance;\n    DeviceManager& _manager;\n    std::mutex _mutex;\n    uint32_t _id;\n    uint32_t _parent_id;\n    std::string _parent_hash;\n    Rule::Target _target;\n    std::string _name;\n    USBDeviceID _device_id;\n    std::string _serial_number;\n    std::string _port;\n    std::string _connect_type;\n    std::vector<USBInterfaceType> _interface_types;\n    std::string _hash_base64;\n    Hash _hash;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/FixedStateCondition.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"FixedStateCondition.hpp\"\n\n#include \"usbguard/RuleParser.hpp\"\n\nnamespace usbguard\n{\n  FixedStateCondition::FixedStateCondition(bool state, bool negated)\n    : RuleConditionBase(state ? \"true\" : \"false\", negated),\n      _state(state)\n  {\n  }\n\n  FixedStateCondition::FixedStateCondition(const FixedStateCondition& rhs)\n    : RuleConditionBase(rhs),\n      _state(rhs._state)\n  {\n  }\n\n  bool FixedStateCondition::update(const Rule& rule)\n  {\n    (void)rule;\n    return _state;\n  }\n\n  RuleConditionBase* FixedStateCondition::clone() const\n  {\n    return new FixedStateCondition(*this);\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/FixedStateCondition.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/Rule.hpp\"\n\n#include \"usbguard/RuleCondition.hpp\"\n\nnamespace usbguard\n{\n  class FixedStateCondition : public RuleConditionBase\n  {\n  public:\n    FixedStateCondition(bool state, bool negated = false);\n    FixedStateCondition(const FixedStateCondition& rhs);\n    bool update(const Rule& rule);\n    RuleConditionBase* clone() const;\n  private:\n    const bool _state;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/Hash.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"Hash.hpp\"\n#include \"Base64.hpp\"\n#include \"Common/Utility.hpp\"\n\n#include \"usbguard/Exception.hpp\"\n\nnamespace usbguard\n{\n  Hash::Hash()\n  {\n    /*\n     * Initialize the hash state.\n     *\n     * TODO: Use a hash salt from the configuration.\n     */\n#if defined(USBGUARD_USE_LIBSODIUM)\n    crypto_hash_sha256_init(&_state);\n#endif\n#if defined(USBGUARD_USE_OPENSSL)\n#if OPENSSL_VERSION_NUMBER >= 0x10100000L\n\n    if ((_state = EVP_MD_CTX_new()) == nullptr) {\n      throw std::runtime_error(\"Dynamic memory allocation of message digest context failed.\");\n    }\n\n#else\n\n    if ((_state = EVP_MD_CTX_create()) == nullptr) {\n      throw std::runtime_error(\"Dynamic memory allocation of message digest context failed.\");\n    }\n\n#endif\n\n    if (!EVP_DigestInit_ex(_state, EVP_sha256(), nullptr)) {\n      throw std::runtime_error(\"Context initialization of message digest context failed.\");\n    }\n\n#endif\n#if defined(USBGUARD_USE_LIBGCRYPT)\n    gcry_md_open(&_state, GCRY_MD_SHA256, 0);\n#endif\n  }\n\n  Hash::Hash(const Hash& rhs)\n  {\n    release();\n#if defined(USBGUARD_USE_LIBSODIUM)\n    _state = rhs._state;\n#endif\n#if defined(USBGUARD_USE_OPENSSL)\n    _state = rhs._state;\n#endif\n#if defined(USBGUARD_USE_LIBGCRYPT)\n    gcry_md_copy(&_state, rhs._state);\n#endif\n  }\n\n  Hash::Hash(Hash&& rhs)\n  {\n    release();\n#if defined(USBGUARD_USE_LIBSODIUM)\n    _state = rhs._state;\n    memset(&rhs._state, 0, sizeof _state);\n#endif\n#if defined(USBGUARD_USE_OPENSSL)\n    _state = rhs._state;\n    memset(&rhs._state, 0, sizeof _state);\n#endif\n#if defined(USBGUARD_USE_LIBGCRYPT)\n    _state = rhs._state;\n    rhs._state = nullptr;\n#endif\n  }\n\n  Hash& Hash::operator=(Hash&& rhs)\n  {\n    release();\n#if defined(USBGUARD_USE_LIBSODIUM)\n    _state = rhs._state;\n    memset(&rhs._state, 0, sizeof _state);\n#endif\n#if defined(USBGUARD_USE_OPENSSL)\n    _state = rhs._state;\n    memset(&rhs._state, 0, sizeof _state);\n#endif\n#if defined(USBGUARD_USE_LIBGCRYPT)\n    _state = rhs._state;\n    rhs._state = nullptr;\n#endif\n    return *this;\n  }\n\n  Hash::~Hash()\n  {\n#if defined(USBGUARD_USE_OPENSSL)\n#if OPENSSL_VERSION_NUMBER >= 0x10100000L\n    EVP_MD_CTX_free(_state);\n#else\n    EVP_MD_CTX_destroy(_state);\n#endif\n#endif\n    release();\n  }\n\n  void Hash::release()\n  {\n#if defined(USBGUARD_USE_LIBSODIUM)\n    memset(&_state, 0, sizeof _state);\n#endif\n#if defined(USBGUARD_USE_OPENSSL)\n    memset(&_state, 0, sizeof _state);\n#endif\n#if defined(USBGUARD_USE_LIBGCRYPT)\n\n    if (_state != nullptr) {\n      gcry_md_close(_state);\n    }\n\n#endif\n  }\n\n  size_t Hash::update(const std::string& value)\n  {\n    return update(value.c_str(), value.size());\n  }\n\n  size_t Hash::update(const void* const ptr, const size_t size)\n  {\n#if defined(USBGUARD_USE_LIBSODIUM)\n    crypto_hash_sha256_update(&_state, reinterpret_cast<const uint8_t*>(ptr), size);\n#endif\n#if defined(USBGUARD_USE_OPENSSL)\n\n    if (!EVP_DigestUpdate(_state, reinterpret_cast<const uint8_t*>(ptr), size)) {\n      throw std::runtime_error(\"Hashing data into message digest context failed.\");\n    }\n\n#endif\n#if defined(USBGUARD_USE_LIBGCRYPT)\n    gcry_md_write(_state, ptr, size);\n#endif\n    return size;\n  }\n\n  size_t Hash::update(std::istream& stream)\n  {\n    size_t size_hashed = 0;\n\n    while (stream.good()) {\n      uint8_t buffer[4096];\n      size_t buflen = 0;\n      stream.read(reinterpret_cast<char*>(buffer), sizeof buffer);\n      buflen = stream.gcount();\n\n      if (buflen > 0) {\n#if defined(USBGUARD_USE_LIBSODIUM)\n        crypto_hash_sha256_update(&_state, buffer, buflen);\n#endif\n#if defined(USBGUARD_USE_OPENSSL)\n\n        if (!EVP_DigestUpdate(_state, buffer, buflen)) {\n          throw std::runtime_error(\"Hashing data into message digest context failed.\");\n        }\n\n#endif\n#if defined(USBGUARD_USE_LIBGCRYPT)\n        gcry_md_write(_state, buffer, buflen);\n#endif\n        size_hashed += buflen;\n      }\n    }\n\n    return size_hashed;\n  }\n\n  std::string Hash::getBase64()\n  {\n#if defined(USBGUARD_USE_LIBSODIUM)\n    uint8_t hash_binary[crypto_hash_sha256_BYTES];\n    crypto_hash_sha256_final(&_state, hash_binary);\n    const uint8_t* const hash_buffer = hash_binary;\n    const size_t hash_buflen = sizeof hash_binary;\n#endif\n#if defined(USBGUARD_USE_OPENSSL)\n    uint8_t hash_binary[EVP_MAX_MD_SIZE];\n    unsigned int hash_len;\n\n    if (!EVP_DigestFinal_ex(_state, hash_binary, &hash_len)) {\n      throw std::runtime_error(\"Digest value retrieval failed.\");\n    }\n\n    const uint8_t* const hash_buffer = hash_binary;\n    const size_t hash_buflen = hash_len;\n#endif\n#if defined(USBGUARD_USE_LIBGCRYPT)\n    gcry_md_final(_state);\n    const size_t hash_buflen = gcry_md_get_algo_dlen(GCRY_MD_SHA256);\n    const uint8_t* const hash_buffer = gcry_md_read(_state, GCRY_MD_SHA256);\n#endif\n    return base64Encode(hash_buffer, hash_buflen);\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/Hash.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/Typedefs.hpp\"\n\n#include <istream>\n#include <string>\n\n#include <cstddef>\n\n#if defined(USBGUARD_USE_LIBSODIUM)\n  #include <sodium.h>\n#elif defined(USBGUARD_USE_OPENSSL)\n  #include <openssl/evp.h>\n#elif defined(USBGUARD_USE_LIBGCRYPT)\n  #include <gcrypt.h>\n#else\n  #error \"Don't know which crypto library to use.\"\n#endif\n\nnamespace usbguard\n{\n  class Hash\n  {\n  public:\n    Hash();\n    Hash(const Hash& rhs);\n    Hash(Hash&& rhs);\n    Hash& operator=(Hash&& rhs);\n    ~Hash();\n    size_t update(const std::string& value);\n    size_t update(const void* ptr, size_t size);\n    size_t update(std::istream& stream);\n    std::string getBase64();\n  private:\n    void release();\n\n#if defined(USBGUARD_USE_LIBSODIUM)\n    crypto_hash_sha256_state _state;\n#endif\n#if defined(USBGUARD_USE_OPENSSL)\n    EVP_MD_CTX* _state;\n#endif\n#if defined(USBGUARD_USE_LIBGCRYPT)\n    gcry_md_hd_t _state {nullptr};\n#endif\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/IPC/.gitignore",
    "content": "/*.pb.cc\n/*.pb.h\n"
  },
  {
    "path": "src/Library/IPC/Devices.proto",
    "content": "package usbguard.IPC;\n\nimport \"Message.proto\";\nimport \"Rule.proto\";\n\n\nmessage listDevicesRequest {\n  required string query = 1;\n}\n\nmessage listDevicesResponse {\n  repeated Rule devices = 1;\n}\n\nmessage listDevices {\n  required MessageHeader header = 1;\n  required listDevicesRequest request = 2;\n  optional listDevicesResponse response = 3;\n}\n\n\nmessage applyDevicePolicyRequest {\n  required uint32 id = 1;\n  required uint32 target = 2;\n  required bool permanent = 3;\n}\n\nmessage applyDevicePolicyResponse {\n  required uint32 rule_id = 2;\n}\n\nmessage applyDevicePolicy {\n  required MessageHeader header = 1;\n  required applyDevicePolicyRequest request = 2;\n  optional applyDevicePolicyResponse response = 3;\n}\n\n\nmessage DevicePresenceChangedSignal {\n  required uint32 id = 1;\n  required uint32 event = 2;\n  required uint32 target = 3;\n  required string device_rule = 4;\n}\n\nmessage DevicePolicyChangedSignal {\n  required uint32 id = 1;\n  required uint32 target_old = 2;\n  required uint32 target_new = 3;\n  required string device_rule = 4;\n  required uint32 rule_id = 5;\n}\n\nmessage DevicePolicyAppliedSignal {\n  required uint32 id = 1;\n  required uint32 target_new = 2;\n  required string device_rule = 3;\n  required uint32 rule_id = 4;\n}\n\nmessage PropertyParameterChangedSignal {\n  required string name = 1;\n  required string value_old = 2;\n  required string value_new = 3;\n}\n"
  },
  {
    "path": "src/Library/IPC/Exception.proto",
    "content": "package usbguard.IPC;\n\nmessage Exception {\n  required string context = 1;\n  required string object = 2;\n  required string reason = 3;\n  optional uint32 request_id = 4;\n}\n"
  },
  {
    "path": "src/Library/IPC/Message.proto",
    "content": "package usbguard.IPC;\n\nmessage MessageHeader {\n  required uint64 id = 1;\n}\n"
  },
  {
    "path": "src/Library/IPC/Parameter.proto",
    "content": "package usbguard.IPC;\n\nimport \"Message.proto\";\n\n\nmessage setParameterRequest {\n  required string name = 1;\n  required string value = 2;\n}\n\nmessage setParameterResponse {\n  required string value = 1;\n}\n\nmessage setParameter {\n  required MessageHeader header = 1;\n  required setParameterRequest request = 2;\n  optional setParameterResponse response = 3;\n}\n\n\nmessage getParameterRequest {\n  required string name = 1;\n}\n\nmessage getParameterResponse {\n  required string value = 1;\n}\n\nmessage getParameter {\n  required MessageHeader header = 1;\n  required getParameterRequest request = 2;\n  optional getParameterResponse response = 3;\n}\n"
  },
  {
    "path": "src/Library/IPC/Policy.proto",
    "content": "package usbguard.IPC;\n\nimport \"Message.proto\";\nimport \"Rule.proto\";\n\nmessage listRulesRequest {\n  required string label = 1;\n}\n\nmessage listRulesResponse {\n  repeated Rule rules = 1;\n}\n\nmessage listRules {\n  required MessageHeader header = 1;\n  required listRulesRequest request = 2;\n  optional listRulesResponse response = 3;\n}\n\n\nmessage appendRuleRequest {\n  required string rule = 1;\n  required uint32 parent_id = 2;\n  required bool permanent = 3;\n}\n\nmessage appendRuleResponse {\n  required uint32 id = 1;\n}\n\nmessage appendRule {\n  required MessageHeader header = 1;\n  required appendRuleRequest request = 2;\n  optional appendRuleResponse response = 3;\n}\n\n\nmessage removeRuleRequest {\n  required uint32 id = 1;\n}\n\nmessage removeRuleResponse {\n  required uint32 id = 1;\n}\n\nmessage removeRule {\n  required MessageHeader header = 1;\n  required removeRuleRequest request = 2;\n  optional removeRuleResponse response = 3;\n}\n\n\nmessage checkIPCPermissionsRequest {\n  required uint32 uid = 1;\n  required uint32 gid = 2;\n  required string section = 3;\n  required string privilege = 4;\n}\n\nmessage checkIPCPermissionsResponse {\n  required bool permit = 1;\n}\n\nmessage checkIPCPermissions {\n  required MessageHeader header = 1;\n  required checkIPCPermissionsRequest request = 2;\n  optional checkIPCPermissionsResponse response = 3;\n}\n"
  },
  {
    "path": "src/Library/IPC/Rule.proto",
    "content": "package usbguard.IPC;\n\nmessage Rule {\n  required uint32 id = 1;\n  required string rule = 2;\n}\n"
  },
  {
    "path": "src/Library/IPCClientPrivate.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Radovan Sroka <rsroka@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"IPCClientPrivate.hpp\"\n#include \"IPCPrivate.hpp\"\n\n#include \"usbguard/Logger.hpp\"\n#include \"usbguard/RuleSet.hpp\"\n#include \"usbguard/MemoryRuleSet.hpp\"\n\n#include <stdint.h>\n#include <unistd.h>\n#include <sys/poll.h>\n#include <sys/eventfd.h>\n#include <sys/types.h>\n\nnamespace usbguard\n{\n  int32_t IPCClientPrivate::qbPollWakeupFn(int32_t fd, int32_t revents, void* data)\n  {\n    USBGUARD_LOG(Trace) << \"fd=\" << fd\n      << \" revents=\" << revents\n      << \" data=\" << data;\n    uint64_t one = 0;\n\n    if (read(fd, &one, sizeof one) != sizeof one) {\n      USBGUARD_LOG(Warning) << \"IPC client: \"\n        << \"Failed to read wakeup event: \"\n        << \"errno=\" << errno;\n      return -1;\n    }\n    else {\n      return 0;\n    }\n  }\n\n  int32_t IPCClientPrivate::qbIPCMessageProcessFn(int32_t fd, int32_t revents, void* data)\n  {\n    USBGUARD_LOG(Trace) << \"fd=\" << fd\n      << \" revents=\" << revents\n      << \" data=\" << data;\n    IPCClientPrivate* client = static_cast<IPCClientPrivate*>(data);\n    client->processReceiveEvent();\n    return 0;\n  }\n\n  IPCClientPrivate::IPCClientPrivate(IPCClient& p_instance, bool connected)\n    : _p_instance(p_instance),\n      _thread(this, &IPCClientPrivate::thread)\n  {\n    _qb_conn = nullptr;\n    _qb_fd = -1;\n    USBGUARD_SYSCALL_THROW(\"IPC client initialization\",\n      (_wakeup_fd = eventfd(0, 0)) < 0);\n    _qb_loop = qb_loop_create();\n    qb_loop_poll_add(_qb_loop, QB_LOOP_HIGH, _wakeup_fd, POLLIN, NULL, qbPollWakeupFn);\n    registerHandler<IPC::getParameter>(&IPCClientPrivate::handleMethodResponse);\n    registerHandler<IPC::setParameter>(&IPCClientPrivate::handleMethodResponse);\n    registerHandler<IPC::listRules>(&IPCClientPrivate::handleMethodResponse);\n    registerHandler<IPC::appendRule>(&IPCClientPrivate::handleMethodResponse);\n    registerHandler<IPC::removeRule>(&IPCClientPrivate::handleMethodResponse);\n    registerHandler<IPC::applyDevicePolicy>(&IPCClientPrivate::handleMethodResponse);\n    registerHandler<IPC::listDevices>(&IPCClientPrivate::handleMethodResponse);\n    registerHandler<IPC::checkIPCPermissions>(&IPCClientPrivate::handleMethodResponse);\n    registerHandler<IPC::Exception>(&IPCClientPrivate::handleException);\n    registerHandler<IPC::DevicePresenceChangedSignal>(&IPCClientPrivate::handleDevicePresenceChangedSignal);\n    registerHandler<IPC::DevicePolicyChangedSignal>(&IPCClientPrivate::handleDevicePolicyChangedSignal);\n    registerHandler<IPC::DevicePolicyAppliedSignal>(&IPCClientPrivate::handleDevicePolicyAppliedSignal);\n    registerHandler<IPC::PropertyParameterChangedSignal>(&IPCClientPrivate::handlePropertyParameterChangedSignal);\n\n    if (connected) {\n      try {\n        connect();\n      }\n      catch (...) {\n        destruct();\n        throw;\n      }\n    }\n  }\n\n  void IPCClientPrivate::destruct()\n  {\n    USBGUARD_LOG(Trace);\n    qb_loop_poll_del(_qb_loop, _wakeup_fd);\n    close(_wakeup_fd);\n    qb_loop_destroy(_qb_loop);\n  }\n\n  IPCClientPrivate::~IPCClientPrivate()\n  {\n    disconnect(/*do_wait=*/_thread.running());\n    destruct();\n  }\n\n  void IPCClientPrivate::connect()\n  {\n    USBGUARD_LOG(Trace);\n    _qb_conn = qb_ipcc_connect(\"usbguard\", 1<<20);\n\n    if (_qb_conn == nullptr) {\n      throw ErrnoException(\"IPC connect\", \"service=usbguard\", errno);\n    }\n\n    qb_ipcc_fd_get(_qb_conn, &_qb_fd);\n\n    if (_qb_fd < 0) {\n      qb_ipcc_disconnect(_qb_conn);\n      _qb_conn = nullptr;\n      _qb_fd = -1;\n      throw Exception(\"IPC connect\", \"qb connection\", \"Bad file descriptor\");\n    }\n\n    qb_loop_poll_add(_qb_loop, QB_LOOP_HIGH, _qb_fd, POLLIN, this, qbIPCMessageProcessFn);\n    USBGUARD_LOG(Trace) << \"Starting IPC client thread\";\n    _thread.start();\n    _p_instance.IPCConnected();\n  }\n\n  void IPCClientPrivate::disconnect(bool exception_initiated, const IPCException& exception, bool do_wait)\n  {\n    USBGUARD_LOG(Trace) << \"exception_initiated=\" << exception_initiated\n      << \" exception=\" << exception.message()\n      << \" do_wait=\" << do_wait;\n    USBGUARD_LOG(Trace) << \"_qb_conn=\" << _qb_conn\n      << \" _qb_fd=\" << _qb_fd;\n    std::unique_lock<std::mutex> disconnect_lock(_disconnect_mutex);\n\n    if (_qb_conn != nullptr && _qb_fd >= 0) {\n      qb_loop_poll_del(_qb_loop, _qb_fd);\n      qb_ipcc_disconnect(_qb_conn);\n      _qb_conn = nullptr;\n      _qb_fd = -1;\n      disconnect_lock.unlock();\n      stop(do_wait);\n      USBGUARD_LOG(Trace) << \"Signaling IPCDisconnected\";\n      _p_instance.IPCDisconnected(/*exception_initiated=*/true, exception);\n    }\n    else if (_thread.running()) {\n      disconnect_lock.unlock();\n      stop(do_wait);\n    }\n  }\n\n  void IPCClientPrivate::disconnect(bool do_wait)\n  {\n    USBGUARD_LOG(Trace) << \"do_wait=\" << do_wait;\n    const IPCException empty_exception;\n    disconnect(/*exception_initiated=*/false, empty_exception, do_wait);\n  }\n\n  bool IPCClientPrivate::isConnected() const\n  {\n    return _qb_fd != -1;\n  }\n\n  void IPCClientPrivate::wait()\n  {\n    USBGUARD_LOG(Trace);\n    _thread.wait();\n  }\n\n  void IPCClientPrivate::thread()\n  {\n    USBGUARD_LOG(Trace) << \"Entering IPC client main loop\";\n    qb_loop_run(_qb_loop);\n    USBGUARD_LOG(Trace) << \"Leaving IPC client main loop\";\n  }\n\n  void IPCClientPrivate::wakeup()\n  {\n    const uint64_t one = 1;\n    USBGUARD_SYSCALL_THROW(\"IPC client\",\n      write(_wakeup_fd, &one, sizeof one) != sizeof one);\n  }\n\n  void IPCClientPrivate::stop(bool do_wait)\n  {\n    USBGUARD_LOG(Trace) << \"do_wait=\" << do_wait;\n    _thread.stop(/*do_wait=*/false);\n    qb_loop_stop(_qb_loop);\n    wakeup();\n\n    if (do_wait) {\n      wait();\n    }\n  }\n\n  uint64_t IPCClientPrivate::generateMessageID()\n  {\n    static std::atomic<uint64_t> id(1);\n    return id++;\n  }\n\n  IPC::MessagePointer IPCClientPrivate::qbIPCSendRecvMessage(IPC::MessageType& message)\n  {\n    USBGUARD_LOG(Trace) << \"message=\" << &message;\n\n    if (!isConnected()) {\n      throw Exception(\"IPC send/recv\", \"connection\", \"Not connected\");\n    }\n\n    const uint64_t id = generateMessageID();\n    IPC::setMessageHeaderID(message, id);\n    std::string payload;\n    message.SerializeToString(&payload);\n    struct qb_ipc_request_header hdr;\n    hdr.id = QB_IPC_MSG_USER_START + IPC::messageTypeNameToNumber(std::string(message.GetTypeName()));\n    hdr.size = sizeof hdr + payload.size();\n    struct iovec iov[2];\n    iov[0].iov_base = &hdr;\n    iov[0].iov_len = sizeof hdr;\n    iov[1].iov_base = (void*)payload.data();\n    iov[1].iov_len = payload.size();\n    /* Lock the return value slot map */\n    std::unique_lock<std::mutex> return_map_lock(_return_mutex);\n    /*\n     * Create the promise and future objects.\n     * The promise will be fullfiled by the message\n     * processing handlers after they process\n     * a reply from the server.\n     */\n    auto& promise = _return_map[id];\n    auto future = promise.get_future();\n    qb_ipcc_sendv(_qb_conn, iov, 2);\n    /*\n     * Unlock the return value map so that the message\n     * processing handler aren't blocked.\n     */\n    return_map_lock.unlock();\n    /* Wait for some time for the reply to be received */\n    const std::chrono::milliseconds timeout_ms(15*1000); /* TODO: make this configurable */\n    const bool timed_out = \\\n      future.wait_for(timeout_ms) == std::future_status::timeout;\n    IPC::MessagePointer response;\n\n    if (!timed_out) {\n      response = future.get();\n    }\n\n    /* Remove the slot from the return value slot map */\n    return_map_lock.lock();\n    _return_map.erase(id);\n    return_map_lock.unlock();\n\n    if (timed_out) {\n      throw Exception(\"IPC send/recv\", \"connection\", \"Timed out while waiting for IPC reply\");\n    }\n\n    /*\n     * We might have caused an exception. Check whether\n     * that's the case and if true, throw it here.\n     */\n    if (IPC::isExceptionMessage(response)) {\n      throw IPC::IPCExceptionFromMessage(response);\n    }\n\n    return response;\n  }\n\n  void IPCClientPrivate::processReceiveEvent()\n  {\n    USBGUARD_LOG(Trace);\n\n    try {\n      const std::string buffer = receive();\n      process(buffer);\n    }\n    catch (const IPCException& exception) {\n      disconnect(/*exception_initiated=*/true, exception);\n    }\n    catch (const Exception& exception) {\n      const IPCException ipc_exception(exception);\n      disconnect(/*exception_initiated=*/true, ipc_exception);\n    }\n    catch (const std::exception& exception) {\n      const IPCException ipc_exception(\"IPC receive event\", \"\", exception.what());\n      disconnect(/*exception_initiated=*/true, ipc_exception);\n    }\n    catch (...) {\n      const IPCException ipc_exception(\"IPC receive event\", \"BUG\", \"Unknown exception\");\n      disconnect(/*exception_initiated=*/true, ipc_exception);\n    }\n  }\n\n  std::string IPCClientPrivate::receive()\n  {\n    USBGUARD_LOG(Trace);\n    const size_t buffer_size_max = 1<<20;\n    std::string buffer(buffer_size_max, 0);\n    const ssize_t recv_size = \\\n      qb_ipcc_event_recv(_qb_conn, &buffer[0], /*msg_len=*/buffer_size_max, /*ms_timeout=*/500);\n\n    if (recv_size < 0) {\n      disconnect();\n      throw Exception(\"IPC receive\", \"connection\", \"Receive error\");\n    }\n\n    if (recv_size < (ssize_t)sizeof(struct qb_ipc_response_header)) {\n      disconnect();\n      throw Exception(\"IPC receive\", \"message\", \"Message too small\");\n    }\n\n    USBGUARD_LOG(Debug) << \"Received \" << recv_size << \" bytes\";\n    buffer.resize((size_t)recv_size);\n    return buffer;\n  }\n\n  void IPCClientPrivate::process(const std::string& buffer)\n  {\n    USBGUARD_LOG(Trace) << \"buffer=\" << &buffer;\n    const struct qb_ipc_response_header* hdr = \\\n        reinterpret_cast<const struct qb_ipc_response_header*>(buffer.data());\n\n    if ((size_t)hdr->size != buffer.size()) {\n      disconnect();\n      throw Exception(\"IPC receive\", \"message header\", \"Invalid size value\");\n    }\n\n    if (hdr->id < QB_IPC_MSG_USER_START) {\n      disconnect();\n      throw Exception(\"IPC receive\", \"message header\", \"Invalid payload type value\");\n    }\n\n    const uint32_t payload_type = hdr->id - QB_IPC_MSG_USER_START;\n    const std::string payload = buffer.substr(sizeof(struct qb_ipc_response_header));\n    handleIPCPayload(payload_type, payload);\n  }\n\n  void IPCClientPrivate::handleIPCPayload(const uint32_t payload_type, const std::string& payload)\n  {\n    USBGUARD_LOG(Trace) << \"payload_type=\" << payload_type\n      << \" payload=\" << &payload;\n\n    try {\n      auto& handler = _handlers.at(payload_type);\n      auto message = handler.payloadToMessage(payload);\n      USBGUARD_LOG(Debug) << \"Message: \" << message->DebugString();\n      handler.run(message);\n    }\n    catch (const IPCException& exception) {\n      throw;\n    }\n    catch (const std::exception& exception) {\n      throw Exception(\"IPC connection\", \"message\", exception.what());\n    }\n    catch (...) {\n      throw Exception(\"IPC connection\", \"message\", \"Unknown payload type\");\n    }\n  }\n\n  std::string IPCClientPrivate::setParameter(const std::string& name, const std::string& value)\n  {\n    IPC::setParameter message_out;\n    message_out.mutable_request()->set_name(name);\n    message_out.mutable_request()->set_value(value);\n    auto message_in = qbIPCSendRecvMessage(message_out);\n    return message_in->response().value();\n  }\n\n  std::string IPCClientPrivate::getParameter(const std::string& name)\n  {\n    IPC::getParameter message_out;\n    message_out.mutable_request()->set_name(name);\n    auto message_in = qbIPCSendRecvMessage(message_out);\n    return message_in->response().value();\n  }\n\n  uint32_t IPCClientPrivate::appendRule(const std::string& rule_spec, uint32_t parent_id, bool permanent)\n  {\n    IPC::appendRule message_out;\n    message_out.mutable_request()->set_rule(rule_spec);\n    message_out.mutable_request()->set_parent_id(parent_id);\n    message_out.mutable_request()->set_permanent(permanent);\n    auto message_in = qbIPCSendRecvMessage(message_out);\n    return message_in->response().id();\n  }\n\n  void IPCClientPrivate::removeRule(uint32_t id)\n  {\n    IPC::removeRule message_out;\n    message_out.mutable_request()->set_id(id);\n    auto message_in = qbIPCSendRecvMessage(message_out);\n  }\n\n  const std::vector<Rule> IPCClientPrivate::listRules(const std::string& label)\n  {\n    IPC::listRules message_out;\n    std::vector<Rule> rules;\n    message_out.mutable_request()->set_label(label);\n    auto message_in = qbIPCSendRecvMessage(message_out);\n\n    for (auto rule_message : message_in->response().rules()) {\n      Rule rule = Rule::fromString(rule_message.rule());\n      rule.setRuleID(rule_message.id());\n      rules.push_back(rule);\n    }\n\n    return rules;\n  }\n\n  uint32_t IPCClientPrivate::applyDevicePolicy(uint32_t id, Rule::Target target, bool permanent)\n  {\n    IPC::applyDevicePolicy message_out;\n    message_out.mutable_request()->set_id(id);\n    message_out.mutable_request()->set_target(Rule::targetToInteger(target));\n    message_out.mutable_request()->set_permanent(permanent);\n    auto message_in = qbIPCSendRecvMessage(message_out);\n    return message_in->response().rule_id();\n  }\n\n  const std::vector<Rule> IPCClientPrivate::listDevices(const std::string& query)\n  {\n    IPC::listDevices message_out;\n    message_out.mutable_request()->set_query(query);\n    auto message_in = qbIPCSendRecvMessage(message_out);\n    std::vector<Rule> devices;\n\n    for (auto rule_message : message_in->response().devices()) {\n      Rule device_rule = Rule::fromString(rule_message.rule());\n      device_rule.setRuleID(rule_message.id());\n      devices.push_back(device_rule);\n    }\n\n    return devices;\n  }\n\n  bool IPCClientPrivate::checkIPCPermissions(const IPCServer::AccessControl::Section& section,\n    const IPCServer::AccessControl::Privilege& privilege)\n  {\n    IPC::checkIPCPermissions message_out;\n    message_out.mutable_request()->set_uid(getuid());\n    message_out.mutable_request()->set_gid(getgid());\n    message_out.mutable_request()->set_section(\n      IPCServer::AccessControl::sectionToString(section)\n    );\n    message_out.mutable_request()->set_privilege(\n      IPCServer::AccessControl::privilegeToString(privilege)\n    );\n    auto message_in = qbIPCSendRecvMessage(message_out);\n    return message_in->response().permit();\n  }\n\n  void IPCClientPrivate::handleMethodResponse(IPC::MessagePointer& message_in, IPC::MessagePointer& message_out)\n  {\n    (void)message_out;\n    const uint64_t id = IPC::getMessageHeaderID(*message_in);\n\n    try {\n      auto& return_promise = _return_map.at(id);\n      return_promise.set_value(std::move(message_in));\n    }\n    catch (...) {\n      throw IPCException(\"IPC method response\", \"message\", \"Unexpected method call response\", id);\n    }\n  }\n\n  void IPCClientPrivate::handleException(IPC::MessagePointer& message_in, IPC::MessagePointer& message_out)\n  {\n    (void)message_out;\n    const IPC::Exception* const exception = \\\n      reinterpret_cast<const IPC::Exception*>(message_in.get());\n\n    if (exception->has_request_id()) {\n      const uint64_t id = exception->request_id();\n\n      if (id > 0) {\n        try {\n          auto& return_promise = _return_map.at(id);\n          return_promise.set_value(std::move(message_in));\n        }\n        catch (...) {\n          throw IPCException(\"IPC exception response\", \"message\", \"Unexpected method response exception\", id);\n        }\n      }\n    }\n\n    _p_instance.ExceptionMessage(exception->context(),\n      exception->object(),\n      exception->reason());\n  }\n\n  void IPCClientPrivate::handleDevicePresenceChangedSignal(IPC::MessagePointer& message_in, IPC::MessagePointer& message_out)\n  {\n    (void)message_out;\n    const IPC::DevicePresenceChangedSignal* const signal =\\\n      reinterpret_cast<const IPC::DevicePresenceChangedSignal*>(message_in.get());\n    _p_instance.DevicePresenceChanged(signal->id(),\n      DeviceManager::eventTypeFromInteger(signal->event()),\n      Rule::targetFromInteger(signal->target()),\n      signal->device_rule());\n  }\n\n  void IPCClientPrivate::handleDevicePolicyChangedSignal(IPC::MessagePointer& message_in, IPC::MessagePointer& message_out)\n  {\n    (void)message_out;\n    const IPC::DevicePolicyChangedSignal* const signal = \\\n      reinterpret_cast<const IPC::DevicePolicyChangedSignal*>(message_in.get());\n    _p_instance.DevicePolicyChanged(signal->id(),\n      Rule::targetFromInteger(signal->target_old()),\n      Rule::targetFromInteger(signal->target_new()),\n      signal->device_rule(),\n      signal->rule_id());\n  }\n\n  void IPCClientPrivate::handleDevicePolicyAppliedSignal(IPC::MessagePointer& message_in, IPC::MessagePointer& message_out)\n  {\n    (void)message_out;\n    const IPC::DevicePolicyAppliedSignal* const signal = \\\n      reinterpret_cast<const IPC::DevicePolicyAppliedSignal*>(message_in.get());\n    _p_instance.DevicePolicyApplied(signal->id(),\n      Rule::targetFromInteger(signal->target_new()),\n      signal->device_rule(),\n      signal->rule_id());\n  }\n\n  void IPCClientPrivate::handlePropertyParameterChangedSignal(IPC::MessagePointer& message_in, IPC::MessagePointer& message_out)\n  {\n    (void)message_out;\n    const IPC::PropertyParameterChangedSignal* const signal = \\\n      reinterpret_cast<const IPC::PropertyParameterChangedSignal*>(message_in.get());\n    _p_instance.PropertyParameterChanged(signal->name(),\n      signal->value_old(),\n      signal->value_new());\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/IPCClientPrivate.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"IPCPrivate.hpp\"\n#include \"Common/Thread.hpp\"\n\n#include \"Policy.pb.h\"\n#include \"Devices.pb.h\"\n#include \"Exception.pb.h\"\n#include \"Parameter.pb.h\"\n\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/IPCClient.hpp\"\n\n#include <map>\n#include <mutex>\n#include <future>\n\n#include <qb/qbipcc.h>\n#include <qb/qbloop.h>\n\nnamespace usbguard\n{\n  class IPCClientPrivate\n  {\n    using MessageHandler = IPC::MessageHandler<IPCClientPrivate>;\n\n  public:\n    IPCClientPrivate(IPCClient& p_instance, bool connected);\n    ~IPCClientPrivate();\n\n    void connect();\n    void disconnect(bool exception_initiated, const IPCException& exception, bool do_wait = false);\n    void disconnect(bool do_wait = false);\n    bool isConnected() const;\n    void wait();\n\n    std::string setParameter(const std::string& name, const std::string& value);\n    std::string getParameter(const std::string& name);\n\n    uint32_t appendRule(const std::string& rule_spec, uint32_t parent_id, bool permanent);\n    void removeRule(uint32_t id);\n    const std::vector<Rule> listRules(const std::string& label);\n\n    uint32_t applyDevicePolicy(uint32_t id, Rule::Target target, bool permanent);\n    const std::vector<Rule> listDevices(const std::string& query);\n\n    bool checkIPCPermissions(const IPCServer::AccessControl::Section& section,\n      const IPCServer::AccessControl::Privilege& privilege);\n\n    void processReceiveEvent();\n\n  private:\n    static int32_t qbPollWakeupFn(int32_t fd, int32_t revents, void* data);\n    static int32_t qbIPCMessageProcessFn(int32_t fd, int32_t revents, void* data);\n\n    void destruct();\n    void thread();\n    void wakeup();\n    void stop(bool do_wait = false);\n\n    static uint64_t generateMessageID(void);\n\n    template<class T>\n    void registerHandler(MessageHandler::HandlerType method)\n    {\n      const uint32_t type_number = IPC::messageTypeNameToNumber(std::string(T::default_instance().GetTypeName()));\n      _handlers.emplace(type_number, MessageHandler::create<T>(*this, method));\n    }\n\n    template<typename ProtobufType>\n    std::unique_ptr<ProtobufType> qbIPCSendRecvMessage(ProtobufType& message_out)\n    {\n      IPC::MessagePointer message_in = qbIPCSendRecvMessage(reinterpret_cast<IPC::MessageType&>(message_out));\n\n      if (message_in->GetTypeName() != ProtobufType::default_instance().GetTypeName()) {\n        throw std::runtime_error(\"qbIPCSendRecvMessage: response type mismatch\");\n      }\n\n      return std::unique_ptr<ProtobufType>(static_cast<ProtobufType*>(message_in.release()));\n    }\n\n    IPC::MessagePointer qbIPCSendRecvMessage(IPC::MessageType& message);\n\n    std::string receive();\n    void process(const std::string& buffer);\n    void handleIPCPayload(uint32_t payload_type, const std::string& payload);\n\n    void handleMethodResponse(IPC::MessagePointer& message_in, IPC::MessagePointer& message_out);\n    void handleException(IPC::MessagePointer& message_in, IPC::MessagePointer& message_out);\n    void handleDevicePresenceChangedSignal(IPC::MessagePointer& message_in, IPC::MessagePointer& message_out);\n    void handleDevicePolicyChangedSignal(IPC::MessagePointer& message_in, IPC::MessagePointer& message_out);\n    void handleDevicePolicyAppliedSignal(IPC::MessagePointer& message_in, IPC::MessagePointer& message_out);\n    void handlePropertyParameterChangedSignal(IPC::MessagePointer& message_in, IPC::MessagePointer& message_out);\n\n    IPCClient& _p_instance;\n\n    qb_loop_t* _qb_loop;\n    qb_ipcc_connection_t* _qb_conn;\n    int _qb_fd;\n\n    int _wakeup_fd;\n\n    std::mutex _return_mutex, _disconnect_mutex;\n    std::map<uint64_t, std::promise<IPC::MessagePointer>> _return_map;\n\n    Thread<IPCClientPrivate> _thread;\n    std::map<uint32_t, MessageHandler> _handlers;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/IPCPrivate.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"IPCPrivate.hpp\"\n\n#include \"Devices.pb.h\"\n#include \"Exception.pb.h\"\n#include \"Policy.pb.h\"\n\n#include \"usbguard/Logger.hpp\"\n\n#include <vector>\n#include <utility>\n\nnamespace usbguard\n{\n  static const std::vector<std::pair<uint32_t, std::string>> type_numbers = {\n    { 0x01, \"usbguard.IPC.listDevices\" },\n    { 0x02, \"usbguard.IPC.applyDevicePolicy\" },\n    { 0x03, \"usbguard.IPC.DevicePresenceChangedSignal\" },\n    { 0x04, \"usbguard.IPC.DevicePolicyChangedSignal\" },\n    { 0x05, \"usbguard.IPC.DevicePolicyAppliedSignal\" },\n    { 0x06, \"usbguard.IPC.PropertyParameterChangedSignal\" },\n    { 0x07, \"usbguard.IPC.listRules\" },\n    { 0x08, \"usbguard.IPC.appendRule\" },\n    { 0x09, \"usbguard.IPC.removeRule\" },\n    { 0x0a, \"usbguard.IPC.Exception\" },\n    { 0x0b, \"usbguard.IPC.getParameter\" },\n    { 0x0c, \"usbguard.IPC.setParameter\" },\n    { 0x0d, \"usbguard.IPC.checkIPCPermissions\" }\n  };\n\n  uint32_t IPC::messageTypeNameToNumber(const std::string& name)\n  {\n    for (auto const& type_number : type_numbers) {\n      if (type_number.second == name) {\n        return type_number.first;\n      }\n    }\n\n    throw std::runtime_error(\"Unknown IPC message type name\");\n  }\n\n  const std::string& IPC::messageTypeNameFromNumber(const uint32_t number)\n  {\n    for (auto const& type_number : type_numbers) {\n      if (type_number.first == number) {\n        return type_number.second;\n      }\n    }\n\n    throw std::runtime_error(\"Unknown IPC message type number\");\n  }\n\n  IPC::MessagePointer IPC::IPCExceptionToMessage(const IPCException& exception)\n  {\n    IPC::Exception* const message = new IPC::Exception();\n    IPC::MessagePointer pointer(message);\n    message->set_context(exception.context());\n    message->set_object(exception.object());\n    message->set_reason(exception.reason());\n    message->set_request_id(exception.messageID());\n    return pointer;\n  }\n\n  IPCException IPC::IPCExceptionFromMessage(const MessagePointer& message)\n  {\n    const IPC::Exception* const exception_message = \\\n      reinterpret_cast<const IPC::Exception*>(message.get());\n    return IPCException(exception_message->context(),\n        exception_message->object(),\n        exception_message->reason(),\n        exception_message->request_id());\n  }\n\n  bool IPC::isExceptionMessage(const MessagePointer& message)\n  {\n    return message->GetTypeName() == IPC::Exception::default_instance().GetTypeName();\n  }\n\n  uint64_t IPC::getMessageHeaderID(const MessageType& message)\n  {\n    const auto header_field = message.GetDescriptor()->FindFieldByName(\"header\");\n    const auto reflection = message.GetReflection();\n    const auto& header_message = reflection->GetMessage(message, header_field);\n\n    if (header_message.GetTypeName() != IPC::MessageHeader::default_instance().GetTypeName()) {\n      throw std::runtime_error(\"unknown message header type\");\n    }\n\n    const auto header = reinterpret_cast<const IPC::MessageHeader&>(header_message);\n    return header.id();\n  }\n\n  void IPC::setMessageHeaderID(MessageType& message, const uint64_t id)\n  {\n    const auto header_field = message.GetDescriptor()->FindFieldByName(\"header\");\n    auto reflection = message.GetReflection();\n    auto header_message = reflection->MutableMessage(&message, header_field);\n\n    if (header_message->GetTypeName() != IPC::MessageHeader::default_instance().GetTypeName()) {\n      throw std::runtime_error(\"unknown message header type\");\n    }\n\n    auto header = reinterpret_cast<IPC::MessageHeader*>(header_message);\n    header->set_id(id);\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/IPCPrivate.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/Exception.hpp\"\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/IPCServer.hpp\"\n\n#include <memory>\n#include <google/protobuf/message.h>\n\nnamespace usbguard\n{\n  namespace IPC\n  {\n    uint32_t messageTypeNameToNumber(const std::string& name);\n    const std::string& messageTypeNameFromNumber(uint32_t number);\n\n    using MessageType = google::protobuf::Message;\n    using MessagePointer = std::unique_ptr<MessageType>;\n\n    MessagePointer IPCExceptionToMessage(const IPCException& exception);\n    IPCException IPCExceptionFromMessage(const MessagePointer& message);\n\n    bool isExceptionMessage(const MessagePointer& message);\n\n    uint64_t getMessageHeaderID(const MessageType& message);\n    void setMessageHeaderID(MessageType& message, uint64_t id);\n\n    template<class C>\n    class MessageHandler\n    {\n    public:\n      using HandlerType = void(C::*)(MessagePointer&, MessagePointer&);\n\n      MessageHandler(C& c, HandlerType method, const MessageType& factory,\n        IPCServer::AccessControl::Section section = IPCServer::AccessControl::Section::NONE,\n        IPCServer::AccessControl::Privilege privilege = IPCServer::AccessControl::Privilege::NONE)\n        : _instance(c),\n          _method(method),\n          _message_factory(factory),\n          _section(section),\n          _privilege(privilege)\n      {\n      }\n\n      MessageHandler(const MessageHandler& rhs)\n        : _instance(rhs._instance),\n          _method(rhs._method),\n          _message_factory(rhs._message_factory),\n          _section(rhs._section),\n          _privilege(rhs._privilege)\n      {\n      }\n\n      MessagePointer payloadToMessage(const std::string& payload)\n      {\n        MessagePointer message(_message_factory.New());\n        message->ParseFromString(payload);\n        return message;\n      }\n\n      void run(MessagePointer& message)\n      {\n        MessagePointer response;\n        run(message, response);\n      }\n\n      void run(MessagePointer& message, MessagePointer& response)\n      {\n        if (message->GetTypeName() != _message_factory.GetTypeName()) {\n          throw std::runtime_error(\"Incompatible message type passed to handler\");\n        }\n\n        (_instance.*_method)(message, response);\n      }\n\n      template<class ProtobufType>\n      static MessageHandler create(C& c, HandlerType method,\n        IPCServer::AccessControl::Section section = IPCServer::AccessControl::Section::NONE,\n        IPCServer::AccessControl::Privilege privilege = IPCServer::AccessControl::Privilege::NONE)\n      {\n        return MessageHandler(c, method, ProtobufType::default_instance(), section, privilege);\n      }\n\n      IPCServer::AccessControl::Section section() const\n      {\n        return _section;\n      }\n\n      IPCServer::AccessControl::Privilege privilege() const\n      {\n        return _privilege;\n      }\n\n    private:\n      C& _instance;\n      HandlerType _method;\n      const MessageType& _message_factory;\n      IPCServer::AccessControl::Section _section;\n      IPCServer::AccessControl::Privilege _privilege;\n    };\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/IPCServerPrivate.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"IPCServerPrivate.hpp\"\n#include \"IPCPrivate.hpp\"\n#include \"Common/Utility.hpp\"\n\n#include \"usbguard/Logger.hpp\"\n#include \"usbguard/Exception.hpp\"\n\n#include <sys/poll.h>\n#include <sys/eventfd.h>\n#include <sys/types.h>\n#include <pwd.h>\n#include <grp.h>\n#include <stdlib.h>\n#include <stdint.h>\n#include <unistd.h>\n\nnamespace usbguard\n{\n  static qb_loop* G_qb_loop = nullptr;\n\n  IPCServerPrivate::IPCServerPrivate(IPCServer& p_instance)\n    : _p_instance(p_instance),\n      _thread(this, &IPCServerPrivate::thread)\n  {\n    if (G_qb_loop != nullptr) {\n      throw USBGUARD_BUG(\"Only one instance of IPCServer per process allowed\");\n    }\n\n    G_qb_loop = _qb_loop = qb_loop_create();\n\n    if (_qb_loop == nullptr) {\n      throw Exception(\"IPC server initialization\", \"main loop\", \"Failed to create qb_loop object\");\n    }\n\n    _wakeup_fd = -1;\n\n    try {\n      initIPC();\n      USBGUARD_SYSCALL_THROW(\"IPC server initialization\",\n        (_wakeup_fd = eventfd(0, 0)) < 0);\n      qb_loop_poll_add(_qb_loop, QB_LOOP_HIGH, _wakeup_fd,\n        POLLIN, nullptr,\n        &IPCServerPrivate::qbPollWakeupFn);\n    }\n    catch (...) {\n      qb_loop_destroy(_qb_loop);\n      G_qb_loop = nullptr;\n      throw;\n    }\n\n    registerHandler<IPC::appendRule>(&IPCServerPrivate::handleAppendRule, IPCServer::AccessControl::Section::POLICY,\n      IPCServer::AccessControl::Privilege::MODIFY);\n    registerHandler<IPC::removeRule>(&IPCServerPrivate::handleRemoveRule, IPCServer::AccessControl::Section::POLICY,\n      IPCServer::AccessControl::Privilege::MODIFY);\n    registerHandler<IPC::listRules>(&IPCServerPrivate::handleListRules, IPCServer::AccessControl::Section::POLICY,\n      IPCServer::AccessControl::Privilege::LIST);\n    registerHandler<IPC::applyDevicePolicy>(&IPCServerPrivate::handleApplyDevicePolicy, IPCServer::AccessControl::Section::DEVICES,\n      IPCServer::AccessControl::Privilege::MODIFY);\n    registerHandler<IPC::listDevices>(&IPCServerPrivate::handleListDevices, IPCServer::AccessControl::Section::DEVICES,\n      IPCServer::AccessControl::Privilege::LIST);\n    registerHandler<IPC::setParameter>(&IPCServerPrivate::handleSetParameter, IPCServer::AccessControl::Section::PARAMETERS,\n      IPCServer::AccessControl::Privilege::MODIFY);\n    registerHandler<IPC::getParameter>(&IPCServerPrivate::handleGetParameter, IPCServer::AccessControl::Section::PARAMETERS,\n      IPCServer::AccessControl::Privilege::LIST);\n    registerHandler<IPC::checkIPCPermissions>(&IPCServerPrivate::handleCheckIPCPermissions, IPCServer::AccessControl::Section::ALL,\n      IPCServer::AccessControl::Privilege::NONE);\n  }\n\n  void IPCServerPrivate::initIPC()\n  {\n    static struct qb_ipcs_service_handlers service_handlers = {\n      IPCServerPrivate::qbIPCConnectionAcceptFn,\n      IPCServerPrivate::qbIPCConnectionCreatedFn,\n      IPCServerPrivate::qbIPCMessageProcessFn,\n      IPCServerPrivate::qbIPCConnectionClosedFn,\n      IPCServerPrivate::qbIPCConnectionDestroyedFn\n    };\n    _qb_service = qb_ipcs_create(\"usbguard\", 0,\n        QB_IPC_NATIVE, &service_handlers);\n\n    if (_qb_service == nullptr) {\n      throw Exception(\"IPC server initialization\", \"service\", \"Failed to create qb_service object\");\n    }\n\n    qb_ipcs_service_context_set(_qb_service, this);\n    static struct qb_ipcs_poll_handlers poll_handlers = {\n      IPCServerPrivate::qbIPCJobAdd,\n      IPCServerPrivate::qbIPCDispatchAdd,\n      IPCServerPrivate::qbIPCDispatchMod,\n      IPCServerPrivate::qbIPCDispatchDel\n    };\n    qb_ipcs_poll_handlers_set(_qb_service, &poll_handlers);\n    const auto rc = qb_ipcs_run(_qb_service);\n\n    if (rc != 0) {\n      throw ErrnoException(\"IPC server initialization\", \"service\", (int)-rc);\n    }\n  }\n\n  void IPCServerPrivate::finiIPC()\n  {\n    qb_ipcs_destroy(_qb_service);\n  }\n\n  IPCServerPrivate::~IPCServerPrivate()\n  {\n    destruct();\n  }\n\n  void IPCServerPrivate::thread()\n  {\n    qb_loop_run(_qb_loop);\n  }\n\n  void IPCServerPrivate::wakeup()\n  {\n    const uint64_t one = 1;\n    USBGUARD_SYSCALL_THROW(\"IPC server\",\n      write(_wakeup_fd, &one, sizeof one) != sizeof one);\n  }\n\n  void IPCServerPrivate::start()\n  {\n    if (!_thread.running()) {\n      _thread.start();\n    }\n  }\n\n  void IPCServerPrivate::stop()\n  {\n    _thread.stop(/*do_wait=*/false);\n    qb_loop_stop(_qb_loop);\n    wakeup();\n    _thread.wait();\n  }\n\n  void IPCServerPrivate::destruct()\n  {\n    if (_thread.running()) {\n      stop();\n    }\n\n    finiIPC();\n    qb_loop_poll_del(_qb_loop, _wakeup_fd);\n    qb_loop_destroy(_qb_loop);\n    USBGUARD_SYSCALL_THROW(\"IPC server\", close(_wakeup_fd) != 0);\n  }\n\n  int32_t IPCServerPrivate::qbPollWakeupFn(int32_t fd, int32_t revents, void* data)\n  {\n    USBGUARD_LOG(Trace) << \"fd=\" << fd\n      << \" revents=\" << revents\n      << \" data=\" << data;\n    uint64_t one = 0;\n\n    if (read(fd, &one, sizeof one) != sizeof one) {\n      USBGUARD_LOG(Warning) << \"IPC server: \"\n        << \"Failed to read wakeup event: \"\n        << \"errno=\" << errno;\n      return -1;\n    }\n    else {\n      return 0;\n    }\n  }\n\n  void IPCServerPrivate::qbIPCConnectionCreatedFn(qb_ipcs_connection_t* conn)\n  {\n    USBGUARD_LOG(Trace) << \"conn=\" << conn;\n    USBGUARD_LOG(Info) << \"New IPC connection from PID \" << qbIPCConnectionClientPID(conn);\n  }\n\n  void IPCServerPrivate::qbIPCConnectionDestroyedFn(qb_ipcs_connection_t* conn)\n  {\n    USBGUARD_LOG(Trace) << \"Deleting client context: conn=\" << conn;\n    ClientContext* const client_context =      \\\n      static_cast<ClientContext*>(qb_ipcs_context_get(conn));\n\n    if (client_context != nullptr) {\n      delete client_context;\n    }\n  }\n\n  int32_t IPCServerPrivate::qbIPCConnectionClosedFn(qb_ipcs_connection_t* conn)\n  {\n    USBGUARD_LOG(Trace) << \"conn=\" << conn;\n    USBGUARD_LOG(Info) << \"Closed IPC connection to PID \" << qbIPCConnectionClientPID(conn);\n    return 0;\n  }\n\n  int32_t IPCServerPrivate::qbIPCJobAdd(enum qb_loop_priority p, void* data, qb_loop_job_dispatch_fn fn)\n  {\n    return qb_loop_job_add(G_qb_loop, p, data, fn);\n  }\n\n  int32_t IPCServerPrivate::qbIPCDispatchAdd(enum qb_loop_priority p, int32_t fd, int32_t evts,\n    void* data, qb_ipcs_dispatch_fn_t fn)\n  {\n    return qb_loop_poll_add(G_qb_loop, p, fd, evts, data, fn);\n  }\n\n  int32_t IPCServerPrivate::qbIPCDispatchMod(enum qb_loop_priority p, int32_t fd, int32_t evts,\n    void* data, qb_ipcs_dispatch_fn_t fn)\n  {\n    return qb_loop_poll_mod(G_qb_loop, p, fd, evts, data, fn);\n  }\n\n  int32_t IPCServerPrivate::qbIPCDispatchDel(int32_t fd)\n  {\n    return qb_loop_poll_del(G_qb_loop, fd);\n  }\n\n  int32_t IPCServerPrivate::qbIPCConnectionClientPID(qb_ipcs_connection_t* connection)\n  {\n    std::unique_ptr<qb_ipcs_connection_stats_2, FreeDeleter> \\\n    stats(qb_ipcs_connection_stats_get_2(connection, /*clear_after_read=*/0));\n\n    if (stats == nullptr) {\n      throw std::runtime_error(\"Cannot retrieve qb connection statistics\");\n    }\n\n    return stats->client_pid;\n  }\n\n  int32_t IPCServerPrivate::qbIPCConnectionAcceptFn(qb_ipcs_connection_t* conn, uid_t uid, gid_t gid)\n  {\n    try {\n      IPCServerPrivate* server = \\\n        static_cast<IPCServerPrivate*>(qb_ipcs_connection_service_context_get(conn));\n      std::unique_ptr<ClientContext> client_context(new ClientContext());\n      const bool auth = server->qbIPCConnectionAllowed(uid, gid, &client_context->access_control);\n      qb_ipcs_context_set(conn, client_context.release());\n\n      if (auth) {\n        USBGUARD_LOG(Info) << \"IPC connection accepted: uid=\" << uid\n          << \" gid=\" << gid\n          << \" pid=\" << qbIPCConnectionClientPID(conn);\n        USBGUARD_LOG(Debug) << \"Setting SHM permissions to uid=\" << uid\n          << \" gid=\" << 0\n          << \" mode=0660\";\n        qb_ipcs_connection_auth_set(conn, uid, 0, 0660);\n        return 0;\n      }\n      else {\n        USBGUARD_LOG(Warning) << \"IPC connection denied: uid=\" << uid\n          << \" gid=\" << gid\n          << \" pid=\" << qbIPCConnectionClientPID(conn);\n        return -1;\n      }\n    }\n    catch (const std::exception& exception) {\n      USBGUARD_LOG(Error) << \"IPC connection denied: Exception: \" << exception.what();\n    }\n    catch (...) {\n      USBGUARD_LOG(Error) << \"IPC connection denied: BUG: unknown exception caught.\";\n    }\n\n    return -1;\n  }\n\n  bool IPCServerPrivate::hasACLEntries() const\n  {\n    return (!_allowed_uids.empty() \\\n        || !_allowed_gids.empty() \\\n        || !_allowed_usernames.empty() \\\n        || !_allowed_groupnames.empty());\n  }\n\n  bool IPCServerPrivate::qbIPCConnectionAllowed(uid_t uid, gid_t gid, IPCServer::AccessControl* const ac_ptr) const\n  {\n    if (hasACLEntries()) {\n      return authenticateIPCConnectionDAC(uid, gid, ac_ptr);\n    }\n    else {\n      USBGUARD_LOG(Debug) << \"IPC ACL is empty.\"\n        << \" Allowing connection for uid=\" << uid\n        << \" gid=\" << gid;\n      return true;\n    }\n  }\n\n  void IPCServerPrivate::qbIPCSendMessage(qb_ipcs_connection_t* qb_conn, const IPC::MessagePointer& message)\n  {\n    if (qb_conn == nullptr || message == nullptr) {\n      throw USBGUARD_BUG(\"NULL argument(s)\");\n    }\n\n    std::string payload;\n    message->SerializeToString(&payload);\n    struct qb_ipc_response_header hdr;\n    struct iovec iov[2];\n    hdr.id = QB_IPC_MSG_USER_START + IPC::messageTypeNameToNumber(std::string(message->GetTypeName()));\n    hdr.size = sizeof hdr + payload.size();\n    hdr.error = 0;\n    iov[0].iov_base = &hdr;\n    iov[0].iov_len = sizeof hdr;\n    iov[1].iov_base = (void*)payload.data();\n    iov[1].iov_len = payload.size();\n    const size_t total_size = hdr.size;\n    ClientContext* const client_context =        \\\n      static_cast<ClientContext*>(qb_ipcs_context_get(qb_conn));\n\n    if (client_context == nullptr) {\n      throw USBGUARD_BUG(\"NULL client context\");\n    }\n\n    std::unique_lock<std::mutex> lock(client_context->mutex);\n    const ssize_t rc = qb_ipcs_event_sendv(qb_conn, iov, 2);\n\n    if (rc < 0 || (size_t)rc != total_size) {\n      std::unique_ptr<qb_ipcs_connection_stats_2, FreeDeleter> \\\n      stats(qb_ipcs_connection_stats_get_2(qb_conn, /*clear_after_read=*/0));\n\n      if (stats == nullptr) {\n        throw std::runtime_error(\"Cannot retrieve qb connection statistics\");\n      }\n\n      if (rc < 0) {\n        USBGUARD_LOG(Error) << \"An error ocured while sending IPC message to pid=\" << qbIPCConnectionClientPID(\n            qb_conn) << \" errno=\" << -rc;\n        /* FALLTHROUGH */\n      }\n      else if ((size_t)rc != total_size) {\n        USBGUARD_LOG(Error) << \"Unable to sent complete IPC message to pid=\" << qbIPCConnectionClientPID(qb_conn)\n          << \" sent=\" << (size_t)rc\n          << \" expected=\" << total_size;\n        /* FALLTHROUGH */\n      }\n    }\n\n    iov[0].iov_base = nullptr;\n    iov[1].iov_base = nullptr;\n  }\n\n  int32_t IPCServerPrivate::qbIPCMessageProcessFn(qb_ipcs_connection_t* conn, void* data, size_t size)\n  {\n    if (conn == nullptr) {\n      return -1;\n    }\n\n    qb_ipcs_connection_ref(conn);\n\n    if (size <= sizeof (struct qb_ipc_request_header)) {\n      USBGUARD_LOG(Debug) << \"IPC message too short\";\n      qb_ipcs_disconnect(conn);\n      return -1;\n    }\n\n    if (size > 1<<20) {\n      USBGUARD_LOG(Debug) << \"IPC message too large\";\n      qb_ipcs_disconnect(conn);\n      return -1;\n    }\n\n    const struct qb_ipc_request_header* const hdr = \\\n        reinterpret_cast<const struct qb_ipc_request_header*>(data);\n\n    if (size != (size_t)hdr->size) {\n      USBGUARD_LOG(Debug) << \"Invalid IPC header size\";\n      qb_ipcs_disconnect(conn);\n      return -1;\n    }\n\n    if (hdr->id < QB_IPC_MSG_USER_START) {\n      USBGUARD_LOG(Debug) << \"Invalid IPC header id\";\n      qb_ipcs_disconnect(conn);\n      return -1;\n    }\n\n    int32_t client_pid = -1;\n    bool client_disconnect = false;\n\n    try {\n      client_pid = qbIPCConnectionClientPID(conn);\n    }\n    catch (...) {\n      USBGUARD_LOG(Error) << \"Unable to get client PID. Disconnecting client.\";\n      qb_ipcs_disconnect(conn);\n      return -1;\n    }\n\n    try {\n      IPCServerPrivate* const server = \\\n        reinterpret_cast<IPCServerPrivate*>(qb_ipcs_connection_service_context_get(conn));\n      const uint32_t payload_type = hdr->id - QB_IPC_MSG_USER_START;\n      const char* const payload_data = reinterpret_cast<const char*>(data) + sizeof(struct qb_ipc_request_header);\n      const size_t payload_size = size - sizeof(struct qb_ipc_request_header);\n      const std::string payload(payload_data, payload_size);\n      ClientContext* const client_context = \\\n        static_cast<ClientContext*>(qb_ipcs_context_get(conn));\n      const IPCServer::AccessControl* const access_control = &client_context->access_control;\n\n      if (access_control == nullptr) {\n        throw USBGUARD_BUG(\"IPC access control not set\");\n      }\n\n      USBGUARD_LOG(Debug) << \"Handling IPC payload of type=\" << payload_type\n        << \" size=\" << payload_size;\n      auto response = server->handleIPCPayload(payload_type, payload, access_control);\n\n      if (response) {\n        USBGUARD_LOG(Debug) << \"Sending response to client_pid=\" << client_pid;\n        qbIPCSendMessage(conn, response);\n      }\n    }\n    catch (const IPCException& ex) {\n      USBGUARD_LOG(Warning) << \"IPC: client_pid=\" << client_pid\n        << \": IPC exception: \" << ex.message();\n      qbIPCSendMessage(conn, IPC::IPCExceptionToMessage(ex));\n      /* FALLTHROUGH */\n    }\n    catch (const Exception& ex) {\n      USBGUARD_LOG(Warning) << \"IPC: client_pid=\" << client_pid\n        << \": Exception: \" << ex.message();\n      client_disconnect = true;\n      /* FALLTHROUGH */\n    }\n    catch (const std::exception& ex) {\n      USBGUARD_LOG(Warning) << \"IPC: client_pid=\" << client_pid\n        << \": Exception: \" << ex.what();\n      client_disconnect = true;\n      /* FALLTHROUGH */\n    }\n    catch (...) {\n      USBGUARD_LOG(Warning) << \"IPC: client_pid=\" << client_pid\n        << \": Unknown exception.\";\n      client_disconnect = true;\n      /* FALLTHROUGH */\n    }\n\n    if (client_disconnect) {\n      USBGUARD_LOG(Warning) << \"IPC: client_pid=\" << client_pid\n        << \": Disconnecting client.\";\n      qb_ipcs_disconnect(conn);\n      return -1;\n    }\n    else {\n      qb_ipcs_connection_unref(conn);\n    }\n\n    return 0;\n  }\n\n  void IPCServerPrivate::qbIPCBroadcastData(const struct iovec* const iov, const size_t iov_len,\n    IPCServer::AccessControl::Section section)\n  {\n    auto qb_conn = qb_ipcs_connection_first_get(_qb_service);\n    size_t total_size = 0;\n\n    for (size_t i = 0; i < iov_len; ++i) {\n      total_size += iov[i].iov_len;\n    }\n\n    while (qb_conn != nullptr) {\n      ClientContext* const client_context =      \\\n        static_cast<ClientContext*>(qb_ipcs_context_get(qb_conn));\n\n      if (client_context == nullptr) {\n        throw USBGUARD_BUG(\"NULL client context\");\n      }\n\n      const IPCServer::AccessControl* const access_control = \\\n        &client_context->access_control;\n\n      if (access_control->hasPrivilege(section, IPCServer::AccessControl::Privilege::LISTEN)) {\n        std::unique_lock<std::mutex> lock(client_context->mutex);\n        /* Send the data */\n        const ssize_t rc = qb_ipcs_event_sendv(qb_conn, iov, iov_len);\n\n        if (rc < 0 || (size_t)rc != total_size) {\n          std::unique_ptr<qb_ipcs_connection_stats_2, FreeDeleter> \\\n          stats(qb_ipcs_connection_stats_get_2(qb_conn, /*clear_after_read=*/0));\n\n          if (stats == nullptr) {\n            throw std::runtime_error(\"Cannot retrieve qb connection statistics\");\n          }\n\n          if (rc < 0) {\n            USBGUARD_LOG(Error) << \"An error ocured while sending IPC message to pid=\" << qbIPCConnectionClientPID(\n                qb_conn) << \" errno=\" << -rc;\n          }\n          else if ((size_t)rc != total_size) {\n            USBGUARD_LOG(Error) << \"Unable to sent complete IPC message to pid=\" << qbIPCConnectionClientPID(qb_conn)\n              << \" sent=\" << (size_t)rc\n              << \" expected=\" << total_size;\n          }\n        }\n      }\n      else {\n        USBGUARD_LOG(Info) << \"IPC message broadcast: Skipping client at pid=\" << qbIPCConnectionClientPID(qb_conn)\n          << \": Insufficient privileges to receive the message.\";\n      }\n\n      /* Get the next connection */\n      auto qb_conn_next = qb_ipcs_connection_next_get(_qb_service, qb_conn);\n      qb_ipcs_connection_unref(qb_conn);\n      qb_conn = qb_conn_next;\n    }\n  }\n\n  void IPCServerPrivate::qbIPCBroadcastMessage(const IPC::MessagePointer& message)\n  {\n    qbIPCBroadcastMessage(message.get());\n  }\n\n  IPCServer::AccessControl::Section IPCServerPrivate::messageTypeNameToAccessControlSection(const std::string& name)\n  {\n    if (name == \"usbguard.IPC.DevicePresenceChangedSignal\") {\n      return IPCServer::AccessControl::Section::DEVICES;\n    }\n\n    if (name == \"usbguard.IPC.DevicePolicyChangedSignal\") {\n      return IPCServer::AccessControl::Section::DEVICES;\n    }\n\n    if (name == \"usbguard.IPC.DevicePolicyAppliedSignal\") {\n      return IPCServer::AccessControl::Section::DEVICES;\n    }\n\n    if (name == \"usbguard.IPC.PropertyParameterChangedSignal\") {\n      return IPCServer::AccessControl::Section::PARAMETERS;\n    }\n\n    if (name == \"usbguard.IPC.Exception\") {\n      return IPCServer::AccessControl::Section::EXCEPTIONS;\n    }\n\n    throw Exception(\"IPC Server\", name, \"Invalid IPC typename to Access Control section translation request\");\n  }\n\n  void IPCServerPrivate::qbIPCBroadcastMessage(const IPC::MessageType* const message)\n  {\n    std::string payload;\n    message->SerializeToString(&payload);\n    struct qb_ipc_response_header hdr = { };\n    hdr.id = QB_IPC_MSG_USER_START + IPC::messageTypeNameToNumber(std::string(message->GetTypeName()));\n    hdr.size = sizeof hdr + payload.size();\n    hdr.error = 0;\n    struct iovec iov[2];\n    iov[0].iov_base = &hdr;\n    iov[0].iov_len = sizeof hdr;\n    iov[1].iov_base = (void*)payload.data();\n    iov[1].iov_len = payload.size();\n    qbIPCBroadcastData(iov, 2, messageTypeNameToAccessControlSection(std::string(message->GetTypeName())));\n    iov[0].iov_base = nullptr;\n    iov[1].iov_base = nullptr;\n  }\n\n  bool IPCServerPrivate::authenticateIPCConnectionDAC(uid_t uid, gid_t gid, IPCServer::AccessControl* const ac_ptr) const\n  {\n    USBGUARD_LOG(Trace) << \"uid=\" << uid << \" gid=\" << gid << \" ac_ptr=\" << ac_ptr;\n    bool matched_uid = matchACLByUID(uid, ac_ptr);\n    bool matched_gid = matchACLByGID(gid, ac_ptr);\n    bool matched_name = matchACLByName(uid, gid, ac_ptr);\n    return matched_uid || matched_gid || matched_name;\n  }\n\n  bool IPCServerPrivate::matchACLByUID(uid_t uid, IPCServer::AccessControl* const ac_ptr) const\n  {\n    USBGUARD_LOG(Trace) << \"uid=\" << uid << \" ac_ptr=\" << ac_ptr;\n    const auto& it = _allowed_uids.find(uid);\n\n    if (it == _allowed_uids.cend()) {\n      return false;\n    }\n\n    if (ac_ptr != nullptr) {\n      ac_ptr->merge(it->second);\n    }\n\n    USBGUARD_LOG(Trace) << \"matched\";\n    return true;\n  }\n\n  bool IPCServerPrivate::matchACLByGID(gid_t gid, IPCServer::AccessControl* const ac_ptr) const\n  {\n    USBGUARD_LOG(Trace) << \"gid=\" << gid << \" ac_ptr=\" << ac_ptr;\n    const auto& it = _allowed_gids.find(gid);\n\n    if (it == _allowed_gids.cend()) {\n      return false;\n    }\n\n    if (ac_ptr != nullptr) {\n      ac_ptr->merge(it->second);\n    }\n\n    USBGUARD_LOG(Trace) << \"matched\";\n    return true;\n  }\n\n  bool IPCServerPrivate::matchACLByName(uid_t uid, gid_t gid, IPCServer::AccessControl* const ac_ptr) const\n  {\n    USBGUARD_LOG(Trace) << \"uid=\" << uid << \" gid=\" << gid << \" ac_ptr=\" << ac_ptr;\n    bool matched = false;\n    const std::string uid_name = getNameFromUID(uid);\n    const bool check_uid_group_membership = !uid_name.empty();\n\n    if (!uid_name.empty()) {\n      const auto& it = _allowed_usernames.find(uid_name);\n\n      if (it != _allowed_usernames.cend()) {\n        if (ac_ptr != nullptr) {\n          ac_ptr->merge(it->second);\n        }\n\n        USBGUARD_LOG(Trace) << \"username matched: \" << uid_name;\n        matched = true;\n      }\n    }\n\n    const std::string gid_name = getNameFromGID(gid);\n\n    if (!gid_name.empty()) {\n      const auto& it = _allowed_groupnames.find(gid_name);\n\n      if (it != _allowed_groupnames.cend()) {\n        if (ac_ptr != nullptr) {\n          ac_ptr->merge(it->second);\n        }\n\n        USBGUARD_LOG(Trace) << \"groupname matched: \" << gid_name;\n        matched = true;\n      }\n    }\n\n    if (check_uid_group_membership) {\n      USBGUARD_LOG(Trace) << \"Checking UID group membership\";\n\n      /*\n       * Check against allowed GIDs\n       */\n      for (auto const& allowed_gid_entry : _allowed_gids) {\n        const auto& allowed_gid = allowed_gid_entry.first;\n        const std::vector<std::string> group_members = getGroupMemberNames(allowed_gid);\n\n        for (const auto& group_member : group_members) {\n          if (group_member == uid_name) {\n            if (ac_ptr != nullptr) {\n              ac_ptr->merge(allowed_gid_entry.second);\n            }\n\n            USBGUARD_LOG(Trace) << \"matched member of group with GID: \" << allowed_gid;\n            matched = true;\n          }\n        }\n      }\n\n      /*\n       * Check against allowed groupnames\n       */\n      for (auto const& allowed_groupnames_entry : _allowed_groupnames) {\n        const auto& allowed_groupname = allowed_groupnames_entry.first;\n        const std::vector<std::string> group_members = getGroupMemberNames(allowed_groupname);\n\n        for (const auto& group_member : group_members) {\n          if (group_member == uid_name) {\n            if (ac_ptr != nullptr) {\n              ac_ptr->merge(allowed_groupnames_entry.second);\n            }\n\n            USBGUARD_LOG(Trace) << \"matched member of group with name: \" << allowed_groupname;\n            matched = true;\n          }\n        }\n      }\n    } /* check_uid_group_membership */\n\n    /* TODO:\n     *  Cache final result for some time to prevent DoS.\n     *  IPC ACL doesn't change during runtime. Implement\n     *  cache use limit/expiration to prevent cache time\n     *  stretching.\n     */\n    return matched;\n  }\n\n  std::string IPCServerPrivate::getNameFromUID(uid_t uid)\n  {\n    std::string buffer(1024, 0);\n    struct passwd pw = { };\n    struct passwd* pwptr = nullptr;\n\n    if (getpwuid_r(uid, &pw, &buffer[0], buffer.capacity(), &pwptr) != 0) {\n      USBGUARD_LOG(Warning) << \"Unable to lookup username for uid=\" << uid << \": errno=\" << errno;\n      return std::string();\n    }\n\n    if (pwptr == nullptr || pw.pw_name == nullptr) {\n      USBGUARD_LOG(Info) << \"No username associated with uid=\" << uid;\n      return std::string();\n    }\n\n    return std::string(pw.pw_name);\n  }\n\n  std::string IPCServerPrivate::getNameFromGID(gid_t gid)\n  {\n    std::string buffer(4096, 0);\n    struct group gr = { };\n    struct group* grptr = nullptr;\n\n    if (getgrgid_r(gid, &gr, &buffer[0], buffer.capacity(), &grptr) != 0) {\n      USBGUARD_LOG(Warning) << \"Unable to lookup groupname for gid=\" << gid << \": errno=\" << errno;\n      return std::string();\n    }\n\n    if (grptr == nullptr || gr.gr_name == nullptr) {\n      USBGUARD_LOG(Info) << \"No groupname associated with gid=\" << gid;\n      return std::string();\n    }\n\n    return std::string(gr.gr_name);\n  }\n\n  std::vector<std::string> IPCServerPrivate::getGroupMemberNames(gid_t gid)\n  {\n    std::vector<std::string> names;\n    std::string buffer(4096, 0);\n    struct group gr = { };\n    struct group* grptr = nullptr;\n\n    if (getgrgid_r(gid, &gr, &buffer[0], buffer.capacity(), &grptr) != 0) {\n      USBGUARD_LOG(Warning) << \"Unable to fetch group members for gid=\" << gid << \": errno=\" << errno;\n      return std::vector<std::string>();\n    }\n\n    if (grptr == nullptr || gr.gr_name == nullptr) {\n      USBGUARD_LOG(Info) << \"No group associated with gid=\" << gid;\n      return std::vector<std::string>();\n    }\n\n    for (size_t i = 0; gr.gr_mem[i] != nullptr; ++i) {\n      names.emplace_back(std::string(gr.gr_mem[i]));\n    }\n\n    return names;\n  }\n\n  std::vector<std::string> IPCServerPrivate::getGroupMemberNames(const std::string& groupname)\n  {\n    std::vector<std::string> names;\n    std::string buffer(4096, 0);\n    struct group gr = { };\n    struct group* grptr = nullptr;\n\n    if (getgrnam_r(groupname.c_str(), &gr, &buffer[0], buffer.capacity(), &grptr) != 0) {\n      USBGUARD_LOG(Warning) << \"Unable to fetch group member names for groupname=\" << groupname << \": errno=\" << errno;\n      return std::vector<std::string>();\n    }\n\n    if (grptr == nullptr || gr.gr_name == nullptr) {\n      USBGUARD_LOG(Info) << \"Can't find group with name=\" << groupname;\n      return std::vector<std::string>();\n    }\n\n    for (size_t i = 0; gr.gr_mem[i] != nullptr; ++i) {\n      names.emplace_back(std::string(gr.gr_mem[i]));\n    }\n\n    return names;\n  }\n\n  IPC::MessagePointer IPCServerPrivate::handleIPCPayload(const uint32_t payload_type, const std::string& payload,\n    const IPCServer::AccessControl* const access_control)\n  {\n    const auto& handler_it = _handlers.find(payload_type);\n\n    if (handler_it == _handlers.end()) {\n      throw Exception(\"IPC connection\", \"IPC payload data\", \"Unknown payload type\");\n    }\n\n    auto& handler = handler_it->second;\n    /*\n     * Try to parse the IPC payload as a message of the\n     * specified type. If the parsing fails, the client will\n     * be disconnected.\n     */\n    IPC::MessagePointer message_in;\n    uint64_t request_id = 0;\n\n    try {\n      message_in = handler.payloadToMessage(payload);\n      request_id = IPC::getMessageHeaderID(*message_in);\n    }\n    catch (...) {\n      throw Exception(\"IPC connection\", \"IPC payload data\", \"Payload data parsing failed\");\n    }\n\n    if (!access_control->hasPrivilege(handler.section(), handler.privilege())) {\n      throw IPCException(\"IPC method\",\n        IPC::messageTypeNameFromNumber(payload_type),\n        \"Permission denied\",\n        request_id);\n    }\n\n    /*\n     * Try to run the handler. Exception thrown from inside the handler\n     * will be sent to the client.\n     */\n    try {\n      IPC::MessagePointer response;\n      handler.run(message_in, response);\n      return response;\n    }\n    catch (IPCException& exception) {\n      exception.setMessageID(request_id);\n      throw exception;\n    }\n    catch (const Exception& exception) {\n      throw IPCException(exception, request_id);\n    }\n    catch (const std::exception& exception) {\n      throw IPCException(\"IPC method\",\n        IPC::messageTypeNameFromNumber(payload_type),\n        exception.what(),\n        request_id);\n    }\n    catch (...) {\n      throw IPCException(\"IPC method\",\n        IPC::messageTypeNameFromNumber(payload_type),\n        \"BUG: Unexpected exception\",\n        request_id);\n    }\n  }\n\n  void IPCServerPrivate::handleAppendRule(IPC::MessagePointer& request, IPC::MessagePointer& response)\n  {\n    /*\n     * Get request field values.\n     */\n    const IPC::appendRule* const message_in = static_cast<const IPC::appendRule*>(request.get());\n    const std::string rule = message_in->request().rule();\n    const uint32_t parent_id = message_in->request().parent_id();\n    const bool permanent = message_in->request().permanent();\n    /*\n     * Execute the method.\n     */\n    const uint32_t id = _p_instance.appendRule(rule, parent_id, permanent);\n    /*\n     * Construct the response.\n     */\n    IPC::appendRule* const message_out = message_in->New();\n    message_out->MergeFrom(*message_in);\n    message_out->mutable_response()->set_id(id);\n    response.reset(message_out);\n  }\n\n  void IPCServerPrivate::handleRemoveRule(IPC::MessagePointer& request, IPC::MessagePointer& response)\n  {\n    /*\n     * Get request field values.\n     */\n    const IPC::removeRule* const message_in = static_cast<const IPC::removeRule*>(request.get());\n    const uint32_t id = message_in->request().id();\n    /*\n     * Execute the method.\n     */\n    _p_instance.removeRule(id);\n    /*\n     * Construct the response.\n     */\n    IPC::removeRule* const message_out = message_in->New();\n    message_out->MergeFrom(*message_in);\n    message_out->mutable_response()->set_id(id);\n    response.reset(message_out);\n  }\n\n  void IPCServerPrivate::handleListRules(IPC::MessagePointer& request, IPC::MessagePointer& response)\n  {\n    /*\n     * Get request field values.\n     */\n    const IPC::listRules* const message_in = static_cast<const IPC::listRules*>(request.get());\n    const std::string label = message_in->request().label();\n    /*\n     * Execute the method.\n     */\n    auto rules = _p_instance.listRules(label);\n    /*\n     * Construct the response.\n     */\n    IPC::listRules* const message_out = message_in->New();\n    message_out->MergeFrom(*message_in);\n\n    for (const auto& rule : rules) {\n      auto message_rule = message_out->mutable_response()->add_rules();\n      message_rule->set_id(rule.getRuleID());\n      message_rule->set_rule(rule.toString());\n    }\n\n    response.reset(message_out);\n  }\n\n  void IPCServerPrivate::handleApplyDevicePolicy(IPC::MessagePointer& request, IPC::MessagePointer& response)\n  {\n    /*\n     * Get request field values.\n     */\n    const IPC::applyDevicePolicy* const message_in = static_cast<const IPC::applyDevicePolicy*>(request.get());\n    const uint32_t id = message_in->request().id();\n    const Rule::Target target = Rule::targetFromInteger(message_in->request().target());\n    const bool permanent = message_in->request().permanent();\n    /*\n     * Execute the method.\n     */\n    const uint32_t rule_id = _p_instance.applyDevicePolicy(id, target, permanent);\n    /*\n     * Construct the response.\n     */\n    IPC::applyDevicePolicy* const message_out = message_in->New();\n    IPC::MessagePointer response_local(message_out);\n    message_out->MergeFrom(*message_in);\n    message_out->mutable_response()->set_rule_id(rule_id);\n    response = std::move(response_local);\n  }\n\n  void IPCServerPrivate::handleListDevices(IPC::MessagePointer& request, IPC::MessagePointer& response)\n  {\n    /*\n     * Get request field values.\n     */\n    const IPC::listDevices* const message_in = static_cast<const IPC::listDevices*>(request.get());\n    const std::string query = message_in->request().query();\n    /*\n     * Execute the method.\n     */\n    auto device_rules = _p_instance.listDevices(query);\n    /*\n     * Construct the response.\n     */\n    IPC::listDevices* const message_out = message_in->New();\n    message_out->MergeFrom(*message_in);\n    message_out->mutable_response()->Clear();\n\n    for (const auto& device_rule : device_rules) {\n      auto message_rule = message_out->mutable_response()->add_devices();\n      message_rule->set_id(device_rule.getRuleID());\n      message_rule->set_rule(device_rule.toString());\n    }\n\n    response.reset(message_out);\n  }\n\n  void IPCServerPrivate::handleSetParameter(IPC::MessagePointer& request, IPC::MessagePointer& response)\n  {\n    /*\n     * Get request field values.\n     */\n    const IPC::setParameter* const message_in = static_cast<const IPC::setParameter*>(request.get());\n    const std::string name = message_in->request().name();\n    const std::string value = message_in->request().value();\n    /*\n     * Execute the method.\n     */\n    auto previous_value = _p_instance.setParameter(name, value);\n    /*\n     * Construct the response.\n     */\n    IPC::setParameter* const message_out = message_in->New();\n    message_out->MergeFrom(*message_in);\n    message_out->mutable_response()->set_value(previous_value);\n    response.reset(message_out);\n  }\n\n  void IPCServerPrivate::handleGetParameter(IPC::MessagePointer& request, IPC::MessagePointer& response)\n  {\n    const IPC::getParameter* const message_in = static_cast<const IPC::getParameter*>(request.get());\n    const std::string name = message_in->request().name();\n    auto value = _p_instance.getParameter(name);\n    IPC::getParameter* const message_out = message_in->New();\n    message_out->MergeFrom(*message_in);\n    message_out->mutable_response()->set_value(value);\n    response.reset(message_out);\n  }\n\n  void IPCServerPrivate::handleCheckIPCPermissions(IPC::MessagePointer& request, IPC::MessagePointer& response)\n  {\n    const IPC::checkIPCPermissions* const message_in = static_cast<const IPC::checkIPCPermissions*>(request.get());\n    uid_t uid = message_in->request().uid();\n    gid_t gid = message_in->request().gid();\n    IPCServer::AccessControl access_control = IPCServer::AccessControl();\n    const bool auth = qbIPCConnectionAllowed(uid, gid, &access_control);\n    IPCServer::AccessControl::Section section = IPCServer::AccessControl::sectionFromString(message_in->request().section());\n    IPCServer::AccessControl::Privilege privilege = IPCServer::AccessControl::privilegeFromString(\n        message_in->request().privilege());\n    const bool permit = auth && access_control.hasPrivilege(section, privilege);\n    IPC::checkIPCPermissions* const message_out = message_in->New();\n    message_out->MergeFrom(*message_in);\n    message_out->mutable_response()->set_permit(permit);\n    response.reset(message_out);\n  }\n\n  void IPCServerPrivate::DevicePresenceChanged(uint32_t id,\n    DeviceManager::EventType event,\n    Rule::Target target,\n    const std::string& device_rule)\n  {\n    IPC::DevicePresenceChangedSignal signal;\n    signal.set_id(id);\n    signal.set_event(DeviceManager::eventTypeToInteger(event));\n    signal.set_target(Rule::targetToInteger(target));\n    signal.set_device_rule(device_rule);\n    qbIPCBroadcastMessage(&signal);\n  }\n\n  void IPCServerPrivate::DevicePolicyChanged(uint32_t id,\n    Rule::Target target_old,\n    Rule::Target target_new,\n    const std::string& device_rule,\n    uint32_t rule_id)\n  {\n    IPC::DevicePolicyChangedSignal signal;\n    signal.set_id(id);\n    signal.set_target_old(Rule::targetToInteger(target_old));\n    signal.set_target_new(Rule::targetToInteger(target_new));\n    signal.set_device_rule(device_rule);\n    signal.set_rule_id(rule_id);\n    qbIPCBroadcastMessage(&signal);\n  }\n\n  void IPCServerPrivate::DevicePolicyApplied(uint32_t id,\n    Rule::Target target_new,\n    const std::string& device_rule,\n    uint32_t rule_id)\n  {\n    IPC::DevicePolicyAppliedSignal signal;\n    signal.set_id(id);\n    signal.set_target_new(Rule::targetToInteger(target_new));\n    signal.set_device_rule(device_rule);\n    signal.set_rule_id(rule_id);\n    qbIPCBroadcastMessage(&signal);\n  }\n\n  void IPCServerPrivate::PropertyParameterChanged(const std::string& name,\n    const std::string& value_old,\n    const std::string& value_new)\n  {\n    IPC::PropertyParameterChangedSignal signal;\n    signal.set_name(name);\n    signal.set_value_old(value_old);\n    signal.set_value_new(value_new);\n    qbIPCBroadcastMessage(&signal);\n  }\n\n  void IPCServerPrivate::ExceptionMessage(const std::string& context,\n    const std::string& object,\n    const std::string& reason,\n    uint64_t request_id)\n  {\n    IPC::Exception exception;\n    exception.set_context(context);\n    exception.set_object(object);\n    exception.set_reason(reason);\n\n    if (request_id > 0) {\n      exception.set_request_id(request_id);\n    }\n\n    qbIPCBroadcastMessage(&exception);\n  }\n\n  void IPCServerPrivate::addAllowedUID(uid_t uid, const IPCServer::AccessControl& ac)\n  {\n    _allowed_uids.emplace(uid, ac);\n  }\n\n  void IPCServerPrivate::addAllowedGID(gid_t gid, const IPCServer::AccessControl& ac)\n  {\n    _allowed_gids.emplace(gid, ac);\n  }\n\n  void IPCServerPrivate::addAllowedUsername(const std::string& username, const IPCServer::AccessControl& ac)\n  {\n    _allowed_usernames.emplace(username, ac);\n  }\n\n  void IPCServerPrivate::addAllowedGroupname(const std::string& groupname, const IPCServer::AccessControl& ac)\n  {\n    _allowed_groupnames.emplace(groupname, ac);\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/IPCServerPrivate.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"IPCPrivate.hpp\"\n#include \"Common/Thread.hpp\"\n\n#include \"Devices.pb.h\"\n#include \"Policy.pb.h\"\n#include \"Exception.pb.h\"\n#include \"Parameter.pb.h\"\n\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/IPCServer.hpp\"\n\n#include <map>\n#include <mutex>\n#include <future>\n\n#include <qb/qbipcs.h>\n#include <qb/qbloop.h>\n\nnamespace usbguard\n{\n  class IPCServerPrivate\n  {\n    using MessageHandler = IPC::MessageHandler<IPCServerPrivate>;\n\n  public:\n    IPCServerPrivate(IPCServer& p_instance);\n    ~IPCServerPrivate();\n\n    void start();\n    void stop();\n\n    void DevicePresenceChanged(uint32_t id,\n      DeviceManager::EventType event,\n      Rule::Target target,\n      const std::string& device_rule);\n\n    void DevicePolicyChanged(uint32_t id,\n      Rule::Target target_old,\n      Rule::Target target_new,\n      const std::string& device_rule,\n      uint32_t rule_id);\n\n    void DevicePolicyApplied(uint32_t id,\n      Rule::Target target_new,\n      const std::string& device_rule,\n      uint32_t rule_id);\n\n    void PropertyParameterChanged(const std::string& name,\n      const std::string& value_old,\n      const std::string& value_new);\n\n    void ExceptionMessage(const std::string& context,\n      const std::string& object,\n      const std::string& reason,\n      uint64_t request_id = 0);\n\n    void addAllowedUID(uid_t uid, const IPCServer::AccessControl& ac);\n    void addAllowedGID(gid_t gid, const IPCServer::AccessControl& ac);\n    void addAllowedUsername(const std::string& username, const IPCServer::AccessControl& ac);\n    void addAllowedGroupname(const std::string& groupname, const IPCServer::AccessControl& ac);\n\n  private:\n    struct ClientContext {\n      IPCServer::AccessControl access_control;\n      std::mutex mutex;\n    };\n\n    void initIPC();\n    void finiIPC();\n\n    void thread();\n    void wakeup();\n    void destruct();\n\n    static int32_t qbPollWakeupFn(int32_t fd, int32_t revents, void* data);\n    static int32_t qbIPCConnectionAcceptFn(qb_ipcs_connection_t*, uid_t, gid_t);\n    static void qbIPCConnectionCreatedFn(qb_ipcs_connection_t*);\n    static void qbIPCConnectionDestroyedFn(qb_ipcs_connection_t*);\n    static int32_t qbIPCConnectionClosedFn(qb_ipcs_connection_t*);\n    static int32_t qbIPCMessageProcessFn(qb_ipcs_connection_t*, void*, size_t);\n\n    static int32_t qbIPCJobAdd(enum qb_loop_priority p, void* data, qb_loop_job_dispatch_fn fn);\n    static int32_t qbIPCDispatchAdd(enum qb_loop_priority p, int32_t fd, int32_t evts, void* data, qb_ipcs_dispatch_fn_t fn);\n    static int32_t qbIPCDispatchMod(enum qb_loop_priority p, int32_t fd, int32_t evts, void* data, qb_ipcs_dispatch_fn_t fn);\n    static int32_t qbIPCDispatchDel(int32_t fd);\n    static int32_t qbIPCConnectionClientPID(qb_ipcs_connection_t* connection);\n\n    bool hasACLEntries() const;\n    bool qbIPCConnectionAllowed(uid_t uid, gid_t gid, IPCServer::AccessControl* const ac_ptr) const;\n    bool authenticateIPCConnectionDAC(uid_t uid, gid_t gid, IPCServer::AccessControl* const ac_ptr = nullptr) const;\n\n    bool matchACLByUID(uid_t uid, IPCServer::AccessControl* const ac_ptr) const;\n    bool matchACLByGID(gid_t gid, IPCServer::AccessControl* const ac_ptr) const;\n    bool matchACLByName(uid_t uid, gid_t gid, IPCServer::AccessControl* const ac_ptr) const;\n\n    static std::string getNameFromUID(uid_t uid);\n    static std::string getNameFromGID(gid_t gid);\n    static std::vector<std::string> getGroupMemberNames(gid_t gid);\n    static std::vector<std::string> getGroupMemberNames(const std::string& groupname);\n\n    static void qbIPCSendMessage(qb_ipcs_connection_t* qb_conn, const IPC::MessagePointer& message);\n    static IPCServer::AccessControl::Section messageTypeNameToAccessControlSection(const std::string& name);\n    void qbIPCBroadcastData(const struct iovec* iov, size_t iov_len, IPCServer::AccessControl::Section section);\n    void qbIPCBroadcastMessage(const IPC::MessagePointer& message);\n    void qbIPCBroadcastMessage(const IPC::MessageType* message);\n\n    IPC::MessagePointer handleIPCPayload(const uint32_t payload_type, const std::string& payload,\n      const IPCServer::AccessControl* const access_control);\n\n    template<class T>\n    void registerHandler(MessageHandler::HandlerType method, IPCServer::AccessControl::Section section,\n      IPCServer::AccessControl::Privilege privilege)\n    {\n      const uint32_t type_number = IPC::messageTypeNameToNumber(std::string(T::default_instance().GetTypeName()));\n      _handlers.emplace(type_number, MessageHandler::create<T>(*this, method, section, privilege));\n    }\n\n    void handleAppendRule(IPC::MessagePointer& request, IPC::MessagePointer& response);\n    void handleRemoveRule(IPC::MessagePointer& request, IPC::MessagePointer& response);\n    void handleListRules(IPC::MessagePointer& request, IPC::MessagePointer& response);\n\n    void handleApplyDevicePolicy(IPC::MessagePointer& request, IPC::MessagePointer& response);\n    void handleListDevices(IPC::MessagePointer& request, IPC::MessagePointer& response);\n\n    void handleSetParameter(IPC::MessagePointer& request, IPC::MessagePointer& response);\n    void handleGetParameter(IPC::MessagePointer& request, IPC::MessagePointer& response);\n\n    void handleCheckIPCPermissions(IPC::MessagePointer& request, IPC::MessagePointer& response);\n\n    IPCServer& _p_instance;\n\n    qb_loop_t* _qb_loop;\n    qb_ipcs_service_t* _qb_service;\n    int _wakeup_fd;\n\n    std::unordered_map<uid_t, IPCServer::AccessControl> _allowed_uids;\n    std::unordered_map<gid_t, IPCServer::AccessControl> _allowed_gids;\n    std::unordered_map<std::string, IPCServer::AccessControl> _allowed_usernames;\n    std::unordered_map<std::string, IPCServer::AccessControl> _allowed_groupnames;\n\n    Thread<IPCServerPrivate> _thread;\n\n    std::unordered_map<uint32_t, MessageHandler> _handlers;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/Init.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"IPCServerPrivate.hpp\"\n#include \"IPCClientPrivate.hpp\"\n\n#if defined(USBGUARD_USE_LIBSODIUM)\n  #include <sodium.h>\n#endif\n#if defined(USBGUARD_USE_LIBGCRYPT)\n  #include <gcrypt.h>\n#endif\n\n#include <stdexcept>\n#include <clocale>\n\nnamespace usbguard\n{\n  class LibraryInit\n  {\n  public:\n    LibraryInit()\n    {\n      std::setlocale(LC_NUMERIC, \"C\");\n      /*\n       * FIXME: Provide a mechanism to disable the crypto library\n       * initialization as it might interfere with initialization\n       * done by third-party applications.\n       *\n       * gcrypt: whether initialization was performed or not can\n       * be queried using:\n       *  gcry_control(GCRYCTL_INITIALIZATION_FINISHED_P, 0);\n       */\n#if defined(USBGUARD_USE_LIBSODIUM)\n\n      if (sodium_init() == -1) {\n        throw std::runtime_error(\"Cannot initialize the sodium library\");\n      }\n\n#endif\n#if defined(USBGUARD_USE_LIBGCRYPT)\n\n      if (!gcry_check_version(GCRYPT_VERSION)) {\n        throw std::runtime_error(\"Cannot initialize the gcrypt library\");\n      }\n\n      gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0);\n#endif\n    }\n\n    ~LibraryInit()\n    {\n      google::protobuf::ShutdownProtobufLibrary();\n    }\n  };\n\n  static LibraryInit library_init;\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/KeyValueParserPrivate.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Marek Tamaskovic <mtamasko@redhat.com>\n//          Radovan Sroka <rsroka@redhat.com>\n//\n\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"Common/Utility.hpp\"\n#include \"usbguard/Exception.hpp\"\n#include \"usbguard/Logger.hpp\"\n\n#include \"usbguard/KeyValueParser.hpp\"\n#include \"KeyValueParserPrivate.hpp\"\n\n#include <locale>\n\nnamespace usbguard\n{\n  /**\n  * NOTE:\n  * vector v should have strings UPPERCASE when case insensitive mode was enabled\n  */\n  KeyValueParserPrivate::KeyValueParserPrivate(KeyValueParser& p_instance, const std::vector<std::string>& v,\n    const std::string& sep, bool case_sensitive, bool validate_keys):\n    _keys(v), _separator(sep), _p_instance(p_instance), _case_sensitive(case_sensitive), _validate_keys(validate_keys)\n  {\n    (void)_p_instance;\n  }\n\n  KeyValueParserPrivate::KeyValueParserPrivate(KeyValueParser& p_instance, const std::vector<std::string>& v,\n    bool case_sensitive, bool validate_keys):\n    KeyValueParserPrivate(p_instance, v, \"=\", case_sensitive, validate_keys) {}\n\n  void KeyValueParserPrivate::viewConfig()\n  {\n    USBGUARD_LOG(Info) << \"separator -> \" << this->_separator;\n    USBGUARD_LOG(Info) << \"keys:\";\n\n    for (auto item : this->_keys) {\n      USBGUARD_LOG(Info) << \"--->\"<< item;\n    }\n  }\n\n  std::pair<std::string, std::string> KeyValueParserPrivate::parseLine(std::string& str)\n  {\n    std::string::size_type sep_pos;\n    std::string key, val;\n    sep_pos = str.find(this->_separator);\n\n    if (sep_pos == std::string::npos) {\n      throw Exception(\"KeyValueParser\", \"Parser\", \"Separator not found: syntax error\");\n    }\n    else {\n      key = str.substr(0, sep_pos);\n      val = str.substr(sep_pos + 1);\n      key = trim(key);\n      val = trim(val);\n\n      if (!this->_case_sensitive) {\n        for (size_t i = 0 ; i < key.length() ; i++) {\n          key[i] = std::toupper(key[i], this->_loc);\n        }\n      }\n\n      if (_validate_keys && this->checkKeyValidity(key)) {\n        USBGUARD_LOG(Error) << \"Error: parsed key is not in key set: '\" << key << \"'\";\n        throw Exception(\"KeyValueParser\", \"Parser\", \"Invalid key\");\n      }\n      else {\n        return std::make_pair(key, val);\n      }\n    }\n  }\n\n  void KeyValueParserPrivate::parseStream(std::istream& stream)\n  {\n    std::map<std::string, std::string> m;\n    std::map<std::string, std::string>::iterator it;\n    std::string line;\n\n    while ( getline (stream, line) ) {\n      if ((line.size() < 1) || (line[0] == '#')) {\n        continue;\n      }\n\n      auto p = this->parseLine(line);\n      it = m.find(p.first);\n\n      if (it != m.end()) {\n        m.emplace(p.first, p.second);\n      }\n      else {\n        m[p.first] = p.second;\n      }\n    }\n\n    this->_output_map = std::move(m);\n  }\n\n  bool KeyValueParserPrivate::checkKeyValidity(const std::string& key)\n  {\n    for (auto a: this->_keys) {\n      if (!key.compare(a)) {\n        return false;\n      }\n    }\n\n    return true;\n  }\n\n  std::map<std::string, std::string> KeyValueParserPrivate::getMap()\n  {\n    return this->_output_map;\n  }\n\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/KeyValueParserPrivate.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Marek Tamaskovic <mtamasko@redhat.com>\n//          Radovan Sroka <rsroka@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include <iostream>\n#include <vector>\n#include <string>\n#include <istream>\n#include <map>\n#include <memory>\n#include <locale>\n\n#include \"usbguard/KeyValueParser.hpp\"\n\nnamespace usbguard\n{\n\n  class KeyValueParserPrivate\n  {\n    std::vector<std::string> _keys;\n    std::string _separator {\"\"};\n    std::map<std::string, std::string> _output_map;\n\n    KeyValueParser& _p_instance;\n\n    std::locale _loc;\n    bool _case_sensitive;\n    bool _validate_keys;\n\n    bool checkKeyValidity(const std::string& key);\n\n  public:\n    KeyValueParserPrivate(KeyValueParser& p_instance, const std::vector<std::string>& v, bool case_sensitive, bool validate_keys);\n    KeyValueParserPrivate(KeyValueParser& p_instance, const std::vector<std::string>& v, const std::string& sep,\n      bool case_sensitive, bool validate_keys);\n    std::pair<std::string, std::string> parseLine(std::string& str);\n    void parseStream(std::istream& stream);\n    std::map<std::string, std::string> getMap();\n    void viewConfig();\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/LocaltimeCondition.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"LocaltimeCondition.hpp\"\n#include \"Common/Utility.hpp\"\n\n#include \"usbguard/RuleParser.hpp\"\n\n#ifndef _XOPEN_SOURCE\n  #define _XOPEN_SOURCE\n  #include <ctime>\n#endif\n\nnamespace usbguard\n{\n  LocaltimeCondition::LocaltimeCondition(const std::string& time_range, bool negated)\n    : RuleConditionBase(\"localtime\", time_range, negated)\n  {\n    std::string time_begin;\n    std::string time_end;\n    const size_t dash_pos = time_range.find('-');\n\n    if (dash_pos == std::string::npos) {\n      time_begin = time_range;\n    }\n    else {\n      time_begin = time_range.substr(0, dash_pos);\n      time_end = time_range.substr(dash_pos + 1);\n    }\n\n    _daytime_begin = stringToDaytime(time_begin);\n\n    if (!time_end.empty()) {\n      _daytime_end = stringToDaytime(time_end);\n    }\n    else {\n      _daytime_end = _daytime_begin;\n    }\n\n    if (_daytime_begin > _daytime_end) {\n      throw Exception(\"LocaltimeCondition\", \"Invalid time range (begin > end)\", time_range);\n    }\n  }\n\n  LocaltimeCondition::LocaltimeCondition(const LocaltimeCondition& rhs)\n    : RuleConditionBase(rhs)\n  {\n    _daytime_begin = rhs._daytime_begin;\n    _daytime_end = rhs._daytime_end;\n  }\n\n  bool LocaltimeCondition::update(const Rule& rule)\n  {\n    USBGUARD_LOG(Trace);\n    (void)rule;\n    const auto tp_now = std::chrono::system_clock::now();\n    const auto daytime = std::chrono::system_clock::to_time_t(tp_now) % 86400;\n    USBGUARD_LOG(Trace) << \"daytime=\" << daytime\n      << \" daytime_begin=\" << _daytime_begin\n      << \" daytime_end=\" << _daytime_end;\n    return (daytime >= _daytime_begin && daytime <= _daytime_end);\n  }\n\n  RuleConditionBase* LocaltimeCondition::clone() const\n  {\n    return new LocaltimeCondition(*this);\n  }\n\n  std::string LocaltimeCondition::tmToString(const struct tm* const tm)\n  {\n    std::string tm_string;\n    tm_string.append(\"{ tm.tm_sec=\");\n    tm_string.append(numberToString(tm->tm_sec));\n    tm_string.append(\" tm.tm_min=\");\n    tm_string.append(numberToString(tm->tm_min));\n    tm_string.append(\" tm.tm_hour=\");\n    tm_string.append(numberToString(tm->tm_hour));\n    tm_string.append(\" tm.tm_mday=\");\n    tm_string.append(numberToString(tm->tm_mday));\n    tm_string.append(\" tm.tm_mon=\");\n    tm_string.append(numberToString(tm->tm_mon));\n    tm_string.append(\" tm.tm_year=\");\n    tm_string.append(numberToString(tm->tm_year));\n    tm_string.append(\" tm.tm_wday=\");\n    tm_string.append(numberToString(tm->tm_wday));\n    tm_string.append(\" tm.tm_yday=\");\n    tm_string.append(numberToString(tm->tm_yday));\n    tm_string.append(\" tm.tm_isdst=\");\n    tm_string.append(numberToString(tm->tm_isdst));\n    tm_string.append(\" }\");\n    return tm_string;\n  }\n\n  std::time_t LocaltimeCondition::stringToDaytime(const std::string& string)\n  {\n    USBGUARD_LOG(Trace) << \"string=\" << string;\n    struct ::tm tm = { };\n\n    if (::strptime(string.c_str(), \"%H:%M:%s\", &tm) == nullptr) {\n      if (::strptime(string.c_str(), \"%H:%M\", &tm) == nullptr) {\n        throw Exception(\"LocaltimeCondition\", \"Invalid time or range format\", string);\n      }\n    }\n\n    USBGUARD_LOG(Trace) << \"tm=\" << tmToString(&tm);\n    return tm.tm_sec + 60*tm.tm_min + 60*60*tm.tm_hour;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/LocaltimeCondition.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/RuleCondition.hpp\"\n\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/Rule.hpp\"\n\n#include <chrono>\n#include <string>\n\nnamespace usbguard\n{\n  class LocaltimeCondition : public RuleConditionBase\n  {\n  public:\n    LocaltimeCondition(const std::string& time_range, bool negated = false);\n    LocaltimeCondition(const LocaltimeCondition& rhs);\n    bool update(const Rule& rule);\n    RuleConditionBase* clone() const;\n\n  protected:\n    static std::time_t stringToDaytime(const std::string& string);\n    static std::string tmToString(const struct ::tm* const tm);\n\n  private:\n    std::time_t _daytime_begin;\n    std::time_t _daytime_end;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/RandomStateCondition.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"RandomStateCondition.hpp\"\n\n#include \"usbguard/RuleParser.hpp\"\n\n#include <string>\n\nnamespace usbguard\n{\n  RandomStateCondition::RandomStateCondition(const std::string& true_probability, bool negated)\n    : RuleConditionBase(\"random\", true_probability, negated),\n      _rng_gen(_rng_device()),\n      _true_probability(true_probability.empty() ? 0.5 : std::stod(true_probability)),\n      _rng_dist(_true_probability)\n  {\n  }\n\n  RandomStateCondition::RandomStateCondition(const RandomStateCondition& rhs)\n    : RuleConditionBase(rhs),\n      _rng_gen(_rng_device()),\n      _true_probability(rhs._true_probability),\n      _rng_dist(_true_probability)\n  {\n  }\n\n  bool RandomStateCondition::update(const Rule& rule)\n  {\n    (void)rule;\n    return _rng_dist(_rng_gen);\n  }\n\n  RuleConditionBase* RandomStateCondition::clone() const\n  {\n    return new RandomStateCondition(*this);\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/RandomStateCondition.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/Rule.hpp\"\n\n#include \"usbguard/RuleCondition.hpp\"\n\n#include <random>\n\nnamespace usbguard\n{\n  class RandomStateCondition : public RuleConditionBase\n  {\n  public:\n    RandomStateCondition(const std::string& true_probability, bool negated = false);\n    RandomStateCondition(const RandomStateCondition& rhs);\n    bool update(const Rule& rule);\n    RuleConditionBase* clone() const;\n  private:\n    std::random_device _rng_device;\n    std::mt19937 _rng_gen;\n    double _true_probability;\n    std::bernoulli_distribution _rng_dist;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/RuleAppliedCondition.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"RuleAppliedCondition.hpp\"\n#include \"RulePrivate.hpp\"\n\n#include \"usbguard/RuleParser.hpp\"\n\n#include <string>\n#ifndef _XOPEN_SOURCE\n  #define _XOPEN_SOURCE\n  #include <ctime>\n#endif\n\nnamespace usbguard\n{\n  RuleAppliedCondition::RuleAppliedCondition(const std::string& elapsed_time, bool negated)\n    : RuleConditionBase(\"rule-applied\", elapsed_time, negated)\n  {\n    _elapsed_time = std::chrono::steady_clock::duration(stringToSeconds(elapsed_time));\n  }\n\n  RuleAppliedCondition::RuleAppliedCondition(const RuleAppliedCondition& rhs)\n    : RuleConditionBase(rhs),\n      _elapsed_time(rhs._elapsed_time)\n  {\n  }\n\n  bool RuleAppliedCondition::update(const Rule& rule)\n  {\n    if (rule.internal()->metadata().counter_applied > 0) {\n      if (_elapsed_time == std::chrono::steady_clock::duration::zero()) {\n        return true;\n      }\n      else {\n        const auto last_applied_duration = std::chrono::steady_clock::now() \\\n          - rule.internal()->metadata().tp_last_applied;\n\n        if (last_applied_duration <= _elapsed_time) {\n          return true;\n        }\n      }\n    }\n\n    return false;\n  }\n\n  RuleConditionBase* RuleAppliedCondition::clone() const\n  {\n    return new RuleAppliedCondition(*this);\n  }\n\n  uint64_t RuleAppliedCondition::stringToSeconds(const std::string& string)\n  {\n    struct ::tm tm = { };\n\n    if (string.empty() || string == \"\") {\n      return 0;\n    }\n\n    if (::strptime(string.c_str(), \"%H:%M:%s\", &tm) == nullptr) {\n      if (::strptime(string.c_str(), \"%H:%M\", &tm) == nullptr) {\n        if (::strptime(string.c_str(), \"%s\", &tm) == nullptr) {\n          throw std::runtime_error(\"Invalid time string. Expecing either HH:MM or HH:MM:SS format.\");\n        }\n      }\n    }\n\n    return tm.tm_sec + 60*tm.tm_min + 60*60*tm.tm_hour;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/RuleAppliedCondition.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/RuleCondition.hpp\"\n\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/Rule.hpp\"\n\n#include <chrono>\n\nnamespace usbguard\n{\n  class RuleAppliedCondition : public RuleConditionBase\n  {\n  public:\n    RuleAppliedCondition(const std::string& elapsed_time, bool negated = false);\n    RuleAppliedCondition(const RuleAppliedCondition& rhs);\n    bool update(const Rule& rule);\n    RuleConditionBase* clone() const;\n  protected:\n    static uint64_t stringToSeconds(const std::string& string);\n  private:\n    std::chrono::steady_clock::duration _elapsed_time;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/RuleEvaluatedCondition.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"RuleEvaluatedCondition.hpp\"\n#include \"RulePrivate.hpp\"\n\n#include \"usbguard/RuleParser.hpp\"\n\n#include <string>\n\n#ifndef _XOPEN_SOURCE\n  #define _XOPEN_SOURCE\n  #include <ctime>\n#endif\n\nnamespace usbguard\n{\n  RuleEvaluatedCondition::RuleEvaluatedCondition(const std::string& elapsed_time, bool negated)\n    : RuleConditionBase(\"rule-applied\", elapsed_time, negated)\n  {\n    _elapsed_time = std::chrono::steady_clock::duration(stringToSeconds(elapsed_time));\n  }\n\n  RuleEvaluatedCondition::RuleEvaluatedCondition(const RuleEvaluatedCondition& rhs)\n    : RuleConditionBase(rhs),\n      _elapsed_time(rhs._elapsed_time)\n  {\n  }\n\n  bool RuleEvaluatedCondition::update(const Rule& rule)\n  {\n    if (rule.internal()->metadata().counter_evaluated > 0) {\n      if (_elapsed_time == std::chrono::steady_clock::duration::zero()) {\n        return true;\n      }\n      else {\n        const auto last_evaluated_duration = std::chrono::steady_clock::now() \\\n          - rule.internal()->metadata().tp_last_evaluated;\n\n        if (last_evaluated_duration <= _elapsed_time) {\n          return true;\n        }\n      }\n    }\n\n    return false;\n  }\n\n  RuleConditionBase* RuleEvaluatedCondition::clone() const\n  {\n    return new RuleEvaluatedCondition(*this);\n  }\n\n  uint64_t RuleEvaluatedCondition::stringToSeconds(const std::string& string)\n  {\n    struct ::tm tm = { };\n\n    if (string.empty() || string == \"\") {\n      return 0;\n    }\n\n    if (::strptime(string.c_str(), \"%H:%M:%s\", &tm) == nullptr) {\n      if (::strptime(string.c_str(), \"%H:%M\", &tm) == nullptr) {\n        if (::strptime(string.c_str(), \"%s\", &tm) == nullptr) {\n          throw std::runtime_error(\"Invalid time string. Expecing either HH:MM, HH:MM:SS or SS format.\");\n        }\n      }\n    }\n\n    return tm.tm_sec + 60*tm.tm_min + 60*60*tm.tm_hour;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/RuleEvaluatedCondition.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/RuleCondition.hpp\"\n\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/Rule.hpp\"\n\n#include <chrono>\n\nnamespace usbguard\n{\n  class RuleEvaluatedCondition : public RuleConditionBase\n  {\n  public:\n    RuleEvaluatedCondition(const std::string& elapsed_time, bool negated = false);\n    RuleEvaluatedCondition(const RuleEvaluatedCondition& rhs);\n    bool update(const Rule& rule);\n    RuleConditionBase* clone() const;\n  protected:\n    static uint64_t stringToSeconds(const std::string& string);\n  private:\n    std::chrono::steady_clock::duration _elapsed_time;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/RuleParser/Actions.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"Utility.hpp\"\n#include \"Common/Utility.hpp\"\n\n#include <tao/pegtl.hpp>\n\nnamespace usbguard\n{\n  namespace RuleParser\n  {\n    struct comment;\n    struct target;\n    struct device_id;\n    struct device_id_value;\n    struct string_value;\n    struct multiset_operator;\n    struct interface_value;\n    struct condition;\n    struct str_name;\n    struct str_hash;\n    struct str_parent_hash;\n    struct str_serial;\n    struct str_id;\n    struct str_via_port;\n    struct str_with_interface;\n    struct str_with_connect_type;\n    struct str_if;\n\n    template<typename Rule>\n    struct rule_parser_actions : tao::pegtl::nothing<Rule> {};\n\n    template<>\n    struct rule_parser_actions<comment> {\n      static void apply0(Rule& rule)\n      {\n        if (rule.getTarget() == Rule::Target::Invalid) {\n          rule.setTarget(Rule::Target::Empty);\n        }\n      }\n    };\n\n    template<>\n    struct rule_parser_actions<target> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          rule.setTarget(Rule::targetFromString(in.string()));\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template<>\n    struct rule_parser_actions<device_id> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          std::vector<std::string> tokens;\n          tokenizeString(in.string(), tokens, \":\");\n          const USBDeviceID device_id(tokens[0], tokens[1]);\n          rule.setDeviceID(device_id);\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    static const std::string stringValueFromRule(const std::string& value)\n    {\n      const std::string string_raw(value.substr(1, value.size() - 2));\n      return Utility::unescapeString(string_raw);\n    }\n\n    template<typename Rule>\n    struct name_actions : tao::pegtl::nothing<Rule> {};\n\n    template<>\n    struct name_actions<str_name> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        if (!rule.attributeName().empty()) {\n          throw tao::pegtl::parse_error(\"name attribute already defined\", in);\n        }\n      }\n    };\n\n    template<>\n    struct name_actions<string_value> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          rule.attributeName().append(stringValueFromRule(in.string()));\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template<>\n    struct name_actions<multiset_operator> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          rule.attributeName().setSetOperator(Rule::setOperatorFromString(in.string()));\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template<typename Rule>\n    struct id_actions : tao::pegtl::nothing<Rule> {};\n\n    template<>\n    struct id_actions<str_id> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        if (!rule.attributeDeviceID().empty()) {\n          throw tao::pegtl::parse_error(\"id attribute already defined\", in);\n        }\n      }\n    };\n\n    template<>\n    struct id_actions<device_id_value> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          std::vector<std::string> tokens;\n          tokenizeString(in.string(), tokens, \":\");\n          const USBDeviceID device_id(tokens[0], tokens[1]);\n          rule.attributeDeviceID().append(device_id);\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template<>\n    struct id_actions<multiset_operator> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          rule.attributeDeviceID().setSetOperator(Rule::setOperatorFromString(in.string()));\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template<typename Rule>\n    struct hash_actions : tao::pegtl::nothing<Rule> {};\n\n    template<>\n    struct hash_actions<str_hash> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        if (!rule.attributeHash().empty()) {\n          throw tao::pegtl::parse_error(\"hash attribute already defined\", in);\n        }\n      }\n    };\n\n    template<>\n    struct hash_actions<string_value> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          rule.attributeHash().append(stringValueFromRule(in.string()));\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template<>\n    struct hash_actions<multiset_operator> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          rule.attributeHash().setSetOperator(Rule::setOperatorFromString(in.string()));\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template<typename Rule>\n    struct parent_hash_actions : tao::pegtl::nothing<Rule> {};\n\n    template<>\n    struct parent_hash_actions<str_parent_hash> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        if (!rule.attributeParentHash().empty()) {\n          throw tao::pegtl::parse_error(\"parent-hash attribute already defined\", in);\n        }\n      }\n    };\n\n    template<>\n    struct parent_hash_actions<string_value> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          rule.attributeParentHash().append(stringValueFromRule(in.string()));\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template<>\n    struct parent_hash_actions<multiset_operator> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          rule.attributeParentHash().setSetOperator(Rule::setOperatorFromString(in.string()));\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template<typename Rule>\n    struct serial_actions : tao::pegtl::nothing<Rule> {};\n\n    template<>\n    struct serial_actions<str_serial> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        if (!rule.attributeSerial().empty()) {\n          throw tao::pegtl::parse_error(\"serial attribute already defined\", in);\n        }\n      }\n    };\n\n    template<>\n    struct serial_actions<string_value> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          rule.attributeSerial().append(stringValueFromRule(in.string()));\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template<>\n    struct serial_actions<multiset_operator> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          rule.attributeSerial().setSetOperator(Rule::setOperatorFromString(in.string()));\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template<typename Rule>\n    struct label_actions : tao::pegtl::nothing<Rule> {};\n\n    template<>\n    struct label_actions<str_serial> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        if (!rule.attributeLabel().empty()) {\n          throw tao::pegtl::parse_error(\"label attribute already defined\", in);\n        }\n      }\n    };\n\n    template<>\n    struct label_actions<string_value> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          rule.attributeLabel().append(stringValueFromRule(in.string()));\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template<>\n    struct label_actions<multiset_operator> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          rule.attributeLabel().setSetOperator(Rule::setOperatorFromString(in.string()));\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template <typename Rule>\n    struct with_connect_type_actions : tao::pegtl::nothing<Rule> {};\n\n    template <>\n    struct with_connect_type_actions<str_with_connect_type> {\n      template <typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        if (!rule.attributeWithConnectType().empty()) {\n          throw tao::pegtl::parse_error(\n            \"with-connect-type attribute already defined\", in);\n        }\n      }\n    };\n\n    template <>\n    struct with_connect_type_actions<string_value> {\n      template <typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          rule.attributeWithConnectType().append(stringValueFromRule(in.string()));\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template <>\n    struct with_connect_type_actions<multiset_operator> {\n      template <typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          rule.attributeWithConnectType().setSetOperator(\n            Rule::setOperatorFromString(in.string()));\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template<typename Rule>\n    struct via_port_actions : tao::pegtl::nothing<Rule> {};\n\n    template<>\n    struct via_port_actions<str_via_port> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        if (!rule.attributeViaPort().empty()) {\n          throw tao::pegtl::parse_error(\"via-port attribute already defined\", in);\n        }\n      }\n    };\n\n    template<>\n    struct via_port_actions<string_value> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          rule.attributeViaPort().append(stringValueFromRule(in.string()));\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template<>\n    struct via_port_actions<multiset_operator> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          rule.attributeViaPort().setSetOperator(Rule::setOperatorFromString(in.string()));\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template<typename Rule>\n    struct with_interface_actions : tao::pegtl::nothing<Rule> {};\n\n    template<>\n    struct with_interface_actions<str_with_interface> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        if (!rule.attributeWithInterface().empty()) {\n          throw tao::pegtl::parse_error(\"with-interface attribute already defined\", in);\n        }\n      }\n    };\n\n    template<>\n    struct with_interface_actions<interface_value> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          const USBInterfaceType interface_type(in.string());\n          rule.attributeWithInterface().append(interface_type);\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template<>\n    struct with_interface_actions<multiset_operator> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          rule.attributeWithInterface().setSetOperator(Rule::setOperatorFromString(in.string()));\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template<typename Rule>\n    struct condition_actions : tao::pegtl::nothing<Rule> {};\n\n    template<>\n    struct condition_actions<str_if> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        if (!rule.attributeConditions().empty()) {\n          throw tao::pegtl::parse_error(\"conditions already defined\", in);\n        }\n      }\n    };\n\n    template<>\n    struct condition_actions<condition> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          rule.attributeConditions().append(RuleCondition(in.string()));\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template<>\n    struct condition_actions<multiset_operator> {\n      template<typename Input>\n      static void apply(const Input& in, Rule& rule)\n      {\n        try {\n          rule.attributeConditions().setSetOperator(Rule::setOperatorFromString(in.string()));\n        }\n        catch (const std::exception& ex) {\n          throw tao::pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n  } /* namespace RuleParser */\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/RuleParser/Grammar.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Marek Tamaskovic <mtamasko@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"Actions.hpp\"\n\n#include <tao/pegtl.hpp>\n\nnamespace usbguard\n{\n  namespace RuleParser\n  {\n    using namespace tao::pegtl;\n    /*\n     * Rule language keywords\n     */\n    struct str_allow : TAO_PEGTL_STRING(\"allow\") {};\n\n    struct str_block : TAO_PEGTL_STRING(\"block\") {};\n\n    struct str_reject : TAO_PEGTL_STRING(\"reject\") {};\n\n    struct str_match : TAO_PEGTL_STRING(\"match\") {};\n\n    struct str_device : TAO_PEGTL_STRING(\"device\") {};\n\n    struct str_name : TAO_PEGTL_STRING(\"name\") {};\n\n    struct str_hash : TAO_PEGTL_STRING(\"hash\") {};\n\n    struct str_parent_hash : TAO_PEGTL_STRING(\"parent-hash\") {};\n\n    struct str_via_port : TAO_PEGTL_STRING(\"via-port\") {};\n\n    struct str_with_interface : TAO_PEGTL_STRING(\"with-interface\") {};\n\n    struct str_with_connect_type : TAO_PEGTL_STRING(\"with-connect-type\") {};\n\n    struct str_serial : TAO_PEGTL_STRING(\"serial\") {};\n\n    struct str_if : TAO_PEGTL_STRING(\"if\") {};\n\n    struct str_id : TAO_PEGTL_STRING(\"id\") {};\n\n    struct str_label : TAO_PEGTL_STRING(\"label\") {};\n\n    struct str_all_of : TAO_PEGTL_STRING(\"all-of\") {};\n\n    struct str_one_of : TAO_PEGTL_STRING(\"one-of\") {};\n\n    struct str_none_of : TAO_PEGTL_STRING(\"none-of\") {};\n\n    struct str_equals : TAO_PEGTL_STRING(\"equals\") {};\n\n    struct str_equals_ordered : TAO_PEGTL_STRING(\"equals-ordered\") {};\n\n    struct str_match_all: TAO_PEGTL_STRING(\"match-all\") {};\n\n    /*\n     * Generic rule attribute\n     */\n    struct multiset_operator\n      : sor<str_all_of, str_one_of, str_none_of, str_equals_ordered, str_equals, str_match_all> {};\n\n    template<class attribute_value_rule>\n    struct attribute_value_multiset\n      : seq<opt<multiset_operator, plus<ascii::blank>>,\n        one<'{'>, star<ascii::blank>,\n        list<attribute_value_rule, plus<ascii::blank>>,\n        star<ascii::blank>, one<'}'>> {};\n\n    template<class attribute_identifier, class attribute_value_rule>\n    struct rule_attribute\n      : seq<attribute_identifier, plus<ascii::blank>,\n        sor<attribute_value_multiset<attribute_value_rule>,\n        attribute_value_rule>> {};\n\n    /*\n     * Bounded string value\n     */\n    struct escaped_single\n      : one<'a', 'b', 'f', 'n', 'r', 't', 'v', '\\\\', '\\'', '0', '\\n'> {};\n\n    struct escaped_decbyte\n      : if_must<ascii::digit, rep_opt<2, ascii::digit>> {};\n\n    struct escaped_hexbyte\n      : if_must<one<'x'>, rep<2, ascii::xdigit>> {};\n\n    template<char boundary_escape>\n    struct character_escaped\n      : if_must<one<'\\\\'>, sor<escaped_hexbyte, escaped_decbyte, escaped_single, one<boundary_escape>>> {};\n\n    struct character_regular\n      : not_one<'\\r', '\\n'> {};\n\n    template<char boundary_escape>\n    struct character\n      : sor<character_escaped<boundary_escape>, character_regular> {};\n\n    template<char boundary_start, char boundary_end = boundary_start>\n    struct bounded_string\n      : if_must<one<boundary_start>, until<one<boundary_end>, character<boundary_end>>> {};\n\n    struct string_value\n      : bounded_string<'\"'> {};\n\n    /*\n     * Rule conditions\n     */\n    struct condition_argument\n      : bounded_string<'(', ')'> {};\n\n    struct condition_identifier\n      : seq<ranges<'a', 'z', 'A', 'Z', '-'>, star<ranges<'a', 'z', 'A', 'Z', '0', '9', '-'>>> {};\n\n    struct negation\n      : one<'!'> {};\n\n    struct condition\n      : seq<opt<negation>, condition_identifier, opt<condition_argument>> {};\n\n    /*\n     * Device ID\n     */\n    struct hex4\n      : rep<4, ascii::xdigit> {};\n\n    struct device_vid : sor<hex4, one<'*'>> {};\n    struct device_pid : sor<hex4, one<'*'>> {};\n\n    struct device_id_value\n      : seq<device_vid, one<':'>, device_pid> {};\n\n    struct device_id\n      : device_id_value {};\n\n    /*\n     * USB interface notation\n     */\n    struct hex2\n      : rep<2, ascii::xdigit> {};\n\n    struct hex2orAsterisk\n      : sor<hex2, one<'*'>> {};\n\n    struct interface_value\n      : seq<hex2, one<':'>, hex2orAsterisk, one<':'>, hex2orAsterisk> {};\n\n    /*\n     * Device attributes\n     */\n    struct id_attribute\n      : action<id_actions, rule_attribute<str_id, device_id_value>> {};\n\n    struct name_attribute\n      : action<name_actions, rule_attribute<str_name, string_value>> {};\n\n    struct hash_attribute\n      : action<hash_actions, rule_attribute<str_hash, string_value>> {};\n\n    struct parent_hash_attribute\n      : action<parent_hash_actions, rule_attribute<str_parent_hash, string_value>> {};\n\n    struct serial_attribute\n      : action<serial_actions, rule_attribute<str_serial, string_value>> {};\n\n    struct with_connect_type_attribute\n      : action<with_connect_type_actions, rule_attribute<str_with_connect_type, string_value>> {};\n\n    struct via_port_attribute\n      : action<via_port_actions, rule_attribute<str_via_port, string_value>> {};\n\n    struct with_interface_attribute\n      : action<with_interface_actions, rule_attribute<str_with_interface, interface_value>> {};\n\n    struct condition_attribute\n      : action<condition_actions, rule_attribute<str_if, condition>> {};\n\n    struct label_attribute\n      : action<label_actions, rule_attribute<str_label, string_value>> {};\n\n    struct rule_attributes\n      : sor<id_attribute,\n        name_attribute,\n        hash_attribute,\n        parent_hash_attribute,\n        serial_attribute,\n        via_port_attribute,\n        with_interface_attribute,\n        with_connect_type_attribute,\n        condition_attribute,\n        label_attribute> {};\n\n    /*\n     * Rule target\n     */\n    struct target\n      : sor<str_allow, str_block, str_reject, str_match, str_device> {};\n\n    /*\n     * Comment\n     */\n    struct comment\n      : seq<star<ascii::blank>, if_must<one<'#'>,\n        star<seq<not_at<eof>, any>>>> {};\n\n    /*\n     * Rule\n     */\n    struct rule\n      : seq<target,\n        opt<plus<ascii::blank>, device_id>,\n        opt<plus<ascii::blank>, list<rule_attributes, plus<ascii::blank>>>,\n        opt<comment>,\n        star<ascii::blank>> {};\n\n    /*\n     * Grammar entry point\n     */\n    struct rule_grammar\n      : seq<star<ascii::blank>, opt<sor<comment, rule>>, must<eof>> {};\n  } /* namespace RuleParser */\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/RulePrivate.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Marek Tamaskovic <mtamasko@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"RulePrivate.hpp\"\n#include \"Common/Utility.hpp\"\n\n#include \"usbguard/RuleParser.hpp\"\n#include \"usbguard/Logger.hpp\"\n\nnamespace usbguard\n{\n  RulePrivate::RulePrivate()\n    : _device_id(\"id\"),\n      _serial(\"serial\"),\n      _with_connect_type(\"with-connect-type\"),\n      _name(\"name\"),\n      _hash(\"hash\"),\n      _parent_hash(\"parent-hash\"),\n      _via_port(\"via-port\"),\n      _with_interface(\"with-interface\"),\n      _conditions(\"if\"),\n      _label(\"label\")\n  {\n    _rule_id = Rule::DefaultID;\n    _target = Rule::Target::Invalid;\n    _conditions_state = 0;\n  }\n\n  RulePrivate::RulePrivate(const RulePrivate& rhs)\n    : _device_id(\"id\"),\n      _serial(\"serial\"),\n      _with_connect_type(\"with-connect-type\"),\n      _name(\"name\"),\n      _hash(\"hash\"),\n      _parent_hash(\"parent-hash\"),\n      _via_port(\"via-port\"),\n      _with_interface(\"with-interface\"),\n      _conditions(\"if\"),\n      _label(\"label\")\n  {\n    *this = rhs;\n  }\n\n  bool RulePrivate::appliesTo(std::shared_ptr<const Rule> rhs, bool parent_insensitive) const\n  {\n    return appliesTo(*rhs, parent_insensitive);\n  }\n\n  bool RulePrivate::appliesTo(const Rule& rhs, bool parent_insensitive) const\n  {\n    /*\n     * This method checks whether the rule referenced by rhs belongs to\n     * a set defined by this rule.\n     */\n    USBGUARD_LOG(Trace) << \"entry:\"\n      << \" rhs=\" << rhs.toString()\n      << \" parent_insensitive=\" << parent_insensitive;\n    bool applies = false;\n\n    if (!_device_id.appliesTo(rhs.internal()->_device_id) ||\n      !_serial.appliesTo(rhs.internal()->_serial) ||\n      !_with_connect_type.appliesTo(rhs.internal()->_with_connect_type) ||\n      !_name.appliesTo(rhs.internal()->_name) ||\n      !_hash.appliesTo(rhs.internal()->_hash) ||\n      !(parent_insensitive || _parent_hash.appliesTo(rhs.internal()->_parent_hash)) ||\n      !(parent_insensitive || _via_port.appliesTo(rhs.internal()->_via_port)) ||\n      !_with_interface.appliesTo(rhs.internal()->_with_interface)) {\n      applies = false;\n    }\n    else {\n      applies = true;\n    }\n\n    USBGUARD_LOG(Trace) << \"return:\"\n      << \" applies=\" << applies;\n    return applies;\n  }\n\n  bool RulePrivate::appliesToWithConditions(const Rule& rhs, bool with_update)\n  {\n    USBGUARD_LOG(Trace) << \"entry:\"\n      << \" rhs=\" << rhs.toString()\n      << \" with_updates=\" << with_update;\n    bool applies = false;\n\n    if (appliesTo(rhs)) {\n      applies = meetsConditions(rhs, with_update);\n    }\n    else {\n      applies = false;\n    }\n\n    USBGUARD_LOG(Trace) << \"return:\"\n      << \" applies=\" << applies;\n    return applies;\n  }\n\n  bool RulePrivate::meetsConditions(const Rule& rhs, bool with_update)\n  {\n    USBGUARD_LOG(Trace) << \"entry:\"\n      << \" conditions=\" << _conditions.count()\n      << \" rhs=\" << rhs.toString()\n      << \" with_update=\" << with_update;\n\n    if (with_update) {\n      (void)updateConditionsState(rhs);\n    }\n\n    USBGUARD_LOG(Debug) << \"set_operator=\" << Rule::setOperatorToString(_conditions.setOperator());\n    bool meets_conditions = false;\n\n    switch (_conditions.setOperator()) {\n    case Rule::SetOperator::OneOf:\n      meets_conditions = conditionsState() > 0;\n      break;\n\n    case Rule::SetOperator::NoneOf:\n      meets_conditions = conditionsState() == 0;\n      break;\n\n    case Rule::SetOperator::AllOf:\n    case Rule::SetOperator::Equals:\n    case Rule::SetOperator::EqualsOrdered:\n    case Rule::SetOperator::MatchAll:\n      meets_conditions = \\\n        (conditionsState() == ((((uint64_t)1) << _conditions.count()) - 1));\n      break;\n\n    case Rule::SetOperator::Match:\n    default:\n      throw std::runtime_error(\"BUG: meetsConditions: invalid conditions set operator\");\n    }\n\n    USBGUARD_LOG(Trace) << \"return:\"\n      << \" meets_conditions=\" << meets_conditions;\n    return meets_conditions;\n  }\n\n  void RulePrivate::initConditions(Interface* const interface)\n  {\n    for (auto& condition : _conditions.values()) {\n      condition->init(interface);\n    }\n\n    /* FIXME: prevent leaks when init() throws an exception */\n  }\n\n  void RulePrivate::finiConditions()\n  {\n    for (auto& condition : _conditions.values()) {\n      condition->fini();\n    }\n  }\n\n  bool RulePrivate::updateConditionsState(const Rule& rhs)\n  {\n    uint64_t updated_state = 0;\n    unsigned int i = 0;\n\n    for (auto& condition : _conditions.values()) {\n      if (i >= (sizeof updated_state * 8)) {\n        throw std::runtime_error(\"BUG: updateConditionsState: too many conditions\");\n      }\n\n      updated_state |= uint64_t(condition->evaluate(rhs)) << i;\n      ++i;\n    }\n\n    USBGUARD_LOG(Debug) << \"current=\" << conditionsState()\n      << \" updated=\" << updated_state;\n    bool retval = false;\n\n    if (updated_state != conditionsState()) {\n      setConditionsState(updated_state);\n      retval = true;\n    }\n    else {\n      retval = false;\n    }\n\n    USBGUARD_LOG(Trace) << \"return:\"\n      << \" retval=\" << retval;\n    return retval;\n  }\n\n  uint64_t RulePrivate::conditionsState() const\n  {\n    return _conditions_state;\n  }\n\n  void RulePrivate::setConditionsState(uint64_t state)\n  {\n    _conditions_state = state;\n  }\n\n  void RulePrivate::setRuleID(uint32_t rule_id)\n  {\n    _rule_id = rule_id;\n  }\n\n  uint32_t RulePrivate::getRuleID() const\n  {\n    return _rule_id;\n  }\n\n  void RulePrivate::setTarget(Rule::Target target)\n  {\n    _target = target;\n  }\n\n  Rule::Target RulePrivate::getTarget() const\n  {\n    return _target;\n  }\n\n  void RulePrivate::setDeviceID(const USBDeviceID& device_id)\n  {\n    _device_id.set(device_id);\n  }\n\n  const USBDeviceID& RulePrivate::getDeviceID() const\n  {\n    return _device_id.get();\n  }\n\n  const Rule::Attribute<USBDeviceID>& RulePrivate::attributeDeviceID() const\n  {\n    return _device_id;\n  }\n\n  Rule::Attribute<USBDeviceID>& RulePrivate::attributeDeviceID()\n  {\n    return _device_id;\n  }\n\n  void RulePrivate::setSerial(const std::string& value)\n  {\n    _serial.set(value);\n  }\n\n  const std::string& RulePrivate::getSerial() const\n  {\n    return _serial.get();\n  }\n\n  const Rule::Attribute<std::string>& RulePrivate::attributeSerial() const\n  {\n    return _serial;\n  }\n\n  Rule::Attribute<std::string>& RulePrivate::attributeSerial()\n  {\n    return _serial;\n  }\n\n  void RulePrivate::setLabel(const std::string& value)\n  {\n    _label.set(value);\n  }\n\n  const std::string& RulePrivate::getLabel() const\n  {\n    return _label.get();\n  }\n\n  const Rule::Attribute<std::string>& RulePrivate::attributeLabel() const\n  {\n    return _label;\n  }\n\n  Rule::Attribute<std::string>& RulePrivate::attributeLabel()\n  {\n    return _label;\n  }\n\n  void RulePrivate::setWithConnectType(const std::string& value)\n  {\n    _with_connect_type.set(value);\n  }\n\n  const std::string& RulePrivate::getWithConnectType() const\n  {\n    return _with_connect_type.get();\n  }\n\n  const Rule::Attribute<std::string>& RulePrivate::attributeWithConnectType() const\n  {\n    return _with_connect_type;\n  }\n\n  Rule::Attribute<std::string>& RulePrivate::attributeWithConnectType()\n  {\n    return _with_connect_type;\n  }\n\n  void RulePrivate::setName(const std::string& value)\n  {\n    _name.set(value);\n  }\n\n  const std::string& RulePrivate::getName() const\n  {\n    return _name.get();\n  }\n\n  const Rule::Attribute<std::string>& RulePrivate::attributeName() const\n  {\n    return _name;\n  }\n\n  Rule::Attribute<std::string>& RulePrivate::attributeName()\n  {\n    return _name;\n  }\n\n  void RulePrivate::setHash(const std::string& value)\n  {\n    _hash.set(value);\n  }\n\n  const std::string& RulePrivate::getHash() const\n  {\n    return _hash.get();\n  }\n\n  const Rule::Attribute<std::string>& RulePrivate::attributeHash() const\n  {\n    return _hash;\n  }\n\n  Rule::Attribute<std::string>& RulePrivate::attributeHash()\n  {\n    return _hash;\n  }\n\n  void RulePrivate::setParentHash(const std::string& value)\n  {\n    _parent_hash.set(value);\n  }\n\n  const std::string& RulePrivate::getParentHash() const\n  {\n    return _parent_hash.get();\n  }\n\n  const Rule::Attribute<std::string>& RulePrivate::attributeParentHash() const\n  {\n    return _parent_hash;\n  }\n\n  Rule::Attribute<std::string>& RulePrivate::attributeParentHash()\n  {\n    return _parent_hash;\n  }\n\n  void RulePrivate::setViaPort(const std::string& value)\n  {\n    _via_port.set(value);\n  }\n\n  const std::string& RulePrivate::getViaPort() const\n  {\n    return _via_port.get();\n  }\n\n  const Rule::Attribute<std::string>& RulePrivate::attributeViaPort() const\n  {\n    return _via_port;\n  }\n\n  Rule::Attribute<std::string>& RulePrivate::attributeViaPort()\n  {\n    return _via_port;\n  }\n\n  const Rule::Attribute<USBInterfaceType>& RulePrivate::attributeWithInterface() const\n  {\n    return _with_interface;\n  }\n\n  Rule::Attribute<USBInterfaceType>& RulePrivate::attributeWithInterface()\n  {\n    return _with_interface;\n  }\n\n  const Rule::Attribute<RuleCondition>& RulePrivate::attributeConditions() const\n  {\n    return _conditions;\n  }\n\n  Rule::Attribute<RuleCondition>& RulePrivate::attributeConditions()\n  {\n    return _conditions;\n  }\n\n  template<class ValueType>\n  static void toString_appendNonEmptyAttribute(std::string& rule_string, const Rule::Attribute<ValueType>& attribute)\n  {\n    if (attribute.empty()) {\n      return;\n    }\n\n    rule_string.append(\" \");\n    rule_string.append(attribute.toRuleString());\n    return;\n  }\n\n  std::string RulePrivate::toString(bool invalid, bool hide_pii) const\n  {\n    std::string rule_string;\n\n    try {\n      rule_string.append(Rule::targetToString(_target));\n    }\n    catch (...) {\n      if (invalid) {\n        rule_string.append(\"<invalid>\");\n      }\n      else {\n        throw;\n      }\n    }\n\n    toString_appendNonEmptyAttribute(rule_string, _device_id);\n\n    if (!hide_pii) {\n      toString_appendNonEmptyAttribute(rule_string, _serial);\n    }\n\n    toString_appendNonEmptyAttribute(rule_string, _name);\n\n    if (!hide_pii) {\n      toString_appendNonEmptyAttribute(rule_string, _hash);\n      toString_appendNonEmptyAttribute(rule_string, _parent_hash);\n    }\n\n    toString_appendNonEmptyAttribute(rule_string, _via_port);\n    toString_appendNonEmptyAttribute(rule_string, _with_interface);\n    toString_appendNonEmptyAttribute(rule_string, _conditions);\n    toString_appendNonEmptyAttribute(rule_string, _with_connect_type);\n    toString_appendNonEmptyAttribute(rule_string, _label);\n    return rule_string;\n  }\n\n  RulePrivate::MetaData& RulePrivate::metadata()\n  {\n    return _meta;\n  }\n\n  const RulePrivate::MetaData& RulePrivate::metadata() const\n  {\n    return _meta;\n  }\n\n  Rule RulePrivate::fromString(const std::string& rule_string)\n  {\n    return parseRuleFromString(rule_string);\n  }\n\n  void RulePrivate::updateMetaDataCounters(bool applied, bool evaluated)\n  {\n    if (evaluated) {\n      ++_meta.counter_evaluated;\n      _meta.tp_last_evaluated = std::chrono::steady_clock::now();\n    }\n\n    if (applied) {\n      ++_meta.counter_applied;\n      _meta.tp_last_applied = std::chrono::steady_clock::now();\n    }\n\n    return;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/RulePrivate.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/RuleCondition.hpp\"\n\n#include \"usbguard/Rule.hpp\"\n\n#include <chrono>\n\nnamespace usbguard\n{\n  class Interface;\n  class RulePrivate\n  {\n  public:\n    struct MetaData {\n      MetaData()\n        : tp_created(std::chrono::steady_clock::now())\n      {\n      }\n\n      MetaData(const MetaData& rhs) = default;\n      MetaData& operator=(const MetaData& rhs) = default;\n\n      uint64_t counter_evaluated{0};\n      uint64_t counter_applied{0};\n      std::chrono::steady_clock::time_point tp_created;\n      std::chrono::steady_clock::time_point tp_last_evaluated;\n      std::chrono::steady_clock::time_point tp_last_applied;\n    };\n\n    RulePrivate();\n    RulePrivate(const RulePrivate& rhs);\n    RulePrivate& operator=(const RulePrivate& rhs) = default;\n    ~RulePrivate() = default;\n\n    bool appliesTo(std::shared_ptr<const Rule> rhs, bool parent_insensitive = false) const;\n    bool appliesTo(const Rule& rhs, bool parent_insensitive = false) const;\n    bool appliesToWithConditions(const Rule& rhs, bool with_update = false);\n\n    bool meetsConditions(const Rule& rhs, bool with_update = false);\n    void initConditions(Interface* const interface);\n    void finiConditions();\n    bool updateConditionsState(const Rule& rhs);\n    uint64_t conditionsState() const;\n    void setConditionsState(uint64_t state);\n\n    void setRuleID(uint32_t rule_id);\n    uint32_t getRuleID() const;\n\n    void setTarget(Rule::Target target);\n    Rule::Target getTarget() const;\n\n    void setDeviceID(const USBDeviceID& value);\n    const USBDeviceID& getDeviceID() const;\n    const Rule::Attribute<USBDeviceID>& attributeDeviceID() const;\n    Rule::Attribute<USBDeviceID>& attributeDeviceID();\n\n    void setSerial(const std::string& value);\n    const std::string& getSerial() const;\n    const Rule::Attribute<std::string>& attributeSerial() const;\n    Rule::Attribute<std::string>& attributeSerial();\n\n    void setLabel(const std::string& value);\n    const std::string& getLabel() const;\n    const Rule::Attribute<std::string>& attributeLabel() const;\n    Rule::Attribute<std::string>& attributeLabel();\n\n    void setWithConnectType(const std::string& value);\n    const std::string& getWithConnectType() const;\n    const Rule::Attribute<std::string>& attributeWithConnectType() const;\n    Rule::Attribute<std::string>& attributeWithConnectType();\n\n    void setName(const std::string& value);\n    const std::string& getName() const;\n    const Rule::Attribute<std::string>& attributeName() const;\n    Rule::Attribute<std::string>& attributeName();\n\n    void setHash(const std::string& value);\n    const std::string& getHash() const;\n    const Rule::Attribute<std::string>& attributeHash() const;\n    Rule::Attribute<std::string>& attributeHash();\n\n    void setParentHash(const std::string& value);\n    const std::string& getParentHash() const;\n    const Rule::Attribute<std::string>& attributeParentHash() const;\n    Rule::Attribute<std::string>& attributeParentHash();\n\n    void setViaPort(const std::string& value);\n    const std::string& getViaPort() const;\n    const Rule::Attribute<std::string>& attributeViaPort() const;\n    Rule::Attribute<std::string>& attributeViaPort();\n\n    /*\n     * Set/get for a single value isn't useful for the\n     * with-interface attribute as it usualy contains\n     * multiple values. Therefore, we provide only the\n     * attribute accessors in this case.\n     */\n    const Rule::Attribute<USBInterfaceType>& attributeWithInterface() const;\n    Rule::Attribute<USBInterfaceType>& attributeWithInterface();\n\n    const Rule::Attribute<RuleCondition>& attributeConditions() const;\n    Rule::Attribute<RuleCondition>& attributeConditions();\n\n    std::string toString(bool invalid = false, bool hide_pii = false) const;\n\n    MetaData& metadata();\n    const MetaData& metadata() const;\n    void updateMetaDataCounters(bool applied = true, bool evaluated = false);\n\n    /*** Static methods ***/\n    static Rule fromString(const std::string& rule_string);\n\n  private:\n    MetaData _meta;\n    uint32_t _rule_id;\n    Rule::Target _target;\n    Rule::Attribute<USBDeviceID> _device_id;\n    Rule::Attribute<std::string> _serial;\n    Rule::Attribute<std::string> _with_connect_type;\n    Rule::Attribute<std::string> _name;\n    Rule::Attribute<std::string> _hash;\n    Rule::Attribute<std::string> _parent_hash;\n    Rule::Attribute<std::string> _via_port;\n    Rule::Attribute<USBInterfaceType> _with_interface;\n    Rule::Attribute<RuleCondition> _conditions;\n    Rule::Attribute<std::string> _label;\n    uint64_t _conditions_state;\n  };\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/SysFSDevice.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"SysFSDevice.hpp\"\n#include \"Common/Utility.hpp\"\n\n#include \"usbguard/Logger.hpp\"\n#include \"usbguard/Exception.hpp\"\n\n#ifndef _POSIX_C_SOURCE\n  #define _POSIX_C_SOURCE\n#endif\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <fcntl.h>\n#include <unistd.h>\n\nnamespace usbguard\n{\n  static std::string G_sysfs_root = \"/sys\";\n\n  void SysFSDevice::setSysfsRoot(const std::string& sysfs_root)\n  {\n    G_sysfs_root = sysfs_root;\n  }\n\n  const std::string& SysFSDevice::getSysfsRoot()\n  {\n    return G_sysfs_root;\n  }\n\n  SysFSDevice::SysFSDevice()\n    : _sysfs_dirfd(-1)\n  {\n  }\n\n  SysFSDevice::SysFSDevice(const std::string& sysfs_path, bool without_parent)\n    : _sysfs_path(sysfs_path),\n      _sysfs_name(filenameFromPath(_sysfs_path, /*include_extension=*/true)),\n      _sysfs_dirfd(-1)\n  {\n    USBGUARD_LOG(Trace) << \"sysfs_path=\" << sysfs_path\n      << \" without_parent=\" << without_parent;\n\n    if (!without_parent) {\n      _sysfs_parent_path = parentPath(sysfs_path);\n\n      if (_sysfs_parent_path.empty()) {\n        throw Exception(\"SysFSDevice\", sysfs_path, \"Cannot get parent path\");\n      }\n\n      USBGUARD_LOG(Debug) << \"parent_path=\" << _sysfs_parent_path;\n    }\n\n    USBGUARD_SYSCALL_THROW(\"SysFSDevice\",\n      (_sysfs_dirfd = open((G_sysfs_root + _sysfs_path).c_str(), O_PATH|O_DIRECTORY)) < 0);\n\n    try {\n      reloadUEvent();\n    }\n    catch (...) {\n      close(_sysfs_dirfd);\n      throw;\n    }\n  }\n\n  SysFSDevice::SysFSDevice(SysFSDevice&& device)\n    : _sysfs_path(std::move(device._sysfs_path)),\n      _sysfs_name(std::move(device._sysfs_name)),\n      _sysfs_parent_path(std::move(device._sysfs_parent_path)),\n      _uevent(std::move(device._uevent))\n  {\n    _sysfs_dirfd = device._sysfs_dirfd;\n    device._sysfs_dirfd = -1;\n  }\n\n  SysFSDevice::~SysFSDevice()\n  {\n    if (_sysfs_dirfd != -1) {\n      close(_sysfs_dirfd);\n    }\n  }\n\n  SysFSDevice& SysFSDevice::operator=(SysFSDevice&& rhs_device)\n  {\n    _sysfs_path = std::move(rhs_device._sysfs_path);\n    _sysfs_name = std::move(rhs_device._sysfs_name);\n    _sysfs_parent_path = std::move(rhs_device._sysfs_parent_path);\n    _sysfs_dirfd = std::move(rhs_device._sysfs_dirfd);\n    rhs_device._sysfs_dirfd = -1;\n    _uevent = std::move(rhs_device._uevent);\n    return *this;\n  }\n\n  const std::string& SysFSDevice::getPath() const\n  {\n    return _sysfs_path;\n  }\n\n  const std::string& SysFSDevice::getName() const\n  {\n    return _sysfs_name;\n  }\n\n  const UEvent& SysFSDevice::getUEvent() const\n  {\n    return _uevent;\n  }\n\n  const std::string& SysFSDevice::getParentPath() const\n  {\n    return _sysfs_parent_path;\n  }\n\n  bool SysFSDevice::hasAttribute(const std::string& name) const\n  {\n    struct ::stat st;\n\n    if (::fstatat(_sysfs_dirfd, name.c_str(), &st, AT_SYMLINK_NOFOLLOW) != 0) {\n      if (errno == ENOENT) {\n        return false;\n      }\n\n      throw ErrnoException(\"SysFSDevice::hasAttribute\", name, errno);\n    }\n\n    return S_ISREG(st.st_mode);\n  }\n\n  int SysFSDevice::openAttribute(const std::string& name) const\n  {\n    USBGUARD_LOG(Trace) << \"name=\" << name;\n    const int fd = openat(_sysfs_dirfd, name.c_str(), O_RDONLY);\n\n    if (fd < 0) {\n      throw ErrnoException(\"SysFSDevice\", name, errno);\n    }\n\n    return fd;\n  }\n\n  std::string SysFSDevice::readAttribute(const std::string& name, bool trim, bool optional) const\n  {\n    USBGUARD_LOG(Trace) << \"name=\" << name;\n    const ScopedFD fd(openat(_sysfs_dirfd, name.c_str(), O_RDONLY));\n\n    if (fd < 0) {\n      if (optional && errno == ENOENT) {\n        return std::string();\n      }\n      else {\n        throw ErrnoException(\"SysFSDevice\", name, errno);\n      }\n    }\n\n    std::string buffer(4096, 0);\n    ssize_t rc = -1;\n    USBGUARD_SYSCALL_THROW(\"SysFSDevice\",\n      (rc = read(fd, &buffer[0], buffer.capacity())) < 0);\n\n    if (rc <= 0) {\n      return std::string();\n    }\n\n    const size_t read_size = static_cast<size_t>(rc);\n\n    if (trim) {\n      size_t trimmed_size = read_size;\n\n      while (trimmed_size > 0) {\n        bool stop = false;\n\n        switch (buffer[trimmed_size - 1]) {\n        case '\\0':\n        case '\\n':\n        case '\\r':\n        case '\\t':\n        case '\\b':\n          break;\n\n        default:\n          stop = true;\n        }\n\n        if (stop) {\n          break;\n        }\n        else {\n          --trimmed_size;\n        }\n      }\n\n      buffer.resize(trimmed_size);\n    }\n    else {\n      buffer.resize(read_size);\n    }\n\n    return buffer;\n  }\n\n  void SysFSDevice::setAttribute(const std::string& name, const std::string& value)\n  {\n    USBGUARD_LOG(Trace) << \"name=\" << name << \" value=\" << value;\n    USBGUARD_LOG(Trace) << \"path=\" << _sysfs_path;\n    const ScopedFD fd(openat(_sysfs_dirfd, name.c_str(), O_WRONLY));\n\n    if (fd < 0) {\n      throw ErrnoException(\"SysFSDevice\", name, errno);\n    }\n\n    ssize_t rc = -1;\n    USBGUARD_SYSCALL_THROW(\"SysFSDevice\",\n      (rc = write(fd, &value[0], value.size())) != (ssize_t)value.size());\n  }\n\n  void SysFSDevice::reload()\n  {\n    reloadUEvent();\n  }\n\n  void SysFSDevice::reloadUEvent()\n  {\n    const std::string uevent_string = readAttribute(\"uevent\");\n    _uevent = UEvent::fromString(uevent_string, /*attributes_only=*/true);\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/SysFSDevice.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"UEvent.hpp\"\n\n#include \"usbguard/Typedefs.hpp\"\n\n#include <string>\n\nnamespace usbguard\n{\n  class SysFSDevice\n  {\n  public:\n    SysFSDevice();\n    SysFSDevice(const std::string& sysfs_path, bool without_parent = false);\n    SysFSDevice(SysFSDevice&& device);\n    ~SysFSDevice();\n    SysFSDevice& operator=(SysFSDevice&& rhs_device);\n\n    const std::string& getPath() const;\n    const std::string& getName() const;\n    const UEvent& getUEvent() const;\n    const std::string& getParentPath() const;\n    bool hasAttribute(const std::string& name) const;\n    std::string readAttribute(const std::string& name, bool trim = false, bool optional = false) const;\n    void setAttribute(const std::string& name, const std::string& value);\n    int openAttribute(const std::string& name) const;\n\n    void reload();\n\n    static void setSysfsRoot(const std::string& sysfs_root);\n    static const std::string& getSysfsRoot();\n  private:\n    void reloadUEvent();\n\n    std::string _sysfs_path;\n    std::string _sysfs_name;\n    std::string _sysfs_parent_path;\n    int _sysfs_dirfd;\n    UEvent _uevent;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/UEvent.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"UEvent.hpp\"\n#include \"UEventParser.hpp\"\n\n#include \"usbguard/Logger.hpp\"\n\nnamespace usbguard\n{\n  UEvent::UEvent()\n  {\n  }\n\n  UEvent::UEvent(UEvent&& rhs)\n    : _attributes(std::move(rhs._attributes))\n  {\n  }\n\n  UEvent& UEvent::operator=(UEvent&& rhs)\n  {\n    _attributes = std::move(rhs._attributes);\n    return *this;\n  }\n\n  UEvent UEvent::fromString(const std::string& uevent_string, bool attributes_only, bool trace)\n  {\n    UEvent uevent;\n    parseUEventFromString(uevent_string, uevent, attributes_only, trace);\n    return uevent;\n  }\n\n  void UEvent::clear()\n  {\n    _attributes.clear();\n  }\n\n  void UEvent::setAttribute(const std::string& name, const std::string& value)\n  {\n    USBGUARD_LOG(Trace) << \"Setting attribute: \" << name << \"=\" << value;\n    _attributes[name] = value;\n  }\n\n  std::string UEvent::getAttribute(const std::string& name) const\n  {\n    auto it = _attributes.find(name);\n\n    if (it == _attributes.end()) {\n      return std::string();\n    }\n    else {\n      return it->second;\n    }\n  }\n\n  bool UEvent::hasAttribute(const std::string& name) const\n  {\n    return _attributes.count(name) == 1;\n  }\n\n  std::string UEvent::getHeaderLine() const\n  {\n    if (!hasAttribute(\"ACTION\") ||\n      !hasAttribute(\"DEVPATH\")) {\n      throw std::runtime_error(\"uevent: missing required header line values\");\n    }\n\n    std::string header_line;\n    header_line.append(getAttribute(\"ACTION\"));\n    header_line.append(1, '@');\n    header_line.append(getAttribute(\"DEVPATH\"));\n    return header_line;\n  }\n\n  std::string UEvent::toString(char separator) const\n  {\n    std::string uevent_string = getHeaderLine();\n    uevent_string.append(1, separator);\n\n    for (auto const& kv_pair : _attributes) {\n      uevent_string.append(kv_pair.first);\n      uevent_string.append(1, '=');\n      uevent_string.append(kv_pair.second);\n      uevent_string.append(1, separator);\n    }\n\n    return uevent_string;\n  }\n\n  bool UEvent::hasRequiredAttributes() const\n  {\n    for (const std::string name : {\n        \"ACTION\", \"DEVPATH\", \"SUBSYSTEM\"\n      }) {\n      if (!hasAttribute(name)) {\n        return false;\n      }\n    }\n    return true;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/UEvent.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/Typedefs.hpp\"\n\n#include <map>\n#include <string>\n\nnamespace usbguard\n{\n  class UEvent\n  {\n  public:\n    UEvent();\n    UEvent(UEvent&& rhs);\n    UEvent& operator=(UEvent&& rhs);\n\n    static UEvent fromString(const std::string& uevent_string, bool attributes_only = false, bool trace = false);\n\n    void clear();\n    void setAttribute(const std::string& name, const std::string& value);\n    std::string getAttribute(const std::string& name) const;\n    bool hasAttribute(const std::string& name) const;\n    bool hasRequiredAttributes() const;\n\n    std::string getHeaderLine() const;\n    std::string toString(char separator = '\\0') const;\n\n  private:\n    std::map<std::string, std::string> _attributes;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/UEventDeviceManager.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#if defined(HAVE_UEVENT)\n#include \"UEventDeviceManager.hpp\"\n#include \"UEventParser.hpp\"\n#include \"SysFSDevice.hpp\"\n#include \"Base64.hpp\"\n#include \"Common/FDInputStream.hpp\"\n#include \"Common/Utility.hpp\"\n\n#include \"usbguard/Logger.hpp\"\n#include \"usbguard/Exception.hpp\"\n\n#include <stdexcept>\n#include <fstream>\n#include <chrono>\n\n#include <unistd.h>\n#include <sys/eventfd.h>\n#include <sys/select.h>\n#include <sys/socket.h>\n#include <sys/types.h>\n#include <sys/un.h>\n#include <linux/netlink.h>\n#include <limits.h>\n#include <stdlib.h>\n\nnamespace usbguard\n{\n\n  UEventDeviceManager::UEventDeviceManager(DeviceManagerHooks& hooks)\n    : DeviceManagerBase(hooks),\n      _thread(this, &UEventDeviceManager::thread)\n  {\n  }\n\n  UEventDeviceManager::~UEventDeviceManager()\n  {\n    if (getRestoreControllerDeviceState()) {\n      setAuthorizedDefault(AuthorizedDefaultType::All); // FIXME: Set to previous state\n    }\n\n    stop();\n\n    if (_uevent_fd >= 0) {\n      (void)close(_uevent_fd);\n    }\n\n    if (_wakeup_fd >= 0) {\n      (void)close(_wakeup_fd);\n    }\n  }\n\n  void UEventDeviceManager::start()\n  {\n    // Lazy initialization is used for the sockets to allow scanning a devpath\n    // without needed to open the socket or start the thread.\n    USBGUARD_SYSCALL_THROW(\"UEvent device manager\",\n      (_wakeup_fd = eventfd(0, 0)) < 0);\n    _uevent_fd = ueventOpen();\n    _thread.start();\n  }\n\n  void UEventDeviceManager::stop()\n  {\n    if (_thread.running()) {\n      // stop monitor\n      _thread.stop(/*do_wait=*/false);\n      { /* Wakeup the device manager thread */\n        const uint64_t one = 1;\n        USBGUARD_SYSCALL_THROW(\"Linux device manager\",\n          write(_wakeup_fd, &one, sizeof one) != sizeof one);\n      }\n      _thread.wait();\n    }\n  }\n\n  void UEventDeviceManager::scan()\n  {\n    USBGUARD_LOG(Trace);\n    Restorer<std::atomic<bool>, bool> \\\n    restorer(_enumeration, /*transient=*/true, /*restored=*/false);\n    auto const enumeration_count = ueventEnumerateDevices();\n    USBGUARD_LOG(Debug) << \"enumeration_count=\" << enumeration_count;\n\n    if (enumeration_count == 0) {\n      return;\n    }\n\n    if (enumeration_count < 0) {\n      throw Exception(\"UEventDeviceManager\", \"present devices\", \"failed to enumerate\");\n    }\n\n    // We keep track of the uevents received during the scanning and process\n    // them ad-hoc at the end. This is to avoid any inconsistent state while\n    // enumerating the devices.\n    _enumeration = false;\n    processBacklog();\n  }\n\n  void UEventDeviceManager::scan(const std::string& devpath)\n  {\n    std::vector<std::string> components;\n    tokenizeString(devpath, components, \"/\", /*trim_empty=*/true);\n    auto base = std::find_if(components.begin(), components.end(),\n    [](const std::string& component) -> bool {\n      return hasPrefix(component, \"usb\");\n    });\n    std::string path = \"\";\n\n    for (auto itr = components.begin(); itr < components.end(); ++itr) {\n      path += \"/\" + *itr;\n\n      if (itr >= base) {\n        ueventProcessAction(\"add\", path);\n      }\n    }\n\n    ueventProcessAction(\"add\", path);\n  }\n\n  bool UEventDeviceManager::ueventEnumerateComparePath(const std::pair<std::string, std::string>& a,\n    const std::pair<std::string, std::string>& b)\n  {\n    const std::string base_a = filenameFromPath(a.second, /*include_extension=*/true);\n    const std::string base_b = filenameFromPath(b.second, /*include_extension=*/true);\n    const bool a_has_usb_prefix = (0 == base_a.compare(0, 3, \"usb\"));\n    const bool b_has_usb_prefix = (0 == base_b.compare(0, 3, \"usb\"));\n\n    if (a_has_usb_prefix) {\n      if (!b_has_usb_prefix) {\n        return true;\n      }\n    }\n    else {\n      if (b_has_usb_prefix) {\n        return false;\n      }\n    }\n\n    if (base_a.size() < base_b.size()) {\n      return true;\n    }\n    else if (base_a.size() > base_b.size()) {\n      return false;\n    }\n\n    return base_a < base_b;\n  }\n\n  void UEventDeviceManager::thread()\n  {\n    USBGUARD_LOG(Trace) << \"Entering main loop.\";\n\n    try {\n      const int max_fd = std::max(_uevent_fd, _wakeup_fd);\n      fd_set readset;\n\n      while (!_thread.stopRequested()) {\n        struct timeval tv_timeout = { 5, 0 };\n        FD_ZERO(&readset);\n        FD_SET(_uevent_fd, &readset);\n        FD_SET(_wakeup_fd, &readset);\n\n        switch (select(max_fd + 1, &readset, NULL, NULL, &tv_timeout)) {\n        case 1: /* uevent or wakeup */\n        case 2: /* uevent and wakeup */\n          if (FD_ISSET(_wakeup_fd, &readset)) {\n            USBGUARD_LOG(Debug) << \"Wakeup event.\";\n            continue;\n          }\n\n          if (FD_ISSET(_uevent_fd, &readset)) {\n            USBGUARD_LOG(Debug) << \"UEvent read event.\";\n            ueventProcessRead();\n          }\n\n          break;\n\n        case 0: /* Timeout */\n          continue;\n\n        case -1: /* Error */\n        default:\n          USBGUARD_LOG(Error) << \"UEventDeviceManager thread: select failed: errno=\" << errno;\n          _thread.stop();\n        }\n      } /* Thread main loop */\n    }\n    catch (const Exception& ex) {\n      USBGUARD_LOG(Error) << \"UEventDeviceManager thread: \" << ex.message();\n    }\n\n    USBGUARD_LOG(Trace) << \"Leaving main loop.\";\n  }\n\n  void UEventDeviceManager::ueventProcessRead()\n  {\n    std::string buffer(4096, 0);\n    struct iovec iov[1];\n    iov[0].iov_base = (void*)&buffer[0];\n    iov[0].iov_len = buffer.capacity();\n    struct sockaddr_nl peer_sockaddr = { };\n    union {\n      struct cmsghdr header;\n      uint8_t ucred[CMSG_SPACE(sizeof(struct ucred))];\n    } cmsg_un;\n    cmsg_un.header.cmsg_len = CMSG_LEN(sizeof(struct ucred));\n    cmsg_un.header.cmsg_level = SOL_SOCKET;\n    cmsg_un.header.cmsg_type = SCM_CREDENTIALS;\n    struct msghdr msg_header = { };\n    msg_header.msg_control = cmsg_un.ucred;\n    msg_header.msg_controllen = sizeof cmsg_un.ucred;\n    msg_header.msg_iov = iov;\n    msg_header.msg_iovlen = 1;\n    msg_header.msg_name = &peer_sockaddr;\n    msg_header.msg_namelen = sizeof peer_sockaddr;\n    const int rc = recvmsg(_uevent_fd, &msg_header, MSG_DONTWAIT);\n\n    if (rc <= 0) {\n      const int saved_errno = errno;\n\n      if (saved_errno == EAGAIN || saved_errno == EWOULDBLOCK) {\n        USBGUARD_LOG(Warning) << \"ueventProcessRead: \"\n          << \"reading from uevent source would block thread execution\";\n        return;\n      }\n      else if (saved_errno == ENOBUFS) {\n        USBGUARD_LOG(Error) << \"ueventProcessRead: \"\n          << \"failed to read pending uevent (returning): \"\n          << \"rc=\" << rc << \" errno=\" << saved_errno;\n        usleep(1000);\n        return;\n      }\n      else {\n        USBGUARD_LOG(Error) << \"ueventProcessRead: \"\n          << \"failed to read pending uevent: \"\n          << \"rc=\" << rc << \" errno=\" << saved_errno;\n        throw ErrnoException(\"UEvent device manager\", \"recvmsg\", saved_errno);\n      }\n    }\n\n    buffer.resize((size_t)rc);\n    const struct cmsghdr* const cmsg_header = CMSG_FIRSTHDR(&msg_header);\n\n    if (cmsg_header == nullptr) {\n      /* ignore */\n      USBGUARD_LOG(Warning) << \"ueventProcessRead: \"\n        << \"received uevent without required control message: ignoring.\";\n      return;\n    }\n\n    if (cmsg_header->cmsg_len != CMSG_LEN(sizeof(struct ucred))\n      || cmsg_header->cmsg_level != SOL_SOCKET\n      || cmsg_header->cmsg_type != SCM_CREDENTIALS) {\n      /* unexpected control message -- ignore */\n      USBGUARD_LOG(Warning) << \"ueventProcessRead: \"\n        << \"received uevent with an invalid control message: ignoring.\";\n      return;\n    }\n\n    const struct ucred* const cmsg_ucred = \\\n        reinterpret_cast<const struct ucred*>(CMSG_DATA(cmsg_header));\n\n    if (cmsg_ucred == nullptr) {\n      /* missing ucred -- ignore */\n      USBGUARD_LOG(Warning) << \"ueventProcessRead: \"\n        << \"received uevent without required SCM_CREDENTIALS data: ignoring.\";\n      return;\n    }\n\n    if (cmsg_ucred->pid != 0 ||\n      cmsg_ucred->uid != 0 ||\n      cmsg_ucred->gid != 0) {\n      /* unknown origin -- ignore */\n      USBGUARD_LOG(Debug) << \"received uevent of unknown origin: ignoring.\";\n      return;\n    }\n\n    /*\n     * Try to parse uevent from the buffer and process it.\n     */\n    try {\n      UEvent uevent = UEvent::fromString(buffer, /*attributes_only=*/false, /*trace=*/false);\n      ueventProcessUEvent(std::move(uevent));\n    }\n    catch (...) {\n      USBGUARD_LOG(Warning) << \"ueventProcessRead: received invalid uevent data\";\n      USBGUARD_LOG(Debug) << \"ueventProcessRead: uevent_data=\" << base64Encode(buffer);\n    }\n  }\n\n  void UEventDeviceManager::ueventProcessUEvent(UEvent uevent)\n  {\n    const std::string subsystem = uevent.getAttribute(\"SUBSYSTEM\");\n    const std::string devtype = uevent.getAttribute(\"DEVTYPE\");\n    const std::string action = uevent.getAttribute(\"ACTION\");\n\n    /*\n     * We don't care about the event if it's not from the \"usb\" subsystem.\n     * The device type attribute value is checked later based on the data\n     * read from the sysfs uevent file in the device directory.\n     */\n    if (subsystem != \"usb\") {\n      USBGUARD_LOG(Debug) << \"Ignoring non-USB device:\"\n        << \" subsystem=\" << subsystem\n        << \" devtype=\" << devtype\n        << \" action=\" << action;\n      return;\n    }\n\n    const std::string sysfs_devpath = uevent.getAttribute(\"DEVPATH\");\n\n    if (_enumeration) {\n      _backlog.emplace_back(std::move(uevent));\n    }\n    else {\n      ueventProcessAction(action, sysfs_devpath);\n    }\n  }\n\n  void UEventDeviceManager::ueventProcessAction(const std::string& action, const std::string& sysfs_devpath)\n  {\n    try {\n      uint32_t id = 0;\n      const bool known_path = knownSysfsPath(sysfs_devpath, &id);\n\n      if (action == \"add\" /*|| action == \"change\"*/) {\n        if (known_path && id > 0) {\n          processDevicePresence(id);\n        }\n        else {\n          SysFSDevice sysfs_device(sysfs_devpath);\n\n          /*\n           * Do some additional sanity checking.\n           */\n          if (sysfs_device.getUEvent().hasAttribute(\"DEVTYPE\")) {\n            const std::string devtype = sysfs_device.getUEvent().getAttribute(\"DEVTYPE\");\n\n            if (devtype != \"usb_device\") {\n              USBGUARD_LOG(Debug) << sysfs_devpath << \": UEvent DEVTYPE != usb_device. Ignoring event.\";\n              return;\n            }\n          }\n          else {\n            if (!sysfs_device.hasAttribute(\"descriptors\")) {\n              USBGUARD_LOG(Debug) << sysfs_devpath << \": UEvent doesn't refer to a device with a descriptors file. Ignoring event.\";\n              return;\n            }\n          }\n\n          processDeviceInsertion(sysfs_device, /*signal_present=*/known_path);\n          USBGUARD_LOG(Debug) << \"Enumeration notify: sysfs_devpath=\" << sysfs_devpath\n            << \" _enumeration=\" << _enumeration\n            << \" known_path=\" << known_path;\n        }\n      }\n      else if (action == \"remove\") {\n        processDeviceRemoval(sysfs_devpath);\n      }\n      else if (action == \"bind\" || action == \"unbind\") {\n        USBGUARD_LOG(Debug) << action << \"=\" << sysfs_devpath;\n      }\n      else {\n        USBGUARD_LOG(Warning) << \"Ignoring unknown UEvent action: sysfs_devpath=\" << sysfs_devpath\n          << \" action=\" << action;\n      }\n    }\n    catch (const Exception& ex) {\n      USBGUARD_LOG(Warning) << \"USB Device Exception: \"\n        << ex.message();\n      DeviceException(ex.message());\n    }\n    catch (...) {\n      USBGUARD_LOG(Warning) << \"USB Device Exception: unknown exception\";\n      DeviceException(\"unknown exception\");\n    }\n  }\n\n  int UEventDeviceManager::ueventEnumerateDevices()\n  {\n    USBGUARD_LOG(Trace);\n    return loadFiles(SysFSDevice::getSysfsRoot() + \"/bus/usb/devices\",\n        UEventDeviceManager::ueventEnumerateFilterDevice,\n    [this](const std::string& devpath, const std::string& buspath) {\n      return ueventEnumerateTriggerDevice(devpath, buspath);\n    },\n    UEventDeviceManager::ueventEnumerateComparePath);\n  }\n\n  int UEventDeviceManager::ueventEnumerateTriggerDevice(const std::string& devpath, const std::string& buspath)\n  {\n    USBGUARD_LOG(Trace) << \"devpath=\" << devpath << \" buspath=\" << buspath;\n\n    try {\n      std::string sysfs_absolute_path(PATH_MAX, 0);\n\n      if (::realpath(devpath.c_str(), &sysfs_absolute_path[0]) == nullptr) {\n        USBGUARD_LOG(Warning) << \"Cannot resolve realpath for \" << devpath;\n        return 0;\n      }\n\n      sysfs_absolute_path.resize(::strlen(&sysfs_absolute_path[0]));\n\n      if (!hasPrefix(sysfs_absolute_path, SysFSDevice::getSysfsRoot())) {\n        USBGUARD_LOG(Warning) << \"Device isn't rooted inside \" << SysFSDevice::getSysfsRoot() << \". Skipping.\";\n        return 0;\n      }\n\n      const std::string sysfs_relative_path = removePrefix(SysFSDevice::getSysfsRoot(), sysfs_absolute_path);\n      USBGUARD_LOG(Debug) << \"sysfs_relative_path=\" << sysfs_relative_path;\n      SysFSDevice device(sysfs_relative_path);\n\n      if (device.getUEvent().getAttribute(\"DEVTYPE\") == \"usb_device\") {\n        learnSysfsPath(sysfs_relative_path);\n        ueventProcessAction(\"add\", sysfs_relative_path);\n        return 1;\n      }\n      else {\n        USBGUARD_LOG(Debug) << \"DEVTYPE != usb_device. Skipping.\";\n      }\n    }\n    catch (const Exception& ex) {\n      USBGUARD_LOG(Warning) << \"device enumeration exception: \" << buspath << \": \" << ex.message();\n    }\n    catch (const std::exception& ex) {\n      USBGUARD_LOG(Warning) << \"device enumeration exception: \" << buspath << \": \" << ex.what();\n    }\n\n    return 0;\n  }\n\n  void UEventDeviceManager::processBacklog()\n  {\n    USBGUARD_LOG(Debug) << \"Processing backlog: _backlog.size() = \" << _backlog.size();\n\n    try {\n      for (auto& it : _backlog) {\n        ueventProcessUEvent(std::move(it));\n      }\n    }\n    catch (...) {\n      USBGUARD_LOG(Warning) << \"ueventProcessBacklog: error processing uevent data\";\n    }\n  }\n} /* namespace usbguard */\n\n#endif /* HAVE_UDEV */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/UEventDeviceManager.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#if defined(HAVE_UEVENT)\n#include \"Common/Thread.hpp\"\n#include \"DeviceManagerBase.hpp\"\n\nnamespace usbguard\n{\n  class UEvent;\n\n  class UEventDeviceManager : public DeviceManagerBase\n  {\n  public:\n    UEventDeviceManager(DeviceManagerHooks& hooks);\n    ~UEventDeviceManager();\n\n    void start() override;\n    void stop() override;\n    void scan() override;\n    void scan(const std::string& devpath) override;\n\n  private:\n    static bool ueventEnumerateComparePath(const std::pair<std::string, std::string>& a,\n      const std::pair<std::string, std::string>& b);\n\n    void thread();\n    void ueventProcessRead();\n    void ueventProcessUEvent(UEvent uevent);\n    void ueventProcessAction(const std::string& action, const std::string& sysfs_devpath);\n    int ueventEnumerateDevices();\n    int ueventEnumerateTriggerDevice(const std::string& devpath, const std::string& buspath);\n\n    void processBacklog();\n\n    Thread<UEventDeviceManager> _thread;\n    std::vector<UEvent> _backlog;\n  };\n} /* namespace usbguard */\n\n#endif /* HAVE_UEVENT */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/UEventParser.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"UEventParser.hpp\"\n#include \"UEvent.hpp\"\n#include \"Common/Utility.hpp\"\n\n#include \"usbguard/Logger.hpp\"\n\n#include <fstream>\n\n#if TAO_PEGTL_VERSION_MAJOR >= 3\n  #include <tao/pegtl/contrib/trace.hpp>\n#else\n  #include <tao/pegtl/contrib/tracer.hpp>\n#endif\nusing namespace tao;\n\nnamespace usbguard\n{\n  namespace UEventParser\n  {\n    template<typename Rule>\n    struct actions\n      : pegtl::nothing<Rule> {};\n\n    template<>\n    struct actions<attribute> {\n      template<typename Input>\n      static void apply(const Input& in, UEvent& uevent)\n      {\n        try {\n          const auto p = in.string().find_first_of('=');\n\n          if (p == std::string::npos || p == (in.string().size() - 1)) {\n            throw pegtl::parse_error(\"invalid attribute format\", in);\n          }\n\n          const std::string key = in.string().substr(0, p);\n          const std::string value = trim(in.string().substr(p + 1, std::string::npos), std::string(\"\\n\\0\", 2));\n\n          for (const std::string header_key : {\n              \"ACTION\", \"DEVPATH\"\n            }) {\n            if (key == header_key) {\n              /*\n               * Sanity check the value only if the value is already assigned,\n               * because with umockdev device manager we need to parse ACTION\n               * and DEVPATH from the uevent data and we don't know it before\n               * that.\n               */\n              if (!uevent.getAttribute(header_key).empty()) {\n                if (value != uevent.getAttribute(header_key)) {\n                  throw pegtl::parse_error(\"header value mismatch\", in);\n                }\n              }\n            }\n          }\n          uevent.setAttribute(key, value);\n        }\n        catch (const pegtl::parse_error& ex) {\n          throw;\n        }\n        catch (const std::exception& ex) {\n          throw pegtl::parse_error(ex.what(), in);\n        }\n      }\n    };\n\n    template<>\n    struct actions<action> {\n      template<typename Input>\n      static void apply(const Input& in, UEvent& uevent)\n      {\n        uevent.setAttribute(\"ACTION\", in.string());\n      }\n    };\n\n    template<>\n    struct actions<devpath> {\n      template<typename Input>\n      static void apply(const Input& in, UEvent& uevent)\n      {\n        uevent.setAttribute(\"DEVPATH\", in.string());\n      }\n    };\n  } /* namespace UEventParser */\n\n  void parseUEventFromFile(const std::string& uevent_path, UEvent& uevent, bool attributes_only, bool trace)\n  {\n    std::ifstream uevent_stream(uevent_path);\n\n    if (uevent_stream.good()) {\n      std::string uevent_string(4096, 0);\n      uevent_stream.readsome(&uevent_string[0], uevent_string.capacity());\n      const auto read_size = uevent_stream.gcount();\n\n      if (read_size > 0) {\n        uevent_string.resize(read_size);\n        parseUEventFromString(uevent_string, uevent, attributes_only, trace);\n      }\n    }\n    else {\n      throw std::runtime_error(\"failed to open uevent source file\");\n    }\n  }\n\n  template<class G>\n  void parseUEventFromString(const std::string& uevent_string, UEvent& uevent, bool trace)\n  {\n    try {\n      tao::pegtl::string_input<> in(uevent_string, std::string());\n\n      if (!trace) {\n        tao::pegtl::parse<G, UEventParser::actions>(in, uevent);\n      }\n      else {\n#if TAO_PEGTL_VERSION_MAJOR >= 3\n        tao::pegtl::complete_trace<G, UEventParser::actions>(in, uevent);\n#else\n        tao::pegtl::parse<G, UEventParser::actions, tao::pegtl::tracer>(in, uevent);\n#endif\n      }\n    }\n    catch (...) {\n      throw;\n    }\n  }\n\n  void parseUEventFromString(const std::string& uevent_string, UEvent& uevent, bool attributes_only, bool trace)\n  {\n    if (attributes_only) {\n      parseUEventFromString<UEventParser::attributes>(uevent_string, uevent, trace);\n    }\n    else {\n      parseUEventFromString<UEventParser::grammar>(uevent_string, uevent, trace);\n    }\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/UEventParser.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/Typedefs.hpp\"\n\n#include <tao/pegtl.hpp>\n\nnamespace usbguard\n{\n  class UEvent;\n\n  namespace UEventParser\n  {\n    using namespace tao::pegtl;\n\n    struct value\n      : seq<not_one<'\\0', '\\n'>, star<not_one<'\\0', '\\n'>>> {};\n\n    struct key\n      : seq<ranges<'A', 'Z'>, star<ranges<'A', 'Z', '0', '9'>>> {};\n\n    struct attribute\n      : seq<key, one<'='>, value> {};\n\n    struct attributes\n      : list<attribute, one<'\\0', '\\n'>> {};\n\n    struct action\n      : seq<ranges<'a', 'z'>, star<ranges<'a', 'z'>>> {};\n\n    struct devpath\n      : seq<ascii::print, star<ascii::print>> {};\n\n    struct header\n      : seq<action, one<'@'>, devpath, one<'\\0'>> {};\n\n    struct uevent\n      : seq<header, attributes> {};\n\n    struct grammar\n      : until<eof, uevent> {};\n\n  } /* namespace UEventParser */\n\n  void parseUEventFromFile(const std::string& uevent_path, UEvent& uevent, bool attributes_only = false, bool trace = false);\n  void parseUEventFromString(const std::string& uevent_string, UEvent& uevent, bool attributes_only = false, bool trace = false);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/UMockdevDeviceDefinition.cpp",
    "content": "//\n// Copyright (C) 2018 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"UMockdevDeviceDefinition.hpp\"\n\n#include <usbguard/Logger.hpp>\n#include <Common/Utility.hpp>\n\n#include <tao/pegtl.hpp>\n#if TAO_PEGTL_VERSION_MAJOR >= 3\n  #include <tao/pegtl/contrib/trace.hpp>\n#else\n  #include <tao/pegtl/contrib/tracer.hpp>\n#endif\n\nnamespace usbguard\n{\n  namespace UMockdevParser\n  {\n    using namespace tao::pegtl;\n\n    /*\n     * Each paragraph defines one device.\n     * A line starts with a type tag (like 'E'), followed by a colon, followed by either a value or a \"key=value\" assignment,\n     * depending on the type tag. A device description must start with a 'P:' line. Available type tags are:\n     *\n     *  P:path: device path in sysfs, starting with /devices/; must occur exactly once at the start of device definition\n     *  E:key=value: udev property\n     *  A:key=value: ASCII sysfs attribute, with backslash-style escaping of \\ (\\\\) and newlines (\\n)\n     *  H:key=value: binary sysfs attribute, with the value being written as continuous hex string (e. g. 0081FE0A..)\n     *  N:devname[=contents]: device node name (without the /dev/ prefix); if contents is given (encoded in a continuous hex string),\n     *                        it creates a /dev/devname in the mock environment with the given contents, otherwise the created dev file\n     *                        will be a pty; see umockdev_testbed_get_dev_fd for details.\n     *  S:linkname: device node symlink (without the /dev/ prefix); ignored right now.\n     */\n\n    struct str_path_prefix : TAO_PEGTL_STRING(\"P:\") {};\n\n    struct str_property_prefix : TAO_PEGTL_STRING(\"E:\") {};\n\n    struct str_ascii_attr_prefix : TAO_PEGTL_STRING(\"A:\") {};\n\n    struct str_binary_attr_prefix : TAO_PEGTL_STRING(\"H:\") {};\n\n    struct str_link_prefix : TAO_PEGTL_STRING(\"L:\") {};\n\n    struct str_name_prefix : TAO_PEGTL_STRING(\"N:\") {};\n\n    struct line_rest\n      : star<not_at<ascii::eol>, not_at<eof>, ascii::any> {};\n\n    struct devfs_node_value\n      : line_rest {};\n\n    struct devfs_node_line\n      : seq<str_name_prefix, devfs_node_value> {};\n\n    struct ascii_attr_value\n      : line_rest {};\n\n    struct ascii_attr_line\n      : seq<str_ascii_attr_prefix, ascii_attr_value> {};\n\n    struct property_value\n      : line_rest {};\n\n    struct property_line\n      : seq<str_property_prefix, property_value> {};\n\n    struct unprocessed_line\n      : seq<sor<str_binary_attr_prefix, str_link_prefix>, line_rest> {};\n\n    struct definition_rest\n      : list<sor<devfs_node_line, property_line, ascii_attr_line, unprocessed_line>, ascii::eol> {};\n\n    struct sysfs_path_value\n      : line_rest {};\n\n    struct sysfs_path_line_begin\n      : str_path_prefix {};\n\n    struct sysfs_path_line\n      : seq<sysfs_path_line_begin, sysfs_path_value> {};\n\n    struct empty_line\n      : until<ascii::eol, ascii::blank> {};\n\n    struct definition\n      : seq<sysfs_path_line, ascii::eol, definition_rest> {};\n\n    struct grammar\n      : until<eof, must<sor<definition, empty_line>>> {};\n\n    template<typename Rule>\n    struct actions\n      : tao::pegtl::nothing<Rule> {};\n\n    using Definitions = std::vector<std::unique_ptr<UMockdevDeviceDefinition>>;\n\n    template<>\n    struct actions<sysfs_path_line_begin> {\n      template<typename Input>\n      static void apply(const Input& in, Definitions& definitions, const std::string& umockdev_name)\n      {\n        std::unique_ptr<UMockdevDeviceDefinition> definition(new UMockdevDeviceDefinition());\n        (void)in;\n        definition->setUMockdevName(umockdev_name);\n        definitions.push_back(std::move(definition));\n      }\n    };\n\n    template<>\n    struct actions<sysfs_path_value> {\n      template<typename Input>\n      static void apply(const Input& in, Definitions& definitions, const std::string& umockdev_name)\n      {\n        (void)umockdev_name;\n        std::unique_ptr<UMockdevDeviceDefinition>& definition = definitions.back();\n        definition->setSysfsPath(trim(in.string()));\n      }\n    };\n\n    template<>\n    struct actions<devfs_node_value> {\n      template<typename Input>\n      static void apply(const Input& in, Definitions& definitions, const std::string& umockdev_name)\n      {\n        (void)umockdev_name;\n        std::unique_ptr<UMockdevDeviceDefinition>& definition = definitions.back();\n        definition->setDevfsNode(trim(in.string()));\n      }\n    };\n\n#if 0\n    template<>\n    struct actions<ascii_attr_value> {\n      template<typename Input>\n      static void apply(const Input& in, Definitions& definitions, const std::string& umockdev_name)\n      {\n        (void)umockdev_name;\n        const std::string in_trimmed = trim(in.string());\n        const auto separator_pos = in_trimmed.find_first_of(\"=\");\n        const std::string key = in_trimmed.substr(0, separator_pos);\n        const std::string value = in_trimmed.substr(separator_pos + 1);\n        std::unique_ptr<UMockdevDeviceDefinition>& definition = definitions.back();\n      }\n    };\n#endif\n\n    template<>\n    struct actions<property_value> {\n      template<typename Input>\n      static void apply(const Input& in, Definitions& definitions, const std::string& umockdev_name)\n      {\n        (void)umockdev_name;\n        const std::string in_trimmed = trim(in.string());\n        const auto separator_pos = in_trimmed.find_first_of(\"=\");\n        const std::string key = in_trimmed.substr(0, separator_pos);\n        const std::string value = in_trimmed.substr(separator_pos + 1);\n        USBGUARD_LOG(Debug) << \"Property: key=\" << key << \" value=\" << value;\n\n        if (key != \"DEVTYPE\") {\n          return;\n        }\n\n        std::unique_ptr<UMockdevDeviceDefinition>& definition = definitions.back();\n        definition->setDeviceType(value);\n      }\n    };\n\n    template<>\n    struct actions<definition> {\n      template<typename Input>\n      static void apply(const Input& in, Definitions& definitions, const std::string& umockdev_name)\n      {\n        (void)umockdev_name;\n        std::unique_ptr<UMockdevDeviceDefinition>& definition = definitions.back();\n        definition->setUMockdevDefinition(trim(in.string()));\n      }\n    };\n  }\n\n  UMockdevDeviceDefinition::UMockdevDeviceDefinition()\n  {\n  }\n\n  const std::string& UMockdevDeviceDefinition::getUMockdevName() const\n  {\n    return _name;\n  }\n\n  void UMockdevDeviceDefinition::setUMockdevName(const std::string& name)\n  {\n    _name = name;\n  }\n\n  const std::string& UMockdevDeviceDefinition::getSysfsPath() const\n  {\n    return _sysfs_path;\n  }\n\n  void UMockdevDeviceDefinition::setSysfsPath(const std::string& sysfs_path)\n  {\n    _sysfs_path = sysfs_path;\n  }\n\n  const std::string& UMockdevDeviceDefinition::getDevfsNode() const\n  {\n    return _devfs_node;\n  }\n\n  void UMockdevDeviceDefinition::setDevfsNode(const std::string& devfs_node)\n  {\n    _devfs_node = devfs_node;\n  }\n\n  bool UMockdevDeviceDefinition::hasDevfsNode() const\n  {\n    return !_devfs_node.empty();\n  }\n\n  const std::string& UMockdevDeviceDefinition::getDeviceType() const\n  {\n    return _device_type;\n  }\n\n  void UMockdevDeviceDefinition::setDeviceType(const std::string& device_type)\n  {\n    _device_type = device_type;\n  }\n\n\n  const std::string& UMockdevDeviceDefinition::getUMockdevDefinition() const\n  {\n    return _definition;\n  }\n\n  void UMockdevDeviceDefinition::setUMockdevDefinition(const std::string& definition)\n  {\n    _definition = definition;\n  }\n\n  UMockdevDeviceDefinition::operator bool () const\n  {\n    return !_definition.empty();\n  }\n\n  std::vector<std::unique_ptr<UMockdevDeviceDefinition>> UMockdevDeviceDefinition::parseFromFile(const std::string& filepath,\n      bool sort_by_hierarchy)\n  {\n    const std::string umockdev_name = filenameFromPath(filepath, /*include_extension=*/true);\n    std::vector<std::unique_ptr<UMockdevDeviceDefinition>> definitions;\n\n    try {\n      USBGUARD_LOG(Debug) << \"Parsing umockdev definitions from \" << filepath;\n      tao::pegtl::file_input<> input(filepath);\n      tao::pegtl::parse<UMockdevParser::grammar, UMockdevParser::actions>(input, definitions, umockdev_name);\n      USBGUARD_LOG(Debug) << \"Parsed \" << definitions.size() << \" definition(s)\";\n    }\n    catch (...) {\n      USBGUARD_LOG(Error) << \"UMockdevDeviceDefinition: \" << filepath << \": parsing failed at line <LINE>\";\n      throw;\n    }\n\n    const auto lambdaSysfsPathHierarchyCompare = [](const std::unique_ptr<UMockdevDeviceDefinition>& a,\n    const std::unique_ptr<UMockdevDeviceDefinition>& b) {\n      const std::string full_a = a->getSysfsPath();\n      const std::string full_b = b->getSysfsPath();\n      const std::size_t component_count_a = countPathComponents(full_a);\n      const std::size_t component_count_b = countPathComponents(full_b);\n      USBGUARD_LOG(Debug) << \"c_c_a=\" << component_count_a << \" c_c_b=\" << component_count_b;\n\n      if (component_count_a < component_count_b) {\n        return true;\n      }\n      else if (component_count_a > component_count_b) {\n        return false;\n      }\n\n      const std::string base_a = filenameFromPath(full_a, /*include_extension=*/true);\n      const std::string base_b = filenameFromPath(full_b, /*include_extension=*/true);\n      const bool a_has_usb_prefix = hasPrefix(\"usb\", base_a);\n      const bool b_has_usb_prefix = hasPrefix(\"usb\", base_b);\n      USBGUARD_LOG(Debug) << \"a_p=\" << a_has_usb_prefix << \" b_p=\" << b_has_usb_prefix;\n\n      if (a_has_usb_prefix) {\n        if (!b_has_usb_prefix) {\n          return true;\n        }\n      }\n      else {\n        if (b_has_usb_prefix) {\n          return false;\n        }\n      }\n\n      return base_a < base_b;\n    };\n\n    if (sort_by_hierarchy) {\n      USBGUARD_LOG(Debug) << \"Sorting definitions\";\n      std::sort(definitions.begin(), definitions.end(), lambdaSysfsPathHierarchyCompare);\n    }\n\n    return definitions;\n  }\n\n  /*\n   * FIXME (easy): Deduplicate the code here a bit. The parseFrom* methods could be reimplemented to\n   *               share the parsing & sorting code. The difference is only the source. Let's create\n   *               a low-level parsing method template that will generate one or the other implementation.\n   *               Another option is to deduplicate this by creating a shared implementation that parses\n   *               the data only from memory and handle the source name from the specialized methods.\n   */\n  std::vector<std::unique_ptr<UMockdevDeviceDefinition>> UMockdevDeviceDefinition::parseFromString(\n      const std::string& definitions_string, bool sort_by_hierarchy)\n  {\n    const std::string umockdev_name = \"<string>\";\n    std::vector<std::unique_ptr<UMockdevDeviceDefinition>> definitions;\n\n    try {\n      tao::pegtl::string_input<> input(definitions_string, \"<string>\");\n#if TAO_PEGTL_VERSION_MAJOR >= 3\n      tao::pegtl::complete_trace<UMockdevParser::grammar, UMockdevParser::actions>(input, definitions, umockdev_name);\n#else\n      tao::pegtl::parse<UMockdevParser::grammar, UMockdevParser::actions, tao::pegtl::tracer>(input, definitions, umockdev_name);\n#endif\n    }\n    catch (...) {\n      USBGUARD_LOG(Error) << \"UMockdevDeviceDefinition: \" << \"<string>\" << \": parsing failed at line <LINE>\";\n      throw;\n    }\n\n    const auto lambdaSysfsPathHierarchyCompare = [](const std::unique_ptr<UMockdevDeviceDefinition>& a,\n    const std::unique_ptr<UMockdevDeviceDefinition>& b) {\n      return (a->getSysfsPath().size() < b->getSysfsPath().size() ||\n          b->getSysfsPath() <= b->getSysfsPath());\n    };\n\n    if (sort_by_hierarchy) {\n      std::sort(definitions.begin(), definitions.end(), lambdaSysfsPathHierarchyCompare);\n    }\n\n    return definitions;\n  }\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/UMockdevDeviceDefinition.hpp",
    "content": "//\n// Copyright (C) 2018 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include <string>\n#include <vector>\n#include <memory>\n\nnamespace usbguard\n{\n  class UMockdevDeviceDefinition\n  {\n  public:\n    UMockdevDeviceDefinition();\n    UMockdevDeviceDefinition(UMockdevDeviceDefinition&&) = default;\n    ~UMockdevDeviceDefinition() = default;\n\n    const std::string& getUMockdevName() const;\n    void setUMockdevName(const std::string& name);\n\n    const std::string& getSysfsPath() const;\n    void setSysfsPath(const std::string& sysfs_path);\n\n    const std::string& getDevfsNode() const;\n    void setDevfsNode(const std::string& devfs_node);\n    bool hasDevfsNode() const;\n\n    const std::string& getDeviceType() const;\n    void setDeviceType(const std::string& device_type);\n\n    const std::string& getUMockdevDefinition() const;\n    void setUMockdevDefinition(const std::string& definition);\n    operator bool () const;\n\n    static std::vector<std::unique_ptr<UMockdevDeviceDefinition>> parseFromFile(const std::string& filepath,\n        bool sort_by_hierarchy = false);\n    static std::vector<std::unique_ptr<UMockdevDeviceDefinition>> parseFromString(const std::string& definitions,\n        bool sort_by_hierarchy = false);\n\n  private:\n    std::string _name;\n    std::string _sysfs_path;\n    std::string _devfs_node;\n    std::string _device_type;\n    std::string _definition;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/UMockdevDeviceManager.cpp",
    "content": "//\n// Copyright (C) 2018 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#if defined(HAVE_UMOCKDEV)\n#include \"UMockdevDeviceManager.hpp\"\n#include \"UMockdevDeviceDefinition.hpp\"\n\n#include \"Base64.hpp\"\n#include \"SysFSDevice.hpp\"\n\n#include \"Common/FDInputStream.hpp\"\n#include \"Common/Utility.hpp\"\n\n#include \"usbguard/Logger.hpp\"\n#include \"usbguard/Exception.hpp\"\n\n#include <stdexcept>\n#include <fstream>\n#include <chrono>\n\n#include <unistd.h>\n#include <sys/eventfd.h>\n#include <sys/select.h>\n#include <sys/socket.h>\n#include <sys/types.h>\n#include <sys/un.h>\n#include <sys/inotify.h>\n#include <linux/netlink.h>\n#include <limits.h>\n#include <stdlib.h>\n\nnamespace usbguard\n{\n\n  UMockdevDeviceManager::UMockdevDeviceManager(DeviceManagerHooks& hooks)\n    : DeviceManagerBase(hooks),\n      _thread(this, &UMockdevDeviceManager::thread)\n  {\n    umockdevInit();\n    USBGUARD_SYSCALL_THROW(\"UMockdevDeviceManager\", (_wakeup_fd = eventfd(0, 0)) < 0);\n    _uevent_fd = ueventOpen();\n  }\n\n  UMockdevDeviceManager::~UMockdevDeviceManager()\n  {\n    if (getRestoreControllerDeviceState()) {\n      setAuthorizedDefault(AuthorizedDefaultType::All); // FIXME: Set to previous state\n    }\n\n    stop();\n\n    if (_uevent_fd >= 0) {\n      (void)close(_uevent_fd);\n    }\n\n    if (_wakeup_fd >= 0) {\n      (void)close(_wakeup_fd);\n    }\n  }\n\n  void UMockdevDeviceManager::start()\n  {\n    _thread.start();\n  }\n\n  void UMockdevDeviceManager::stop()\n  {\n    // stop monitor\n    _thread.stop(/*do_wait=*/false);\n    { /* Wakeup the device manager thread */\n      const uint64_t one = 1;\n      USBGUARD_SYSCALL_THROW(\"Linux device manager\",\n        write(_wakeup_fd, &one, sizeof one) != sizeof one);\n    }\n    _thread.wait();\n  }\n\n  void UMockdevDeviceManager::scan()\n  {\n    USBGUARD_LOG(Trace);\n    Restorer<std::atomic<bool>, bool> \\\n    restorer(_enumeration, /*transient=*/true, /*restored=*/false);\n    auto const enumeration_count = ueventEnumerateDevices();\n    USBGUARD_LOG(Debug) << \"enumeration_count=\" << enumeration_count;\n\n    if (enumeration_count == 0) {\n      return;\n    }\n\n    if (enumeration_count < 0) {\n      throw Exception(\"UMockdevDeviceManager\", \"present devices\", \"failed to enumerate\");\n    }\n  }\n\n  void UMockdevDeviceManager::scan(const std::string& devpath)\n  {\n    USBGUARD_LOG(Trace) << \"devpath=\" << devpath;\n  }\n\n  bool UMockdevDeviceManager::ueventEnumerateComparePath(const std::pair<std::string, std::string>& a,\n    const std::pair<std::string, std::string>& b)\n  {\n    USBGUARD_LOG(Trace) << \"a.second=\" << a.second << \" b.second=\" << b.second;\n    const std::string full_a = a.second;\n    const std::string full_b = b.second;\n    const std::size_t component_count_a = countPathComponents(full_a);\n    const std::size_t component_count_b = countPathComponents(full_b);\n\n    if (component_count_a < component_count_b) {\n      return true;\n    }\n    else if (component_count_a > component_count_b) {\n      return false;\n    }\n\n    const std::string base_a = filenameFromPath(full_a, /*include_extension=*/true);\n    const std::string base_b = filenameFromPath(full_b, /*include_extension=*/true);\n    const bool a_has_usb_prefix = hasPrefix(base_a, \"usb\");\n    const bool b_has_usb_prefix = hasPrefix(base_b, \"usb\");\n    USBGUARD_LOG(Debug) << \"a_prefix=\" << a_has_usb_prefix << \" b_prefix=\" << b_has_usb_prefix;\n\n    if (a_has_usb_prefix) {\n      if (!b_has_usb_prefix) {\n        return true;\n      }\n      else {\n        return base_a < base_b;\n      }\n    }\n    else {\n      if (b_has_usb_prefix) {\n        return false;\n      }\n    }\n\n    if (full_a.size() < full_b.size()) {\n      return true;\n    }\n    else if (full_a.size() > full_b.size()) {\n      return false;\n    }\n\n    return full_a < full_b;\n  }\n\n  void UMockdevDeviceManager::umockdevInit()\n  {\n    const char* const envval = ::getenv(\"USBGUARD_UMOCKDEV_DEVICEDIR\");\n\n    if (envval == nullptr) {\n      throw Exception(\"UMockdevDeviceManager\", \"USBGUARD_UMOCKDEV_DEVICEDIR\", \"Environment variable not set.\");\n    }\n\n    _umockdev_deviceroot = std::string(envval);\n    _testbed.reset(umockdev_testbed_new());\n    USBGUARD_LOG(Info) << \"umockdev device directory set to \" << _umockdev_deviceroot;\n    const auto lambdaUMockdevFilterEntry = [](const std::string& fullpath, const struct dirent* dirent) -> std::string {\n      (void)dirent;\n      struct stat st = {};\n\n      if (::stat(fullpath.c_str(), &st) != 0)\n      {\n        USBGUARD_LOG(Warning) << \"stat() failed: \" << fullpath << \": Skipping file!\";\n        return std::string();\n      }\n\n      if (S_ISREG(st.st_mode))\n      {\n        return fullpath;\n      }\n      else\n      {\n        return std::string();\n      }\n    };\n    const auto lambdaUMockdevAddFromFile = [this](const std::string& fullpath, const std::string& loadpath) -> int {\n      (void)fullpath;\n\n      for (const auto& device_path : umockdevLoadFromFile(loadpath))\n      {\n        umockdevAdd(_sysfs_path_map.at(device_path));\n      }\n\n      return 1;\n    };\n    loadFiles(_umockdev_deviceroot, lambdaUMockdevFilterEntry, lambdaUMockdevAddFromFile);\n    USBGUARD_SYSCALL_THROW(\"UMockdevDeviceManager\", (_inotify_fd = inotify_init1(IN_NONBLOCK)) < 0);\n    USBGUARD_SYSCALL_THROW(\"UMockdevDeviceManager\", (inotify_add_watch(_inotify_fd, _umockdev_deviceroot.c_str(),\n          IN_CREATE|IN_DELETE)) < 0);\n  }\n\n  void UMockdevDeviceManager::umockdevAdd(const std::shared_ptr<UMockdevDeviceDefinition>& definition)\n  {\n    if (access((SysFSDevice::getSysfsRoot() + definition->getSysfsPath()).c_str(), F_OK) == 0) {\n      USBGUARD_LOG(Debug) << \"Device already defined: \" << definition->getSysfsPath();\n      return;\n    }\n\n    umockdev_testbed_add_from_string(_testbed.get(), definition->getUMockdevDefinition().c_str(), /*error=*/nullptr);\n    umockdev_testbed_uevent(_testbed.get(), (SysFSDevice::getSysfsRoot() + definition->getSysfsPath()).c_str(), \"add\");\n  }\n\n  void UMockdevDeviceManager::umockdevRemove(const std::shared_ptr<UMockdevDeviceDefinition>& definition)\n  {\n    USBGUARD_LOG(Trace) << \"definition=\" << definition->getUMockdevName() << \" sysfs_path=\" << definition->getSysfsPath();\n    umockdevRemove(definition->getSysfsPath());\n  }\n\n  void UMockdevDeviceManager::umockdevRemove(const std::string& sysfs_path)\n  {\n    USBGUARD_LOG(Trace) << \"sysfs_path=\" << sysfs_path;\n\n    for (const auto& child_device_path : umockdevGetChildrenBySysfsPath(sysfs_path)) {\n      USBGUARD_LOG(Debug) << \"Removing child device \" << child_device_path;\n      umockdevRemove(child_device_path);\n    }\n\n    umockdev_testbed_uevent(_testbed.get(), (SysFSDevice::getSysfsRoot() + sysfs_path).c_str(), \"remove\");\n    umockdev_testbed_remove_device(_testbed.get(), (SysFSDevice::getSysfsRoot() + sysfs_path).c_str());\n    //_sysfs_path_map.erase(sysfs_path);\n  }\n\n  void UMockdevDeviceManager::umockdevProcessInotify()\n  {\n    char buffer[sizeof (inotify_event) + NAME_MAX + 1] __attribute__((aligned(__alignof__(inotify_event))));\n\n    if (read (_inotify_fd, buffer, sizeof buffer) <= 0) {\n      USBGUARD_LOG(Warning) << \"Inotify event read size mismatch\";\n      return;\n    }\n\n    const struct inotify_event* const event = reinterpret_cast<inotify_event*>(buffer);\n\n    if (event->len <= 0 || event->len > NAME_MAX) {\n      USBGUARD_LOG(Warning) << \"Inotify event pathname size is out-of-range.\";\n      return;\n    }\n\n    std::string definitions_path(event->name, event->len);\n    USBGUARD_LOG(Debug) << \"inotify: definitions_path= \" << definitions_path << \" event_mask=\" << event->mask;\n\n    if (event->mask & IN_CREATE) {\n      USBGUARD_LOG(Debug) << \"inotify: IN_CREATE\";\n\n      for (const auto& sysfs_path : umockdevLoadFromFile(_umockdev_deviceroot + \"/\" + definitions_path)) {\n        umockdevAdd(_sysfs_path_map.at(sysfs_path));\n        //umockdev_testbed_uevent(_testbed.get(), sysfs_path.c_str(), \"add\");\n      }\n    }\n    else if (event->mask & IN_DELETE) {\n      USBGUARD_LOG(Debug) << \"inotify: IN_DELETE\";\n\n      for (const auto& sysfs_path : umockdevRemoveByFile(_umockdev_deviceroot + \"/\" + definitions_path)) {\n        umockdevRemove(_sysfs_path_map.at(sysfs_path));\n        //umockdev_testbed_uevent(_testbed.get(), sysfs_path.c_str(), \"remove\");\n      }\n    }\n    else {\n      USBGUARD_LOG(Debug) << \"inotify: Ignoring event.\";\n    }\n  }\n\n  std::vector<std::string> UMockdevDeviceManager::umockdevLoadFromFile(const std::string& definitions_path)\n  {\n    USBGUARD_LOG(Debug) << \"Loading device definitions from \" << definitions_path;\n    std::vector<std::unique_ptr<UMockdevDeviceDefinition>> definitions;\n    std::vector<std::string> device_paths;\n\n    try {\n      definitions = UMockdevDeviceDefinition::parseFromFile(definitions_path, /*sort_by_hierarchy=*/true);\n    }\n    catch (...) {\n      USBGUARD_LOG(Warning) << \"UMockdevDeviceManager: failed to parse \" << definitions_path;\n      throw;\n    }\n\n    for (auto&& definition : definitions) {\n      if (_sysfs_path_map.count(definition->getSysfsPath()) > 0) {\n        USBGUARD_LOG(Warning) << \"UMockdevDeviceManager: \" << definition->getSysfsPath() << \": device already defined, skipping.\";\n        continue;\n      }\n\n      std::shared_ptr<UMockdevDeviceDefinition> sharedptr_definition(std::move(definition));\n      std::weak_ptr<UMockdevDeviceDefinition> weakptr_definition(sharedptr_definition);\n\n      if (sharedptr_definition->getDeviceType() == \"usb_device\") {\n        if (_sysfs_path_map.count(parentPath(sharedptr_definition->getSysfsPath())) < 1) {\n          USBGUARD_LOG(Warning) << \"UMockdevDeviceManager: \" << sharedptr_definition->getSysfsPath() <<\n            \": parent device not defined, skipping.\";\n          continue;\n        }\n\n        USBGUARD_LOG(Debug) << \"Adding new USB device definition: \" << sharedptr_definition->getSysfsPath();\n      }\n      else {\n        USBGUARD_LOG(Debug) << \"Adding new non-USB device definition: \" << sharedptr_definition->getSysfsPath();\n      }\n\n      _sysfs_path_map.emplace(sharedptr_definition->getSysfsPath(), sharedptr_definition);\n      _umockdev_file_map.emplace(sharedptr_definition->getUMockdevName(), weakptr_definition);\n      device_paths.push_back(sharedptr_definition->getSysfsPath());\n    }\n\n    return device_paths;\n  }\n\n  std::vector<std::string> UMockdevDeviceManager::umockdevRemoveByFile(const std::string& definitions_path)\n  {\n    USBGUARD_LOG(Trace) << \"definitions_path=\" << definitions_path;\n    std::vector<std::string> device_paths;\n    const std::string umockdev_name = filenameFromPath(definitions_path, /*include_extension=*/true);\n    auto it = _umockdev_file_map.find(umockdev_name);\n\n    while (it != _umockdev_file_map.end()) {\n      if (it->first != umockdev_name) {\n        break;\n      }\n\n      std::shared_ptr<UMockdevDeviceDefinition> definition = it->second.lock();\n      USBGUARD_LOG(Debug) << \"device_paths <- \" << definition->getSysfsPath();\n      device_paths.push_back(definition->getSysfsPath());\n      it = _umockdev_file_map.erase(it);\n    }\n\n    const auto lambdaSysfsPathHierarchyCompare = [](const std::string& full_b,\n    const std::string& full_a) {\n      const std::size_t component_count_a = countPathComponents(full_a);\n      const std::size_t component_count_b = countPathComponents(full_b);\n      USBGUARD_LOG(Debug) << \"c_c_a=\" << component_count_a << \" c_c_b=\" << component_count_b;\n\n      if (component_count_a < component_count_b) {\n        return true;\n      }\n      else if (component_count_a > component_count_b) {\n        return false;\n      }\n\n      const std::string base_a = filenameFromPath(full_a, /*include_extension=*/true);\n      const std::string base_b = filenameFromPath(full_b, /*include_extension=*/true);\n      const bool a_has_usb_prefix = hasPrefix(\"usb\", base_a);\n      const bool b_has_usb_prefix = hasPrefix(\"usb\", base_b);\n      USBGUARD_LOG(Debug) << \"a_p=\" << a_has_usb_prefix << \" b_p=\" << b_has_usb_prefix;\n\n      if (a_has_usb_prefix) {\n        if (!b_has_usb_prefix) {\n          return true;\n        }\n      }\n      else {\n        if (b_has_usb_prefix) {\n          return false;\n        }\n      }\n\n      return base_a < base_b;\n    };\n    std::sort(device_paths.begin(), device_paths.end(), lambdaSysfsPathHierarchyCompare);\n    return device_paths;\n  }\n\n  std::vector<std::string> UMockdevDeviceManager::umockdevGetChildrenBySysfsPath(const std::string& sysfs_path)\n  {\n    std::vector<std::string> children;\n    auto it = _sysfs_path_map.find(sysfs_path);\n\n    if (it == _sysfs_path_map.cend()) {\n      throw Exception(\"UMockdevDeviceManager\", sysfs_path, \"cannot list children for undefined device\");\n    }\n\n    const auto child_component_count = countPathComponents(sysfs_path) + 1;\n    ++it;\n\n    while (it != _sysfs_path_map.cend()) {\n      if (!hasPrefix(it->first, sysfs_path)) {\n        break;\n      }\n      else {\n        if (countPathComponents(it->first) == child_component_count) {\n          children.push_back(it->first);\n        }\n      }\n\n      ++it;\n    }\n\n    return children;\n  }\n\n  /*\n   * Set authorized=1 and add child devices.\n   */\n  void UMockdevDeviceManager::sysfsAuthorizeDevice(SysFSDevice& sysfs_device)\n  {\n    std::string sysfs_path = sysfs_device.getPath();\n    /* set_attribute requires full device path */\n    umockdev_testbed_set_attribute(_testbed.get(), (SysFSDevice::getSysfsRoot() + sysfs_path).c_str(), \"authorized\", \"1\");\n\n    for (const auto& child_device_path : umockdevGetChildrenBySysfsPath(sysfs_path)) {\n      USBGUARD_LOG(Debug) << \"(authorize) Adding \" << child_device_path;\n      umockdevAdd(_sysfs_path_map.at(child_device_path));\n    }\n\n    sysfs_device.setAttribute(\"authorized\", \"1\");\n  }\n\n  /*\n   * Set authorized=0 and remove child devices.\n   */\n  void UMockdevDeviceManager::sysfsDeauthorizeDevice(SysFSDevice& sysfs_device)\n  {\n    std::string sysfs_path = sysfs_device.getPath();\n    /* set_attribute requires full device path */\n    umockdev_testbed_set_attribute(_testbed.get(), (SysFSDevice::getSysfsRoot() + sysfs_path).c_str(), \"authorized\", \"0\");\n\n    for (const auto& child_device_path : umockdevGetChildrenBySysfsPath(sysfs_path)) {\n      USBGUARD_LOG(Debug) << \"(deauthorize) Removing \" << child_device_path;\n      umockdevRemove(child_device_path);\n    }\n\n    sysfs_device.setAttribute(\"authorized\", \"0\");\n  }\n\n  void UMockdevDeviceManager::thread()\n  {\n    USBGUARD_LOG(Trace) << \"Entering main loop.\";\n\n    try {\n      const int max_fd = std::max(_uevent_fd, std::max(_wakeup_fd, _inotify_fd));\n      fd_set readset;\n\n      while (!_thread.stopRequested()) {\n        struct timeval tv_timeout = { 5, 0 };\n        FD_ZERO(&readset);\n        FD_SET(_uevent_fd, &readset);\n        FD_SET(_wakeup_fd, &readset);\n        FD_SET(_inotify_fd, &readset);\n\n        switch (select(max_fd + 1, &readset, NULL, NULL, &tv_timeout)) {\n        case 1:\n        case 2:\n        case 3:\n          if (FD_ISSET(_wakeup_fd, &readset)) {\n            USBGUARD_LOG(Debug) << \"Wakeup event.\";\n            continue;\n          }\n\n          if (FD_ISSET(_uevent_fd, &readset)) {\n            USBGUARD_LOG(Debug) << \"UEvent read event.\";\n            ueventProcessRead();\n          }\n\n          if (FD_ISSET(_inotify_fd, &readset)) {\n            USBGUARD_LOG(Debug) << \"Inotify event.\";\n            umockdevProcessInotify();\n          }\n\n          break;\n\n        case 0: /* Timeout */\n          continue;\n\n        case -1: /* Error */\n        default:\n          USBGUARD_LOG(Error) << \"UMockdevDeviceManager thread: select failed: errno=\" << errno;\n          _thread.stop();\n        }\n      } /* Thread main loop */\n    }\n    catch (const Exception& ex) {\n      USBGUARD_LOG(Error) << \"UMockdevDeviceManager thread: \" << ex.message();\n    }\n\n    USBGUARD_LOG(Trace) << \"Leaving main loop.\";\n  }\n\n  void UMockdevDeviceManager::ueventProcessRead()\n  {\n    std::string buffer(4096, 0);\n    struct iovec iov[1];\n    iov[0].iov_base = (void*)&buffer[0];\n    iov[0].iov_len = buffer.capacity();\n    struct sockaddr_nl peer_sockaddr = { };\n    union {\n      struct cmsghdr header;\n      uint8_t ucred[CMSG_SPACE(sizeof(struct ucred))];\n    } cmsg_un;\n    cmsg_un.header.cmsg_len = CMSG_LEN(sizeof(struct ucred));\n    cmsg_un.header.cmsg_level = SOL_SOCKET;\n    cmsg_un.header.cmsg_type = SCM_CREDENTIALS;\n    struct msghdr msg_header = { };\n    msg_header.msg_control = cmsg_un.ucred;\n    msg_header.msg_controllen = sizeof cmsg_un.ucred;\n    msg_header.msg_iov = iov;\n    msg_header.msg_iovlen = 1;\n    msg_header.msg_name = &peer_sockaddr;\n    msg_header.msg_namelen = sizeof peer_sockaddr;\n    const int rc = recvmsg(_uevent_fd, &msg_header, MSG_DONTWAIT);\n\n    if (rc <= 0) {\n      const int saved_errno = errno;\n\n      if (saved_errno == EAGAIN || saved_errno == EWOULDBLOCK) {\n        USBGUARD_LOG(Warning) << \"Read: \"\n          << \"reading from uevent source would block thread execution\";\n        return;\n      }\n      else {\n        USBGUARD_LOG(Error) << \"ueventProcessRead: \"\n          << \"failed to read pending uevent: \"\n          << \"rc=\" << rc << \" errno=\" << saved_errno;\n        throw ErrnoException(\"UEvent device manager\", \"recvmsg\", saved_errno);\n      }\n    }\n\n    buffer.resize((size_t)rc);\n    const struct cmsghdr* const cmsg_header = CMSG_FIRSTHDR(&msg_header);\n\n    if (cmsg_header == nullptr) {\n      /* ignore */\n      USBGUARD_LOG(Warning) << \"ueventProcessRead: \"\n        << \"received uevent without required control message: ignoring.\";\n      return;\n    }\n\n    if (cmsg_header->cmsg_len != CMSG_LEN(sizeof(struct ucred))\n      || cmsg_header->cmsg_level != SOL_SOCKET\n      || cmsg_header->cmsg_type != SCM_CREDENTIALS) {\n      /* unexpected control message -- ignore */\n      USBGUARD_LOG(Warning) << \"ueventProcessRead: \"\n        << \"received uevent with an invalid control message: ignoring.\";\n      return;\n    }\n\n    const struct ucred* const cmsg_ucred = \\\n        reinterpret_cast<const struct ucred*>(CMSG_DATA(cmsg_header));\n\n    if (cmsg_ucred == nullptr) {\n      /* missing ucred -- ignore */\n      USBGUARD_LOG(Warning) << \"ueventProcessRead: \"\n        << \"received uevent without required SCM_CREDENTIALS data: ignoring.\";\n      return;\n    }\n\n    USBGUARD_LOG(Debug) << \"ucred.pid=\" << cmsg_ucred->pid;\n    USBGUARD_LOG(Debug) << \"ucred.gid=\" << cmsg_ucred->gid;\n    USBGUARD_LOG(Debug) << \"ucred.uid=\" << cmsg_ucred->uid;\n\n    /*\n     * FIXME: This check needs an on/off switch\n     */\n    if (/*root*/!(cmsg_ucred->pid == 0 && cmsg_ucred->uid == 0 && cmsg_ucred->gid == 0) &&\n      /*self*/!(cmsg_ucred->pid == getpid())) {\n      // unknown origin -- ignore\n      USBGUARD_LOG(Debug) << \"received uevent of unknown origin: ignoring.\";\n      return;\n    }\n\n    /**/\n    try {\n      if (buffer.substr(0, strlen(\"libudev\")) == \"libudev\") {\n        USBGUARD_LOG(Debug) << \"Parsing uevent with libudev header\";\n        const struct libudev_netlink_header {\n          /* \"libudev\" prefix to distinguish libudev and kernel messages */\n          char prefix[8];\n          /*\n           * magic to protect against daemon <-> library message format mismatch\n           * used in the kernel from socket filter rules; needs to be stored in network order\n           */\n          unsigned int magic;\n\n#ifndef UDEV_MONITOR_MAGIC\n#define UDEV_MONITOR_MAGIC 0xfeedcafe\n#endif\n\n          /* total length of header structure known to the sender */\n          unsigned int header_size;\n          /* properties string buffer */\n          unsigned int properties_off;\n          unsigned int properties_len;\n          /*\n           * hashes of primary device properties strings, to let libudev subscribers\n           * use in-kernel socket filters; values need to be stored in network order\n           */\n          unsigned int filter_subsystem_hash;\n          unsigned int filter_devtype_hash;\n          unsigned int filter_tag_bloom_hi;\n          unsigned int filter_tag_bloom_lo;\n        } * const header = reinterpret_cast<const struct libudev_netlink_header*>(&buffer[0]);\n        const std::string attributes_buffer = buffer.substr(header->properties_off, header->properties_len);\n        USBGUARD_LOG(Debug) << \"data:\" << attributes_buffer;\n        const UEvent uevent = UEvent::fromString(attributes_buffer, /*attributes_only=*/true, /*trace=*/false);\n        ueventProcessUEvent(uevent);\n      }\n      else {\n        USBGUARD_LOG(Debug) << \"Parsing uevent with kernel header\";\n        /*\n         * Try to parse uevent from the buffer and process it.\n         */\n        const UEvent uevent = UEvent::fromString(buffer, /*attributes_only=*/false, /*trace=*/false);\n        ueventProcessUEvent(uevent);\n      }\n    }\n    catch (...) {\n      USBGUARD_LOG(Warning) << \"ueventProcessRead: received invalid uevent data\";\n      USBGUARD_LOG(Debug) << \"ueventProcessRead: uevent_data=\" << base64Encode(buffer);\n    }\n  }\n\n  void UMockdevDeviceManager::ueventProcessUEvent(const UEvent& uevent)\n  {\n    const std::string subsystem = uevent.getAttribute(\"SUBSYSTEM\");\n    const std::string devtype = uevent.getAttribute(\"DEVTYPE\");\n    const std::string action = uevent.getAttribute(\"ACTION\");\n\n    /*\n     * We don't care about the event if it's not from the \"usb\" subsystem.\n     * The device type attribute value is checked later based on the data\n     * read from the sysfs uevent file in the device directory.\n     */\n    if (subsystem != \"usb\") {\n      USBGUARD_LOG(Debug) << \"Ignoring non-USB device:\"\n        << \" subsystem=\" << subsystem\n        << \" devtype=\" << devtype\n        << \" action=\" << action;\n      return;\n    }\n\n    const std::string sysfs_devpath = uevent.getAttribute(\"DEVPATH\");\n    bool enumeration_notify = false;\n\n    try {\n      std::unique_lock<std::mutex> lock(_enumeration_mutex);\n      uint32_t id = 0;\n      const bool known_path = knownSysfsPath(sysfs_devpath, &id);\n\n      if (action == \"add\" || action == \"change\") {\n        lock.unlock();\n        USBGUARD_LOG(Debug) << \"known_path=\" << known_path << \" id=\" << id;\n\n        if (known_path && id > 0) {\n          processDevicePresence(id);\n        }\n        else {\n          SysFSDevice sysfs_device(sysfs_devpath);\n\n          /*\n           * Do some additional sanity checking.\n           */\n          if (sysfs_device.getUEvent().hasAttribute(\"DEVTYPE\")) {\n            const std::string devtype = sysfs_device.getUEvent().getAttribute(\"DEVTYPE\");\n\n            if (devtype != \"usb_device\") {\n              USBGUARD_LOG(Debug) << sysfs_devpath << \": UEvent DEVTYPE != usb_device. Ignoring event.\";\n              return;\n            }\n          }\n          else {\n            if (!sysfs_device.hasAttribute(\"descriptors\")) {\n              USBGUARD_LOG(Debug) << sysfs_devpath << \": UEvent doesn't refer to a device with a descriptors file. Ignoring event.\";\n              return;\n            }\n          }\n\n          processDeviceInsertion(sysfs_device, /*signal_present=*/known_path);\n          USBGUARD_LOG(Debug) << \"Enumeration notify: sysfs_devpath=\" << sysfs_devpath\n            << \" _enumeration=\" << _enumeration\n            << \" known_path=\" << known_path;\n\n          if (known_path) {\n            enumeration_notify = true;\n          }\n        }\n      }\n      else if (action == \"remove\") {\n        lock.unlock();\n        USBGUARD_LOG(Debug) << \"remove=\" << sysfs_devpath;\n        processDeviceRemoval(sysfs_devpath);\n\n        if (known_path) {\n          enumeration_notify = true;\n        }\n      }\n      else {\n        USBGUARD_LOG(Warning) << \"Ignoring unknown UEvent action: sysfs_devpath=\" << sysfs_devpath\n          << \" action=\" << action;\n      }\n    }\n    catch (const Exception& ex) {\n      USBGUARD_LOG(Warning) << \"USB Device Exception: \"\n        << ex.message();\n      DeviceException(ex.message());\n    }\n    catch (...) {\n      USBGUARD_LOG(Warning) << \"USB Device Exception: unknown exception\";\n      DeviceException(\"unknown exception\");\n    }\n\n    if (_enumeration && enumeration_notify) {\n      _enumeration_complete.notify_one();\n      USBGUARD_LOG(Debug) << \"Notified enumeration routine after sysfs_path=\" << sysfs_devpath;\n    }\n  }\n\n  int UMockdevDeviceManager::ueventEnumerateDevices()\n  {\n    USBGUARD_LOG(Trace);\n    const auto lambdaEnumerateTriggerAndWaitForDevice = [this](const std::string& devpath, const std::string& buspath) {\n      return ueventEnumerateTriggerAndWaitForDevice(devpath, buspath);\n    };\n    return loadFiles(SysFSDevice::getSysfsRoot() + \"/bus/usb/devices\",\n        UMockdevDeviceManager::ueventEnumerateFilterDevice,\n        lambdaEnumerateTriggerAndWaitForDevice,\n        UMockdevDeviceManager::ueventEnumerateComparePath,\n        /*rootdir_required=*/false);\n  }\n\n  int UMockdevDeviceManager::ueventEnumerateTriggerAndWaitForDevice(const std::string& devpath, const std::string& buspath)\n  {\n    USBGUARD_LOG(Trace) << \"devpath=\" << devpath << \" buspath=\" << buspath;\n\n    try {\n      std::string umockdev_realpath(PATH_MAX, 0);\n      std::unique_ptr<gchar, FreeDeleter> umockdev_root_dir(umockdev_testbed_get_root_dir(_testbed.get()));\n      std::string umockdev_devpath(std::string(umockdev_root_dir.get()) + devpath);\n\n      if (access(umockdev_devpath.c_str(), F_OK) != 0) {\n        USBGUARD_LOG(Info) << \"Device disappeared during enumeration: \" << umockdev_devpath;\n        return 1;\n      }\n\n      if (::realpath(umockdev_devpath.c_str(), &umockdev_realpath[0]) == nullptr) {\n        USBGUARD_LOG(Warning) << \"Cannot resolve realpath for \" << devpath;\n        return 0;\n      }\n\n      umockdev_realpath.resize(::strlen(&umockdev_realpath[0]));\n      const std::string sysfs_absolute_path(removePrefix(umockdev_root_dir.get(), umockdev_realpath));\n      USBGUARD_LOG(Debug) << \"umockdev_realpath=\" << umockdev_realpath;\n      USBGUARD_LOG(Debug) << \"sysfs_absolute_path=\" << sysfs_absolute_path;\n\n      if (!hasPrefix(sysfs_absolute_path, SysFSDevice::getSysfsRoot())) {\n        USBGUARD_LOG(Warning) << \"Device isn't rooted inside \" << SysFSDevice::getSysfsRoot() << \". Skipping.\";\n        return 0;\n      }\n\n      const std::string sysfs_relative_path = removePrefix(SysFSDevice::getSysfsRoot(), sysfs_absolute_path);\n      USBGUARD_LOG(Debug) << \"sysfs_relative_path=\" << sysfs_relative_path;\n      SysFSDevice device(sysfs_relative_path);\n\n      if (device.getUEvent().getAttribute(\"DEVTYPE\") == \"usb_device\") {\n        std::unique_lock<std::mutex> lock(_enumeration_mutex);\n        USBGUARD_LOG(Debug) << \"DEVTYPE == usb_device\";\n        learnSysfsPath(sysfs_relative_path);\n        /* TODO: Hide this call inside the Device instance by intercepting setAttribute(\"uevent\", ...) calls */\n        USBGUARD_LOG(Debug) << \"Triggering: \" << sysfs_absolute_path;\n        /* uevent required full device path */\n        umockdev_testbed_uevent(_testbed.get(), sysfs_absolute_path.c_str(), \"add\");\n        USBGUARD_LOG(Debug) << \"Waiting for: \" << sysfs_absolute_path;\n\n        if (!_enumeration_complete.wait_for(lock, std::chrono::seconds(2),\n        [this, sysfs_relative_path]() {\n        uint32_t id = 0;\n        const bool known = knownSysfsPath(sysfs_relative_path, &id);\n          USBGUARD_LOG(Debug) << \"cv: known=\" << known << \" id=\" << id;\n          return id != 0;\n        })) {\n          throw Exception(\"UMockdevDeviceManager\", sysfs_absolute_path, \"enumeration timeout\");\n        }\n        return 1;\n      }\n      else {\n        USBGUARD_LOG(Debug) << \"DEVTYPE != usb_device. Skipping.\";\n      }\n    }\n    catch (const Exception& ex) {\n      USBGUARD_LOG(Warning) << \"device enumeration exception: \" << buspath << \": \" << ex.message();\n    }\n    catch (const std::exception& ex) {\n      USBGUARD_LOG(Warning) << \"device enumeration exception: \" << buspath << \": \" << ex.what();\n    }\n\n    return 0;\n  }\n\n} /* namespace usbguard */\n\n#endif /* HAVE_UMOCKDEV */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/UMockdevDeviceManager.hpp",
    "content": "//\n// Copyright (C) 2018 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#if defined(HAVE_UMOCKDEV)\n#include \"Common/Thread.hpp\"\n#include \"DeviceManagerBase.hpp\"\n#include \"UMockdevDeviceDefinition.hpp\"\n\n#include <condition_variable>\n#include <umockdev.h>\n\nnamespace usbguard\n{\n  class UEvent;\n\n  class UMockdevDeviceManager : public DeviceManagerBase\n  {\n  public:\n    UMockdevDeviceManager(DeviceManagerHooks& hooks);\n    ~UMockdevDeviceManager();\n\n    void start() override;\n    void stop() override;\n    void scan() override;\n    void scan(const std::string& devpath) override;\n\n  private:\n    struct GObjectDeleter {\n      void operator()(void* gobject)\n      {\n        if (gobject != nullptr) {\n          g_object_unref(gobject);\n        }\n      }\n    };\n\n    static bool ueventEnumerateComparePath(const std::pair<std::string, std::string>& a,\n      const std::pair<std::string, std::string>& b);\n\n    void umockdevInit();\n    void umockdevAdd(const std::shared_ptr<UMockdevDeviceDefinition>& definition);\n    void umockdevRemove(const std::shared_ptr<UMockdevDeviceDefinition>& definition);\n    void umockdevRemove(const std::string& sysfs_path);\n    void umockdevProcessInotify();\n    std::vector<std::string> umockdevLoadFromFile(const std::string& definitions_path);\n    std::vector<std::string> umockdevRemoveByFile(const std::string& definitions_path);\n    std::vector<std::string> umockdevGetChildrenBySysfsPath(const std::string& sysfs_path);\n\n    void sysfsAuthorizeDevice(SysFSDevice& sysfs_device) override;\n    void sysfsDeauthorizeDevice(SysFSDevice& sysfs_device) override;\n\n    void thread();\n    void ueventProcessRead();\n    void ueventProcessUEvent(const UEvent& uevent);\n    int ueventEnumerateDevices();\n    int ueventEnumerateTriggerAndWaitForDevice(const std::string& devpath, const std::string& buspath);\n\n    Thread<UMockdevDeviceManager> _thread;\n    std::unique_ptr<UMockdevTestbed, GObjectDeleter> _testbed{nullptr};\n    std::string _umockdev_deviceroot;\n    int _inotify_fd{-1};\n\n    std::map<std::string, std::shared_ptr<UMockdevDeviceDefinition>> _sysfs_path_map;\n    std::multimap<std::string, std::weak_ptr<UMockdevDeviceDefinition>> _umockdev_file_map;\n\n    std::condition_variable _enumeration_complete;\n    std::mutex _enumeration_mutex;\n  };\n} /* namespace usbguard */\n\n#endif /* HAVE_UMOCKDEV */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/Utility.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"Utility.hpp\"\n#include \"Common/Utility.hpp\"\n\n#include \"usbguard/Typedefs.hpp\"\n\n#include <locale>\n\nnamespace usbguard\n{\n  namespace Utility\n  {\n    std::string escapeString(const std::string& string_raw)\n    {\n      std::string result;\n      const std::locale c_locale(\"C\");\n\n      for (auto it = string_raw.cbegin(); it != string_raw.cend(); ++it) {\n        const char c = *it;\n\n        /*\n         * Escape any double-quote and backslash characters.\n         */\n        if (c == '\"') {\n          result.append(\"\\\\\");\n          result.append(\"\\\"\");\n          continue;\n        }\n\n        if (c == '\\\\') {\n          result.append(\"\\\\\");\n          result.append(\"\\\\\");\n          continue;\n        }\n\n        /*\n         * If the current character is printable in the \"C\" locale,\n         * append it. Otherwise convert it to \\xHH form, where HH is\n         * the hexadecimal representation of the character value.\n         */\n        if (std::isprint(c, c_locale)) {\n          result.push_back((char)c);\n        }\n        else {\n          const std::string hexbyte = numberToString((uint8_t)c, \"\\\\x\", 16, 2, '0');\n          result.append(hexbyte);\n        }\n      }\n\n      return result;\n    }\n\n    std::string unescapeString(const std::string& string_escaped)\n    {\n      std::string result;\n      bool escaped = false;\n      const std::locale c_locale(\"C\");\n\n      for (auto it = string_escaped.cbegin(); it < string_escaped.cend(); ++it) {\n        const char c = *it;\n\n        /*\n         * Handle an escape sequence if needed, otherwise just\n         * append the current character.\n         */\n        if (escaped) {\n          switch (c) {\n          case '\"':\n            result.append(\"\\\"\");\n            break;\n\n          case '\\\\':\n            result.append(\"\\\\\");\n            break;\n\n          case 'x': {\n            /* hexadecimal representation of a byte \\xHH */\n            if (std::distance(string_escaped.end(), it) >=2) {\n              throw std::runtime_error(\"Invalid escape sequence\");\n            }\n\n            const char hb[] = { *(it + 1), *(it + 2) };\n\n            if (!std::isxdigit(hb[0], c_locale) || !std::isxdigit(hb[1], c_locale)) {\n              throw std::runtime_error(\"Invalid \\\\xHH escape sequence: HH is not a hexadecimal number\");\n            }\n\n            const std::string hexbyte(hb, 2);\n            result.push_back((char)stringToNumber<uint8_t>(hexbyte, 16));\n            ++it;\n            ++it;\n          }\n          break;\n\n          default:\n            throw std::runtime_error(\"Unknown escape sequence\");\n          }\n\n          escaped = false;\n        }\n        else {\n          if (c == '\\\\') {\n            escaped = true;\n          }\n          else {\n            result.push_back(c);\n          }\n        }\n      }\n\n      if (escaped) {\n        throw std::runtime_error(\"Invalid escape sequence\");\n      }\n\n      return result;\n    }\n\n    std::string quoteEscapeString(const std::string& value)\n    {\n      std::string result;\n      result.push_back('\"');\n      result.append(escapeString(value));\n      result.push_back('\"');\n      return result;\n    }\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/Utility.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/Typedefs.hpp\"\n\n#include <string>\n#include <vector>\n\nnamespace usbguard\n{\n  namespace Utility\n  {\n    std::string escapeString(const std::string& value);\n    std::string unescapeString(const std::string& value);\n    std::string quoteEscapeString(const std::string& value);\n\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/Audit.cpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"Audit.hpp\"\n#include \"Exception.hpp\"\n#include \"Logger.hpp\"\n\n#include <Common/Utility.hpp>\n\nnamespace usbguard\n{\n\n  AuditIdentity::AuditIdentity()\n  {\n    _uid = getuid();\n    _pid = getpid();\n  }\n\n  AuditIdentity::AuditIdentity(uid_t uid, pid_t pid)\n  {\n    _uid = uid;\n    _pid = pid;\n  }\n\n  uid_t AuditIdentity::uid() const\n  {\n    return _uid;\n  }\n\n  pid_t AuditIdentity::pid() const\n  {\n    return _pid;\n  }\n\n  std::string AuditIdentity::toString() const\n  {\n    std::string identity_string;\n    identity_string.append(\"{ uid=\");\n    identity_string.append(numberToString(uid()));\n    identity_string.append(\" pid=\");\n    identity_string.append(numberToString(pid()));\n    identity_string.append(\" }\");\n    return identity_string;\n  }\n\n  AuditEvent::AuditEvent(const AuditIdentity& identity, std::shared_ptr<AuditBackend>& backend)\n    : _commited(false),\n      _identity(identity),\n      _backend(backend)\n  {\n  }\n\n  AuditEvent::AuditEvent(AuditEvent&& event)\n    : _commited(event._commited),\n      _identity(std::move(event._identity)),\n      _backend(std::move(event._backend)),\n      _keys(std::move(event._keys))\n  {\n    /*\n     * Mark the source event as commited so that\n     * when it gets destructed, it won't be commited\n     * to the backend.\n     */\n    event.setCommited(true);\n  }\n\n  AuditEvent::~AuditEvent()\n  {\n    /*\n     * If the event was not commited explicitly, assume\n     * that that the result is a failure.\n     */\n    if (!_commited) {\n      failure();\n    }\n  }\n\n  void AuditEvent::commit(const std::string& result)\n  {\n    setKey(\"result\", result);\n\n    /* Skip backend commit if there's no backend set */\n    if (_backend != nullptr) {\n      _backend->commit(*this);\n    }\n\n    /*\n     * Mark as commited even if it wasn't actually commited\n     * because of no valid backend. Otherwise the destructor\n     * would try to commit it again as failed.\n     */\n    setCommited(true);\n  }\n\n  void AuditEvent::success()\n  {\n    commit(\"SUCCESS\");\n  }\n\n  void AuditEvent::failure()\n  {\n    commit(\"FAILURE\");\n  }\n\n  const AuditIdentity& AuditEvent::identity() const\n  {\n    return _identity;\n  }\n\n  const AuditEvent::Keys& AuditEvent::keys() const\n  {\n    return _keys;\n  }\n\n  void AuditEvent::setCommited(bool state)\n  {\n    _commited = state;\n  }\n\n  void AuditEvent::setKey(const std::string& key, const std::string& value)\n  {\n    _keys.emplace(key, value);\n  }\n\n  AuditBackend::AuditBackend()\n  {\n  }\n\n  AuditBackend::~AuditBackend()\n  {\n  }\n\n  void AuditBackend::commit(const AuditEvent& event)\n  {\n    std::unique_lock<std::mutex> lock(_mutex);\n    write(event);\n  }\n\n  Audit::Audit(const AuditIdentity& identity)\n    : _identity(identity), _hide_pii(false)\n  {\n  }\n\n  void Audit::setBackend(std::unique_ptr<AuditBackend> backend)\n  {\n    _backend = std::shared_ptr<AuditBackend>(std::move(backend));\n  }\n\n  void Audit::setHidePII(bool hide_pii)\n  {\n    _hide_pii = hide_pii;\n  }\n\n  AuditEvent Audit::policyEvent(std::shared_ptr<Rule> rule, Policy::EventType event)\n  {\n    return policyEvent(_identity, rule, event);\n  }\n\n  AuditEvent Audit::policyEvent(std::shared_ptr<Rule> new_rule, std::shared_ptr<Rule> old_rule)\n  {\n    return policyEvent(_identity, new_rule, old_rule);\n  }\n\n  AuditEvent Audit::policyEvent(std::shared_ptr<Device> device, Policy::EventType event)\n  {\n    return policyEvent(_identity, device, event);\n  }\n\n  AuditEvent Audit::policyEvent(std::shared_ptr<Device> device, Rule::Target old_target, Rule::Target new_target)\n  {\n    return policyEvent(_identity, device, old_target, new_target);\n  }\n\n  AuditEvent Audit::deviceEvent(std::shared_ptr<Device> device, DeviceManager::EventType event)\n  {\n    return deviceEvent(_identity, device, event);\n  }\n\n  AuditEvent Audit::deviceEvent(std::shared_ptr<Device> new_device, std::shared_ptr<Device> old_device)\n  {\n    return deviceEvent(_identity, new_device, old_device);\n  }\n\n  AuditEvent Audit::policyEvent(const AuditIdentity& identity, std::shared_ptr<Rule> rule, Policy::EventType event_type)\n  {\n    AuditEvent event(identity, _backend);\n    event.setKey(\"type\", std::string(\"Policy.\") + Policy::eventTypeToString(event_type));\n    event.setKey(\"rule.id\", numberToString(rule->getRuleID()));\n    event.setKey(\"rule\", rule->toString(false, _hide_pii));\n    return event;\n  }\n\n  AuditEvent Audit::policyEvent(const AuditIdentity& identity, std::shared_ptr<Rule> new_rule, std::shared_ptr<Rule> old_rule)\n  {\n    AuditEvent event(identity, _backend);\n    event.setKey(\"type\", std::string(\"Policy.\") + Policy::eventTypeToString(Policy::EventType::Update));\n    event.setKey(\"rule.id\", numberToString(old_rule->getRuleID()));\n    event.setKey(\"rule.old\", old_rule->toString(false, _hide_pii));\n    event.setKey(\"rule.new\", new_rule->toString(false, _hide_pii));\n    return event;\n  }\n\n  AuditEvent Audit::policyEvent(const AuditIdentity& identity, std::shared_ptr<Device> device, Policy::EventType event_type)\n  {\n    AuditEvent event(identity, _backend);\n    event.setKey(\"type\", std::string(\"Policy.Device.\") + Policy::eventTypeToString(event_type));\n    event.setKey(\"target\", Rule::targetToString(device->getTarget()));\n    event.setKey(\"device.system_name\", device->getSystemName());\n    event.setKey(\"device.rule\", device->getDeviceRule()->toString(false, _hide_pii));\n    return event;\n  }\n\n  AuditEvent Audit::policyEvent(const AuditIdentity& identity, std::shared_ptr<Device> device, Rule::Target old_target,\n    Rule::Target new_target)\n  {\n    AuditEvent event(identity, _backend);\n    event.setKey(\"type\", std::string(\"Policy.Device.\") + Policy::eventTypeToString(Policy::EventType::Update));\n    event.setKey(\"target.old\", Rule::targetToString(old_target));\n    event.setKey(\"target.new\", Rule::targetToString(new_target));\n    event.setKey(\"device.system_name\", device->getSystemName());\n    event.setKey(\"device.rule\", device->getDeviceRule()->toString(false, _hide_pii));\n    return event;\n  }\n\n  AuditEvent Audit::deviceEvent(const AuditIdentity& identity, std::shared_ptr<Device> device,\n    DeviceManager::EventType event_type)\n  {\n    AuditEvent event(identity, _backend);\n    event.setKey(\"type\", std::string(\"Device.\") + DeviceManager::eventTypeToString(event_type));\n    event.setKey(\"device.system_name\", device->getSystemName());\n    event.setKey(\"device.rule\", device->getDeviceRule()->toString(false, _hide_pii));\n    return event;\n  }\n\n  AuditEvent Audit::deviceEvent(const AuditIdentity& identity, std::shared_ptr<Device> new_device,\n    std::shared_ptr<Device> old_device)\n  {\n    AuditEvent event(identity, _backend);\n    event.setKey(\"type\", std::string(\"Device.\") + DeviceManager::eventTypeToString(DeviceManager::EventType::Update));\n    event.setKey(\"device.system_name\", new_device->getSystemName());\n    event.setKey(\"device.rule.old\", old_device->getDeviceRule()->toString(false, _hide_pii));\n    event.setKey(\"device.rule.new\", new_device->getDeviceRule()->toString(false, _hide_pii));\n    return event;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/Audit.hpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n\n#include \"Policy.hpp\"\n\n#include \"Device.hpp\"\n#include \"DeviceManager.hpp\"\n#include \"Logger.hpp\"\n#include \"Rule.hpp\"\n#include \"Typedefs.hpp\"\n\n#include <string>\n#include <memory>\n#include <mutex>\n#include <unordered_map>\n\n#include <unistd.h>\n#include <sys/types.h>\n\nnamespace usbguard\n{\n  /**\n   * @brief Represents the audit identity.\n   */\n  class DLL_PUBLIC AuditIdentity\n  {\n  public:\n    /**\n     * @brief Constructs audit identity with real user ID and proccess ID\n     * of the calling proccess.\n     */\n    AuditIdentity();\n\n    /**\n     * @brief Constructs audit identity with given UID and PID.\n     *\n     * @param uid Real user ID.\n     * @param pid Proccess ID.\n     */\n    AuditIdentity(uid_t uid, pid_t pid);\n\n    /**\n     * @brief Returns real user ID of this audit identity.\n     *\n     * @return Real user ID of this audit identity.\n     */\n    uid_t uid() const;\n\n    /**\n     * @brief Returns proccess ID of this audit identity.\n     *\n     * @return Proccess ID of this audit identity.\n     */\n    pid_t pid() const;\n\n    /**\n     * @brief Returns string representation of this audit identity.\n     *\n     * Format: { uid=<UID> pid=<PID> }\n     *\n     * @return String representation of this audit identity.\n     */\n    std::string toString() const;\n\n  private:\n    uid_t _uid; /**< Real user ID. */\n    pid_t _pid; /**< Proccess ID. */\n  };\n\n  class AuditBackend;\n\n  /**\n   * @brief Describes policy or device event and its result that\n   * should be audited using given audit identity and backend.\n   */\n  class DLL_PUBLIC AuditEvent\n  {\n    /**\n     * @brief Constructs new audit event with given\n     * \\link AuditIdentity AuditIdentity\\endlink and backend.\n     *\n     * Audit event is not commited by default.\n     *\n     * @param identity \\link AuditIdentity AuditIdentity \\endlink.\n     * @param backend Audit backend that will be used to commit this\n     * audit event.\n     */\n    AuditEvent(const AuditIdentity& identity, std::shared_ptr<AuditBackend>& backend);\n  public:\n    using Keys = std::unordered_map<std::string, std::string>;\n\n    /**\n     * @brief Constructs audit event from existing audit event.\n     *\n     * @param event Event from which this object will be constructed.\n     */\n    AuditEvent(AuditEvent&& event);\n\n    AuditEvent(const AuditEvent& event) = delete;\n\n    /**\n     * @brief Destructs this audit event.\n     *\n     * If audit event was not commited, then it is assumed it failed.\n     *\n     * @see \\link failure() failure()\\endlink\n     */\n    ~AuditEvent();\n\n    /**\n     * @brief Commits this audit event with result \\\"SUCCESS\\\".\n     */\n    void success();\n\n    /**\n     * @brief Commits this audit event with result \\\"FAILURE\\\".\n     */\n    void failure();\n\n    /**\n     * @brief Returns \\link AuditIdentity AuditIdentity\\endlink.\n     *\n     * @return \\link AuditIdentity AuditIdentity\\endlink.\n     */\n    const AuditIdentity& identity() const;\n\n    /**\n     * @brief Returns map of key\\=value pairs describing what happened/changed\n     * that should be audited.\n     *\n     * @return Map of key\\=value pairs.\n     */\n    const Keys& keys() const;\n\n  private:\n    /**\n     * @brief Commits this audit event.\n     *\n     * Inserts result\\=\\<result\\> into audit event keys and tries to commit\n     * this audit event using backend. If there is no backend set, then it\n     * silently fails (nothing will be commited, but this audit event will get\n     * marked as commited).\n     *\n     * @param result Result of the event that is being audited.\n     */\n    void commit(const std::string& result);\n\n    /**\n     * @brief Sets whether this audit event has been commited or not.\n     *\n     * @param state If set to true, then it means that this audit event has\n     * been commited.\n     */\n    void setCommited(bool state);\n\n    /**\n     * Inserts key\\=value pair into audit event keys.\n     *\n     * @param key Key describes what changed.\n     * @param value Value of the key.\n     */\n    void setKey(const std::string& key, const std::string& value);\n\n    bool _commited; /**< True if this audit event has been commited,\n                      false otherwise. */\n    AuditIdentity _identity; /**< \\link AuditIdentity AuditIdentity \\endlink. */\n    std::shared_ptr<AuditBackend> _backend; /**< Audit backend that will be\n                                              used to commit this audit event. */\n    Keys _keys; /**< Map of key=value pairs describing what happened/changed\n                  that should be audited. */\n\n    friend class Audit;\n  };\n\n  /**\n   * @brief Commits and writes audit events into log.\n   */\n  class DLL_PUBLIC AuditBackend\n  {\n  public:\n    /**\n     * @brief Default constructor.\n     */\n    AuditBackend();\n\n    /**\n     * @brief Default destructor.\n     */\n    virtual ~AuditBackend();\n\n    /**\n     * @brief Writes given \\link AuditEvent AuditEvent\\endlink into log.\n     *\n     * @param event \\link AuditEvent AuditEvent\\endlink that should be written\n     * into log.\n     */\n    virtual void write(const AuditEvent& event) = 0;\n\n    /**\n     * @brief Commits given \\link AuditEvent AuditEvent\\endlink.\n     *\n     * Locks backend mutex and writes given audit event into log.\n     *\n     * @param event \\link AuditEvent AuditEvent\\endlink to commit.\n     * @see write()\n     */\n    void commit(const AuditEvent& event);\n\n  private:\n    std::mutex _mutex; /**< \\link AuditBackend Audit backend\\endlink lock. */\n  };\n\n  /**\n   * @brief Generates audit events for given policy or device events.\n   */\n  class DLL_PUBLIC Audit\n  {\n  public:\n    /**\n     * @brief Constructs new audit object with given \\link AuditIdentity\n     * AuditIdentity\\endlink and hidePII set to false.\n     *\n     * @param identity Audit identity.\n     */\n    Audit(const AuditIdentity& identity);\n\n    /**\n     * @brief Sets \\link AuditBackend AuditBackend\\endlink that will be used\n     * to commit generated audit events.\n     *\n     * @param backend \\link AuditBackend AuditBackend\\endlink to use for\n     * commiting audit events.\n     */\n    void setBackend(std::unique_ptr<AuditBackend> backend);\n\n    /**\n     * @brief Sets whether personally identifiable information such as device\n     * serial numbers and hashes of the descriptors (which include the serial\n     * number) should be excluded from audit entries.\n     *\n     * @param hide_pii If true then personally identifiable information will\n     * be excluded from audit entries.\n     */\n    void setHidePII(bool hide_pii);\n\n    /**\n     * @brief Constructs new \\link AuditEvent AuditEvent\\endlink for given\n     * policy \\link Policy::EventType event\\endlink.\n     *\n     * Sets audit event keys:\n     *   - type\\=Policy\\.\\<evenType\\>\n     *   - rule\\.id\\=\\<rule ID\\>\n     *   - rule\\=\\<rule\\>\n     *\n     * Audit policy changes:\n     *   - rule append\n     *   - rule remove\n     *   - rule update\n     *   - policy parameter change\n     *\n     * Audit data:\n     *   - who: uid + pid\n     *   - when: time\n     *   - what: append, remove, update\n     *   - update: old, new\n     *\n     * @param rule Rule to audit.\n     * @param event Event to audit.\n     * @return \\link AuditEvent Audit event\\endlink.\n     */\n    AuditEvent policyEvent(std::shared_ptr<Rule> rule, Policy::EventType event);\n\n    /**\n     * @brief Constructs new \\link AuditEvent AuditEvent\\endlink for given\n     * policy \\link Policy::EventType event\\endlink.\n     *\n     * Sets audit event keys:\n     *   - type\\=Policy\\.Update\n     *   - rule\\.id\\=\\<old rule ID\\>\n     *   - rule\\.old\\=\\<old rule\\>\n     *   - rule\\.new\\=\\<new rule\\>\n     *\n     * Audit policy changes:\n     *   - rule append\n     *   - rule remove\n     *   - rule update\n     *   - policy parameter change\n     *\n     * Audit data:\n     *   - who: uid + pid\n     *   - when: time\n     *   - what: append, remove, update\n     *   - update: old, new\n     *\n     * @param new_rule New rule to audit.\n     * @param old_rule Old rule to audit.\n     * @return \\link AuditEvent Audit event\\endlink.\n     */\n    AuditEvent policyEvent(std::shared_ptr<Rule> new_rule, std::shared_ptr<Rule> old_rule);\n\n    /**\n     * @brief Constructs new \\link AuditEvent AuditEvent\\endlink for given\n     * policy \\link Policy::EventType event\\endlink.\n     *\n     * Sets audit event keys:\n     *   - type\\=Policy\\.Device\\.\\<evenType\\>\n     *   - target\\=\\<device rule target\\>\n     *   - device\\.system_name\\=\\<device system name\\>\n     *   - device\\.rule\\=\\<device rule\\>\n     *\n     * Audit policy changes:\n     *   - rule append\n     *   - rule remove\n     *   - rule update\n     *   - policy parameter change\n     *\n     * Audit data:\n     *   - who: uid + pid\n     *   - when: time\n     *   - what: append, remove, update\n     *   - update: old, new\n     *\n     * @param device Device where the event occured.\n     * @param event Event to audit.\n     * @return \\link AuditEvent Audit event\\endlink.\n     */\n    AuditEvent policyEvent(std::shared_ptr<Device> device, Policy::EventType event);\n\n    /**\n     * @brief Constructs new \\link AuditEvent AuditEvent\\endlink for given\n     * policy \\link Policy::EventType event\\endlink.\n     *\n     * Sets audit event keys:\n     *   - type\\=Policy\\.Device\\.Update\n     *   - target\\.old\\=\\<old rule target\\>\n     *   - target\\.new\\=\\<new rule target\\>\n     *   - device\\.system_name\\=<device system name\\>\n     *   - device\\.rule\\=\\<device rule\\>\n     *\n     * Audit policy changes:\n     *   - rule append\n     *   - rule remove\n     *   - rule update\n     *   - policy parameter change\n     *\n     * Audit data:\n     *   - who: uid + pid\n     *   - when: time\n     *   - what: append, remove, update\n     *   - update: old, new\n     *\n     * @param device Device where the rule target has changed.\n     * @param old_target Old rule target.\n     * @param new_target New rule target.\n     * @return \\link AuditEvent Audit event\\endlink.\n     */\n    AuditEvent policyEvent(std::shared_ptr<Device> device, Rule::Target old_target, Rule::Target new_target);\n\n    /**\n     * @brief Constructs new \\link AuditEvent AuditEvent\\endlink for given\n     * device \\link DeviceManager::EventType event\\endlink.\n     *\n     * Sets audit event keys:\n     *   - type\\=Device\\.\\<event type\\>\n     *   - device\\.system_name\\=\\<device system name\\>\n     *   - device\\.rule\\=\\<device rule\\>\n     *\n     * Audit device changes:\n     *   - device insertion\n     *   - device removal\n     *   - device authorization target change\n     *\n     * Audit data:\n     *   - who: uid + pid\n     *   - when: time\n     *   - what: insert, remove, authorization target\n     *   - change: old, new\n     *\n     * @param device Device where the event occured.\n     * @param event Device event type.\n     * @return \\link AuditEvent Audit event\\endlink.\n     */\n    AuditEvent deviceEvent(std::shared_ptr<Device> device, DeviceManager::EventType event);\n\n    /**\n     * @brief Constructs new \\link AuditEvent AuditEvent\\endlink for given\n     * device \\link DeviceManager::EventType event\\endlink.\n     *\n     * Sets audit event keys:\n     *   - type\\=Device\\.Update\n     *   - device\\.system_name\\=\\<device system name\\>\n     *   - device\\.rule\\.old\\=\\<old device rule\\>\n     *   - device\\.rule\\.new\\=\\<new device rule\\>\n     *\n     * Audit device changes:\n     *   - device insertion\n     *   - device removal\n     *   - device authorization target change\n     *\n     * Audit data:\n     *   - who: uid + pid\n     *   - when: time\n     *   - what: insert, remove, authorization target\n     *   - change: old, new\n     *\n     * @param new_device New device.\n     * @param old_device Old device.\n     * @return \\link AuditEvent Audit event\\endlink.\n     */\n    AuditEvent deviceEvent(std::shared_ptr<Device> new_device, std::shared_ptr<Device> old_device);\n\n    /**\n     * @brief Constructs new \\link AuditEvent AuditEvent\\endlink for given\n     * policy \\link Policy::EventType event\\endlink.\n     *\n     * Sets audit event keys:\n     *   - type\\=Policy\\.\\<evenType\\>\n     *   - rule\\.id\\=\\<rule ID\\>\n     *   - rule\\=\\<rule\\>\n     *\n     * Audit policy changes:\n     *   - rule append\n     *   - rule remove\n     *   - rule update\n     *   - policy parameter change\n     *\n     * Audit data:\n     *   - who: uid + pid\n     *   - when: time\n     *   - what: append, remove, update\n     *   - update: old, new\n     *\n     * @param identity Audit identity.\n     * @param rule Rule to audit.\n     * @param event Event to audit.\n     * @return \\link AuditEvent Audit event\\endlink.\n     */\n    AuditEvent policyEvent(const AuditIdentity& identity, std::shared_ptr<Rule> rule, Policy::EventType event);\n\n    /**\n     * @brief Constructs new \\link AuditEvent AuditEvent\\endlink for given\n     * policy \\link Policy::EventType event\\endlink.\n     *\n     * Sets audit event keys:\n     *   - type\\=Policy\\.Update\n     *   - rule\\.id\\=\\<old rule ID\\>\n     *   - rule\\.old\\=\\<old rule\\>\n     *   - rule\\.new\\=\\<new rule\\>\n     *\n     * Audit policy changes:\n     *   - rule append\n     *   - rule remove\n     *   - rule update\n     *   - policy parameter change\n     *\n     * Audit data:\n     *   - who: uid + pid\n     *   - when: time\n     *   - what: append, remove, update\n     *   - update: old, new\n     *\n     * @param identity Audit identity.\n     * @param new_rule New rule to audit.\n     * @param old_rule Old rule to audit.\n     * @return \\link AuditEvent Audit event\\endlink.\n     */\n    AuditEvent policyEvent(const AuditIdentity& identity, std::shared_ptr<Rule> new_rule, std::shared_ptr<Rule> old_rule);\n\n    /**\n     * @brief Constructs new \\link AuditEvent AuditEvent\\endlink for given\n     * policy \\link Policy::EventType event\\endlink.\n     *\n     * Sets audit event keys:\n     *   - type\\=Policy\\.Device\\.\\<evenType\\>\n     *   - target\\=\\<device rule target\\>\n     *   - device\\.system_name\\=\\<device system name\\>\n     *   - device\\.rule\\=\\<device rule\\>\n     *\n     * Audit policy changes:\n     *   - rule append\n     *   - rule remove\n     *   - rule update\n     *   - policy parameter change\n     *\n     * Audit data:\n     *   - who: uid + pid\n     *   - when: time\n     *   - what: append, remove, update\n     *   - update: old, new\n     *\n     * @param identity Audit identity.\n     * @param device Device where the event occured.\n     * @param event Event to audit.\n     * @return \\link AuditEvent Audit event\\endlink.\n     */\n    AuditEvent policyEvent(const AuditIdentity& identity, std::shared_ptr<Device> device, Policy::EventType event);\n\n    /**\n     * @brief Constructs new \\link AuditEvent AuditEvent\\endlink for given\n     * policy \\link Policy::EventType event\\endlink.\n     *\n     * Sets audit event keys:\n     *   - type\\=Policy\\.Device\\.Update\n     *   - target\\.old\\=\\<old rule target\\>\n     *   - target\\.new\\=\\<new rule target\\>\n     *   - device\\.system_name\\=\\<device system name\\>\n     *   - device\\.rule\\=\\<device rule\\>\n     *\n     * Audit policy changes:\n     *   - rule append\n     *   - rule remove\n     *   - rule update\n     *   - policy parameter change\n     *\n     * Audit data:\n     *   - who: uid + pid\n     *   - when: time\n     *   - what: append, remove, update\n     *   - update: old, new\n     *\n     * @param identity Audit identity.\n     * @param device Device where the rule target has changed.\n     * @param old_target Old rule target.\n     * @param new_target New rule target.\n     * @return \\link AuditEvent Audit event\\endlink.\n     */\n    AuditEvent policyEvent(const AuditIdentity& identity, std::shared_ptr<Device> device, Rule::Target old_target,\n      Rule::Target new_target);\n\n    /**\n     * @brief Constructs new \\link AuditEvent AuditEvent\\endlink for given\n     * device \\link DeviceManager::EventType event\\endlink.\n     *\n     * Sets audit event keys:\n     *   - type\\=Device\\.\\<event type\\>\n     *   - device\\.system_name\\=\\<device system name\\>\n     *   - device\\.rule\\=\\<device rule\\>\n     *\n     * Audit device changes:\n     *   - device insertion\n     *   - device removal\n     *   - device authorization target change\n     *\n     * Audit data:\n     *   - who: uid + pid\n     *   - when: time\n     *   - what: insert, remove, authorization target\n     *   - change: old, new\n     *\n     * @param identity Audit identity.\n     * @param device Device where the event occured.\n     * @param event Device event type.\n     * @return \\link AuditEvent Audit event\\endlink.\n     */\n    AuditEvent deviceEvent(const AuditIdentity& identity, std::shared_ptr<Device> device, DeviceManager::EventType event);\n\n    /**\n     * @brief Constructs new \\link AuditEvent AuditEvent\\endlink for given\n     * device \\link DeviceManager::EventType event\\endlink.\n     *\n     * Sets audit event keys:\n     *   - type\\=Device\\.Update\n     *   - device\\.system_name\\=\\<device system name\\>\n     *   - device\\.rule\\.old\\=\\<old device rule\\>\n     *   - device\\.rule\\.new\\=\\<new device rule\\>\n     *\n     * Audit device changes:\n     *   - device insertion\n     *   - device removal\n     *   - device authorization target change\n     *\n     * Audit data:\n     *   - who: uid + pid\n     *   - when: time\n     *   - what: insert, remove, authorization target\n     *   - change: old, new\n     *\n     * @param identity Audit identity.\n     * @param new_device New device.\n     * @param old_device Old device.\n     * @return \\link AuditEvent Audit event\\endlink.\n     */\n    AuditEvent deviceEvent(const AuditIdentity& identity, std::shared_ptr<Device> new_device, std::shared_ptr<Device> old_device);\n\n  private:\n    AuditIdentity _identity; /**< \\link AuditIdentity AuditIdentity \\endlink. */\n    std::shared_ptr<AuditBackend> _backend; /**< \\link AuditBackend\n                                              AuditBackend\\endlink that will\n                                              be used to commit generated\n                                              audit events. */\n    bool _hide_pii; /**< Decides whether personally identifiable information\n                      (PII) such as device serial numbers and hashes of\n                      the descriptors (which include the serial number)\n                      will be excluded from audit entries. */\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/ConfigFile.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"ConfigFilePrivate.hpp\"\n#include \"Common/Utility.hpp\"\n\nnamespace usbguard\n{\n  ConfigFile::ConfigFile(const std::vector<std::string>& known_names)\n    : d_pointer(usbguard::make_unique<ConfigFilePrivate>(*this, known_names))\n  {\n  }\n\n  ConfigFile::~ConfigFile() = default;\n\n  void ConfigFile::open(const std::string& path, bool readonly)\n  {\n    d_pointer->open(path, readonly);\n  }\n\n  void ConfigFile::write()\n  {\n    d_pointer->write();\n  }\n\n  void ConfigFile::close()\n  {\n    d_pointer->close();\n  }\n\n  const std::string& ConfigFile::getSettingValue(const std::string& name) const\n  {\n    return d_pointer->getSettingValue(name);\n  }\n\n  void ConfigFile::setSettingValue(const std::string& name, std::string& value)\n  {\n    d_pointer->setSettingValue(name, value);\n  }\n\n  bool ConfigFile::hasSettingValue(const std::string& name) const\n  {\n    return d_pointer->hasSettingValue(name);\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/ConfigFile.hpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n\n#include \"Typedefs.hpp\"\n#include \"usbguard/Logger.hpp\"\n\n#include <string>\n#include <vector>\n#include <memory>\n\nnamespace usbguard\n{\n  class ConfigFilePrivate;\n\n  /**\n   * @brief Enables manipulation with the config file\n   * and its settings.\n   */\n  class DLL_PUBLIC ConfigFile\n  {\n  public:\n\n    /**\n     * @brief Constructs ConfigFile object.\n     *\n     * @param known_names Names present in this vector will be considered\n     *  as known key names in the config file. If this vector is empty,\n     *  then any key name will be considered as known.\n     */\n    ConfigFile(const std::vector<std::string>& known_names = std::vector<std::string>());\n\n    /**\n     * @brief Destructs ConfigFile object.\n     *\n     * Calls \\link close() close()\\endlink before destroying ConfigFile object.\n     *\n     * @see \\link close() close()\\endlink\n     */\n    ~ConfigFile();\n\n    /**\n     * @brief Opens the config file.\n     *\n     * Opens stream to config file and parses the config file.\n     *\n     * @param path Path to the config file.\n     * @param readonly Determines if the config file will be opened\n     *  in readonly mode.\n     */\n    void open(const std::string& path, bool readonly = false);\n\n    /**\n     * @brief Writes changes into config file.\n     *\n     * If the config file was not opened or was opened as readonly,\n     * then this call will fail.\n     */\n    void write();\n\n    /**\n     * @brief Closes the config file.\n     *\n     * If any changes were made and config file was not opened as readonly,\n     * changes are written to the config file before stream is closed.\n     * If config file is not opened, nothing happens.\n     */\n    void close();\n\n    /**\n     * @brief Sets value of given key to a given value.\n     *\n     * @param name Name of the key to set.\n     * @param value Value to set.\n     */\n    void setSettingValue(const std::string& name, std::string& value);\n\n    /**\n     * @brief Checks if the config file contains key with a given name.\n     *\n     * @param name Name of the key to search for.\n     * @return True if config file contains key with a given name,\n     *  false otherwise.\n     */\n    bool hasSettingValue(const std::string& name) const;\n\n    /**\n     * @brief Retreives value of the given key.\n     *\n     * @param name Name of the key to search for.\n     * @return Value that is assigned to a given key.\n     */\n    const std::string& getSettingValue(const std::string& name) const;\n\n  private:\n    std::unique_ptr<ConfigFilePrivate> d_pointer;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/Device.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"DevicePrivate.hpp\"\n#include \"Common/Utility.hpp\"\n\nnamespace usbguard\n{\n  Device::Device(DeviceManager& manager)\n    : d_pointer(usbguard::make_unique<DevicePrivate>(*this, manager))\n  {\n  }\n\n  Device::~Device() = default;\n\n  Device::Device(const Device& rhs)\n    : d_pointer(usbguard::make_unique<DevicePrivate>(*this, *rhs.d_pointer))\n  {\n  }\n\n  const Device& Device::operator=(const Device& rhs)\n  {\n    d_pointer.reset(new DevicePrivate(*this, *rhs.d_pointer));\n    return *this;\n  }\n\n  DeviceManager& Device::manager() const\n  {\n    return d_pointer->manager();\n  }\n\n  std::mutex& Device::refDeviceMutex()\n  {\n    return d_pointer->refDeviceMutex();\n  }\n\n  std::shared_ptr<Rule> Device::getDeviceRule(const bool with_port, const bool with_parent_hash, const bool match_rule)\n  {\n    return d_pointer->getDeviceRule(with_port, with_parent_hash, match_rule);\n  }\n\n  std::string Device::hashString(const std::string& value) const\n  {\n    return d_pointer->hashString(value);\n  }\n\n  void Device::initializeHash()\n  {\n    d_pointer->initializeHash();\n  }\n\n  void Device::updateHash(const void* const ptr, const size_t size)\n  {\n    d_pointer->updateHash(ptr, size);\n  }\n\n  void Device::updateHash(std::istream& descriptor_stream, const size_t expected_size)\n  {\n    d_pointer->updateHash(descriptor_stream, expected_size);\n  }\n\n  std::string Device::finalizeHash()\n  {\n    return d_pointer->finalizeHash();\n  }\n\n  const std::string& Device::getHash() const\n  {\n    return d_pointer->getHash();\n  }\n\n  void Device::setParentHash(const std::string& hash)\n  {\n    d_pointer->setParentHash(hash);\n  }\n\n  void Device::setID(uint32_t id)\n  {\n    d_pointer->setID(id);\n  }\n\n  uint32_t Device::getID() const\n  {\n    return d_pointer->getID();\n  }\n\n  void Device::setParentID(uint32_t id)\n  {\n    d_pointer->setParentID(id);\n  }\n\n  uint32_t Device::getParentID() const\n  {\n    return d_pointer->getParentID();\n  }\n\n  void Device::setTarget(Rule::Target target)\n  {\n    d_pointer->setTarget(target);\n  }\n\n  Rule::Target Device::getTarget() const\n  {\n    return d_pointer->getTarget();\n  }\n\n  void Device::setName(const std::string& name)\n  {\n    d_pointer->setName(name);\n  }\n\n  const std::string& Device::getName() const\n  {\n    return d_pointer->getName();\n  }\n\n  void Device::setDeviceID(const USBDeviceID& device_id)\n  {\n    d_pointer->setDeviceID(device_id);\n  }\n\n  const USBDeviceID& Device::getDeviceID() const\n  {\n    return d_pointer->getDeviceID();\n  }\n\n  void Device::setPort(const std::string& port)\n  {\n    d_pointer->setPort(port);\n  }\n\n  const std::string& Device::getPort() const\n  {\n    return d_pointer->getPort();\n  }\n\n  void Device::setSerial(const std::string& serial_number)\n  {\n    d_pointer->setSerial(serial_number);\n  }\n\n  const std::string& Device::getSerial() const\n  {\n    return d_pointer->getSerial();\n  }\n\n  void Device::setConnectType(const std::string& connect_type)\n  {\n    d_pointer->setConnectType(connect_type);\n  }\n\n  const std::string& Device::getConnectType() const\n  {\n    return d_pointer->getConnectType();\n  }\n\n  std::vector<USBInterfaceType>& Device::refMutableInterfaceTypes()\n  {\n    return d_pointer->refMutableInterfaceTypes();\n  }\n\n  const std::vector<USBInterfaceType>& Device::getInterfaceTypes() const\n  {\n    return d_pointer->getInterfaceTypes();\n  }\n\n  void Device::loadDeviceDescriptor(USBDescriptorParser* parser, const USBDescriptor* const descriptor)\n  {\n    d_pointer->loadDeviceDescriptor(parser, descriptor);\n  }\n\n  void Device::loadConfigurationDescriptor(USBDescriptorParser* parser, const USBDescriptor* const descriptor)\n  {\n    d_pointer->loadConfigurationDescriptor(parser, descriptor);\n  }\n\n  void Device::loadInterfaceDescriptor(USBDescriptorParser* parser, const USBDescriptor* const descriptor)\n  {\n    d_pointer->loadInterfaceDescriptor(parser, descriptor);\n  }\n\n  void Device::loadEndpointDescriptor(USBDescriptorParser* parser, const USBDescriptor* const descriptor)\n  {\n    d_pointer->loadEndpointDescriptor(parser, descriptor);\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/Device.hpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n\n#include \"Rule.hpp\"\n#include \"Typedefs.hpp\"\n#include \"USB.hpp\"\n\n#include <istream>\n#include <mutex>\n#include <string>\n#include <memory>\n\n#include <cstddef>\n#include <cstdint>\n\nnamespace usbguard\n{\n  class DeviceManager;\n  class DevicePrivate;\n\n  /**\n   * @brief Represents USB device in USBGuard.\n   */\n  class DLL_PUBLIC Device\n  {\n  public:\n\n    /**\n     * @brief Constructs new device object and sets its \\link DeviceManager\n     * device manager\\endlink.\n     *\n     * Device ID is set to default, parent device ID is set to root ID and\n     * target rule is set to unknown.\n     *\n     * @param manager \\link DeviceManager device manager\\endlink that is\n     * responsible for this device.\n     * @see \\link Rule::DefaultID() DefaultID()\\endlink\n     * @see \\link Rule::RootID() RootID()\\endlink\n     * @see \\link Rule::Target Target\\endlink\n     */\n    Device(DeviceManager& manager);\n\n    /**\n     * @brief Default destructor.\n     */\n    virtual ~Device();\n\n    /**\n     * @brief Constructs device object based on rhs.\n     *\n     * @param rhs Device object to copy.\n     */\n    Device(const Device& rhs);\n\n    /**\n     * @brief Assigns rhs to this.\n     *\n     * @param rhs Device object to assign.\n     * @return This object.\n     */\n    const Device& operator=(const Device& rhs);\n\n    /**\n     * @brief Returns \\link DeviceManager device manager\\endlink that is\n     * responsible for this device.\n     *\n     * @return \\link DeviceManager Device manager\\endlink that is responsible\n     * for this device.\n     */\n    DeviceManager& manager() const;\n\n    /**\n     * @brief Returns reference to device mutex.\n     *\n     * @return Reference to device mutex.\n     */\n    std::mutex& refDeviceMutex();\n\n    /**\n     * @brief Generates device rule for this USB device.\n     *\n     * Generated device rule is composed of: ID, rule target, device ID,\n     * serial number, connection type, port (optional), interface types,\n     * device name, hash, parent hash (optional).\n     *\n     * @param with_port If true, port is included in generated rule.\n     * @param with_parent_hash If true, parent hash is included in\n     * generated rule.\n     * @param match_rule If true, sets rule target to match.\n     * @return Device rule for this USB device.\n     * @throw runtime_error If \\p with_parent_hash is true and parent hash\n     * value is not available.\n     */\n    std::shared_ptr<Rule> getDeviceRule(bool with_port = true, bool with_parent_hash = true, bool match_rule = false);\n\n    /**\n     * @brief Hashes a given string and returns it.\n     *\n     * @param value Value to hash.\n     * @return Hashed input string.\n     */\n    std::string hashString(const std::string& value) const;\n\n    /**\n     * @brief Initialize hash for this device.\n     *\n     * Hash is initialized from name, vendor ID, product ID and serial number\n     * of the device.\n     *\n     * @throw Exception If vendor or product ID is empty.\n     */\n    void initializeHash();\n\n    /**\n     * @brief Hashes given data and creates new hash value.\n     *\n     * @param ptr Pointer to data to hash.\n     * @param size Number of bytes to hash.\n     */\n    void updateHash(const void* ptr, size_t size);\n\n    /**\n     * @brief Hashes given descriptor stream and creates new hash value.\n     *\n     * @param descriptor_stream Descriptor stream to hash.\n     * @param expected_size Expected number of bytes to hash.\n     * @throw Exception If descriptor stream didnt return expected\n     * amount of data.\n     */\n    void updateHash(std::istream& descriptor_stream, size_t expected_size);\n\n    /**\n     * @brief Finalizes hash by encoding it into base64.\n     *\n     * @return Finalized hash.\n     */\n    std::string finalizeHash();\n\n    /**\n     * @brief Returns device hash.\n     *\n     * @return Device hash.\n     * @throw USBGUARD_BUG If device hash is not finalized.\n     * @see \\link finalizeHash() finalizeHash()\\endlink\n     */\n    const std::string& getHash() const;\n\n    /**\n     * @brief Sets parent hash for this device.\n     *\n     * @param hash Parent hash to set.\n     */\n    void setParentHash(const std::string& hash);\n\n    /**\n     * @brief Sets device ID.\n     *\n     * @param id Device ID to set.\n     */\n    void setID(uint32_t id);\n\n    /**\n     * @brief Returns device ID.\n     *\n     * @return Device ID.\n     */\n    uint32_t getID() const;\n\n    /**\n     * @brief Sets parent ID for this device.\n     *\n     * @param id Parent ID to set.\n     */\n    void setParentID(uint32_t id);\n\n    /**\n     * @brief Returns parent ID.\n     *\n     * @return Parent ID.\n     */\n    uint32_t getParentID() const;\n\n    /**\n     * @brief Sets given target for this device.\n     *\n     * @param target Target to set.\n     * @see \\link Rule::Target Target\\endlink\n     */\n    void setTarget(Rule::Target target);\n\n    /**\n     * @brief Returns rule target for this device.\n     *\n     * @return Rule target for this device.\n     * @see \\link Rule::Target Target\\endlink\n     */\n    Rule::Target getTarget() const;\n\n    /**\n     * @brief Sets device name.\n     *\n     * @param name Device name to set.\n     * @throw Exception If given \\p name is bigger then\n     * \\p USB_GENERIC_STRING_MAX_LENGTH.\n     */\n    void setName(const std::string& name);\n\n    /**\n     * @brief Returns device name.\n     *\n     * @return Device name.\n     */\n    const std::string& getName() const;\n\n    /**\n     * @brief Sets device ID.\n     *\n     * @param device_id Device ID to set.\n     */\n    void setDeviceID(const USBDeviceID& device_id);\n\n    /**\n     * @brief Returns device ID.\n     *\n     * @return Device ID.\n     */\n    const USBDeviceID& getDeviceID() const;\n\n    /**\n     * @brief Sets port through which the device is connected.\n     *\n     * @param port Port to set.\n     * @throw runtime_error If given \\p port is bigger then\n     * \\p USB_PORT_STRING_MAX_LENGTH.\n     */\n    void setPort(const std::string& port);\n\n    /**\n     * @brief Returns port through which the device is connected.\n     *\n     * @return Port through which the device is connected.\n     */\n    const std::string& getPort() const;\n\n    /**\n     * @brief Sets device serial number.\n     *\n     * @param serial_number Serial number to set.\n     * @throw runtime_error If given \\p serial_number is bigger then\n     * \\p USB_GENERIC_STRING_MAX_LENGTH.\n     */\n    void setSerial(const std::string& serial_number);\n\n    /**\n     * @brief Returns device serial number.\n     *\n     * @return Device serial number.\n     */\n    const std::string& getSerial() const;\n\n    /**\n     * @brief Sets device connection type.\n     *\n     * @param connect_type Connection type to set.\n     * @throw runtime_error If given \\p connection_type is bigger then\n     * \\p USB_GENERIC_STRING_MAX_LENGTH.\n     */\n    void setConnectType(const std::string& connect_type);\n\n    /**\n     * @brief Returns device connection type.\n     *\n     * @return Device connection type.\n     */\n    const std::string& getConnectType() const;\n\n    /**\n     * @brief Returns reference to mutable vector of interface types\n     * of this USB device.\n     *\n     * @return Reference to mutable vector of interface types\n     * of this USB device.\n     */\n    std::vector<USBInterfaceType>& refMutableInterfaceTypes();\n\n    /**\n     * @brief Returns reference to vector of interface types of this USB device.\n     *\n     * @return Reference to vector of interface types of this USB device.\n     */\n    const std::vector<USBInterfaceType>& getInterfaceTypes() const;\n\n    /**\n     * @brief Checks whether this USB device is a controller or not.\n     *\n     * @return True if this USB device is a controller, false otherwise.\n     */\n    virtual bool isController() const = 0;\n\n    /**\n     * @brief Returns absolute path of this USB device.\n     *\n     * @return Absolute path of this USB device.\n     */\n    virtual std::string getSystemName() const = 0;\n\n    /**\n     * @brief Loads device descriptor using given USB descriptor parser.\n     *\n     * @param parser Parser that will parse the USB device descriptor.\n     * @param descriptor USB Device descriptor.\n     * @throw runtime_error If there are multiple device descriptors\n     * for one device.\n     */\n    void loadDeviceDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor);\n\n    /**\n     * @brief Loads configuration descriptor using given USB descriptor parser.\n     *\n     * @param parser Parser that will parse the configuration descriptor.\n     * @param descriptor Configuration descriptor.\n     * @throw runtime_error If parent device descriptor is missing while\n     * trying to load configuration descriptor.\n     */\n    void loadConfigurationDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor);\n\n    /**\n     * @brief Loads interface descriptor using given USB descriptor parser.\n     *\n     * @param parser Parser that will parse the interface descriptor.\n     * @param descriptor Interface descriptor.\n     * @throw runtime_error If parent configuration descriptor is missing while\n     * trying to load interface descriptor.\n     */\n    void loadInterfaceDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor);\n\n    /**\n     * @brief Loads endpoint descriptor using given USB descriptor parser.\n     *\n     * @note Warning: This method can receive USB descriptors of two sizes!\n     * (enpoint, audio endpoint).\n     *\n     * @param parser Parser that will parse the endpoint descriptor.\n     * @param descriptor Endpoint descriptor.\n     * @throw runtime_error If parent interface descriptor is missing while\n     * trying to load enpoint descriptor.\n     */\n    void loadEndpointDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor);\n\n  private:\n    std::unique_ptr<DevicePrivate> d_pointer;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/DeviceManager.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"DeviceManagerPrivate.hpp\"\n#include \"Common/Utility.hpp\"\n\n#include \"usbguard/DeviceManagerHooks.hpp\"\n#include \"usbguard/Exception.hpp\"\n\nnamespace usbguard\n{\n  uint32_t DeviceManager::eventTypeToInteger(DeviceManager::EventType event)\n  {\n    return static_cast<uint32_t>(event);\n  }\n\n  DeviceManager::EventType DeviceManager::eventTypeFromInteger(uint32_t event_integer)\n  {\n    switch (event_integer) {\n    case static_cast<uint32_t>(EventType::Insert):\n    case static_cast<uint32_t>(EventType::Update):\n    case static_cast<uint32_t>(EventType::Remove):\n    case static_cast<uint32_t>(EventType::Present):\n      break;\n\n    default:\n      throw std::runtime_error(\"Invalid event type integer value\");\n    }\n\n    return static_cast<EventType>(event_integer);\n  }\n\n  std::string DeviceManager::eventTypeToString(DeviceManager::EventType event)\n  {\n    switch (event) {\n    case DeviceManager::EventType::Present:\n      return \"Present\";\n\n    case DeviceManager::EventType::Insert:\n      return \"Insert\";\n\n    case DeviceManager::EventType::Remove:\n      return \"Remove\";\n\n    case DeviceManager::EventType::Update:\n      return \"Update\";\n\n    default:\n      throw USBGUARD_BUG(\"unknown event type\");\n    }\n  }\n\n  static const std::vector<std::pair<std::string, DeviceManager::AuthorizedDefaultType>> authorized_default_type_strings = {\n    { \"keep\", DeviceManager::AuthorizedDefaultType::Keep },\n    { \"none\", DeviceManager::AuthorizedDefaultType::None },\n    { \"all\", DeviceManager::AuthorizedDefaultType::All },\n    { \"internal\", DeviceManager::AuthorizedDefaultType::Internal }\n  };\n\n  int32_t DeviceManager::authorizedDefaultTypeToInteger(DeviceManager::AuthorizedDefaultType authorized_default)\n  {\n    return static_cast<int32_t>(authorized_default);\n  }\n\n  DeviceManager::AuthorizedDefaultType DeviceManager::authorizedDefaultTypeFromInteger(int32_t authorized_default_integer)\n  {\n    for (auto authorized_default_type_string : authorized_default_type_strings) {\n      if (static_cast<int32_t>(authorized_default_type_string.second) == authorized_default_integer) {\n        return authorized_default_type_string.second;\n      }\n    }\n\n    throw std::runtime_error(\"Invalid authorized default type integer value\");\n  }\n\n  DeviceManager::AuthorizedDefaultType DeviceManager::authorizedDefaultTypeFromString(const std::string&\n    authorized_default_string)\n  {\n    for (auto authorized_default_type_string : authorized_default_type_strings) {\n      if (authorized_default_type_string.first == authorized_default_string) {\n        return authorized_default_type_string.second;\n      }\n    }\n\n    throw Exception(\"AuthorizedDefaultType\", authorized_default_string, \"invalid authorized default type string\");\n  }\n\n  const std::string DeviceManager::authorizedDefaultTypeToString(AuthorizedDefaultType authorized_default)\n  {\n    for (auto authorized_default_type_string : authorized_default_type_strings) {\n      if (authorized_default_type_string.second == authorized_default) {\n        return authorized_default_type_string.first;\n      }\n    }\n\n    throw USBGUARD_BUG(\"Invalid authorized default type value\");\n  }\n\n  DeviceManager::DeviceManager(DeviceManagerHooks& hooks)\n    : d_pointer(usbguard::make_unique<DeviceManagerPrivate>(*this, hooks))\n  {\n  }\n\n  DeviceManager::DeviceManager(const DeviceManager& rhs)\n    : d_pointer(usbguard::make_unique<DeviceManagerPrivate>(*this, *rhs.d_pointer))\n  {\n  }\n\n  const DeviceManager& DeviceManager::operator=(const DeviceManager& rhs)\n  {\n    d_pointer.reset(new DeviceManagerPrivate(*this, *rhs.d_pointer));\n    return *this;\n  }\n\n  DeviceManager::~DeviceManager() = default;\n\n  void DeviceManager::setAuthorizedDefault(DeviceManager::AuthorizedDefaultType authorized)\n  {\n    d_pointer->setAuthorizedDefault(authorized);\n  }\n\n  DeviceManager::AuthorizedDefaultType DeviceManager::getAuthorizedDefault() const\n  {\n    return d_pointer->getAuthorizedDefault();\n  }\n\n  void DeviceManager::setRestoreControllerDeviceState(bool enabled)\n  {\n    d_pointer->setRestoreControllerDeviceState(enabled);\n  }\n\n  bool DeviceManager::getRestoreControllerDeviceState() const\n  {\n    return d_pointer->getRestoreControllerDeviceState();\n  }\n\n  void DeviceManager::insertDevice(std::shared_ptr<Device> device)\n  {\n    d_pointer->insertDevice(device);\n  }\n\n  std::shared_ptr<Device> DeviceManager::removeDevice(uint32_t id)\n  {\n    return d_pointer->removeDevice(id);\n  }\n\n  std::vector<std::shared_ptr<Device>> DeviceManager::getDeviceList()\n  {\n    return d_pointer->getDeviceList();\n  }\n\n  std::vector<std::shared_ptr<Device>> DeviceManager::getDeviceList(const Rule& query)\n  {\n    std::vector<std::shared_ptr<Device>> matching_devices;\n\n    for (auto const& device : getDeviceList()) {\n      if (query.appliesTo(device->getDeviceRule())) {\n        switch (query.getTarget()) {\n        case Rule::Target::Allow:\n        case Rule::Target::Block:\n          if (device->getTarget() == query.getTarget()) {\n            matching_devices.push_back(device);\n          }\n\n          break;\n\n        case Rule::Target::Device:\n        case Rule::Target::Match:\n          matching_devices.push_back(device);\n          break;\n\n        case Rule::Target::Reject:\n        case Rule::Target::Unknown:\n        case Rule::Target::Empty:\n        case Rule::Target::Invalid:\n        default:\n          throw std::runtime_error(\"Invalid device query target\");\n        }\n      }\n    }\n\n    return matching_devices;\n  }\n\n  std::shared_ptr<Device> DeviceManager::getDevice(uint32_t id)\n  {\n    return d_pointer->getDevice(id);\n  }\n\n  void DeviceManager::DeviceEvent(DeviceManager::EventType event, std::shared_ptr<Device> device)\n  {\n    d_pointer->DeviceEvent(event, device);\n  }\n\n  void DeviceManager::DeviceException(const std::string& message)\n  {\n    d_pointer->DeviceException(message);\n  }\n} /* namespace usbguard */\n\n#if defined(HAVE_UEVENT)\n  #include \"UEventDeviceManager.hpp\"\n#endif\n\n#if defined(HAVE_UMOCKDEV)\n  #include \"UMockdevDeviceManager.hpp\"\n#endif\n\nstd::shared_ptr<usbguard::DeviceManager> usbguard::DeviceManager::create(DeviceManagerHooks& hooks, const std::string& backend)\n{\n  if (backend == \"udev\") {\n    USBGUARD_LOG(Warning) << \"udev backend is OBSOLETE. Falling back to new default: uevent\";\n  }\n\n#if defined(HAVE_UEVENT)\n\n  if (backend == \"uevent\" || /* transition udev => uevent */backend == \"udev\") {\n    return std::make_shared<usbguard::UEventDeviceManager>(hooks);\n  }\n\n#endif\n#if defined(HAVE_UMOCKDEV)\n\n  if (backend == \"umockdev\") {\n    return std::make_shared<usbguard::UMockdevDeviceManager>(hooks);\n  }\n\n#endif\n  throw Exception(\"DeviceManager\", \"backend\", \"requested backend is not available\");\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/DeviceManager.hpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n\n#include \"Device.hpp\"\n#include \"Rule.hpp\"\n#include \"RuleSet.hpp\"\n#include \"Typedefs.hpp\"\n\n#include <memory>\n#include <mutex>\n#include <string>\n#include <vector>\n\n#include <cstdint>\n\nnamespace usbguard\n{\n  class DeviceManagerHooks;\n  class DeviceManagerPrivate;\n\n  /**\n   * @brief Manages and keeps track of active USB devices.\n   *\n   * Devices are stored in the device map. When an event occurs\n   * on a device, the device manager aknowledges the hooks about the event.\n   */\n  class DLL_PUBLIC DeviceManager\n  {\n  public:\n\n    /**\n     * @brief Type of event that took place on the device.\n     */\n    enum class EventType {\n      Present = 0, /**< USB device has been already present. */\n      Insert = 1, /**< USB device has been inserted. */\n      Update = 2, /**< Some writable attribute has been changed externally. */\n      Remove = 3, /**< USB device has been ejected. */\n    };\n\n    /**\n     * @brief Defines which devices are authorized by default.\n     */\n    enum class AuthorizedDefaultType {\n      Keep = -128, /**< Do not change the authorization state. */\n      None = 0, /**< Every new device starts out deauthorized. */\n      All = 1, /**< Every new device starts out authorized. */\n      Internal = 2, /**< Internal devices start out authorized,\n                      external devices start out deauthorized\n                      (this requires the ACPI tables to properly\n                      label internal devices, and kernel support). */\n    };\n\n    /**\n     * @brief Casts \\link EventType event\\endlink to it's integer\n     * representation.\n     *\n     * @param event Event to cast to integer.\n     * @return Integer representation of given event.\n     */\n    static uint32_t eventTypeToInteger(EventType event);\n\n    /**\n     * @brief Converts integer to it's \\link EventType event\\endlink\n     * representation.\n     *\n     * @param event_integer Integer that should be converted.\n     * @return \\link EventType event\\endlink for given integer.\n     * @throw runtime_error If given integer is not a valid event.\n     */\n    static EventType eventTypeFromInteger(uint32_t event_integer);\n\n    /**\n     * @brief Converts \\link EventType event\\endlink to it's string\n     * representation.\n     *\n     * @param event Event that should be converted.\n     * @return String representation of given event.\n     * @throw USBGUARD_BUG If given event is invalid.\n     */\n    static std::string eventTypeToString(EventType event);\n\n    /**\n     * @brief Casts \\link AuthorizedDefaultType authorized default\\endlink\n     * to it's integer representation.\n     *\n     * @param authorized_default \\link AuthorizedDefaultType Authorized\n     * default\\endlink to cast to integer.\n     * @return Integer representation of given \\link AuthorizedDefaultType\n     * authorized default\\endlink.\n     */\n    static int32_t authorizedDefaultTypeToInteger(AuthorizedDefaultType authorized_default);\n\n    /**\n     * @brief Converts integer to it's \\link AuthorizedDefaultType authorized\n     * default\\endlink representation.\n     *\n     * @param authorized_default_integer Integer that should be converted.\n     * @return \\link AuthorizedDefaultType Authorized default\\endlink\n     * for given integer.\n     * @throw runtime_error If given integer is not a valid\n     * \\link AuthorizedDefaultType authorized default\\endlink.\n     */\n    static AuthorizedDefaultType authorizedDefaultTypeFromInteger(int32_t authorized_default_integer);\n\n    /**\n     * @brief Converts string to it's \\link AuthorizedDefaultType authorized\n     * default\\endlink representation.\n     *\n     * @param authorized_default_string String that should be converted.\n     * @return \\link AuthorizedDefaultType Authorized default\\endlink\n     * for given string.\n     * @throw Exception If given string does not contain valid\n     * \\link AuthorizedDefaultType authorized default\\endlink.\n     */\n    static AuthorizedDefaultType authorizedDefaultTypeFromString(const std::string& authorized_default_string);\n\n    /**\n     * @brief Converts \\link AuthorizedDefaultType authorized default\\endlink\n     * to it's string representation.\n     *\n     * @param authorized_default \\link AuthorizedDefaultType Authorized\n     * default\\endlink that should be converted.\n     * @return String representation of given authorized default.\n     * @throw USBGUARD_BUG If given \\link AuthorizedDefaultType authorized\n     * default\\endlink is invalid.\n     */\n    static const std::string authorizedDefaultTypeToString(AuthorizedDefaultType authorized_default);\n\n    /**\n     * @brief Constructs new device manager object with given hooks.\n     *\n     * @param hooks \\link DeviceManagerHooks Device manager hook\\endlink that\n     * will get notified when an event or an exception occurs.\n     */\n    DeviceManager(DeviceManagerHooks& hooks);\n\n    /**\n     * @brief Constructs new device manager from a given device manager.\n     *\n     * @param rhs Device manager to copy.\n     */\n    DeviceManager(const DeviceManager& rhs);\n\n    /**\n     * @brief Constructs new device manager based on given device manager\n     * and assignes it to this.\n     *\n     * @param rhs Device manager to copy.\n     */\n    const DeviceManager& operator=(const DeviceManager& rhs);\n\n    /**\n     * @brief Default destructor.\n     */\n    virtual ~DeviceManager();\n\n    /**\n     * @brief When a device is inserted into a system it's\n     * \\link AuthorizedDefaultType authorized default\\endlink\n     * will stay unchanged.\n     *\n     * @param state If true, enables enumeration only mode.\n     */\n    virtual void setEnumerationOnlyMode(bool state) = 0;\n\n    /**\n     * @brief Starts the deamon for monitoring USB device events.\n     */\n    virtual void start() = 0;\n\n    /**\n     * @brief Stops the daemon that is monitoring USB device events.\n     */\n    virtual void stop() = 0;\n\n    /**\n     * @brief Scans the system for USB devices.\n     */\n    virtual void scan() = 0;\n\n    /**\n     * @brief Scan for USB devices on given path.\n     *\n     * @param devpath Path to scan.\n     */\n    virtual void scan(const std::string& devpath) = 0;\n\n    /**\n     * @brief Enables you to set the default authorization of USB devices.\n     *\n     * @param authorized \\link AuthorizedDefaultType authorized default\\endlink\n     * to be set.\n     * @see \\link AuthorizedDefaultType AuthorizedDefaultType\\endlink\n     */\n    void setAuthorizedDefault(AuthorizedDefaultType authorized);\n\n    /**\n     * @brief Returns current \\link AuthorizedDefaultType\n     * authorized default\\endlink setting.\n     *\n     * @return Current \\link AuthorizedDefaultType authorized default\\endlink\n     * setting.\n     * @see \\link AuthorizedDefaultType AuthorizedDefaultType\\endlink\n     */\n    AuthorizedDefaultType getAuthorizedDefault() const;\n\n    /**\n     * @brief Controls whether USBGuard daemon tries to restore the device\n     * attribute values to the state before modification on shutdown.\n     *\n     * The USBGuard daemon modifies some attributes of controller devices\n     * like the default authorization state of new child device instances.\n     * Using this setting, you can control whether the daemon will try to\n     * restore the attribute values to the state before modification on\n     * shutdown.\n     *\n     * @warning If set to true, the USB authorization policy could be bypassed\n     * by performing some sort of attack on the daemon (via local exploit\n     * or via a USB device) to make it shutdown and restore to the\n     * operating-system default state (known to be permissive).\n     *\n     * @param enabled Value to be set.\n     */\n    void setRestoreControllerDeviceState(bool enabled);\n\n    /**\n     * @brief Returns true if restore controller device state is enabled,\n     * false otherwise.\n     *\n     * @return True if restore controller device state is enabled,\n     * false otherwise.\n     */\n    bool getRestoreControllerDeviceState() const;\n\n    /**\n     * @brief Applies given policy to device with given ID.\n     *\n     * @param id ID of the device to which policy should be applied.\n     * @param target Policy to apply.\n     * @return Device with given ID and applied policy.\n     */\n    virtual std::shared_ptr<Device> applyDevicePolicy(uint32_t id, Rule::Target target) = 0;\n\n    /**\n     * @brief Adds new device into a device map.\n     *\n     * Device ID will be assigned by the device manager hooks.\n     *\n     * @param device Device to be added into map of devices.\n     */\n    virtual void insertDevice(std::shared_ptr<Device> device);\n\n    /**\n     * @brief Removes device with given ID from device map.\n     *\n     * @param id ID of the device that shall be removed.\n     * @return Device that has been removed.\n     * @throw Exception If device with such ID does not exist in device map.\n     */\n    std::shared_ptr<Device> removeDevice(uint32_t id);\n\n    /**\n     * @brief Returns a copy of the list of active USB devices.\n     *\n     * @return Copy of the list of active USB devices.\n     */\n    std::vector<std::shared_ptr<Device>> getDeviceList();\n\n    /**\n     * @brief Returns a copy of the list of active USB devices\n     * with rule that applies to given query.\n     *\n     * @param query Rule to apply to.\n     * @return Copy of the list of active USB devices\n     * with rule that applies to given query.\n     * @see \\link Rule::appliesTo() appliesTo()\\endlink\n     */\n    std::vector<std::shared_ptr<Device>> getDeviceList(const Rule& query);\n\n    /**\n     * @brief Returns device from a device map with a given ID.\n     *\n     * @param id ID of the device.\n     * @return Device from a device map with a given ID.\n     * @throw Exception If there is no device with such ID in device map.\n     */\n    std::shared_ptr<Device> getDevice(uint32_t id);\n\n    /**\n     * @brief Returns reference to device map mutex.\n     *\n     * @return Reference to device map mutex.\n     */\n    std::mutex& refDeviceMapMutex();\n\n    /**\n     * @brief Acknowledges daemon instance hooks about given event.\n     *\n     * Calls dmHookDeviceEvent() on object registered as hook.\n     *\n     * @param event Event that arose.\n     * @param device Device that is part of the event.\n     * @see \\link DeviceManagerHooks::dmHookDeviceEvent()\n     * dmHookDeviceEvent()\\endlink\n     */\n    void DeviceEvent(EventType event, std::shared_ptr<Device> device);\n\n    /**\n     * @brief Acknowledges daemon instance hooks about given exception.\n     *\n     * Calls \\link DeviceManagerHooks::dmHookDeviceException()\n     * dmHookDeviceException()\\endlink on object registered as hook.\n     *\n     * @param message Message of the exception.\n     * @see \\link DeviceManagerHooks::dmHookDeviceException()\n     * dmHookDeviceException()\\endlink\n     */\n    void DeviceException(const std::string& message);\n\n    /**\n     * @brief Creates \\p UEventDeviceManager if backend is \\\"uevent\\\"\n     * or creates \\p UMockDevDeviceManager if backend is \\\"umockdev\\\".\n     *\n     * - uevent   - Netlink based implementation which uses sysfs to scan\n     *            for present devices and an uevent netlink socket for\n     *            receiving USB device related events.\n     * - umockdev - Umockdev based device manager capable of simulating\n     *            devices based on umockdev-record files. Useful for testing.\n     *\n     * @deprecated Backend \\\"udev\\\" is obsolete and \\\"uevent\\\" should be used instead.\n     *\n     * @param hooks \\link DeviceManagerHooks Device manager hooks\\endlink.\n     * @param backend Type of device manager to create.\n     * @return Object of type \\p UEventDeviceManager or\n     * \\p UMockDevDeviceManager based on chosen backend.\n     * @throw Exception If given backend is invalid.\n     */\n    static std::shared_ptr<DeviceManager> create(DeviceManagerHooks& hooks, const std::string& backend);\n\n  private:\n    std::unique_ptr<DeviceManagerPrivate> d_pointer;\n  };\n\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/DeviceManagerHooks.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/DeviceManagerHooks.hpp\"\n\nnamespace usbguard\n{\n  void DeviceManagerHooks::dmHookDeviceEvent(DeviceManager::EventType event, std::shared_ptr<Device> device)\n  {\n    (void)event;\n    (void)device;\n    /* NOOP */\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/DeviceManagerHooks.hpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n\n#include \"Device.hpp\"\n#include \"DeviceManager.hpp\"\n#include \"Typedefs.hpp\"\n\n#include <memory>\n#include <string>\n\n#include <cstdint>\n\nnamespace usbguard\n{\n  /**\n   * @brief Allows reacting to device events.\n   */\n  class DLL_PUBLIC DeviceManagerHooks\n  {\n  public:\n    /**\n     * @brief Device manager hook can react to USB device event\n     * through this method.\n     *\n     * @param event USB device event.\n     * @param device USB device that caused the event.\n     */\n    virtual void dmHookDeviceEvent(DeviceManager::EventType event, std::shared_ptr<Device> device);\n\n    /**\n     * @brief Device manager hook can assign ID to the USB device through\n     * this method.\n     *\n     * @return New ID of USB device.\n     */\n    virtual uint32_t dmHookAssignID() = 0;\n\n    /**\n     * @brief Device manager hook can react to USB device exceptions through\n     * this method.\n     *\n     * @param message Exception message.\n     */\n    virtual void dmHookDeviceException(const std::string& message) = 0;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/Exception.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n\n#include \"Typedefs.hpp\"\n\n#include <stdexcept>\n#include <string>\n\n#ifndef _GNU_SOURCE\n  #define _GNU_SOURCE\n#endif\n\n#include <cerrno>\n#include <cstdint>\n#include <cstring>\n\nnamespace usbguard\n{\n  /**\n   * @brief USBGuard exception.\n   */\n  class DLL_PUBLIC Exception : public std::exception\n  {\n  public:\n    Exception(const std::string& context,\n      const std::string& object,\n      const std::string& reason_val)\n      : _context(context),\n        _object(object),\n        _reason(reason_val)\n    {\n    }\n\n    Exception(const Exception& rhs) = default;\n    Exception& operator=(const Exception& rhs) = default;\n\n    Exception(Exception&& rhs) = default;\n    Exception& operator=(Exception&& rhs) = default;\n\n    const std::string& context() const noexcept\n    {\n      return _context;\n    }\n\n    const std::string& object() const noexcept\n    {\n      return _object;\n    }\n\n    const std::string& reason() const noexcept\n    {\n      return _reason;\n    }\n\n    void setContext(const std::string& context)\n    {\n      _context = context;\n    }\n\n    void setObject(const std::string& object)\n    {\n      _object = object;\n    }\n\n    void setReason(const std::string& reason_val)\n    {\n      _reason = reason_val;\n    }\n\n    /**\n     * @brief Returns exception message.\n     *\n     * Format: \\<context\\>: [\\<object\\>: ]\\<reason\\>\n     *\n     * @return Exception message.\n     */\n    virtual std::string message() const noexcept\n    {\n      try {\n        return _context + \": \" + (!_object.empty() ? _object + \": \" : \"\") + _reason;\n      }\n      catch (...) {\n        return \"usbguard::Exception: exception^2\";\n      }\n    }\n\n    virtual const char* what() const noexcept\n    {\n      return \"usbguard::Exception\";\n    }\n\n  private:\n    std::string _context;\n    std::string _object;\n    std::string _reason;\n  };\n\n#define USBGUARD_BUG(m) \\\n  ::usbguard::Exception(__PRETTY_FUNCTION__, \"BUG\", m)\n\n  class ErrnoException : public Exception\n  {\n  public:\n    ErrnoException(const std::string& context, const std::string& object, const int errno_value)\n      : Exception(context, object, ErrnoException::reasonFromErrno(errno_value))\n    {\n    }\n\n    static std::string reasonFromErrno(const int errno_value)\n    {\n      char buffer[1024] = \"Unknown error\";\n      const char* error_message = buffer;\n      // See \"man strerror_r\" for why we need these two cases:\n#ifndef HAVE_GNU_STRERROR_R\n      // We have the XSI-compliant version of strerror_r with int return\n      strerror_r(errno_value, buffer, sizeof buffer);\n#else\n      // We have the GNU-specific version of strerror_r with char* return\n      error_message = strerror_r(errno_value, buffer, sizeof buffer);\n#endif\n      return std::string(error_message);\n    }\n  };\n\n#define USBGUARD_SYSCALL_THROW(context, syscall_bool_expression) \\\n  do { \\\n    if (syscall_bool_expression) { \\\n      throw usbguard::ErrnoException(context, #syscall_bool_expression, errno); \\\n    } \\\n  } while(0)\n\n  class IPCException : public Exception\n  {\n  public:\n    IPCException()\n      : Exception(\"\", \"\", \"\")\n    {\n    }\n\n    IPCException(const Exception& exception,\n      uint64_t message_id = 0)\n      : Exception(exception),\n        _message_id(message_id)\n    {\n    }\n\n    IPCException(const std::string& context,\n      const std::string& object,\n      const std::string& reason,\n      uint64_t message_id = 0)\n      : Exception(context, object, reason),\n        _message_id(message_id)\n    {\n    }\n\n    IPCException(const IPCException& rhs)\n      : Exception(rhs),\n        _message_id(rhs._message_id)\n    {\n    }\n\n    bool hasMessageID() const noexcept\n    {\n      return _message_id != 0;\n    }\n\n    uint64_t messageID() const noexcept\n    {\n      return _message_id;\n    }\n\n    void setMessageID(uint64_t message_id)\n    {\n      _message_id = message_id;\n    }\n\n  private:\n    uint64_t _message_id{0};\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/IPCClient.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"IPCClientPrivate.hpp\"\n#include \"Common/Utility.hpp\"\n\nnamespace usbguard\n{\n  IPCClient::IPCClient(bool connected)\n    : d_pointer(usbguard::make_unique<IPCClientPrivate>(*this, connected))\n  {\n  }\n\n  IPCClient::~IPCClient() = default;\n\n  void IPCClient::connect()\n  {\n    d_pointer->connect();\n  }\n\n  void IPCClient::disconnect()\n  {\n    d_pointer->disconnect(/*do_wait*/true);\n  }\n\n  bool IPCClient::isConnected() const\n  {\n    return d_pointer->isConnected();\n  }\n\n  void IPCClient::wait()\n  {\n    d_pointer->wait();\n  }\n\n  std::string IPCClient::setParameter(const std::string& name, const std::string& value)\n  {\n    return d_pointer->setParameter(name, value);\n  }\n\n  std::string IPCClient::getParameter(const std::string& name)\n  {\n    return d_pointer->getParameter(name);\n  }\n\n  uint32_t IPCClient::appendRule(const std::string& rule_spec, uint32_t parent_id, bool permanent)\n  {\n    return d_pointer->appendRule(rule_spec, parent_id, permanent);\n  }\n\n  void IPCClient::removeRule(uint32_t id)\n  {\n    d_pointer->removeRule(id);\n  }\n\n  const std::vector<Rule> IPCClient::listRules(const std::string& label)\n  {\n    return d_pointer->listRules(label);\n  }\n\n  uint32_t IPCClient::applyDevicePolicy(uint32_t id, Rule::Target target, bool permanent)\n  {\n    return d_pointer->applyDevicePolicy(id, target, permanent);\n  }\n\n  const std::vector<Rule> IPCClient::listDevices(const std::string& query)\n  {\n    return d_pointer->listDevices(query);\n  }\n\n  bool IPCClient::checkIPCPermissions(const IPCServer::AccessControl::Section& section,\n    const IPCServer::AccessControl::Privilege& privilege)\n  {\n    return d_pointer->checkIPCPermissions(section, privilege);\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/IPCClient.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n\n#include \"DeviceManager.hpp\"\n#include \"Exception.hpp\"\n#include \"Interface.hpp\"\n#include \"IPCServer.hpp\"\n#include \"Typedefs.hpp\"\n\n#include <string>\n#include <vector>\n#include <memory>\n\n#include <cstdint>\n#include <unistd.h>\n#include <sys/types.h>\n\n\nnamespace usbguard\n{\n  class IPCClientPrivate;\n\n  /**\n   * @brief Communicates with USBGuard service\n   * (\\link IPCServer IPCServer\\endlink).\n   */\n  class DLL_PUBLIC IPCClient : public Interface\n  {\n  public:\n\n    /**\n     * @brief Constructs IPC client.\n     *\n     * @param connected If this flag is set to true, then it tries to connect\n     * to USBGuard \\link IPCServer IPC service\\endlink and starts IPC client\n     * main loop.\n     * @see \\link connect() connect()\\endlink\n     */\n    IPCClient(bool connected = false);\n\n    /**\n     * @brief Disconnects from an USBGuard \\link IPCServer IPC service\\endlink\n     * and destructs this object.\n     *\n     * @see \\link disconnect() disconnect()\\endlink\n     */\n    virtual ~IPCClient();\n\n    /**\n     * @brief Creates connection to an USBGuard\n     * \\link IPCServer IPC service\\endlink.\n     *\n     * Starts IPC client main loop.\n     *\n     * @throw ErrnoException If there is no service called \\\"usbguard\\\".\n     * @throw Exception If we received bad file descriptor to poll.\n     */\n    void connect();\n\n    /**\n     * @brief Disconnects from an USBGuard \\link IPCServer IPC service\\endlink.\n     *\n     * Stops IPC client main loop.\n     */\n    void disconnect();\n\n    /**\n     * @brief Checks whether client is connected to USBGuard \\link IPCServer\n     * IPC service\\endlink.\n     *\n     * @return True if this client is connected to USBGuard IPC service,\n     * false otherwise.\n     */\n    bool isConnected() const;\n\n    /**\n     * @brief Wait for IPC client main loop to finish its work.\n     */\n    void wait();\n\n    /**\n     * @copydoc Interface::setParameter()\n     */\n    std::string setParameter(const std::string& name, const std::string& value) override;\n\n    /**\n     * @copydoc Interface::getParameter()\n     */\n    std::string getParameter(const std::string& name) override;\n\n    /**\n     * @copydoc Interface::appendRule()\n     */\n    uint32_t appendRule(const std::string& rule_spec, uint32_t parent_id, bool permanent) override;\n\n    /**\n     * @copydoc Interface::removeRule()\n     */\n    void removeRule(uint32_t id) override;\n\n    /**\n     * @copydoc Interface::listRules()\n     */\n    const std::vector<Rule> listRules(const std::string& label) override;\n\n    /**\n     * @brief List the current rule set (policy) used by the USBGuard daemon.\n     *\n     * The rules are returned in the same order as they are evaluated.\n     *\n     * @return Vector of rules.\n     */\n    const std::vector<Rule> listRules()\n    {\n      return listRules(\"\");\n    }\n\n    /**\n     * @copydoc Interface::applyDevicePolicy()\n     */\n    uint32_t applyDevicePolicy(uint32_t id, Rule::Target target, bool permanent) override;\n\n    /**\n     * @copydoc Interface::listDevices()\n     */\n    const std::vector<Rule> listDevices(const std::string& query) override;\n\n    /**\n     * @brief List all devices recognized by USBGuard daemon.\n     *\n     * @note Left for compatibility.\n     *\n     * @return Vector of device specific rules.\n     */\n    const std::vector<Rule> listDevices()\n    {\n      return listDevices(\"match\");\n    }\n\n    /**\n     * @brief Check if IPC client has enough permission for queried section with privilege.\n     *\n     * @param section Section to be checked for.\n     * @param privilege Privilege to be checked for.\n     *\n     * @return True if IPC client has enough permission\n     * for (section, privilege), otherwise false.\n     */\n    bool checkIPCPermissions(const IPCServer::AccessControl::Section& section,\n      const IPCServer::AccessControl::Privilege& privilege);\n\n    /**\n     * @brief Defines algorithm to perform in the case of IPC connection.\n     */\n    virtual void IPCConnected() {}\n\n    /**\n     * @brief Defines algorithm to perform in the case of IPC disconnection.\n     *\n     * @param exception_initiated Determines whether disconnection was caused\n     * by an exception.\n     * @param exception Exception that caused the disconnection.\n     * Exception is valid only if \\p exception_initiated is set to true.\n     */\n    virtual void IPCDisconnected(bool exception_initiated, const IPCException& exception)\n    {\n      (void)exception_initiated;\n      (void)exception;\n    }\n\n    /**\n     * @brief Defines algorithm to perform in the case that USB device presence\n     * has been changed.\n     *\n     * @see \\link Interface::DevicePresenceChanged()\n     * DevicePresenceChanged()\\endlink\n     */\n    virtual void DevicePresenceChanged(uint32_t id,\n      DeviceManager::EventType event,\n      Rule::Target target,\n      const std::string& device_rule) override\n    {\n      (void)id;\n      (void)event;\n      (void)target;\n      (void)device_rule;\n    }\n\n    /**\n     * @brief Defines algorithm to perform in the case that USB device\n     * authorization target has been changed.\n     *\n     * @see \\link Interface::DevicePolicyChanged()\n     * DevicePolicyChanged()\\endlink\n     */\n    virtual void DevicePolicyChanged(uint32_t id,\n      Rule::Target target_old,\n      Rule::Target target_new,\n      const std::string& device_rule,\n      uint32_t rule_id) override\n    {\n      (void)id;\n      (void)target_old;\n      (void)target_new;\n      (void)device_rule;\n      (void)rule_id;\n    }\n\n    /**\n     * @brief Defines actions to perform when a USB device\n     * has been inserted, accepted, or rejected.\n     *\n     * @see \\link Interface::DevicePolicyApplied()\n     * DevicePolicyApplied()\\endlink\n     */\n    virtual void DevicePolicyApplied(uint32_t id,\n      Rule::Target target_new,\n      const std::string& device_rule,\n      uint32_t rule_id) override\n    {\n      (void)id;\n      (void)target_new;\n      (void)device_rule;\n      (void)rule_id;\n    }\n\n    /**\n     * @brief Defines algorithm to perform in the case that property parameter\n     * has been changed.\n     *\n     * @see \\link Interface::PropertyParameterChanged()\n     * PropertyParameterChanged()\\endlink\n     */\n    virtual void PropertyParameterChanged(const std::string& name,\n      const std::string& value_old,\n      const std::string& value_new) override\n    {\n      (void)name;\n      (void)value_old;\n      (void)value_new;\n    }\n\n    /**\n     * @brief Defines algorithm to perform in the case\n     * that exception has arose.\n     *\n     * @see \\link Interface::ExceptionMessage() ExceptionMessage()\\endlink\n     */\n    virtual void ExceptionMessage(const std::string& context,\n      const std::string& object,\n      const std::string& reason) override\n    {\n      (void)context;\n      (void)object;\n      (void)reason;\n    }\n\n  private:\n    std::unique_ptr<IPCClientPrivate> d_pointer;\n  };\n\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/IPCServer.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"IPCServerPrivate.hpp\"\n#include \"Common/Utility.hpp\"\n\n#include \"usbguard/Exception.hpp\"\n\n#include <sstream>\n#include <utility>\n\nnamespace usbguard\n{\n  void IPCServer::checkAccessControlName(const std::string& name)\n  {\n    if (name.size() > 32) {\n      throw Exception(\"IPC access control\", \"name too long\", name);\n    }\n\n    if (!isValidNameOrUID(name)) {\n      throw Exception(\"IPC access control\", \"invalid name or UID format\", name);\n    }\n  }\n\n  static const std::vector<std::pair<std::string, IPCServer::AccessControl::Section>> section_ttable = {\n    { \"ALL\", IPCServer::AccessControl::Section::ALL },\n    { \"Policy\", IPCServer::AccessControl::Section::POLICY },\n    { \"Parameters\", IPCServer::AccessControl::Section::PARAMETERS },\n    { \"Devices\", IPCServer::AccessControl::Section::DEVICES },\n    { \"Exceptions\", IPCServer::AccessControl::Section::EXCEPTIONS },\n    { \"None\", IPCServer::AccessControl::Section::NONE }\n  };\n\n  IPCServer::AccessControl::Section IPCServer::AccessControl::sectionFromString(const std::string& section_string)\n  {\n    for (auto ttable_entry : section_ttable) {\n      if (ttable_entry.first == section_string) {\n        return ttable_entry.second;\n      }\n    }\n\n    throw std::runtime_error(\"Invalid AccessControl::Section string\");\n  }\n\n  std::string IPCServer::AccessControl::sectionToString(const IPCServer::AccessControl::Section section)\n  {\n    for (auto ttable_entry : section_ttable) {\n      if (ttable_entry.second == section) {\n        return ttable_entry.first;\n      }\n    }\n\n    throw std::runtime_error(\"Invalid AccessControl::Section value\");\n  }\n\n  static const std::vector<std::pair<std::string, IPCServer::AccessControl::Privilege>> privilege_ttable = {\n    { \"ALL\", IPCServer::AccessControl::Privilege::ALL },\n    { \"modify\", IPCServer::AccessControl::Privilege::MODIFY },\n    { \"list\", IPCServer::AccessControl::Privilege::LIST },\n    { \"listen\", IPCServer::AccessControl::Privilege::LISTEN },\n    { \"none\", IPCServer::AccessControl::Privilege::NONE }\n  };\n\n  IPCServer::AccessControl::Privilege IPCServer::AccessControl::privilegeFromString(const std::string& privilege_string)\n  {\n    for (auto ttable_entry : privilege_ttable) {\n      if (ttable_entry.first == privilege_string) {\n        return ttable_entry.second;\n      }\n    }\n\n    throw std::runtime_error(\"Invalid AccessControl::Section string\");\n  }\n\n  std::string IPCServer::AccessControl::privilegeToString(const IPCServer::AccessControl::Privilege privilege)\n  {\n    for (auto ttable_entry : privilege_ttable) {\n      if (ttable_entry.second == privilege) {\n        return ttable_entry.first;\n      }\n    }\n\n    throw std::runtime_error(\"Invalid AccessControl::Privilege value\");\n  }\n\n  IPCServer::AccessControl::AccessControl()\n  {\n    /* Empty: no privileges */\n  }\n\n  IPCServer::AccessControl::AccessControl(const std::string& access_control_string)\n  {\n    std::stringstream ss(access_control_string);\n    load(ss);\n  }\n\n  IPCServer::AccessControl::AccessControl(IPCServer::AccessControl::Section section,\n    IPCServer::AccessControl::Privilege privilege)\n  {\n    setPrivilege(section, privilege);\n  }\n\n  IPCServer::AccessControl::AccessControl(const IPCServer::AccessControl& rhs)\n    : _access_control(rhs._access_control)\n  {\n  }\n\n  IPCServer::AccessControl& IPCServer::AccessControl::operator=(const IPCServer::AccessControl& rhs)\n  {\n    _access_control = rhs._access_control;\n    return *this;\n  }\n\n  bool IPCServer::AccessControl::hasPrivilege(IPCServer::AccessControl::Section section,\n    IPCServer::AccessControl::Privilege privilege) const\n  {\n    if (privilege == Privilege::NONE) {\n      return true;\n    }\n\n    if (section == Section::ALL || section == Section::NONE) {\n      throw USBGUARD_BUG(\"Cannot test against ALL, NONE sections\");\n    }\n\n    const auto it = _access_control.find(section);\n\n    if (it == _access_control.cend()) {\n      return false;\n    }\n\n    return (it->second & static_cast<uint8_t>(privilege)) == static_cast<uint8_t>(privilege);\n  }\n\n  void IPCServer::AccessControl::setPrivilege(IPCServer::AccessControl::Section section,\n    IPCServer::AccessControl::Privilege privilege)\n  {\n    if (section == Section::NONE) {\n      throw USBGUARD_BUG(\"Cannot set privileges for NONE section\");\n    }\n\n    const uint8_t p = static_cast<uint8_t>(privilege);\n\n    if (section == Section::ALL) {\n      for (const auto& s : {\n          Section::POLICY,\n          Section::PARAMETERS,\n          Section::EXCEPTIONS,\n          Section::DEVICES\n        }) {\n        _access_control[s] |= p & ~ac_mask(s);\n      }\n    }\n    else {\n      if (privilege != Privilege::ALL && (p & ac_mask(section))) {\n        throw std::runtime_error(\"Invalid privilege \" +\n          privilegeToString(privilege) + \" for section \" +\n          sectionToString(section));\n      }\n\n      _access_control[section] |= p & ~ac_mask(section);\n    }\n  }\n\n  void IPCServer::AccessControl::clear()\n  {\n    _access_control.clear();\n  }\n\n  void IPCServer::AccessControl::load(std::istream& stream)\n  {\n    std::string line;\n    size_t line_number = 0;\n\n    while (std::getline(stream, line)) {\n      ++line_number;\n      const size_t nv_separator = line.find_first_of(\"=\");\n\n      if (nv_separator == std::string::npos) {\n        continue;\n      }\n\n      const std::string section_string = trim(line.substr(0, nv_separator));\n      const Section section = sectionFromString(section_string);\n      const std::string privileges_string = line.substr(nv_separator + 1);\n      std::vector<std::string> privilege_strings;\n      tokenizeString(privileges_string, privilege_strings, \" ,\", /*trim_empty=*/true);\n\n      for (const std::string& privilege_string : privilege_strings) {\n        const Privilege privilege = privilegeFromString(privilege_string);\n        setPrivilege(section, privilege);\n      }\n    }\n  }\n\n  void IPCServer::AccessControl::save(std::ostream& stream) const\n  {\n    std::string access_control_string;\n\n    for (auto const& section : {\n        Section::DEVICES,\n        Section::POLICY,\n        Section::PARAMETERS,\n        Section::EXCEPTIONS\n      }) {\n      bool section_is_empty = true;\n      std::string section_string = sectionToString(section);\n      section_string.append(\"=\");\n\n      for (auto const& privilege : {\n          Privilege::LIST,\n          Privilege::MODIFY,\n          Privilege::LISTEN\n        }) {\n        if (hasPrivilege(section, privilege)) {\n          const std::string privilege_string = privilegeToString(privilege);\n          section_string.append(privilege_string);\n          section_string.append(\",\");\n          section_is_empty = false;\n        }\n      }\n\n      if (!section_is_empty) {\n        section_string.pop_back();\n        access_control_string.append(section_string);\n        access_control_string.append(\"\\n\");\n      }\n    }\n    stream << access_control_string;\n  }\n\n  void IPCServer::AccessControl::merge(const IPCServer::AccessControl& rhs)\n  {\n    for (auto const& ac_entry : rhs._access_control) {\n      _access_control[ac_entry.first] |= ac_entry.second;\n    }\n  }\n\n  void IPCServer::AccessControl::merge(const std::string& access_control_string)\n  {\n    const AccessControl access_control(access_control_string);\n    merge(access_control);\n  }\n\n  uint8_t IPCServer::AccessControl::ac_mask(IPCServer::AccessControl::Section section) const\n  {\n    const uint8_t MODIFY = static_cast<uint8_t>(Privilege::MODIFY);\n    const uint8_t LIST = static_cast<uint8_t>(Privilege::LIST);\n    const uint8_t LISTEN = static_cast<uint8_t>(Privilege::LISTEN);\n\n    switch (section) {\n    case Section::DEVICES:\n      return ~(MODIFY | LIST | LISTEN);\n\n    case Section::POLICY:\n      return ~(MODIFY | LIST);\n\n    case Section::EXCEPTIONS:\n      return ~(LISTEN);\n\n    case Section::PARAMETERS:\n      return ~(MODIFY | LIST | LISTEN);\n\n    case Section::ALL:\n    case Section::NONE:\n    default:\n      return 0xff;\n    }\n  }\n\n  IPCServer::IPCServer()\n    : d_pointer(usbguard::make_unique<IPCServerPrivate>(*this))\n  {\n  }\n\n  IPCServer::~IPCServer() = default;\n\n  void IPCServer::start()\n  {\n    d_pointer->start();\n  }\n\n  void IPCServer::stop()\n  {\n    d_pointer->stop();\n  }\n\n  void IPCServer::DevicePresenceChanged(uint32_t id,\n    DeviceManager::EventType event,\n    Rule::Target target,\n    const std::string& device_rule)\n  {\n    d_pointer->DevicePresenceChanged(id, event, target, device_rule);\n  }\n\n  void IPCServer::DevicePolicyChanged(uint32_t id,\n    Rule::Target target_old,\n    Rule::Target target_new,\n    const std::string& device_rule,\n    uint32_t rule_id)\n  {\n    d_pointer->DevicePolicyChanged(id, target_old, target_new, device_rule, rule_id);\n  }\n\n  void IPCServer::DevicePolicyApplied(uint32_t id,\n    Rule::Target target_new,\n    const std::string& device_rule,\n    uint32_t rule_id)\n  {\n    d_pointer->DevicePolicyApplied(id, target_new, device_rule, rule_id);\n  }\n\n  void IPCServer::PropertyParameterChanged(const std::string& name,\n    const std::string& value_old,\n    const std::string& value_new)\n  {\n    d_pointer->PropertyParameterChanged(name, value_old, value_new);\n  }\n\n  void IPCServer::ExceptionMessage(const std::string& context,\n    const std::string& object,\n    const std::string& reason)\n  {\n    d_pointer->ExceptionMessage(context, object, reason);\n  }\n\n  void IPCServer::addAllowedUID(uid_t uid, const IPCServer::AccessControl& ac)\n  {\n    d_pointer->addAllowedUID(uid, ac);\n  }\n\n  void IPCServer::addAllowedGID(gid_t gid, const IPCServer::AccessControl& ac)\n  {\n    d_pointer->addAllowedGID(gid, ac);\n  }\n\n  void IPCServer::addAllowedUsername(const std::string& username, const IPCServer::AccessControl& ac)\n  {\n    d_pointer->addAllowedUsername(username, ac);\n  }\n\n  void IPCServer::addAllowedGroupname(const std::string& groupname, const IPCServer::AccessControl& ac)\n  {\n    d_pointer->addAllowedGroupname(groupname, ac);\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/IPCServer.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n\n#include \"DeviceManager.hpp\"\n#include \"Interface.hpp\"\n#include \"Rule.hpp\"\n#include \"Typedefs.hpp\"\n\n#include <istream>\n#include <ostream>\n#include <string>\n#include <unordered_map>\n#include <memory>\n\n#include <cstddef>\n#include <cstdint>\n\n#include <unistd.h>\n#include <sys/types.h>\n\nnamespace usbguard\n{\n  class IPCServerPrivate;\n\n  /**\n   * @brief Receives messages from \\link IPCClient IPC clients\\endlink\\.\n   * Provides USBGuard service.\n   */\n  class DLL_PUBLIC IPCServer : public Interface\n  {\n  public:\n\n    /**\n     * @brief Checks whether given name is a valid access control name.\n     *\n     * Name is a valid access control name if:\n     *  1. it is not longer then 32 characters\n     *  2. it is aligned with the syntax of useradd(8)\n     *\n     * @param name Name to be verified.\n     * @throw Exception If \\p name is not a valid access control name.\n     */\n    static void checkAccessControlName(const std::string& name);\n\n    /**\n     * @brief Limits access to the USBGuard IPC interface.\n     *\n     * Available sections, privileges and their meaning:\n     *\n     * -Devices\n     *   -modify: change authorization state of devices including permanent\n     *            changes (i.e. modification of device specific rules in the\n     *            policy).\n     *   -list  : Ability to get a list of recognized devices and their\n     *            attributes.\n     *   -listen: Listen to device presence and device policy changes.\n     * -Policy\n     *   -modify: Append rules to or remove any rules from the policy.\n     *   -list  : Ability to view the currently enforced policy.\n     * -Exceptions\n     *   -listen: Receive exception messages.\n     * -Parameters\n     *   -modify: Set values of run-time parameters.\n     *\n     * There are also special sections and privileges \\p NONE and \\p ALL which\n     * can be used to represent none or all of the sections or privileges\n     * respectively.\n     */\n    class AccessControl\n    {\n    public:\n\n      /**\n       * @brief Possible sections for which privileges can be specified.\n       */\n      enum class Section : uint8_t {\n        NONE = 0,\n        DEVICES = 1,\n        POLICY = 2,\n        PARAMETERS = 3,\n        EXCEPTIONS = 4,\n        ALL = 255 /**< Represents all previous sections except for NONE. */\n      };\n\n      /**\n       * @brief Returns \\link Section section\\endlink representation\n       * of given string.\n       *\n       * @param section_string String to parse.\n       * @return Section.\n       * @throw runtime_error If given string is not a valid Section.\n       */\n      static Section sectionFromString(const std::string& section_string);\n\n      /**\n       * @brief Returns string representation of given \\link Section\n       * section\\endlink.\n       *\n       * @param section Section to transform.\n       * @return String representation of given Section.\n       * @throw runtime_error If given \\p section is not a valid Section.\n       */\n      static std::string sectionToString(const Section section);\n\n      /**\n       * @brief Possible privileges and their hexadecimal values.\n       */\n      enum class Privilege : uint8_t {\n        NONE = 0x00, /**< Represents no priviliges. */\n        LIST = 0x01,\n        MODIFY = 0x02,\n        LISTEN = 0x08,\n        ALL = 0xff /**< Represents all previous privileges except for \\p NONE. */\n      };\n\n      /**\n       * @brief Returns \\link Privilege privilege\\endlink representation\n       * of given string.\n       *\n       * @param privilege_string String to parse.\n       * @return Privilege.\n       * @throw runtime_error If given string is not a valid privilege.\n       */\n      static Privilege privilegeFromString(const std::string& privilege_string);\n\n      /**\n       * @brief Returns string representation of given \\link Privilege\n       * privilege\\endlink.\n       *\n       * @param privilege Privilege to transform.\n       * @return String representation of given Privilege.\n       * @throw runtime_error If given privilege is not a valid Privilege.\n       */\n      static std::string privilegeToString(const Privilege privilege);\n\n      /**\n       * @brief Constructs empty \\link AccessControl AccessControl\\endlink\n       * object containing no privileges.\n       */\n      AccessControl();\n\n      /**\n       * @brief Constructs \\link AccessControl AccessControl\\endlink\n       * object by loading access control from given \\p access_control_string.\n       *\n       * @param access_control_string String from which the access control\n       * should be loaded.\n       * @see \\link load() load()\\endlink\n       */\n      AccessControl(const std::string& access_control_string);\n\n      /**\n       * @brief Constructs \\link AccessControl AccessControl\\endlink\n       * object with given privilege.\n       *\n       * @param section Section for which the privilege should be set.\n       * @param privilege Privilege to be set.\n       * @see setPrivilege()\n       */\n      AccessControl(Section section, Privilege privilege);\n\n      /**\n       * @brief Constructs \\link AccessControl AccessControl\\endlink\n       * object that is a copy of rhs.\n       *\n       * @param rhs Object to copy.\n       */\n      AccessControl(const AccessControl& rhs);\n\n      /**\n       * @brief Assignes insides of object rhs to this.\n       *\n       * @param rhs Object to assign.\n       * @return This.\n       */\n      AccessControl& operator=(const AccessControl& rhs);\n\n      /**\n       * @brief Tests whether access control contains given privilege.\n       *\n       * @param section Section for which the privilege should be tested.\n       * @param privilege Privilege to test.\n       * @return True if access control contains given privilege.\n       * @throw USBGUARD_BUG If section is either \\p ALL or \\p NONE.\n       */\n      bool hasPrivilege(Section section, Privilege privilege) const;\n\n      /**\n       * @brief Inserts privilege into access control.\n       *\n       * @param section Section for which the privilege should be set.\n       * @param privilege Privilede to be set.\n       * @throw USBGUARD_BUG If section is \\p NONE.\n       */\n      void setPrivilege(Section section, Privilege privilege);\n\n      /**\n       * @brief Clears access control.\n       *\n       * In other words, removes all priviledes for all sections from\n       * access control and leaves it empty.\n       */\n      void clear();\n\n      /**\n       * @brief Loads access control from given stream.\n       *\n       * Every line in given input stream is parsed for presence\n       * of tuple (Section, Privilege) which is then inserted into\n       * access control using setPrivilege().\n       *\n       * @param stream Input stream to parse for access control.\n       * @see \\link setPrivilege() setPrivilege()\\endlink\n       */\n      void load(std::istream& stream);\n\n      /**\n       * @brief Writes access control to given output stream.\n       *\n       * Access control is saved in following format:\n       * \\<section\\>\\=\\<privilege1\\>[,\\<privilege2\\>[,\\<privilege3\\>]]\n       * where every section is on a separate line.\n       *\n       * @param stream Stream to which this access control should be saved.\n       */\n      void save(std::ostream& stream) const;\n\n      /**\n       * @brief Merges all privileges of rhs with this.\n       *\n       * @param rhs Object whose privileges will be merged with this.\n       */\n      void merge(const AccessControl& rhs);\n\n      /**\n       * @brief Merges all privileges contained in \\p access_control_string\n       * with this.\n       *\n       * @param access_control_string String containing privileges that\n       * should be merged with this.\n       */\n      void merge(const std::string& access_control_string);\n\n    private:\n\n      /**\n       * @brief Hash value for \\link Section section\\endlink.\n       */\n      struct SectionHash {\n\n        /**\n         * @brief Computes hash value for \\link Section section\\endlink.\n         *\n         * @param value Section.\n         * @return Hash of given Section.\n         */\n        std::size_t operator()(Section value) const\n        {\n          return static_cast<std::size_t>(value);\n        }\n      };\n\n      /**\n       * @brief Get a privilege mask for given section\n       *\n       * For example, if the section is POLICY that has privileges MODIFY\n       * and LIST, the mask would be ~(MODIFY | LIST)\n       *\n       * @param section Section for which the privilege mask should be returned\n       * @return Privilege mask for section\n       */\n      uint8_t ac_mask(Section section) const;\n\n      /**\n       * @brief Access control represented by unordered map of\n       * tuples (Section, 8b privileges).\n       *\n       * Individual privileges are united using bitwise OR.\n       */\n      std::unordered_map<Section, uint8_t, SectionHash> _access_control;\n    };\n\n    /**\n     * @brief Initializes main loop, creates IPC server and USBGuard service.\n     */\n    IPCServer();\n\n    /**\n     * @brief Default destructor.\n     */\n    virtual ~IPCServer();\n\n    /**\n     * @brief Starts the main loop if it is not already running.\n     */\n    void start();\n\n    /**\n     * @brief Stops the main loop.\n     */\n    void stop();\n\n    /**\n     * @copydoc Interface::DevicePresenceChanged()\n     */\n    void DevicePresenceChanged(uint32_t id,\n      DeviceManager::EventType event,\n      Rule::Target target,\n      const std::string& device_rule);\n\n    /**\n     * @copydoc Interface::DevicePolicyChanged()\n     */\n    void DevicePolicyChanged(uint32_t id,\n      Rule::Target target_old,\n      Rule::Target target_new,\n      const std::string& device_rule,\n      uint32_t rule_id);\n\n    /**\n     * @copydoc Interface::DevicePolicyApplied()\n     */\n    void DevicePolicyApplied(uint32_t id,\n      Rule::Target target_new,\n      const std::string& device_rule,\n      uint32_t rule_id);\n\n    /**\n     * @copydoc Interface::PropertyParameterChanged()\n     */\n    void PropertyParameterChanged(const std::string& name,\n      const std::string& value_old,\n      const std::string& value_new);\n\n    /**\n     * @copydoc Interface::ExceptionMessage()\n     */\n    void ExceptionMessage(const std::string& context,\n      const std::string& object,\n      const std::string& reason);\n\n    /**\n     * @brief Adds user to a set of allowed users by specifying his user ID.\n     *\n     * @param uid User ID of user to allow.\n     * @param ac Access control for given user.\n     */\n    void addAllowedUID(uid_t uid, const IPCServer::AccessControl& ac);\n\n    /**\n     * @brief Adds group to a set of allowed groups by specifying its group ID.\n     *\n     * @param gid Group ID of group to allow.\n     * @param ac Access control for given group.\n     */\n    void addAllowedGID(gid_t gid, const IPCServer::AccessControl& ac);\n\n    /**\n     * @brief Adds user to a set of allowed users by specifying his user name.\n     *\n     * @param username User name of user to allow.\n     * @param ac Access control for given user.\n     */\n    void addAllowedUsername(const std::string& username, const IPCServer::AccessControl& ac);\n\n    /**\n     * @brief Adds group to a set of allowed groups by specifying\n     * its group name.\n     *\n     * @param groupname Group name of group to allow.\n     * @param ac Access control for given group.\n     */\n    void addAllowedGroupname(const std::string& groupname, const IPCServer::AccessControl& ac);\n\n  private:\n    std::unique_ptr<IPCServerPrivate> d_pointer;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/Interface.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n\n#include \"DeviceManager.hpp\"\n#include \"Rule.hpp\"\n#include \"RuleSet.hpp\"\n#include \"Typedefs.hpp\"\n#include \"USB.hpp\"\n\n#include <map>\n#include <string>\n#include <vector>\n\n#include <cstdint>\n\nnamespace usbguard\n{\n\n  /**\n   * @brief Allows to receive signals and to communicate with\n   * the USBGuard daemon.\n   */\n  class DLL_PUBLIC Interface\n  {\n  public:\n\n    /*************************************************************************\n     ******************************* PARAMETERS ******************************\n     *************************************************************************/\n\n    /**\n     * @brief Set value of a runtime parameter.\n     *\n     * @param name Name of runtime parameter.\n     * @param value Value of runtime parameter.\n     * @return Previous value of runtime parameter.\n     */\n    virtual std::string setParameter(const std::string& name, const std::string& value) = 0;\n\n    /**\n     * @brief Get value of a runtime parameter.\n     *\n     * @param name Name of runtime parameter.\n     * @return Value of runtime parameter.\n     */\n    virtual std::string getParameter(const std::string& name) = 0;\n\n    /*************************************************************************\n     ******************************* METHODS *********************************\n     *************************************************************************/\n\n    /**\n     * @brief Append a new rule to the current policy.\n     *\n     * Using the \\p parent_id parameter, the rule can be inserted anywhere in\n     * the policy, not only at the end. When the rule is successfully appended,\n     * the ID assigned to the new rule is returned.\n     *\n     * @param rule_spec The rule that should be appended to the policy.\n     * @param parent_id Rule ID of the parent rule.\n     * @param permanent Determines whether the rule will be added to\n     * the policy file.\n     * @return The rule ID assigned to the successfully appended rule.\n     */\n    virtual uint32_t appendRule(const std::string& rule_spec,\n      uint32_t parent_id, bool permanent) = 0;\n\n    /**\n     * @brief Remove a rule from the current policy.\n     *\n     * @param id The rule ID of the rule to be removed.\n     */\n    virtual void removeRule(uint32_t id) = 0;\n\n    /**\n     * @brief List the current rule set (policy) used by the USBGuard daemon.\n     *\n     * The rules are returned in the same order as they are evaluated.\n     *\n     * @param query Query used for matching rules.\n     * @return Vector of rules.\n     */\n    virtual const std::vector<Rule> listRules(const std::string& query) = 0;\n\n    /**\n     * @brief Apply an authorization target to a device.\n     *\n     * If the \\p permanent flag is set to true, a rule will be appended to\n     * the policy or an existing device rule will be modified in order to\n     * permanently store the authorization decision.\n     * Successful execution of this method will cause the DevicePolicyChanged\n     * signal to be broadcasted if the device authorization target was\n     * different then the applied target.\n     *\n     * @param id Device ID of the device to authorize.\n     * @param target Device authorization target.\n     * @param permanent Boolean flag specifying whether an allow rule should\n     * be appended to the policy.\n     * @return If \\p permanent was set to true, the method will return an ID of\n     * the rule that was modified or created because of this request.\n     */\n    virtual uint32_t applyDevicePolicy(uint32_t id,\n      Rule::Target target,\n      bool permanent) = 0;\n\n    /**\n     * @brief List devices that match the specified query.\n     *\n     * The query uses the rule language syntax and the devices are returned\n     * as device specific rules. The target in each rule represents the current\n     * authorization state of the device. Order of the returned devices is not\n     * defined and should not be relied upon.\n     *\n     * @param query Query in the rule language syntax used to match devices.\n     * @return Vector of device specific rules that match the query.\n     */\n    virtual const std::vector<Rule> listDevices(const std::string& query) = 0;\n\n    /*************************************************************************\n     ******************************* SIGNALS *********************************\n     *************************************************************************/\n\n    /**\n     * @brief Notify that a USB device was already present when USBGuard\n     * was started.\n     *\n     * The device attribute dictionary contains the following attributes:\n     * - id (the USB device ID in the form VID:PID)\n     * - name\n     * - serial\n     * - via-port\n     * - hash\n     * - parent-hash\n     * - with-interface\n     *\n     * The USB interface types are represented as strings of the form AA:BB:CC,\n     * where AA, BB and CC are hexadecimal numbers representing the class,\n     * subclass and protocol of the interface as defined by the USB standard.\n     *\n     * @param id ID of the device.\n     * @param event Type of the presence change event.\n     * @param target The current authorization target of the device.\n     * @param device_rule Device specific rule.\n     */\n    virtual void DevicePresenceChanged(uint32_t id,\n      DeviceManager::EventType event,\n      Rule::Target target,\n      const std::string& device_rule) = 0;\n\n    /**\n     * @brief Notify about a change of a USB device authorization target.\n     *\n     * The device attribute dictionary contains the following attributes:\n     * - id (the USB device ID in the form VID:PID)\n     * - name\n     * - serial\n     * - via-port\n     * - hash\n     * - parent-hash\n     * - with-interface\n     *\n     * @param id ID of the device.\n     * @param target_old Previous authorization target.\n     * @param target_new Current authorization target.\n     * @param device_rule Device specific rule.\n     * @param rule_id Rule ID of the matched rule.\n     * Otherwise a reserved rule ID value is used.\n     */\n    virtual void DevicePolicyChanged(uint32_t id,\n      Rule::Target target_old,\n      Rule::Target target_new,\n      const std::string& device_rule,\n      uint32_t rule_id) = 0;\n\n    /**\n     * @brief Notify about the acceptance or rejection of a device.\n     *\n     * This signal is thrown whenever a device is inserted.\n     * It is also thrown when a device has been allowed or rejected.\n     *\n     * The device attribute dictionary contains the following attributes:\n     * - id (the USB device ID in the form VID:PID)\n     * - name\n     * - serial\n     * - via-port\n     * - hash\n     * - parent-hash\n     * - with-interface\n     *\n     * @param id ID of the device.\n     * @param target_new Current authorization target.\n     * @param device_rule Device specific rule.\n     * @param rule_id Rule ID of the matched rule.\n     * Otherwise a reserved rule ID value is used.\n     */\n    virtual void DevicePolicyApplied(uint32_t id,\n      Rule::Target target_new,\n      const std::string& device_rule,\n      uint32_t rule_id) = 0;\n\n    /**\n     * @brief Notify about a change of a property parameter.\n     *\n     * @param name Policy name.\n     * @param value_old Previous policy value.\n     * @param value_new Current policy value.\n     */\n    virtual void PropertyParameterChanged(const std::string& name,\n      const std::string& value_old,\n      const std::string& value_new) = 0;\n\n    /**\n     * @brief Notify about an exception.\n     *\n     * @param context Description or identifier of the exception context.\n     * @param object Description or identifier of the object which caused\n     * the exception.\n     * @param reason Reason explaining why the exception was generated.\n     */\n    virtual void ExceptionMessage(const std::string& context,\n      const std::string& object,\n      const std::string& reason) = 0;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/KeyValueParser.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Marek Tamaskovic <mtamasko@redhat.com>\n//          Radovan Sroka <rsroka@redhat.com>\n//\n\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/KeyValueParser.hpp\"\n\n#include \"Common/Utility.hpp\"\n#include \"usbguard/Exception.hpp\"\n#include \"usbguard/Logger.hpp\"\n\n#include \"KeyValueParserPrivate.hpp\"\n\n#include <locale>\n\nnamespace usbguard\n{\n  KeyValueParser::KeyValueParser(const std::vector<std::string>& v, const std::string& sep, bool case_sensitive,\n    bool validate_keys):\n    d_pointer(usbguard::make_unique<KeyValueParserPrivate>(*this, v, sep, case_sensitive, validate_keys))\n  {\n  }\n\n  KeyValueParser::KeyValueParser(const std::vector<std::string>& v, bool case_sensitive, bool validate_keys):\n    d_pointer(usbguard::make_unique<KeyValueParserPrivate>(*this, v, \"=\", case_sensitive, validate_keys))\n  {\n  }\n\n  void KeyValueParser::viewConfig()\n  {\n    d_pointer->viewConfig();\n  }\n\n  KeyValueParser::~KeyValueParser() = default;\n\n  std::pair<std::string, std::string> KeyValueParser::parseLine(std::string& str)\n  {\n    return d_pointer->parseLine(str);\n  }\n\n  void KeyValueParser::parseStream(std::istream& stream)\n  {\n    d_pointer->parseStream(stream);\n  }\n\n  std::map<std::string, std::string> KeyValueParser::getMap()\n  {\n    return d_pointer->getMap();\n  }\n\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/KeyValueParser.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Marek Tamaskovic <mtamasko@redhat.com>\n//          Radovan Sroka <rsroka@redhat.com>\n//\n#pragma once\n\n#include <iostream>\n#include <vector>\n#include <string>\n#include <istream>\n#include <map>\n#include <memory>\n#include <locale>\n\n#include \"usbguard/Typedefs.hpp\"\n\nnamespace usbguard\n{\n  class KeyValueParserPrivate;\n\n  /**\n   * @brief Serves as a config file parser.\n   */\n  class DLL_PUBLIC KeyValueParser\n  {\n  public:\n    /**\n     * @brief Constructs object of KeyValueParser.\n     *\n     * @param v Vector of known key names.\n     * @param case_sensitive Determines if key names should be parsed as\n     *  case sensitive. If enabled, then all key names in vector \\p v must\n     *  be upper case.\n     * @param validate_keys When enabled, every key that is parsed must be\n     *  known (present in vector of known key names).\n     */\n    KeyValueParser(const std::vector<std::string>& v, bool case_sensitive, bool validate_keys);\n\n    /**\n     * @brief Constructs object of KeyValueParser.\n     *\n     * @param v Vector of known key names.\n     * @param sep Separator of keys and values in key-value pairs.\n     * @param case_sensitive Determines if key names should be parsed as\n     *  case sensitive. If enabled, then all key names in vector \\p v must\n     *  be upper case.\n     * @param validate_keys When enabled, every key that is parsed must be\n     *  known (present in vector of known key names).\n     */\n    KeyValueParser(const std::vector<std::string>& v, const std::string& sep, bool case_sensitive, bool validate_keys);\n\n    /**\n     * @brief Default destructor of KeyValueParser.\n     */\n    ~KeyValueParser();\n\n    /**\n     * @brief Retreives key-value pair from given string.\n     *\n     * This function serves to parse single line of config file\n     * and return key-value pair. If given string does not contain\n     * valid key-value pair, then exception is thrown.\n     *\n     * @param str String to be parsed for key-value pair.\n     * @return Key-value pair present in given string.\n     */\n    std::pair<std::string, std::string> parseLine(std::string& str);\n\n    /**\n     * @brief Parses given stream for key-value pairs.\n     *\n     * Given stream is parsed line by line using function parseLine.\n     * Lines that start with \\p # are ignored. Parsed key-value pairs\n     * can be retreived using function \\link getMap() getMap()\\endlink.\n     *\n     * @see \\link parseLine() parseLine()\\endlink\n     * @see \\link getMap() getMap()\\endlink\n     * @param stream Stream to be parsed.\n     */\n    void parseStream(std::istream& stream);\n\n    /**\n     * @brief Retreives map of key-value pairs.\n     *\n     * This map is filled by function \\link parseStream()\n     * parseStream()\\endlink.\n     *\n     * @see \\link parseStream() parseStream()\\endlink\n     * @return Map of key-value pairs\n     */\n    std::map<std::string, std::string> getMap();\n\n    /**\n     * @brief Prints key-value separator and known key names into the log.\n     */\n    void viewConfig();\n\n  private:\n    std::unique_ptr<KeyValueParserPrivate> d_pointer;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/Logger.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"Common/Utility.hpp\"\n\n#include \"usbguard/Logger.hpp\"\n#include \"usbguard/Exception.hpp\"\n\n#include <iostream>\n#include <fstream>\n#include <stdio.h>\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <unistd.h>\n#include <string.h>\n#include <sys/time.h>\n#include <syslog.h>\n#ifndef __STDC_FORMAT_MACROS\n  #define __STDC_FORMAT_MACROS\n#endif\n#include <inttypes.h>\n\nnamespace usbguard\n{\n  /* Instantiate the logger */\n  Logger G_logger;\n\n  const std::string LogStream::sourceToString(const Source& source)\n  {\n    return source.file + \"@\" + std::to_string(source.line) + \"/\" + source.function;\n  }\n\n  const std::string LogStream::levelToString(Level level)\n  {\n    switch (level) {\n    case LogStream::Level::Audit:\n      return \"(A)\";\n\n    case LogStream::Level::Error:\n      return \"(E)\";\n\n    case LogStream::Level::Warning:\n      return \"(W)\";\n\n    case LogStream::Level::Info:\n      return \"(i)\";\n\n    case LogStream::Level::Debug:\n      return \"(D)\";\n\n    case LogStream::Level::Trace:\n      return \"(T)\";\n\n    default:\n      throw std::runtime_error(\"BUG: unknown LogStream level value\");\n    }\n  }\n\n  LogStream::LogStream(Logger& logger, const Source& source, const Level level)\n    : _logger(logger),\n      _source(source),\n      _level(level)\n  {\n  }\n\n  LogStream::LogStream(const LogStream& rhs)\n    : std::basic_ios<std::ostringstream::char_type, std::ostringstream::traits_type>(),\n      std::ostringstream(rhs.str()),\n      _logger(rhs._logger),\n      _source(rhs._source),\n      _level(rhs._level)\n  {\n  }\n\n  LogStream::~LogStream()\n  {\n    _logger.write(_source, _level, str());\n  }\n\n  LogSink::LogSink(const std::string& name)\n    : _name(name)\n  {\n  }\n\n  LogSink::~LogSink()\n  {\n  }\n\n  const std::string& LogSink::name() const\n  {\n    return _name;\n  }\n\n  /*\n   * Internally required sinks\n   */\n  class OStreamSink : public LogSink\n  {\n  public:\n    OStreamSink(const std::string& name, std::ostream& stream)\n      : LogSink(name),\n        _ostream(stream)\n    {\n    }\n\n    void write(const LogStream::Source& source, LogStream::Level level, const std::string& message)\n    {\n      _ostream << '[' << Logger::timestamp() << \"] \";\n      _ostream << LogStream::levelToString(level) << \" \";\n\n      if (level >= LogStream::Level::Debug) {\n        _ostream << LogStream::sourceToString(source) << \": \";\n      }\n\n      _ostream << message;\n      _ostream << std::endl;\n    }\n\n    ~OStreamSink()\n    {\n      _ostream.flush();\n    }\n\n  private:\n    std::ostream& _ostream;\n  };\n\n  class ConsoleSink : public OStreamSink\n  {\n  public:\n    ConsoleSink()\n      : OStreamSink(\"console\", std::clog)\n    {\n    }\n  };\n\n  class SyslogSink : public LogSink\n  {\n  public:\n    SyslogSink(const std::string& ident)\n      : LogSink(\"syslog\"),\n        _ident(ident)\n    {\n      openlog(_ident.c_str(), LOG_NDELAY|LOG_PID|LOG_CONS, LOG_DAEMON);\n    }\n\n    ~SyslogSink()\n    {\n      closelog();\n    }\n\n    int levelToPriority(const LogStream::Level level)\n    {\n      switch (level) {\n      case LogStream::Level::Audit:\n        return LOG_NOTICE;\n\n      case LogStream::Level::Error:\n        return LOG_ERR;\n\n      case LogStream::Level::Warning:\n        return LOG_WARNING;\n\n      case LogStream::Level::Info:\n        return LOG_INFO;\n\n      case LogStream::Level::Debug:\n      case LogStream::Level::Trace:\n        return LOG_DEBUG;\n\n      default:\n        throw USBGUARD_BUG(\"Invalid LogStream::Level value\");\n      }\n    }\n\n    void write(const LogStream::Source& source, LogStream::Level level, const std::string& message)\n    {\n      std::string log_message;\n\n      if (level >= LogStream::Level::Debug) {\n        log_message.append(LogStream::sourceToString(source));\n        log_message.append(\": \");\n      }\n\n      log_message.append(message);\n      syslog(levelToPriority(level), \"%s\", log_message.c_str());\n    }\n\n  private:\n    std::string _ident;\n  };\n\n  class FileSink : public OStreamSink\n  {\n  public:\n    FileSink(const std::string& filepath, bool append = true)\n      : OStreamSink(\"file\", _stream)\n    {\n      _filepath = filepath;\n\n      try {\n        _stream.exceptions(std::fstream::failbit);\n        _stream.open(filepath, append ? std::fstream::app : std::fstream::trunc);\n      }\n      catch (...) {\n        throw Exception(\"FileSink\", filepath, \"failed to open\");\n      }\n    }\n\n    ~FileSink()\n    {\n      _stream.close();\n    }\n\n  private:\n    std::string _filepath;\n    std::ofstream _stream;\n  };\n\n  class AuditFileSink : public OStreamSink\n  {\n  public:\n    AuditFileSink(const std::string& filepath)\n      : OStreamSink(\"auditfile\", _stream)\n    {\n      _filepath = filepath;\n      const auto saved_umask = umask(0177);\n\n      try {\n        _stream.exceptions(std::fstream::failbit);\n        _stream.open(filepath, std::fstream::app);\n      }\n      catch (...) {\n        umask(saved_umask);\n        throw Exception(\"AuditFileSink\", filepath, \"failed to open\");\n      }\n\n      umask(saved_umask);\n    }\n\n    void write(const LogStream::Source& source, LogStream::Level level, const std::string& message)\n    {\n      /*\n       * AuditFileSink logs only Audit level messages.\n       */\n      if (level == LogStream::Level::Audit) {\n        OStreamSink::write(source, level, message);\n      }\n    }\n\n    ~AuditFileSink()\n    {\n      _stream.close();\n    }\n\n  private:\n    std::string _filepath;\n    std::ofstream _stream;\n  };\n\n  Logger::Logger()\n    : _enabled(true),\n      _level(LogStream::Level::Warning)\n  {\n    const char* const envval = getenv(\"USBGUARD_DEBUG\");\n\n    /*\n     * If USBGUARD_DEBUG=1 is set in the current environment,\n     * set the debugging level to the highest level.\n     */\n    if (envval != nullptr && strcmp(envval, \"1\") == 0) {\n      _level = LogStream::Level::Trace;\n    }\n\n    setOutputConsole(true);\n  }\n\n  Logger::~Logger()\n  {\n  }\n\n  std::unique_lock<std::mutex> Logger::lock() const\n  {\n    return std::unique_lock<std::mutex>(_mutex);\n  }\n\n  void Logger::setEnabled(bool state, LogStream::Level level)\n  {\n    auto L = lock();\n    _enabled = state;\n    _level = level;\n  }\n\n  bool Logger::isEnabled(LogStream::Level level) const\n  {\n    auto L = lock();\n    return (_enabled && _level >= level);\n  }\n\n  void Logger::setOutputConsole(const bool state)\n  {\n    auto L = lock();\n\n    if (state == true) {\n      std::unique_ptr<LogSink> sink(new ConsoleSink);\n      addOutputSink_nolock(sink);\n    }\n    else {\n      delOutputSink_nolock(\"console\");\n    }\n  }\n\n  void Logger::setOutputFile(bool state, const std::string& filepath, bool append)\n  {\n    auto L = lock();\n\n    if (state == true) {\n      std::unique_ptr<LogSink> sink(new FileSink(filepath, append));\n      addOutputSink_nolock(sink);\n    }\n    else {\n      delOutputSink_nolock(\"file\");\n    }\n  }\n\n  void Logger::setOutputSyslog(bool state, const std::string& ident)\n  {\n    auto L = lock();\n\n    if (state == true) {\n      std::unique_ptr<LogSink> sink(new SyslogSink(ident));\n      addOutputSink_nolock(sink);\n    }\n    else {\n      delOutputSink_nolock(\"syslog\");\n    }\n  }\n\n  void Logger::setAuditFile(bool state, const std::string& filepath)\n  {\n    auto L = lock();\n\n    if (state == true) {\n      std::unique_ptr<LogSink> sink(new AuditFileSink(filepath));\n      addOutputSink_nolock(sink);\n    }\n    else {\n      delOutputSink_nolock(\"auditfile\");\n    }\n  }\n\n  void Logger::addOutputSink(std::unique_ptr<LogSink>& sink)\n  {\n    auto L = lock();\n    addOutputSink_nolock(sink);\n  }\n\n  void Logger::addOutputSink_nolock(std::unique_ptr<LogSink>& sink)\n  {\n    _sinks.emplace(sink->name(), std::move(sink));\n  }\n\n  void Logger::delOutputSink(const std::string& name)\n  {\n    auto L = lock();\n    delOutputSink_nolock(name);\n  }\n\n  void Logger::delOutputSink_nolock(const std::string& name)\n  {\n    _sinks.erase(name);\n  }\n\n  LogStream Logger::operator()(const std::string& file, const int line, const std::string& function, LogStream::Level level)\n  {\n    const LogStream::Source source = {\n      filenameFromPath(file, /*include_extension=*/true), line, function\n    };\n    return LogStream(*this, source, level);\n  }\n\n  void Logger::write(const LogStream::Source& source, const LogStream::Level level, const std::string& message)\n  {\n    auto L = lock();\n\n    for (auto& kv_pair : _sinks) {\n      auto& sink = kv_pair.second;\n\n      try {\n        sink->write(source, level, message);\n      }\n      catch (const std::exception& ex) {\n        std::cerr << \"Warning: sink->write failed for \" << sink->name() << \" sink: \" << ex.what() << std::endl;\n      }\n    }\n  }\n\n  /*\n   * Generate a timestamp string in the form:\n   * <seconds>.<microseconds>\n   */\n  const std::string Logger::timestamp()\n  {\n    struct timeval tv_now = { 0, 0 };\n\n    if (gettimeofday(&tv_now, nullptr) != 0) {\n      throw std::runtime_error(\"gettimeofday\");\n    }\n\n    /*\n     * The following piece of code should work fine until\n     * Sat Nov 20 17:46:39 UTC 2286.\n     */\n    char buffer[16];\n    const int length = snprintf(buffer, sizeof buffer, \"%.10\" PRIu64 \".%03\" PRIu64,\n        (uint64_t)tv_now.tv_sec,\n        (uint64_t)(tv_now.tv_usec / 1000));\n\n    if (length < 1 || static_cast<size_t>(length) > (sizeof buffer - 1)) {\n      throw std::runtime_error(\"Failed to convert timestamp to string\");\n    }\n\n    return std::string(buffer, (size_t)length);\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/Logger.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n\n#include \"Typedefs.hpp\"\n\n#include <fstream>\n#include <map>\n#include <memory>\n#include <mutex>\n#include <sstream>\n#include <string>\n\nnamespace usbguard\n{\n  class Logger;\n\n  /**\n   * @brief Log stream.\n   */\n  class DLL_PUBLIC LogStream : public std::ostringstream\n  {\n  public:\n\n    /**\n     * @brief Contains information about the source.\n     */\n    struct Source {\n      std::string file; /**< File name. */\n      int line; /**< Line number. */\n      std::string function; /**< Name of the function. */\n    };\n\n    /**\n     * @brief Returns string representation of given\n     * \\link Source source\\endlink.\n     *\n     * Format: \\<file\\>\\@\\<line\\>/\\<function\\>\n     *\n     * @param source Source to transform into string.\n     * @return String representation of given \\link Source source\\endlink.\n     * @see \\link Source Source\\endlink\n     */\n    static const std::string sourceToString(const Source& source);\n\n    /**\n     * @brief Log levels.\n     */\n    enum class Level : int {\n      Audit = -2,\n      Error = -1,\n      Warning = 0,\n      Info = 1,\n      Debug = 2,\n      Trace = 3\n    };\n\n    /**\n     * @brief Returns string representation of given \\link Level level\\endlink.\n     *\n     * Example: levelToString(Audit) = (A)\n     *\n     * @param level Logger level to transform into string.\n     * @return String representation of given \\link Level level\\endlink.\n     * @throw runtime_error If \\p level is invalid.\n     * @see \\link Level level\\endlink\n     */\n    static const std::string levelToString(Level level);\n\n    /**\n     * @brief Constructs new LogStream with given \\link Logger logger\\endlink,\n     * \\link Source source\\link and \\link Level level\\endlink.\n     *\n     * @param logger \\link Logger Logger\\endlink.\n     * @param source \\link Source Source\\endlink.\n     * @param level \\link Level Log level\\endlink.\n     */\n    LogStream(Logger& logger, const Source& source, Level level);\n\n    /**\n     * @brief Constructs copy of LogStream rhs.\n     *\n     * @param rhs LogStream to copy.\n     */\n    LogStream(const LogStream& rhs);\n\n    /**\n     * @brief Writes into a log before destruction.\n     */\n    ~LogStream();\n\n  private:\n    Logger& _logger;\n    Source _source;\n    Level _level;\n  };\n\n  /**\n   * @brief Logger output sink.\n   */\n  class DLL_PUBLIC LogSink\n  {\n  public:\n\n    /**\n     * @brief Constructs logger output sink with given name.\n     *\n     * @param name Name of the sink.\n     */\n    LogSink(const std::string& name);\n\n    /**\n     * @brief Default destructor.\n     */\n    virtual ~LogSink();\n\n    /**\n     * @brief Returns name of the sink.\n     *\n     * @return Name of the sink.\n     */\n    const std::string& name() const;\n\n    /**\n     * @brief Writes given information into the sink.\n     *\n     * @param source \\link Source Source\\endlink.\n     * @param level \\link Level Log level\\endlink.\n     * @param message \\link Message message\\endlink.\n     */\n    virtual void write(const LogStream::Source& source, LogStream::Level level, const std::string& message) = 0;\n\n  private:\n    std::string _name;\n  };\n\n  /**\n   * @brief Logger.\n   */\n  class DLL_PUBLIC Logger\n  {\n  public:\n\n    /**\n     * @brief Constructs logger with enabled log level set to warning.\n     */\n    Logger();\n\n    /**\n     * @brief Default destructor.\n     */\n    ~Logger();\n\n    /**\n     * @brief Enables/disables given level\n     *\n     * @note Default level is warning.\n     *\n     * @param state Determines if given level should be enabled/disabled.\n     * @param level Log level to enable/disable.\n     */\n    void setEnabled(bool state, LogStream::Level level = LogStream::Level::Warning);\n\n    /**\n     * @brief Checks if given level is enabled.\n     *\n     * Internally checks whether \\p current_level \\>= \\p given_level.\n     *\n     * @param level \\link Level Log level\\endlink to check.\n     * @return True if given level is enabled, false otherwise.\n     */\n    bool isEnabled(LogStream::Level level) const;\n\n    /**\n     * @brief Adds/deletes console output sink to/from logger sinks.\n     *\n     * @param state If true, then console output sink is added to logger\n     * output sinks, otherwise it is deleted from sinks.\n     */\n    void setOutputConsole(bool state);\n\n    /**\n     * @brief Adds/deletes file output sink to/from logger sinks.\n     *\n     * @param state If true, then file output sink is added to logger\n     * output sinks, otherwise it is deleted from sinks.\n     * @param append Opens file output sink in append mode.\n     */\n    void setOutputFile(bool state, const std::string& filepath = std::string(), bool append = true);\n\n    /**\n     * @brief Adds/deletes syslog output sink to/from logger sinks.\n     *\n     * @param state If true, then syslog output sink is added to logger\n     * output sinks, otherwise it is deleted from sinks.\n     */\n    void setOutputSyslog(bool state, const std::string& ident = std::string());\n\n    /**\n     * @brief Adds/deletes audit file output sink to/from logger sinks.\n     *\n     * @param state If true, then audit file output sink is added to logger\n     * output sinks, otherwise it is deleted from sinks.\n     */\n    void setAuditFile(bool state, const std::string& filepath);\n\n    /**\n     * @brief Adds given sink into logger output sinks.\n     *\n     * @param sink Output sink to add.\n     */\n    void addOutputSink(std::unique_ptr<LogSink>& sink);\n\n    /**\n     * @brief Deletes given sink from logger output sinks.\n     *\n     * @param name Name of output sink to delete.\n     */\n    void delOutputSink(const std::string& name);\n\n    /**\n     * @brief Constructs and returns new \\link LogStream LogStream\\endlink\n     * object initialized with this logger, source containing given file,\n     * line and function, and given level.\n     *\n     * @param file File name.\n     * @param line Line number.\n     * @param function Name of the function.\n     * @param level \\link Level Log level\\endlink.\n     * @return New \\link LogStream LogStream\\endlink object.\n     */\n    LogStream operator()(const std::string& file, int line, const std::string& function, LogStream::Level level);\n\n    /**\n     * @brief Writes information into all sinks.\n     *\n     * @param source \\link Source Source\\endlink.\n     * @param level \\link Level Log level\\endlink.\n     * @param message \\link Message Message\\endlink.\n     */\n    void write(const LogStream::Source& source, LogStream::Level level, const std::string& message);\n\n    /**\n     * @brief Generate a timestamp string.\n     *\n     * Format: \\<seconds\\>\\.\\<microseconds\\>\n     *\n     * @return Timestamp string.\n     */\n    static const std::string timestamp();\n\n  private:\n\n    /**\n     * @brief Adds given sink into logger output sinks without using a lock.\n     *\n     * @param sink Output sink to add.\n     */\n    void addOutputSink_nolock(std::unique_ptr<LogSink>& sink);\n\n    /**\n     * @brief Deletes given sink from logger output sinks without using a lock.\n     *\n     * @param name Name of output sink to delete.\n     */\n    void delOutputSink_nolock(const std::string& name);\n\n    /**\n     * @brief Return loggers lock.\n     *\n     * @return Loggers lock.\n     */\n    std::unique_lock<std::mutex> lock() const;\n\n    mutable std::mutex _mutex;\n    bool _enabled;\n    LogStream::Level _level;\n    std::map<std::string, std::unique_ptr<LogSink>> _sinks;\n  };\n\n  extern DLL_PUBLIC Logger G_logger;\n\n#if defined(__GNUC__)\n  #define USBGUARD_SOURCE_FILE __BASE_FILE__\n#else\n  #define USBGUARD_SOURCE_FILE __FILE__\n#endif\n\n#define USBGUARD_LOGGER usbguard::G_logger\n\n#define USBGUARD_FUNCTION __func__\n\n#define USBGUARD_LOG(level) \\\n  if (USBGUARD_LOGGER.isEnabled(usbguard::LogStream::Level::level)) \\\n    USBGUARD_LOGGER(USBGUARD_SOURCE_FILE, __LINE__, USBGUARD_FUNCTION, usbguard::LogStream::Level::level)\n\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/MemoryRuleSet.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Radovan Sroka <rsroka@redhat.com>\n//\n\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"RuleSet.hpp\"\n#include \"MemoryRuleSet.hpp\"\n\nnamespace usbguard\n{\n  MemoryRuleSet::MemoryRuleSet(Interface* const interface_ptr)\n    : RuleSet(interface_ptr)\n  {\n    setWritable();\n    USBGUARD_LOG(Info) << \"Creating MemoryRuleSet\";\n  }\n\n  MemoryRuleSet::MemoryRuleSet(const MemoryRuleSet& rhs)\n    : RuleSet(rhs._interface_ptr)\n  {\n    *this = rhs;\n  }\n\n  const MemoryRuleSet& MemoryRuleSet::operator=(const MemoryRuleSet& rhs)\n  {\n    RuleSet::operator = (rhs);\n    return *this;\n  }\n\n  void MemoryRuleSet::load()\n  {\n  }\n\n  void MemoryRuleSet::save()\n  {\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/MemoryRuleSet.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Radovan Sroka <rsroka@redhat.com>\n//\n#pragma once\n\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/RuleSet.hpp\"\n\n#include <istream>\n#include <ostream>\n#include <mutex>\n\nnamespace usbguard\n{\n  class Interface;\n  class DLL_PUBLIC MemoryRuleSet : public RuleSet\n  {\n  public:\n\n    MemoryRuleSet(Interface* const interface_ptr);\n    MemoryRuleSet(const MemoryRuleSet& rhs);\n    const MemoryRuleSet& operator=(const MemoryRuleSet& rhs);\n\n    void load() override;\n    void save() override;\n\n  };\n\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/Policy.cpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Radovan Sroka <rsroka@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"Policy.hpp\"\n#include \"usbguard/Exception.hpp\"\n\nnamespace usbguard\n{\n  Policy::Policy()\n  {\n    _rulesets_ptr = std::vector<std::shared_ptr<RuleSet>>();\n  }\n\n  void Policy::setRuleSet(std::vector<std::shared_ptr<RuleSet>> ptr)\n  {\n    _rulesets_ptr = ptr;\n  }\n\n  std::vector<std::shared_ptr<RuleSet>> Policy::getRuleSet()\n  {\n    return _rulesets_ptr;\n  }\n\n  void Policy::setDefaultTarget(Rule::Target target)\n  {\n    _defaultTarget = target;\n\n    for (auto ruleset : _rulesets_ptr) {\n      ruleset->setDefaultTarget(target);\n    }\n  }\n\n  Rule::Target Policy::getDefaultTarget() const\n  {\n    return _defaultTarget;\n  }\n\n  uint32_t Policy::appendRule(const Rule& _rule, uint32_t parent_id)\n  {\n    USBGUARD_LOG(Trace) << \"parent_id=\" << parent_id;\n    auto rule = std::make_shared<Rule>(_rule);\n\n    // If the parent_id is set to Rule::LastID then we get the the ID of the last rule in rulesets\n    if (parent_id == Rule::LastID) {\n      auto ruleset = _rulesets_ptr.back();\n\n      if (rule->getRuleID() == Rule::DefaultID) {\n        assignID(rule);\n      }\n\n      auto rules = ruleset->getRules();\n      return ruleset->appendRule(*rule);\n    }\n\n    for (auto ruleset : _rulesets_ptr) {\n      try {\n        // Find if rule with parent_id is in the ruleset\n        auto _parent_rule = ruleset->getRule(parent_id);\n\n        /* if the method did not throw the exception that means the parent_id is\n        in the ruleset and now we will try to append the rule */\n        if (rule->getRuleID() == Rule::DefaultID) {\n          assignID(rule);\n        }\n\n        return ruleset->appendRule(*rule, parent_id);\n      }\n      catch (const std::exception& e) {\n        continue;\n      }\n    }\n\n    throw Exception(\"Policy append\", \"rule\", \"Invalid parent ID\");\n  }\n\n  /*\n   * the following function is called as a consequence of allowing device permanently\n   * new-rule is exact Rule object constructed from device with all his attributes\n   * and with proper target {allow|block|reject}\n   * match-rule is Rule object with match target, it is also constructed from the same device as\n   * the new-rule but it contains minimal subset of attributes\n   * we are trying to match our match-rule against each rule in all rulesets\n   * if our match-rule can be applied to some rule in a ruleset\n   * we will replace the matched rule with our new-rule so we are basically\n   * doing an update of existing rule in case when it differs in\n   * ports, parent or perhaps some other attributes that are not specifying\n   * device itself\n   */\n  uint32_t Policy::upsertRule(const Rule& match_rule, const Rule& new_rule, const bool parent_insensitive)\n  {\n    if (_rulesets_ptr.empty()) {\n      throw Exception(\"Policy upsert\", \"rule\", \"There is no ruleset to upsert into\");\n    }\n\n    for (auto ruleset : _rulesets_ptr) {\n      uint32_t id = ruleset->upsertRule(match_rule, new_rule, parent_insensitive);\n\n      if (id == Rule::DefaultID) {\n        continue;\n      }\n      else {\n        return id;\n      }\n    }\n\n    return _rulesets_ptr.back()->appendRule(new_rule, Rule::LastID, /*lock*/true);\n  }\n\n  std::shared_ptr<Rule> Policy::getRule(uint32_t id)\n  {\n    for (auto ruleset_item : _rulesets_ptr) {\n      try {\n        return ruleset_item->getRule(id);\n      }\n      catch (const std::exception& e) {\n        continue;\n      }\n    }\n\n    throw Exception(\"Policy lookup\", \"rule id\", \"id doesn't exist\");\n  }\n\n  bool Policy::removeRule(uint32_t id)\n  {\n    for (auto ruleset_item : _rulesets_ptr) {\n      try {\n        return ruleset_item->removeRule(id);\n      }\n      catch (const std::exception& e) {\n        continue;\n      }\n    }\n\n    throw Exception(\"Policy remove\", \"rule id\", \"id doesn't exist\");\n  }\n\n  std::shared_ptr<Rule> Policy::getFirstMatchingRule(std::shared_ptr<const Rule> device_rule, uint32_t from_id) const\n  {\n    // Try to find Rule with ID different then Rule:ImplicitID.\n    for (auto ruleset : _rulesets_ptr) {\n      // try to get matching rule\n      auto matchingRule = ruleset->getFirstMatchingRule(device_rule, from_id);\n\n      // if it is not the implicit rule return the rule\n      if (matchingRule->getRuleID() != Rule::ImplicitID) {\n        return matchingRule;\n      }\n    }\n\n    // if we have not found the rule return the implicit one\n    return _rulesets_ptr.front()->getFirstMatchingRule(device_rule, from_id);\n  }\n\n  std::vector<std::shared_ptr<const Rule>> Policy::getRules()\n  {\n    std::vector<std::shared_ptr<const Rule>> rules;\n\n    // copy all rules from ruleset to rules vector\n    for (auto ruleset : _rulesets_ptr) {\n      // obtain vector of rules\n      auto _rules = ruleset->getRules();\n      // copy them to buffer which will be returned\n      std::copy(_rules.begin(), _rules.end(), std::back_inserter(rules));\n    }\n\n    // return rules\n    return rules;\n  }\n\n  uint32_t Policy::assignID(std::shared_ptr<Rule> rule)\n  {\n    return _rulesets_ptr.front()->assignID(rule);\n  }\n\n  uint32_t Policy::assignID()\n  {\n    return _rulesets_ptr.front()->assignID();\n  }\n\n  std::string Policy::eventTypeToString(Policy::EventType event)\n  {\n    switch (event) {\n    case Policy::EventType::Insert:\n      return \"Insert\";\n\n    case Policy::EventType::Update:\n      return \"Update\";\n\n    case Policy::EventType::Remove:\n      return \"Remove\";\n\n    default:\n      throw USBGUARD_BUG(\"unknown Policy::EventType value\");\n    }\n  }\n\n  void Policy::save(void)\n  {\n    for (auto ruleset : _rulesets_ptr) {\n      ruleset->save();\n    }\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/Policy.hpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Radovan Sroka <rsroka@redhat.com>\n//\n#pragma once\n\n#include <string>\n#include <vector>\n\n#include \"RuleSet.hpp\"\n#include \"Typedefs.hpp\"\n\nnamespace usbguard\n{\n  class DLL_PUBLIC Policy\n  {\n  public:\n    enum class EventType {\n      Insert = 1,\n      Update = 2,\n      Remove = 3\n    };\n\n    Policy();\n\n    void setRuleSet(std::vector<std::shared_ptr<RuleSet>> ptr);\n    std::vector<std::shared_ptr<RuleSet>> getRuleSet();\n\n    void setDefaultTarget(Rule::Target target);\n    Rule::Target getDefaultTarget() const;\n    void setDefaultAction(const std::string& action);\n    uint32_t appendRule(const Rule& rule, uint32_t parent_id = Rule::LastID);\n    uint32_t upsertRule(const Rule& match_rule, const Rule& new_rule, bool parent_insensitive = false);\n    std::shared_ptr<Rule> getRule(uint32_t id);\n    bool removeRule(uint32_t id);\n    std::shared_ptr<Rule> getFirstMatchingRule(std::shared_ptr<const Rule> device_rule, uint32_t from_id = 1) const;\n    std::vector<std::shared_ptr<const Rule>> getRules();\n    uint32_t assignID(std::shared_ptr<Rule> rule);\n    uint32_t assignID();\n    void save(void);\n\n\n    /**\n     * @brief Converts EventType to its string representation.\n     *\n     * @param event EventType to convert.\n     * @return String representation of given EventType.\n     * @throw USBGUARD_BUG If given EventType is unknown.\n     */\n    static std::string eventTypeToString(EventType event);\n  private:\n\n    std::vector<std::shared_ptr<RuleSet>> _rulesets_ptr;\n    Rule::Target _defaultTarget;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/Predicates.hpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Marek Tamaskovic <mtamasko@redhat.com>\n//\n#pragma once\n\n#include \"Logger.hpp\"\n#include \"Typedefs.hpp\"\n\nnamespace usbguard\n{\n  namespace Predicates DLL_PUBLIC\n  {\n    /**\n     * @brief Returns true if the source set is a subset of the\n     * target set, false otherwise.\n     *\n     * @param source Source set.\n     * @param target Target set.\n     * @return True if the source set is a subset of the\n     * target set, false otherwise.\n     */\n    template<typename T>\n    bool isSubsetOf(const T& source, const T& target)\n    {\n      USBGUARD_LOG(Trace) << \"generic isSubsetOf\";\n      return source == target;\n    }\n\n    /**\n     * @brief Returns true if the source set is a superset of the\n     * target set, false otherwise.\n     *\n     * @todo Implement.\n     *\n     * @param source Source set.\n     * @param target Target set.\n     * @return True if the source set is a superset of the\n     * target set, false otherwise.\n     */\n    template<typename T>\n    bool isSupersetOf(const T& source, const T& target)\n    {\n      USBGUARD_LOG(Error) << \"Not implemented\";\n      (void) source;\n      (void) target;\n      return true;\n    }\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/Rule.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Marek Tamaskovic <mtamasko@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"RulePrivate.hpp\"\n#include \"Utility.hpp\"\n#include \"Common/Utility.hpp\"\n\nnamespace usbguard\n{\n  template<>\n  std::string toRuleString(const std::string& value)\n  {\n    return Utility::quoteEscapeString(value);\n  }\n\n  const uint32_t Rule::RootID = std::numeric_limits<uint32_t>::min();\n  const uint32_t Rule::DefaultID = std::numeric_limits<uint32_t>::max();\n  const uint32_t Rule::LastID = std::numeric_limits<uint32_t>::max() - 2;\n  const uint32_t Rule::ImplicitID = std::numeric_limits<uint32_t>::max() - 1;\n\n  Rule::Rule()\n    : d_pointer(usbguard::make_unique<RulePrivate>())\n  {\n  }\n\n  Rule::~Rule() = default;\n\n  Rule::Rule(const Rule& rhs)\n    : d_pointer(usbguard::make_unique<RulePrivate>(*rhs.d_pointer))\n  {\n  }\n\n  const Rule& Rule::operator=(const Rule& rhs)\n  {\n    d_pointer.reset(new RulePrivate(*rhs.d_pointer));\n    return *this;\n  }\n\n  void Rule::setRuleID(uint32_t rule_id)\n  {\n    d_pointer->setRuleID(rule_id);\n  }\n\n  uint32_t Rule::getRuleID() const\n  {\n    return d_pointer->getRuleID();\n  }\n\n  void Rule::setTarget(Rule::Target target)\n  {\n    d_pointer->setTarget(target);\n  }\n\n  Rule::Target Rule::getTarget() const\n  {\n    return d_pointer->getTarget();\n  }\n\n  void Rule::setDeviceID(const USBDeviceID& value)\n  {\n    d_pointer->setDeviceID(value);\n  }\n\n  const USBDeviceID& Rule::getDeviceID() const\n  {\n    return d_pointer->getDeviceID();\n  }\n\n  const Rule::Attribute<USBDeviceID>& Rule::attributeDeviceID() const\n  {\n    return d_pointer->attributeDeviceID();\n  }\n\n  Rule::Attribute<USBDeviceID>& Rule::attributeDeviceID()\n  {\n    return d_pointer->attributeDeviceID();\n  }\n\n  void Rule::setSerial(const std::string& value)\n  {\n    d_pointer->setSerial(value);\n  }\n\n  const std::string& Rule::getSerial() const\n  {\n    return d_pointer->getSerial();\n  }\n\n  const Rule::Attribute<std::string>& Rule::attributeSerial() const\n  {\n    return d_pointer->attributeSerial();\n  }\n\n  Rule::Attribute<std::string>& Rule::attributeSerial()\n  {\n    return d_pointer->attributeSerial();\n  }\n\n  void Rule::setLabel(const std::string& value)\n  {\n    d_pointer->setLabel(value);\n  }\n\n  const std::string& Rule::getLabel() const\n  {\n    return d_pointer->getLabel();\n  }\n\n  const Rule::Attribute<std::string>& Rule::attributeLabel() const\n  {\n    return d_pointer->attributeLabel();\n  }\n\n  Rule::Attribute<std::string>& Rule::attributeLabel()\n  {\n    return d_pointer->attributeLabel();\n  }\n\n  void Rule::setWithConnectType(const std::string& value)\n  {\n    d_pointer->setWithConnectType(value);\n  }\n\n  const std::string& Rule::getWithConnectType() const\n  {\n    return d_pointer->getWithConnectType();\n  }\n\n  const Rule::Attribute<std::string>& Rule::attributeWithConnectType() const\n  {\n    return d_pointer->attributeWithConnectType();\n  }\n\n  Rule::Attribute<std::string>& Rule::attributeWithConnectType()\n  {\n    return d_pointer->attributeWithConnectType();\n  }\n\n  void Rule::setName(const std::string& value)\n  {\n    d_pointer->setName(value);\n  }\n\n  const std::string& Rule::getName() const\n  {\n    return d_pointer->getName();\n  }\n\n  const Rule::Attribute<std::string>& Rule::attributeName() const\n  {\n    return d_pointer->attributeName();\n  }\n\n  Rule::Attribute<std::string>& Rule::attributeName()\n  {\n    return d_pointer->attributeName();\n  }\n\n  void Rule::setHash(const std::string& value)\n  {\n    d_pointer->setHash(value);\n  }\n\n  const std::string& Rule::getHash() const\n  {\n    return d_pointer->getHash();\n  }\n\n  const Rule::Attribute<std::string>& Rule::attributeHash() const\n  {\n    return d_pointer->attributeHash();\n  }\n\n  Rule::Attribute<std::string>& Rule::attributeHash()\n  {\n    return d_pointer->attributeHash();\n  }\n\n  void Rule::setParentHash(const std::string& value)\n  {\n    d_pointer->setParentHash(value);\n  }\n\n  const std::string& Rule::getParentHash() const\n  {\n    return d_pointer->getParentHash();\n  }\n\n  const Rule::Attribute<std::string>& Rule::attributeParentHash() const\n  {\n    return d_pointer->attributeParentHash();\n  }\n\n  Rule::Attribute<std::string>& Rule::attributeParentHash()\n  {\n    return d_pointer->attributeParentHash();\n  }\n\n  void Rule::setViaPort(const std::string& value)\n  {\n    d_pointer->setViaPort(value);\n  }\n\n  const std::string& Rule::getViaPort() const\n  {\n    return d_pointer->getViaPort();\n  }\n\n  const Rule::Attribute<std::string>& Rule::attributeViaPort() const\n  {\n    return d_pointer->attributeViaPort();\n  }\n\n  Rule::Attribute<std::string>& Rule::attributeViaPort()\n  {\n    return d_pointer->attributeViaPort();\n  }\n\n  const Rule::Attribute<USBInterfaceType>& Rule::attributeWithInterface() const\n  {\n    return d_pointer->attributeWithInterface();\n  }\n\n  Rule::Attribute<USBInterfaceType>& Rule::attributeWithInterface()\n  {\n    return d_pointer->attributeWithInterface();\n  }\n\n  const Rule::Attribute<RuleCondition>& Rule::attributeConditions() const\n  {\n    return d_pointer->attributeConditions();\n  }\n\n  Rule::Attribute<RuleCondition>& Rule::attributeConditions()\n  {\n    return d_pointer->attributeConditions();\n  }\n\n  bool Rule::appliesTo(std::shared_ptr<const Rule> rhs) const\n  {\n    return appliesTo(*rhs);\n  }\n\n  bool Rule::appliesTo(const Rule& rhs) const\n  {\n    return d_pointer->appliesTo(rhs);\n  }\n\n  bool Rule::appliesTo(const Rule& rhs)\n  {\n    updateMetaDataCounters(/*applied=*/false, /*evaluated=*/true);\n    return d_pointer->appliesTo(rhs);\n  }\n\n  bool Rule::isImplicit() const\n  {\n    return d_pointer->getRuleID() == Rule::DefaultID;\n  }\n\n  Rule::operator bool() const\n  {\n    return !(getTarget() == Target::Unknown ||\n        getTarget() == Target::Invalid ||\n        getTarget() == Target::Empty);\n  }\n\n  std::string Rule::toString(bool invalid, bool hide_serial) const\n  {\n    return d_pointer->toString(invalid, hide_serial);\n  }\n\n  void Rule::updateMetaDataCounters(bool applied, bool evaluated)\n  {\n    d_pointer->updateMetaDataCounters(applied, evaluated);\n  }\n\n  Rule Rule::fromString(const std::string& rule_string)\n  {\n    return RulePrivate::fromString(rule_string);\n  }\n\n  std::unique_ptr<RulePrivate>& Rule::internal()\n  {\n    return d_pointer;\n  }\n\n  const std::unique_ptr<RulePrivate>& Rule::internal() const\n  {\n    return d_pointer;\n  }\n\n  static const std::vector<std::pair<std::string, Rule::Target>> target_ttable = {\n    { \"allow\", Rule::Target::Allow },\n    { \"block\", Rule::Target::Block },\n    { \"reject\", Rule::Target::Reject },\n    { \"match\", Rule::Target::Match },\n    { \"device\", Rule::Target::Device },\n    { \"\", Rule::Target::Empty }\n  };\n\n  const std::string Rule::targetToString(const Rule::Target target)\n  {\n    for (auto ttable_entry : target_ttable) {\n      if (ttable_entry.second == target) {\n        return ttable_entry.first;\n      }\n    }\n\n    throw std::runtime_error(\"Invalid rule target string\");\n  }\n\n  Rule::Target Rule::targetFromString(const std::string& target_string)\n  {\n    for (auto ttable_entry : target_ttable) {\n      if (ttable_entry.first == target_string) {\n        return ttable_entry.second;\n      }\n    }\n\n    throw std::runtime_error(\"Invalid rule target string\");\n  }\n\n  uint32_t Rule::targetToInteger(const Rule::Target target)\n  {\n    return static_cast<uint32_t>(target);\n  }\n\n  Rule::Target Rule::targetFromInteger(const uint32_t target_integer)\n  {\n    switch (target_integer) {\n    case static_cast<uint32_t>(Rule::Target::Allow):\n    case static_cast<uint32_t>(Rule::Target::Block):\n    case static_cast<uint32_t>(Rule::Target::Reject):\n    case static_cast<uint32_t>(Rule::Target::Match):\n    case static_cast<uint32_t>(Rule::Target::Device):\n      break;\n\n    default:\n      throw std::runtime_error(\"Invalid rule target integer value\");\n    }\n\n    return static_cast<Rule::Target>(target_integer);\n  }\n\n  static const std::vector<std::pair<std::string, Rule::SetOperator>> set_operator_ttable = {\n    { \"all-of\", Rule::SetOperator::AllOf },\n    { \"one-of\", Rule::SetOperator::OneOf },\n    { \"none-of\", Rule::SetOperator::NoneOf },\n    { \"equals\", Rule::SetOperator::Equals },\n    { \"equals-ordered\", Rule::SetOperator::EqualsOrdered },\n    { \"match\", Rule::SetOperator::Match },\n    { \"match-all\", Rule::SetOperator::MatchAll}\n  };\n\n  const std::string Rule::setOperatorToString(const Rule::SetOperator& op)\n  {\n    for (auto ttable_entry : set_operator_ttable) {\n      if (ttable_entry.second == op) {\n        return ttable_entry.first;\n      }\n    }\n\n    throw std::runtime_error(\"Invalid set operator string\");\n  }\n\n  Rule::SetOperator Rule::setOperatorFromString(const std::string& set_operator_string)\n  {\n    for (auto ttable_entry : set_operator_ttable) {\n      if (ttable_entry.first == set_operator_string) {\n        return ttable_entry.second;\n      }\n    }\n\n    throw std::runtime_error(\"Invalid set operator string\");\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/Rule.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Radovan Sroka <rsroka@redhat.com>\n//          Marek Tamaskovic <mtamasko@redhat.com>\n//\n#pragma once\n\n#include \"RuleCondition.hpp\"\n#include \"Exception.hpp\"\n#include \"Logger.hpp\"\n#include \"Predicates.hpp\"\n#include \"Typedefs.hpp\"\n#include \"USB.hpp\"\n\n#include <cstdint>\n#include <chrono>\n#include <string>\n#include <vector>\n#include <memory>\n\nnamespace usbguard\n{\n\n  /**\n   * @brief Converts given value to rule string.\n   *\n   * @param value Value to convert.\n   * @return Rule string.\n   */\n  template<typename T>\n  std::string toRuleString(T* const value)\n  {\n    return value->toRuleString();\n  }\n\n  /**\n   * @brief Converts given value to rule string.\n   *\n   * @param value Value to convert.\n   * @return Rule string.\n   */\n  template<typename T>\n  std::string toRuleString(const T& value)\n  {\n    return value.toRuleString();\n  }\n\n  /**\n   * @brief Converts given string to rule string.\n   *\n   * @param value String to convert.\n   * @return Rule string.\n   */\n  template<>\n  std::string DLL_PUBLIC toRuleString(const std::string& value);\n\n  class RulePrivate;\n\n  /**\n   * @brief Determines whether USB device mathing specified criteria should be\n   * authorized, deauthorized or removed.\n   */\n  class DLL_PUBLIC Rule\n  {\n  public:\n    /**\n     * @brief Enumeration of possible rule targets.\n     *\n     * The target of a rule specifies whether the device will be authorized for\n     * use or not.\n     */\n    enum class Target {\n      Allow = 0, /**< Devices matching this rule will be authorized. In other\n                   words, the device and its interface will be allowed to\n                   communicate with the system. */\n      Block = 1, /**< Devices matching this rule will not be authorized. */\n      Reject = 2, /**< Devices matching this rule will not be authorized and\n                    will be detached. */\n      Match = 3, /**< Special target which can be used to trigger actions.\n                   The rule wont affect the final decision. */\n      Unknown = 4, /**< Unknown target. Used for default constructed rules. */\n      Device = 5, /**< Special target which can only be used for a rule that\n                    represents a single device. */\n      Empty = 6, /**< Special target to represent the case the parser reaches\n                   a comment only line. */\n      Invalid = 7 /**< Represents invalid target. */\n    };\n\n    /**\n     * @brief Converts given rule target to its string representation.\n     *\n     * @param target Rule target to convert.\n     * @return String representation of given target.\n     * @throw runtime_error If no string representation for given rule target\n     * has been found.\n     */\n    static const std::string targetToString(Target target);\n\n    /**\n     * @brief Converts given string into rule target.\n     *\n     * @param target_string String to convert.\n     * @return Rule target.\n     * @throw runtime_error If string does not contain valid rule target.\n     */\n    static Target targetFromString(const std::string& target_string);\n\n    /**\n     * @brief Converts rule target to its integer representation.\n     *\n     * @param target Rule target to convert.\n     * @return Integer representation of given rule target.\n     */\n    static uint32_t targetToInteger(Target target);\n\n    /**\n     * @brief Converts integer into rule target.\n     *\n     * @param target_integer Integer to convert.\n     * @return Rule target.\n     * @throw runtime_error If given integer can not be converted\n     * into rule target.\n     */\n    static Target targetFromInteger(uint32_t target_integer);\n\n    /**\n     * @brief Defines set operators that can be used in the rules.\n     */\n    enum class SetOperator {\n      AllOf, /**< The device attribute set must contain all of the specified\n               values for the rule to match. */\n      OneOf, /**< The device attribute set must contain at least one of the\n               specified values for the rule to match. */\n      NoneOf, /**< The device attribute set must not contain any of the\n                specified values for the rule to match. */\n      Equals, /**< The device attribute set must contain exactly the same set\n                of values for the rule to match. */\n      EqualsOrdered, /**< The device attribute set must contain exactly\n                       the same set of values in the same order for the rule\n                       to match. */\n      Match, /**< Special operator: matches anything, cannot be used directly\n              in a rule. */\n      MatchAll /**< The device attribute set must be a subset of the specified\n                 values for the rule to match. */\n    };\n\n    /**\n     * @brief Converts given set operator to its string representation.\n     *\n     * @param op Set operator to convert.\n     * @return String representation of given set operator.\n     * @throw runtime_error If string representation for given set operator\n     * does not exist.\n     */\n    static const std::string setOperatorToString(const Rule::SetOperator& op);\n\n    /**\n     * @brief Converts string into set operator.\n     *\n     * @param set_operator_string String to convert.\n     * @return Set operator.\n     * @throw runtime_error If given string does not contain valid set\n     * operator.\n     */\n    static SetOperator setOperatorFromString(const std::string& set_operator_string);\n\n    /**\n     * @brief Sequence number of the (fake) root rule.\n     */\n    static const uint32_t RootID;\n\n    /**\n     * @brief Sequence number assigned to default constructed rules.\n     * Cannot be used for searching.\n     */\n    static const uint32_t DefaultID;\n\n    /**\n     * @brief Sequence number for specifying that the last rule in the ruleset\n     * should be used in context of the operation.\n     */\n    static const uint32_t LastID;\n\n    /**\n     * @brief Sequence number of the implicit target rule\n     */\n    static const uint32_t ImplicitID;\n\n    /**\n     * @brief Specifies which devices to match or what condition\n     * have to be met for the rule to be aplicable.\n     *\n     * Attribute can be either single valued or multi-valued in which case set\n     * operator may be used to allow finer definition of the rule.\n     */\n    template<class ValueType>\n    class Attribute\n    {\n    public:\n      /**\n       * @brief Constructs new rule attribute with a given name and default\n       * set operator.\n       *\n       * @note Default set operator is Equals.\n       *\n       * @param name Name of the attribute.\n       */\n      Attribute(const char* name)\n      {\n        _name = name;\n        _set_operator = SetOperator::Equals;\n      }\n\n      /**\n       * @brief Default copy constructor.\n       *\n       * @param rhs Attribute to copy.\n       */\n      Attribute(const Attribute<ValueType>& rhs) = default;\n\n      /**\n       * @brief Default copy assignment.\n       *\n       * @param rhs Attribute to copy assign.\n       */\n      Attribute& operator=(const Attribute<ValueType>& rhs) = default;\n\n      /**\n       * @brief Sets set operator.\n       *\n       * @param op Set operator to set.\n       */\n      void setSetOperator(SetOperator op)\n      {\n        _set_operator = op;\n      }\n\n      /**\n       * @brief Returns set operator of this attribute.\n       *\n       * @return Set operator of this attribute.\n       */\n      SetOperator setOperator() const\n      {\n        return _set_operator;\n      }\n\n      /**\n       * @brief Appends new value into attribute values using move semantics.\n       *\n       * @param value Value to append into attribute values.\n       */\n      void append(ValueType&& value)\n      {\n        _values.emplace_back(std::move(value));\n      }\n\n      /**\n       * @brief Appends new value into attribute values.\n       *\n       * @param value Value to append into attribute values.\n       */\n      void append(const ValueType& value)\n      {\n        _values.push_back(value);\n      }\n\n      /**\n       * @brief Returns number of values of this attribute.\n       *\n       * @return Number of values of this attribute.\n       */\n      size_t count() const\n      {\n        return _values.size();\n      }\n\n      /**\n       * @brief Checks whether attribute does not contain any values.\n       *\n       * @return True if this attribute does not contain any value,\n       * false otherwise.\n       */\n      bool empty() const\n      {\n        return count() == 0;\n      }\n\n      /**\n       * @brief Clears all values of this attribute and sets set operator\n       * to default.\n       *\n       * @note Default set operator is Equals.\n       */\n      void clear()\n      {\n        _values.clear();\n        _set_operator = SetOperator::Equals;\n      }\n\n      /**\n       * @brief Returns name of the attribute.\n       *\n       * @return Name of the attribute.\n       */\n      std::string getName() const\n      {\n        return _name;\n      }\n\n      /**\n       * @brief Returns value of single-value attribute.\n       *\n       * @return Value of single-value attribute.\n       * @throw runtime_error If attribute is not single-value or is empty.\n       */\n      const ValueType& get() const\n      {\n        if (count() == 1) {\n          return _values[0];\n        }\n        else if (count() == 0) {\n          throw std::runtime_error(\"BUG: Accessing an empty attribute\");\n        }\n        else {\n          throw std::runtime_error(\"BUG: Accessing a multivalued attribute using get()\");\n        }\n      }\n\n      /**\n       * @brief Returns value at given index in values vector.\n       *\n       * @param index Index in values vector.\n       * @return Value at given index.\n       * @throw std::out_of_range If index >= number of values.\n       */\n      const ValueType& get(size_t index) const\n      {\n        return _values.at(index);\n      }\n\n      /**\n       * @brief Sets value in single-value attribute using move semantics.\n       *\n       * @param Value to set.\n       * @throw runtime_error If attribute is multi-value.\n       */\n      void set(ValueType&& value)\n      {\n        if (count() > 1) {\n          throw std::runtime_error(\"BUG: Setting single value for a multivalued attribute\");\n        }\n\n        if (count() == 0) {\n          append(value);\n        }\n        else {\n          _values[0] = std::move(value);\n        }\n      }\n\n      /**\n       * @brief Sets value in single-value attribute.\n       *\n       * @param Value to set.\n       * @throw runtime_error If attribute is multi-value.\n       */\n      void set(const ValueType& value)\n      {\n        if (count() > 1) {\n          throw std::runtime_error(\"BUG: Setting single value for a multivalued attribute\");\n        }\n\n        if (count() == 0) {\n          append(value);\n        }\n        else {\n          _values[0] = value;\n        }\n      }\n\n      /**\n       * @brief Sets given values and set operator.\n       *\n       * @param values Values to set.\n       * @param op Set operator to set.\n       */\n      void set(const std::vector<ValueType>& values, SetOperator op)\n      {\n        _values = values;\n        _set_operator = op;\n      }\n\n      /**\n       * @brief Checks whether attribute applies to target attribute.\n       *\n       * In other words, checks whether values of this attribute satisfy\n       * set operator against target attribute values.\\n\n       * For example if \\p this\\.values = { \\p v1 } and \\p target\\.values =\n       * { \\p v1, \\p v2 }, then { \\p v1 } \\p OneOf { \\p v1, \\p v2 } = \\p True.\n       *\n       * @param target Target attribute to apply to.\n       * @throw USBGUARD_BUG If attributes set operator is invalid.\n       */\n      bool appliesTo(const Attribute<ValueType>& target) const\n      {\n        USBGUARD_LOG(Trace) << \"entry:\"\n          << \" source=\" << this->toRuleString()\n          << \" target=\" << target.toRuleString();\n        bool applies = false;\n\n        /* Nothing applies to anything */\n        if (empty()) {\n          USBGUARD_LOG(Debug) << \"empty source value, setting applies=true\";\n          applies = true;\n        }\n        else {\n          USBGUARD_LOG(Debug) << \"set_operator=\" << setOperatorToString(setOperator());\n\n          switch (setOperator()) {\n          case SetOperator::Match:\n            applies = true;\n            break;\n\n          case SetOperator::AllOf:\n            applies = setSolveAllOf(_values, target._values);\n            break;\n\n          case SetOperator::OneOf:\n            applies = setSolveOneOf(_values, target._values);\n            break;\n\n          case SetOperator::NoneOf:\n            applies = setSolveNoneOf(_values, target._values);\n            break;\n\n          case SetOperator::Equals:\n            applies = setSolveEquals(_values, target._values);\n            break;\n\n          case SetOperator::EqualsOrdered:\n            applies = setSolveEqualsOrdered(_values, target._values);\n            break;\n\n          case SetOperator::MatchAll:\n            applies = setSolveMatchAll(_values, target._values);\n            break;\n\n          default:\n            throw USBGUARD_BUG(\"Invalid set operator value\");\n          }\n        }\n\n        USBGUARD_LOG(Trace) << \"return:\"\n          << \" applies=\" << applies;\n        return applies;\n      }\n\n      /**\n       * @brief Returns string representation of this attribute.\n       *\n       * Format:\n       *  - single-valued:\n       *    \\<name\\> \\<value\\>\n       *  - multi-valued:\n       *    \\<name\\> \\<non-default set operator\\> { \\<value[0]\\> \\<value[1]\\> ... }\n       * Default set operator is not included in the string.\n       *\n       * @return String representation of this attribute.\n       */\n      std::string toRuleString() const\n      {\n        std::string result;\n        result.append(_name);\n        result.append(\" \");\n        const bool nondefault_op = setOperator() != SetOperator::Equals;\n        const bool multiset_form = count() > 1 || nondefault_op;\n\n        if (multiset_form) {\n          if (nondefault_op) {\n            result.append(setOperatorToString(setOperator()));\n            result.append(\" \");\n          }\n\n          result.append(\"{ \");\n        }\n\n        for (const auto& value : _values) {\n          result.append(usbguard::toRuleString(value));\n          result.append(\" \");\n        }\n\n        if (multiset_form) {\n          result.append(\"}\");\n        }\n        else {\n          /*\n           * Remove the trailing space in case of a single\n           * valued attribute.\n           */\n          result.erase(result.end() - 1);\n        }\n\n        return result;\n      }\n\n      /**\n       * @brief Returns imutable vector of attribute values.\n       *\n       * @return Imutable vector of attribute values.\n       */\n      const std::vector<ValueType>& values() const\n      {\n        return _values;\n      }\n\n      /**\n       * @brief Returns mutable vector of attribute values.\n       *\n       * @return Mutable vector of attribute values.\n       */\n      std::vector<ValueType>& values()\n      {\n        return _values;\n      }\n\n    private:\n      /**\n       * @brief All of the items in source set must match an item\n       * in the target set.\n       *\n       * @param source_set Source set.\n       * @param target_set Target set.\n       * @return True if every item in the \\p source_set matches an item in the\n       * \\p target_set, false otherwise.\n       */\n      bool setSolveAllOf(const std::vector<ValueType>& source_set, const std::vector<ValueType>& target_set) const\n      {\n        USBGUARD_LOG(Trace);\n\n        for (auto const& source_item : source_set) {\n          bool match = false;\n\n          for (auto const& target_item : target_set) {\n            if (Predicates::isSubsetOf(source_item, target_item)) {\n              match = true;\n              break;\n            }\n          }\n\n          if (!match) {\n            return false;\n          }\n        }\n\n        return true;\n      }\n\n      /**\n       * @brief At least one of the items in the source set must match an item\n       * in the target set.\n       *\n       * @param source_set Source set.\n       * @param target_set Target set.\n       * @return True if at least one of the items from the \\p source_set\n       * matches an item in the \\p target_set, false otherwise.\n       */\n      bool setSolveOneOf(const std::vector<ValueType>& source_set, const std::vector<ValueType>& target_set) const\n      {\n        USBGUARD_LOG(Trace);\n\n        for (auto const& source_item : source_set) {\n          for (auto const& target_item : target_set) {\n            if (Predicates::isSubsetOf(source_item, target_item)) {\n              return true;\n            }\n          }\n        }\n\n        return false;\n      }\n\n      /**\n       * @brief None of the items in the source set must match any item in the\n       * target set.\n       *\n       * @param source_set Source set.\n       * @param target_set Target set.\n       * @return True if no item in the \\p source_set matches any item in the\n       * \\p target_set.\n       */\n      bool setSolveNoneOf(const std::vector<ValueType>& source_set, const std::vector<ValueType>& target_set) const\n      {\n        USBGUARD_LOG(Trace);\n\n        for (auto const& source_item : source_set) {\n          for (auto const& target_item : target_set) {\n            if (Predicates::isSubsetOf(source_item, target_item)) {\n              return false;\n            }\n          }\n        }\n\n        return true;\n      }\n\n      /**\n       * @brief Every item in the source set must match one item in the\n       * target set and the sets have to have the same number of items.\n       *\n       * @param source_set Source set.\n       * @param target_set Target set.\n       * @return True if every item in the \\p source_set matches one item in\n       * the \\p target_set and sets have the same number of items,\n       * false otherwise.\n       */\n      bool setSolveEquals(const std::vector<ValueType>& source_set, const std::vector<ValueType>& target_set) const\n      {\n        USBGUARD_LOG(Trace);\n\n        if (source_set.size() != target_set.size()) {\n          return false;\n        }\n        else {\n          for (auto const& source_item : source_set) {\n            bool match = false;\n\n            for (auto const& target_item : target_set) {\n              if (Predicates::isSubsetOf(source_item, target_item)) {\n                match = true;\n                break;\n              }\n            }\n\n            if (!match) {\n              return false;\n            }\n          }\n\n          return true;\n        }\n      }\n\n      /**\n       * @brief The sets are treated as arrays and they have to be equal\n       * (same number of items at the same positions).\n       *\n       * @param source_set Source set.\n       * @param target_set Target set.\n       * @return True if sets are equal and ordered, false otherwise.\n       */\n      bool setSolveEqualsOrdered(const std::vector<ValueType>& source_set, const std::vector<ValueType>& target_set) const\n      {\n        USBGUARD_LOG(Trace);\n\n        if (source_set.size() != target_set.size()) {\n          return false;\n        }\n\n        for (size_t i = 0; i < source_set.size(); ++i) {\n          if (!Predicates::isSubsetOf(source_set[i], target_set[i])) {\n            return false;\n          }\n        }\n\n        return true;\n      }\n\n      /**\n       * @brief All of the items in \\p target_set must match an item in\n       * the \\p source_set.\n       *\n       * @param source_set Source set.\n       * @param Target_set Target set.\n       * @return True if all items in \\p target_set match an item in\n       * the \\p source_set.\n       */\n      bool setSolveMatchAll(const std::vector<ValueType>& source_set, const std::vector<ValueType>& target_set) const\n      {\n        USBGUARD_LOG(Trace);\n        size_t match = 0;\n\n        for (auto const& target_item : target_set) {\n          for (auto const& source_item : source_set) {\n            if (Predicates::isSupersetOf(source_item, target_item)) {\n              match++;\n              break;\n            }\n          }\n        }\n\n        return match == target_set.size();\n      }\n\n      std::string _name; /**< Name of the rule attribute. */\n      SetOperator _set_operator; /**< Set operator can be used for\n                                   a multi-valued attribute for finer\n                                   rule definition. */\n      std::vector<ValueType> _values; /**< Values of the attribute. */\n    };\n\n    /**\n     * @brief Construct a default rule.\n     *\n     * This rule matches only a default rule and cannot be converted to\n     * a string representation.\n     */\n    Rule();\n\n    /**\n     * @brief Default destructor.\n     */\n    ~Rule();\n\n    /**\n     * @brief Constructs rule based on rhs.\n     *\n     * @param rhs Rule to copy.\n     */\n    Rule(const Rule& rhs);\n\n    /**\n     * @brief Assignes rhs rule to this.\n     *\n     * @param rhs Rule to assign.\n     * @return This object.\n     */\n    const Rule& operator=(const Rule& rhs);\n\n    /**\n     * @brief Sets rule ID.\n     *\n     * @param rule_id Rule ID to set.\n     */\n    void setRuleID(uint32_t rule_id);\n\n    /**\n     * @brief Returns rule ID.\n     *\n     * @return Rule ID.\n     */\n    uint32_t getRuleID() const;\n\n    /**\n     * @brief Sets rule target.\n     *\n     * In other words, sets whether USB device will be authorized\n     * for use or not.\n     *\n     * @param target Rule target to set.\n     */\n    void setTarget(Rule::Target target);\n\n    /**\n     * @brief Returns rule target.\n     *\n     * @return Rule target.\n     */\n    Target getTarget() const;\n\n    /**\n     * @brief Sets USB Device ID attribute.\n     *\n     * @param value USB device ID to set.\n     * @see \\link Attribute::set() set()\\endlink\n     */\n    void setDeviceID(const USBDeviceID& value);\n\n    /**\n     * @brief Returns USB device ID.\n     *\n     * @return USB device ID.\n     * @see \\link Attribute::get() get()\\endlink\n     */\n    const USBDeviceID& getDeviceID() const;\n\n    /**\n     * @brief Returns imutable USB device ID attribute.\n     *\n     * @return Imutable USB device ID attribute.\n     */\n    const Attribute<USBDeviceID>& attributeDeviceID() const;\n\n    /**\n     * @brief Returns mutable USB device ID attribute.\n     *\n     * @return Mutable USB device ID attribute.\n     */\n    Attribute<USBDeviceID>& attributeDeviceID();\n\n    /**\n     * @brief Sets serial number attribute.\n     *\n     * @param value Serial number to set.\n     * @see \\link Attribute::set() set()\\endlink\n     */\n    void setSerial(const std::string& value);\n\n    /**\n     * @brief Returns serial number.\n     *\n     * @return Serial number.\n     * @see \\link Attribute::get() get()\\endlink\n     */\n    const std::string& getSerial() const;\n\n    /**\n     * @brief Returns imutable serial number attribute.\n     *\n     * @return Imutable serial number attribute.\n     */\n    const Attribute<std::string>& attributeSerial() const;\n\n    /**\n     * @brief Returns mutable serial number attribute.\n     *\n     * @return Mutable serial number attribute.\n     */\n    Attribute<std::string>& attributeSerial();\n\n    /**\n     * @brief Sets rule label attribute.\n     *\n     * Label assosiates an arbitrary string with a rule.\n     * This string can, for instance, be used to store the origin\n     * of the rule or some contextual information about it.\n     * It is not used when testing if a rule applies to a device.\n     *\n     * @param value Label to set.\n     * @see \\link Attribute::set() set()\\endlink\n     */\n    void setLabel(const std::string& value);\n\n    /**\n     * @brief Returns rule label.\n     *\n     * @return Rule label.\n     * @see \\link Attribute::get() get()\\endlink\n     */\n    const std::string& getLabel() const;\n\n    /**\n     * @brief Returns imutable rule label attribute.\n     *\n     * @return Imutable rule label attribute.\n     */\n    const Attribute<std::string>& attributeLabel() const;\n\n    /**\n     * @brief Returns mutable rule label attribute.\n     *\n     * @return Mutable rule label attribute.\n     */\n    Attribute<std::string>& attributeLabel();\n\n    /**\n     * @brief Sets with-connect-type attribute.\n     *\n     * Describes what type of connection USB device uses.\n     * Helps to distinguish between internal (hardwired)\n     * and external (hotplug) ports.\n     *\n     * @param value With-connect-type to set.\n     * @see \\link Attribute::set() set()\\endlink\n     */\n    void setWithConnectType(const std::string& value);\n\n    /**\n     * @brief Returns type of conncetion USB device uses.\n     *\n     * @return Type of connection USB device uses.\n     * @see \\link Attribute::get() get()\\endlink\n     */\n    const std::string& getWithConnectType() const;\n\n    /**\n     * @brief Returns imutable with-connect-type attribute.\n     *\n     * @return Imutable with-connect-type attribute.\n     */\n    const Attribute<std::string>& attributeWithConnectType() const;\n\n    /**\n     * @brief Returns mutable with-connect-type attribute.\n     *\n     * @return Mutable with-connect-type attribute.\n     */\n    Attribute<std::string>& attributeWithConnectType();\n\n    /**\n     * @brief Sets device name attribute.\n     *\n     * @param value Device name to set.\n     * @see \\link Attribute::set() set()\\endlink\n     */\n    void setName(const std::string& value);\n\n    /**\n     * @brief Returns device name.\n     *\n     * @return Device name.\n     * @see \\link Attribute::get() get()\\endlink\n     */\n    const std::string& getName() const;\n\n    /**\n     * @brief Returns imutable device name attribute.\n     *\n     * @return Imutable device name attribute.\n     */\n    const Attribute<std::string>& attributeName() const;\n\n    /**\n     * @brief Returns mutable device name attribute.\n     *\n     * @return Mutable device name attribute.\n     */\n    Attribute<std::string>& attributeName();\n\n    /**\n     * @brief Sets device hash attribute.\n     *\n     * @param value Device hash to set.\n     * @see \\link Attribute::set() set()\\endlink\n     */\n    void setHash(const std::string& value);\n\n    /**\n     * @brief Returns device hash.\n     *\n     * @return Device hash.\n     * @see \\link Attribute::get() get()\\endlink\n     */\n    const std::string& getHash() const;\n\n    /**\n     * @brief Returns imutable device hash attribute.\n     *\n     * @return Imutable device hash attribute.\n     */\n    const Attribute<std::string>& attributeHash() const;\n\n    /**\n     * @brief Returns mutable device hash attribute.\n     *\n     * @return Mutable device hash attribute.\n     */\n    Attribute<std::string>& attributeHash();\n\n    /**\n     * @brief Sets parent hash attribute.\n     *\n     * @param value Parent hash to set.\n     * @see \\link Attribute::set() set()\\endlink\n     */\n    void setParentHash(const std::string& value);\n\n    /**\n     * @brief Returns parent hash.\n     *\n     * @return Parent hash.\n     * @see \\link Attribute::get() get()\\endlink\n     */\n    const std::string& getParentHash() const;\n\n    /**\n     * @brief Returns imutable parent hash attribute.\n     *\n     * @return Imutable parent hash attribute.\n     */\n    const Rule::Attribute<std::string>& attributeParentHash() const;\n\n    /**\n     * @brief Returns mutable parent hash attribute.\n     *\n     * @return Mutable parent hash attribute.\n     */\n    Rule::Attribute<std::string>& attributeParentHash();\n\n    /**\n     * @brief Sets via-port attribute.\n     *\n     * Describes through which USB port the device is connected.\n     *\n     * @param value Port to set.\n     * @see \\link Attribute::set() set()\\endlink\n     */\n    void setViaPort(const std::string& value);\n\n    /**\n     * @brief Returns USB port through which the device is connected.\n     *\n     * @return USB port through which the device is connected.\n     * @see \\link Attribute::get() get()\\endlink\n     */\n    const std::string& getViaPort() const;\n\n    /**\n     * @brief Returns imutable via-port attribute.\n     *\n     * @return Imutable via-port attribute.\n     */\n    const Attribute<std::string>& attributeViaPort() const;\n\n    /**\n     * @brief Returns mutable via-port attribute.\n     *\n     * @return Mutable via-port attribute.\n     */\n    Attribute<std::string>& attributeViaPort();\n\n    /**\n     * @brief Returns imutable with-interface attribute.\n     *\n     * @note Set/get methods for a single value isn't useful for the\n     * with-interface attribute as it usually contains\n     * multiple values. Therefore, we provide only the\n     * attribute accessors in this case.\n     *\n     * @return Imutable with-interface attribute.\n     */\n    const Attribute<USBInterfaceType>& attributeWithInterface() const;\n\n    /**\n     * @brief Returns mutable with-interface attribute.\n     *\n     * @note Set/get methods for a single value isn't useful for the\n     * with-interface attribute as it usually contains\n     * multiple values. Therefore, we provide only the\n     * attribute accessors in this case.\n     *\n     * @return Mutable with-interface attribute.\n     */\n    Attribute<USBInterfaceType>& attributeWithInterface();\n\n    /**\n     * @brief Returns imutable rule conditions attribute.\n     *\n     * @return Imutable rule conditions attribute.\n     */\n    const Attribute<RuleCondition>& attributeConditions() const;\n\n    /**\n     * @brief Returns mutable rule conditions attribute.\n     *\n     * @return Mutable rule conditions attribute.\n     */\n    Attribute<RuleCondition>& attributeConditions();\n\n    /**\n     * @brief Checks whether this rule applies to rhs rule.\n     *\n     * @param rhs Rule to apply to.\n     * @return True if this rule applies to rhs rule, false otherwise.\n     */\n    bool appliesTo(std::shared_ptr<const Rule> rhs) const;\n\n    /**\n     * @brief Checks whether this rule applies to rhs rule.\n     *\n     * @param rhs Rule to apply to.\n     * @return True if this rule applies to rhs rule, false otherwise.\n     */\n    bool appliesTo(const Rule& rhs) const;\n\n    /**\n     * @brief Checks whether this rule applies to rhs rule\n     * and updates last evaluated meta-data counter.\n     *\n     * @param rhs Rule to apply to.\n     * @return True if this rule applies to rhs rule, false otherwise.\n     */\n    bool appliesTo(const Rule& rhs);\n\n    /**\n     * @brief Checks whether the rule is implicit (rule has default rule ID).\n     *\n     * @return True if rule has default rule ID, false otherwise.\n     */\n    bool isImplicit() const;\n\n    /**\n     * @brief Returns true if rule target is neither unknown nor\n     * invalid nor empty.\n     *\n     * @return True if rule target is neither unknown nor invalid nor empty,\n     * false otherwise.\n     */\n    operator bool() const;\n\n    /**\n     * @brief Returns string representation of this rule.\n     *\n     * @param invalid If rule target is invalid and this option is set to true,\n     * then no exception will be thrown but string \\\"\\<invalid\\>\\\" will be put\n     * instead of rule target into the string.\n     * @param hide_serial If true, serial number and any PII (Personally\n     * identifiable information) will not be included in the string.\n     * @return String representation of this rule.\n     */\n    std::string toString(bool invalid = false, bool hide_serial = false) const;\n\n    /**\n     * @brief Updates meta-data last applied and last evaluated counters.\n     *\n     * RulePrivate object contains three meta-data counters:\n     *  - when was Rule object created.\n     *  - when was rule last applied.\n     *  - when was rule last evaluated.\n     *\n     * @param applied If true, last applied counter is updated to current time.\n     * @param evaluated If true, last evaluated counter is updated to current\n     * time.\n     */\n    void updateMetaDataCounters(bool applied = true, bool evaluated = false);\n\n    /**\n     * @brief Returns reference to mutable RulePrivate object of this rule.\n     *\n     * @return Mutable RulePrivate.\n     */\n    std::unique_ptr<RulePrivate>& internal();\n\n    /**\n     * @brief Returns reference to imutable RulePrivate object of this rule.\n     *\n     * @return Imutable RulePrivate.\n     */\n    const std::unique_ptr<RulePrivate>& internal() const;\n\n    /*************************************************************************\n     ***************************** STATIC METHODS ****************************\n     *************************************************************************/\n\n    /**\n     * @brief Parses given rule_string and returns Rule object.\n     *\n     * @param rule_string String to parse.\n     * @return Rule object from given rule_string.\n     * @see \\link RuleParser::parseRuleFromString()\n     * parseRuleFromString()\\endlink\n     */\n    static Rule fromString(const std::string& rule_string);\n\n  private:\n    std::unique_ptr<RulePrivate> d_pointer;\n  };\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/RuleCondition.cpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"usbguard/RuleCondition.hpp\"\n\n#include \"usbguard/Rule.hpp\"\n#include \"usbguard/Logger.hpp\"\n\n#include <unordered_map>\n#include <functional>\n\nnamespace usbguard\n{\n  RuleConditionBase::RuleConditionBase(const std::string& identifier, const std::string& parameter, bool negated)\n    : _identifier(identifier),\n      _parameter(parameter),\n      _negated(negated)\n  {\n  }\n\n  RuleConditionBase::RuleConditionBase(const std::string& identifier, bool negated)\n    : _identifier(identifier),\n      _negated(negated)\n  {\n  }\n\n  RuleConditionBase::RuleConditionBase(const RuleConditionBase& rhs)\n    : _identifier(rhs._identifier),\n      _parameter(rhs._parameter),\n      _negated(rhs._negated)\n  {\n  }\n\n  RuleConditionBase::~RuleConditionBase()\n  {\n    fini();\n  }\n\n  void RuleConditionBase::init(Interface* const interface_ptr)\n  {\n    (void)interface_ptr;\n  }\n\n  void RuleConditionBase::fini()\n  {\n  }\n\n  bool RuleConditionBase::evaluate(const Rule& rule)\n  {\n    return isNegated() ? !update(rule) : update(rule);\n  }\n\n  const std::string& RuleConditionBase::identifier() const\n  {\n    return _identifier;\n  }\n\n  const std::string& RuleConditionBase::parameter() const\n  {\n    return _parameter;\n  }\n\n  bool RuleConditionBase::hasParameter() const\n  {\n    return !_parameter.empty();\n  }\n\n  bool RuleConditionBase::isNegated() const\n  {\n    return _negated;\n  }\n\n  const std::string RuleConditionBase::toString() const\n  {\n    std::string condition_string;\n\n    if (isNegated()) {\n      condition_string.append(\"!\");\n    }\n\n    condition_string.append(identifier());\n\n    if (hasParameter()) {\n      condition_string.append(\"(\");\n      condition_string.append(parameter()); /* TODO: Escape parameter string */\n      condition_string.append(\")\");\n    }\n\n    return condition_string;\n  }\n\n  const std::string RuleConditionBase::toRuleString() const\n  {\n    return toString();\n  }\n} /* namespace usbguard */\n\n#include \"AllowedMatchesCondition.hpp\"\n#include \"LocaltimeCondition.hpp\"\n#include \"FixedStateCondition.hpp\"\n#include \"RandomStateCondition.hpp\"\n#include \"RuleAppliedCondition.hpp\"\n#include \"RuleEvaluatedCondition.hpp\"\n\n#include <iostream>\n#include <memory>\n\nnamespace usbguard\n{\n  RuleConditionBase* RuleConditionBase::getImplementation(const std::string& condition_string)\n  {\n    if (condition_string.empty()) {\n      throw std::runtime_error(\"Empty condition\");\n    }\n\n    const bool negated = condition_string[0] == '!';\n    const size_t identifier_start = negated ? 1 : 0;\n    const size_t p_pos = condition_string.find_first_of('(');\n    std::string identifier;\n    std::string parameter;\n\n    if (p_pos == std::string::npos) {\n      /*\n       * The rest of the condition_string should be\n       * a condition identifier -- without a parameter.\n       */\n      identifier = condition_string.substr(identifier_start);\n\n      if (identifier.size() < 1) {\n        throw std::runtime_error(\"Invalid condition string. Missing identifier.\");\n      }\n    }\n    else {\n      const size_t parameter_size = condition_string.size() - p_pos;\n\n      if (parameter_size < 3 /* two parentheses + at least one character */) {\n        throw std::runtime_error(\"Invalid condition string. Invalid parameter.\");\n      }\n\n      const size_t identifier_size = p_pos - identifier_start;\n      identifier = condition_string.substr(identifier_start, identifier_size);\n\n      if (condition_string[condition_string.size() - 1] != ')') {\n        throw std::runtime_error(\"Invalid condition string. Malformed parameter.\");\n      }\n\n      parameter = condition_string.substr(p_pos + 1, parameter_size - 2);\n    }\n\n    return getImplementation(identifier, parameter, negated);\n  }\n\n  RuleConditionBase* RuleConditionBase::getImplementation(const std::string& identifier, const std::string& parameter,\n    bool negated)\n  {\n    if (identifier == \"allowed-matches\") {\n      return new AllowedMatchesCondition(parameter, negated);\n    }\n\n    if (identifier == \"localtime\") {\n      return new LocaltimeCondition(parameter, negated);\n    }\n\n    if (identifier == \"true\") {\n      return new FixedStateCondition(true, negated);\n    }\n\n    if (identifier == \"false\") {\n      return new FixedStateCondition(false, negated);\n    }\n\n    if (identifier == \"random\") {\n      return new RandomStateCondition(parameter, negated);\n    }\n\n    if (identifier == \"rule-applied\") {\n      return new RuleAppliedCondition(parameter, negated);\n    }\n\n    if (identifier == \"rule-evaluated\") {\n      return new RuleEvaluatedCondition(parameter, negated);\n    }\n\n    throw std::runtime_error(\"Unknown rule condition\");\n  }\n\n  RuleCondition::RuleCondition()\n  {\n  }\n\n  RuleCondition::RuleCondition(const std::string& condition_string)\n    : _condition(RuleConditionBase::getImplementation(condition_string))\n  {\n  }\n\n  RuleCondition::RuleCondition(const RuleCondition& rhs)\n    : _condition(rhs._condition->clone())\n  {\n  }\n\n  RuleCondition::RuleCondition(RuleCondition&& rhs)\n    : _condition(std::move(rhs._condition))\n  {\n  }\n\n  RuleCondition& RuleCondition::operator=(const RuleCondition& rhs)\n  {\n    _condition.reset(rhs._condition->clone());\n    return *this;\n  }\n\n  RuleCondition& RuleCondition::operator=(RuleCondition&& rhs)\n  {\n    _condition = std::move(rhs._condition);\n    return *this;\n  }\n\n  RuleConditionBase* RuleCondition::operator->()\n  {\n    return _condition.get();\n  }\n\n  RuleConditionBase& RuleCondition::operator*()\n  {\n    return *_condition.get();\n  }\n\n  std::string RuleCondition::toRuleString() const\n  {\n    return _condition->toRuleString();\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/RuleCondition.hpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n\n#include \"Typedefs.hpp\"\n\n#include <string>\n#include <memory>\n\nnamespace usbguard\n{\n  class Interface;\n  class Rule;\n\n  /**\n   * @brief Base class for all specialized rule condition classes.\n   */\n  class DLL_PUBLIC RuleConditionBase\n  {\n  public:\n    /**\n     * @brief Constructs new rule condition.\n     *\n     * @param identifier Identifier/name of rule condition.\n     * @param parameter Parameter of rule condition.\n     * @param negated Defines whether rule condition should be negated or not.\n     * Rule condition is defaultly not negated.\n     */\n    RuleConditionBase(const std::string& identifier, const std::string& parameter, bool negated = false);\n\n    /**\n     * @brief Constructs new rule condition without a parameter.\n     *\n     * @param identifier Identifier/name of rule condition.\n     * @param negated Defines whether rule condition should be negated or not.\n     * Rule condition is defaultly not negated.\n     */\n    RuleConditionBase(const std::string& identifier, bool negated = false);\n\n    /**\n     * @brief Constructs new rule condition with the same attributes as rhs.\n     *\n     * @param rhs Rule condition to copy.\n     */\n    RuleConditionBase(const RuleConditionBase& rhs);\n\n    /**\n     * @brief Calls \\link fini() fini()\\endlink and destroys this object.\n     *\n     * @see \\link fini() fini()\\endlink\n     */\n    virtual ~RuleConditionBase();\n\n    /**\n     * @brief Initialization algorithm for this object.\n     *\n     * @param interface_ptr Pointer to the interface.\n     */\n    virtual void init(Interface* const interface_ptr);\n\n    /**\n     * @brief Implement what should be done before destroying this object.\n     */\n    virtual void fini();\n\n    /**\n     * @brief Implement update algorithm for this object.\n     *\n     * @param rule You might want to update based on some rule.\n     * @return True if update is successful, false otherwise.\n     */\n    virtual bool update(const Rule& rule) = 0;\n\n    /**\n     * @brief Implement cloning algorithm for this object.\n     *\n     * @return Clone of this object.\n     */\n    virtual RuleConditionBase* clone() const = 0;\n\n    /**\n     * @brief Evaluate based on given rule.\n     *\n     * Evaluation returns true if update(rule) succeeds or if this condition\n     * is negated then returns true if update(rule) does not succeed.\n     *\n     * @param rule Rule to evaluate.\n     * @return True if rule has been evaluated successfully, false otherwise.\n     * @see \\link update() update()\\endlink\n     */\n    bool evaluate(const Rule& rule);\n\n    /**\n     * @brief Returns rule condition identifier/name.\n     *\n     * @return rule condition identifier/name.\n     */\n    const std::string& identifier() const;\n\n    /**\n     * @brief Returns parameter of rule condition.\n     *\n     * @return Parameter of rule condition.\n     */\n    const std::string& parameter() const;\n\n    /**\n     * @brief Checks whether rule condition has parameter.\n     *\n     * In other words, checks whether the parameter is not empty.\n     *\n     * @return True if rule condition has parameter, false otherwise.\n     */\n    bool hasParameter() const;\n\n    /**\n     * @brief Checks whether this rule condition is negated or not.\n     *\n     * @return True if this rule condition is negated, false otherwise.\n     */\n    bool isNegated() const;\n\n    /**\n     * @brief Returns string representation of this rule condition.\n     *\n     * - Format: [!]\\<identifier\\>[(\\<parameter\\>)]\n     * - Example 1: !rule-evaluated\n     * - Example 2: random(0.1666)\n     *\n     * @return String representation of this rule condition.\n     */\n    const std::string toString() const;\n\n    /**\n     * @copydoc toString()\n     */\n    const std::string toRuleString() const;\n\n    /**\n     * @brief Parses given rule string and constructs new specialized\n     * rule condition object.\n     *\n     * @param condition_string String should be a valid rule string.\n     * @return Pointer to newly constructed specialized rule condition object.\n     * @throw runtime_error If given string is empty or does not contain\n     * a valid rule.\n     */\n    static RuleConditionBase* getImplementation(const std::string& condition_string);\n\n    /**\n     * @brief Constructs new specialized rule condition object\n     * based on given arguments.\n     *\n     * @param identifier Identifies what rule condition object should be\n     * constructed.\n     * @param parameter Parameter of new rule condition.\n     * @param negated Defines whether new rule condition is negated or not.\n     * @return Pointer to newly constructed specialized rule condition object.\n     * @throw runtime_error If identifier is not valid.\n     */\n    static RuleConditionBase* getImplementation(const std::string& identifier, const std::string& parameter, bool negated);\n\n  private:\n    const std::string _identifier; /**< Identifier/name of this\n                                     rule condition. */\n    const std::string _parameter; /**< Parameter of rule condition.\n                                    Might be empty if this rule condition\n                                    does not have any parameter. */\n    const bool _negated; /**< Defines whether this rule condition\n                           is negated or not. */\n  };\n\n  /**\n   * @brief Wraps any type of rule condition.\n   */\n  class DLL_PUBLIC RuleCondition\n  {\n  public:\n    /**\n     * @brief Constructs empty rule condition object.\n     *\n     * In other words, the unique pointer that points to the underlying\n     * rule condition object is empty.\n     */\n    RuleCondition();\n\n    /**\n     * @brief Constructs rule condition object based on given rule string.\n     *\n     * @param condition_string String should be a valid rule string.\n     * @throw runtime_error If given string is empty or does not contain\n     * a valid rule.\n     * @see \\link RuleConditionBase::getImplementation()\n     * getImplementation()\\endlink\n     */\n    RuleCondition(const std::string& condition_string);\n\n    /**\n     * @brief Constructs rule condition by copying rhs.\n     *\n     * @param rhs Rule condition to copy.\n     */\n    RuleCondition(const RuleCondition& rhs);\n\n    /**\n     * @brief Constructs rule condition from rhs using move semantics.\n     *\n     * @param rhs Rule condition to move.\n     */\n    RuleCondition(RuleCondition&& rhs);\n\n    /**\n     * @brief Copy assignes rhs rule condition to this.\n     *\n     * @param rhs Rule condition to copy assign to this.\n     * @return This object.\n     */\n    RuleCondition& operator=(const RuleCondition& rhs);\n\n    /**\n     * @brief Assignes rhs rule condition to this using move semantics.\n     *\n     * @param rhs Rule condition to move assign to this.\n     * @return This object.\n     */\n    RuleCondition& operator=(RuleCondition&& rhs);\n\n    /**\n     * @brief Returns pointer to the underlying rule condition object.\n     *\n     * @return Pointer to the underlying rule condition object.\n     */\n    RuleConditionBase* operator->();\n\n    /**\n     * @brief Returns reference to the underlying rule condition object.\n     *\n     * @return Reference to the underlying rule condition object.\n     */\n    RuleConditionBase& operator*();\n\n    /**\n     * @brief Returns string representation of underlying rule condition.\n     *\n     * @return String representation of underlying rule condition.\n     */\n    std::string toRuleString() const;\n  private:\n    std::unique_ptr<RuleConditionBase> _condition; /**< Specific rule condition\n                                                     object. */\n  };\n} /*namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/RuleParser.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"RuleParser.hpp\"\n#include \"RuleParser/Grammar.hpp\"\n#include \"RuleParser/Actions.hpp\"\n#include \"RulePrivate.hpp\"\n\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/USB.hpp\"\n#include \"usbguard/Logger.hpp\"\n#include \"Common/Utility.hpp\"\n\n#include <cstddef>\n#include <stdexcept>\n#include <stdlib.h>\n\n#if TAO_PEGTL_VERSION_MAJOR >= 3\n  #include <tao/pegtl/contrib/trace.hpp>\n#else\n  #include <tao/pegtl/contrib/tracer.hpp>\n#endif\n\nnamespace usbguard\n{\n  Rule parseRuleFromString(const std::string& rule_spec, const std::string& file, size_t line, bool trace)\n  {\n    try {\n      Rule rule;\n      tao::pegtl::string_input<> input(rule_spec, file);\n\n      if (!trace) {\n        tao::pegtl::parse<RuleParser::rule_grammar, RuleParser::rule_parser_actions>(input, rule);\n      }\n      else {\n#if TAO_PEGTL_VERSION_MAJOR >= 3\n        tao::pegtl::complete_trace<RuleParser::rule_grammar, RuleParser::rule_parser_actions>(input, rule);\n#else\n        tao::pegtl::parse<RuleParser::rule_grammar, RuleParser::rule_parser_actions, tao::pegtl::tracer>(input, rule);\n#endif\n      }\n\n      return rule;\n    }\n    catch (const tao::pegtl::parse_error& ex) {\n      RuleParserError error(rule_spec);\n      error.setHint(ex.what());\n#if TAO_PEGTL_VERSION_MAJOR >= 3\n      error.setOffset(ex.positions().front().column);\n#else\n      error.setOffset(ex.positions[0].byte_in_line);\n#endif\n\n      if (!file.empty() || line != 0) {\n        error.setFileInfo(file, line);\n      }\n\n      throw error;\n    }\n    catch (const std::exception& ex) {\n      throw;\n    }\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/RuleParser.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n\n#include \"Typedefs.hpp\"\n#include \"Rule.hpp\"\n\n#include <stdexcept>\n#include <string>\n\n#include <cstddef>\n\nnamespace usbguard\n{\n  /**\n   * @brief Represents error during the rule parsing.\n   */\n  class RuleParserError : public std::exception\n  {\n  public:\n\n    /**\n     * @brief Constructs RuleParserError.\n     *\n     * @param rule_spec String representation of the rule.\n     * @param hint Describes what happened.\n     * @param file File where the rule is located.\n     * @param error_line Line in the file where the error occured.\n     * @param error_offset Offset where the error occured.\n     */\n    RuleParserError(const std::string& rule_spec, const std::string& hint = \"\",\n      const std::string& file = \"\", size_t error_line = 0, unsigned int error_offset = 0)\n      : _rule_spec(rule_spec),\n        _hint(hint),\n        _offset(error_offset),\n        _file(file),\n        _line(error_line)\n    {\n    }\n\n    /**\n     * @brief Sets the describtion of the error.\n     *\n     * @param hint Describes what happened.\n     */\n    void setHint(const std::string& hint)\n    {\n      _hint = hint;\n    }\n\n    /**\n     * @brief Sets the offset where the error occured.\n     *\n     * @param offset Offset where the error occured.\n     */\n    void setOffset(size_t offset)\n    {\n      _offset = offset;\n    }\n\n    /**\n     * @brief Sets exact location where the error occured.\n     *\n     * @param file File where the rule is located.\n     * @param error_line Line in the file where the error occured.\n     * @param error_offset Offset where the error occured.\n     */\n    void setFileInfo(const std::string& file, size_t error_line, size_t error_offset = 0)\n    {\n      _file = file;\n      _line = error_line;\n      _offset = error_offset;\n    }\n\n    /**\n     * @brief Describes the exception.\n     *\n     * @return Describes what happened.\n     */\n    const char* what() const noexcept\n    {\n      return \"RuleParserError\";\n    }\n\n    /**\n     * @brief Returns string representation of the rule.\n     *\n     * @return string representation of the rule.\n     */\n    const std::string& rule() const\n    {\n      return _rule_spec;\n    }\n\n    /**\n     * @brief Returns error hint.\n     *\n     * @return Hint.\n     */\n    const std::string& hint() const\n    {\n      return _hint;\n    }\n\n    /**\n     * @brief Decides whether information about error location is set.\n     *\n     * @return True if information about error location is set,\n     * false otherwise.\n     */\n    bool hasFileInfo() const\n    {\n      return !_file.empty();\n    }\n\n    /**\n     * @brief Returns string containing file,\n     * line and offset where the error occured.\n     *\n     * @return String containing file, line and offset where the error occured.\n     */\n    const std::string fileInfo() const\n    {\n      return _file + \": line=\" + std::to_string(_line) + \": offset=\" + std::to_string(_offset);\n    }\n\n    /**\n     * @brief File where the rule is located.\n     *\n     * @return File where the rule is located.\n     */\n    const std::string& file() const\n    {\n      return _file;\n    }\n\n    /**\n     * @brief Line number where the rule is located.\n     *\n     * @return line number where the rule is located.\n     */\n    size_t line() const\n    {\n      return _line;\n    }\n\n    /**\n     * @brief Offset where the error occured.\n     *\n     * @return offset where the error occured.\n     */\n    size_t offset() const\n    {\n      return _offset;\n    }\n\n  protected:\n    const std::string _rule_spec;\n    std::string _hint;\n    size_t _offset;\n    std::string _file;\n    size_t _line;\n  };\n\n  /**\n   * @brief Parses given string and returns Rule object if the string contains\n   * a valid rule.\n   *\n   * @param rule_spec String representation of the rule.\n   * @param file File where the rule is located.\n   * @param line Line number in the file where the rule is located.\n   * @param trace Trace.\n   * @return \\link Rule Rule\\endlink object.\n   * @throw RuleParseError If there is an error in the rule_spec.\n   */\n  DLL_PUBLIC Rule parseRuleFromString(const std::string& rule_spec, const std::string& file = std::string(), size_t line = 0,\n    bool trace = false);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/RuleSet.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Radovan Sroka <rsroka@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"RulePrivate.hpp\"\n#include \"RuleSet.hpp\"\n\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/RuleParser.hpp\"\n#include \"usbguard/Exception.hpp\"\n\n#include <fstream>\n\nnamespace usbguard\n{\n\n  Atomic<uint32_t> RuleSet::_id_next {0};\n\n  RuleSet::RuleSet(Interface* const interface_ptr)\n    : _interface_ptr(interface_ptr)\n  {\n    clearWritable();\n    _default_target = Rule::Target::Block;\n    _id_next = Rule::RootID + 1;\n  }\n\n  RuleSet::RuleSet(const RuleSet& rhs)\n  {\n    *this = rhs;\n  }\n\n  const RuleSet& RuleSet::operator=(const RuleSet& rhs)\n  {\n    _interface_ptr = rhs._interface_ptr;\n    _default_target = rhs._default_target;\n    _id_next = rhs._id_next.load();\n    _rules = rhs._rules;\n    return *this;\n  }\n\n  void RuleSet::setDefaultTarget(Rule::Target target)\n  {\n    std::unique_lock<std::mutex> op_lock(_op_mutex);\n    _default_target = target;\n  }\n\n  Rule::Target RuleSet::getDefaultTarget() const\n  {\n    std::unique_lock<std::mutex> op_lock(_op_mutex);\n    return _default_target;\n  }\n\n  uint32_t RuleSet::appendRule(const Rule& rule, uint32_t parent_id, bool lock)\n  {\n    std::unique_lock<std::mutex> op_lock(_op_mutex, std::defer_lock);\n    USBGUARD_LOG(Debug) << \"appendRule parent:\" << parent_id;\n\n    if (lock) {\n      op_lock.lock();\n    }\n\n    auto rule_ptr = std::make_shared<Rule>(rule);\n\n    /*\n     * If the rule doesn't already have a sequence number\n     * assigned, do it now. Otherwise update the sequence\n     * number counter so that we don't generate a duplicit\n     * one if assignID() gets called in the future.\n     *\n     */\n    if (rule_ptr->getRuleID() == Rule::DefaultID) {\n      assignID(rule_ptr);\n    }\n    else {\n      _id_next = std::max(_id_next.load(), rule_ptr->getRuleID() + 1);\n    }\n\n    /* Initialize conditions */\n    rule_ptr->internal()->initConditions(_interface_ptr);\n\n    /* Append the rule to the main rule table */\n    if (parent_id == Rule::LastID) {\n      _rules.push_back(rule_ptr);\n    }\n    else if (parent_id == 0) {\n      _rules.insert(_rules.begin(), rule_ptr);\n    }\n    else {\n      bool parent_found = false;\n\n      for (auto it = _rules.begin(); it != _rules.end(); ++it) {\n        const Rule& existing_rule = **it;\n\n        if (existing_rule.getRuleID() == parent_id) {\n          _rules.insert(it+1, rule_ptr);\n          parent_found = true;\n          break;\n        }\n      }\n\n      if (!parent_found) {\n        throw Exception(\"Rule set append\", \"rule\", \"Invalid parent ID\");\n      }\n    }\n\n    return rule_ptr->getRuleID();\n  }\n\n  uint32_t RuleSet::upsertRule(const Rule& match_rule, const Rule& new_rule, const bool parent_insensitive)\n  {\n    std::unique_lock<std::mutex> op_lock(_op_mutex);\n    std::shared_ptr<Rule> matching_rule;\n\n    for (auto& rule_ptr : _rules) {\n      if (rule_ptr->internal()->appliesTo(match_rule, parent_insensitive)) {\n        if (!matching_rule) {\n          matching_rule = rule_ptr;\n        }\n        else {\n          throw Exception(\"Rule set upsert\", \"rule\", \"Cannot upsert; multiple matching rules\");\n        }\n      }\n    }\n\n    if (matching_rule) {\n      const uint32_t id = matching_rule->getRuleID();\n      *matching_rule = new_rule;\n      matching_rule->setRuleID(id);\n      return id;\n    }\n    else {\n      return Rule::DefaultID;\n    }\n  }\n\n  std::shared_ptr<Rule> RuleSet::getRule(uint32_t id)\n  {\n    std::unique_lock<std::mutex> op_lock(_op_mutex);\n\n    for (auto const& rule : _rules) {\n      if (rule->getRuleID() == id) {\n        return rule;\n      }\n    }\n\n    throw Exception(\"Rule set lookup\", \"rule id\", \"id doesn't exist\");\n  }\n\n  bool RuleSet::removeRule(uint32_t id)\n  {\n    std::unique_lock<std::mutex> op_lock(_op_mutex);\n\n    for (auto it = _rules.begin(); it != _rules.end(); ++it) {\n      auto const& rule_ptr = *it;\n\n      if (rule_ptr->getRuleID() == id) {\n        _rules.erase(it);\n        return true;\n      }\n    }\n\n    /* FIXME: Remove the rule from the priority queue too */\n    throw Exception(\"Rule set remove\", \"rule id\", \"id doesn't exist\");\n  }\n\n  std::shared_ptr<Rule> RuleSet::getFirstMatchingRule(std::shared_ptr<const Rule> device_rule, uint32_t from_id) const\n  {\n    (void)from_id; /* TODO */\n    std::unique_lock<std::mutex> op_lock(_op_mutex);\n    USBGUARD_LOG(Trace);\n\n    for (auto& rule_ptr : _rules) {\n      if (rule_ptr->internal()->appliesToWithConditions(*device_rule, /*with_update*/true)) {\n        return rule_ptr;\n      }\n    }\n\n    std::shared_ptr<Rule> default_rule = std::make_shared<Rule>();\n    default_rule->setRuleID(Rule::ImplicitID);\n    default_rule->setTarget(_default_target);\n    return default_rule;\n  }\n\n  std::vector<std::shared_ptr<const Rule>> RuleSet::getRules()\n  {\n    std::vector<std::shared_ptr<const Rule>> rules;\n#if 0\n\n    for (auto const& rule : _rules) {\n      rules.push_back(rule);\n    }\n\n#else\n    std::copy(_rules.begin(), _rules.end(), std::back_inserter(rules));\n#endif\n    return rules;\n  }\n\n  uint32_t RuleSet::assignID(std::shared_ptr<Rule> rule)\n  {\n    rule->setRuleID(assignID());\n    return rule->getRuleID();\n  }\n\n  uint32_t RuleSet::assignID()\n  {\n    const auto next_id = _id_next + 1;\n\n    if (next_id >= Rule::LastID) {\n      throw std::out_of_range(\"Rule ID too high\");\n    }\n\n    _id_next = next_id;\n    return next_id - 1;\n  }\n\n  void RuleSet::setWritable()\n  {\n    _writable = true;\n  }\n\n  void RuleSet::clearWritable()\n  {\n    _writable = false;\n  }\n\n  bool RuleSet::isWritable()\n  {\n    return _writable;\n  }\n\n  void RuleSet::serialize(std::ostream& stream) const\n  {\n    std::unique_lock<std::mutex> op_lock(_op_mutex);\n\n    for (auto const& rule : _rules) {\n      std::string rule_string = rule->toString();\n      stream << rule_string << std::endl;\n    }\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/RuleSet.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Radovan Sroka <rsroka@redhat.com>\n//\n#pragma once\n\n#include \"usbguard/Typedefs.hpp\"\n#include \"usbguard/Rule.hpp\"\n\n#include <istream>\n#include <ostream>\n#include <mutex>\n\nnamespace usbguard\n{\n  class Interface;\n  class DLL_PUBLIC RuleSet\n  {\n  public:\n\n    RuleSet(Interface* const interface_ptr);\n    RuleSet(const RuleSet& rhs);\n    const RuleSet& operator=(const RuleSet& rhs);\n    virtual ~RuleSet() = default;\n\n    virtual void load() = 0;\n    virtual void save() = 0;\n\n    void serialize(std::ostream& stream) const;\n\n    void setDefaultTarget(Rule::Target target);\n    Rule::Target getDefaultTarget() const;\n    uint32_t appendRule(const Rule& rule, uint32_t parent_id = Rule::LastID, bool lock = true);\n    uint32_t upsertRule(const Rule& match_rule, const Rule& new_rule, bool parent_insensitive = false);\n    std::shared_ptr<Rule> getRule(uint32_t id);\n    bool removeRule(uint32_t id);\n\n    virtual std::shared_ptr<Rule> getFirstMatchingRule(std::shared_ptr<const Rule> device_rule, uint32_t from_id = 1) const;\n\n    std::vector<std::shared_ptr<const Rule>> getRules();\n    uint32_t assignID(std::shared_ptr<Rule> rule);\n    static uint32_t assignID();\n\n    void setWritable();\n    void clearWritable();\n    bool isWritable();\n\n  protected:\n    mutable std::mutex _op_mutex; /* mutex for operations on the rule set */\n\n    bool _writable{false};\n\n    Interface* _interface_ptr{nullptr};\n    Rule::Target _default_target;\n    static Atomic<uint32_t> _id_next;\n    std::vector<std::shared_ptr<Rule>> _rules;\n  };\n\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/Typedefs.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"Typedefs.hpp\"\n\nnamespace usbguard\n{\n  template<>\n  bool matches(const std::string& a, const std::string& b)\n  {\n    return a == b;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/Typedefs.hpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n\n#include <atomic>\n#include <string>\n\nnamespace usbguard\n{\n  /**\n   * @brief Checks if \\p a mathes \\p b.\n   *\n   * @param a First value.\n   * @param b Second value.\n   * @return True if \\p a mathes \\p b, false otherwise.\n   */\n  template<typename T>\n  bool matches(const T& a, const T& b)\n  {\n    return a == b;\n  }\n\n  template<>\n  bool matches(const std::string& a, const std::string& b);\n\n  /*\n   * Atomic\n   */\n  template<typename integral_type>\n  using Atomic = std::atomic<integral_type>;\n\n  /*\n   * Symbol visibility\n   */\n#if defined _WIN32 || defined __CYGWIN__\n  #ifdef BUILDING_DLL\n    #ifdef __GNUC__\n      #define DLL_PUBLIC __attribute__ ((dllexport))\n    #else\n      #define DLL_PUBLIC __declspec(dllexport) // Note: actually gcc seems to also support this syntax.\n    #endif\n  #else\n    #ifdef __GNUC__\n      #define DLL_PUBLIC __attribute__ ((dllimport))\n    #else\n      #define DLL_PUBLIC __declspec(dllimport) // Note: actually gcc seems to also support this syntax.\n    #endif\n  #endif\n  #define DLL_LOCAL\n#else\n  #if __GNUC__ >= 4\n    #define DLL_PUBLIC __attribute__ ((visibility (\"default\")))\n    #define DLL_LOCAL  __attribute__ ((visibility (\"hidden\")))\n  #else\n    #define DLL_PUBLIC\n    #define DLL_LOCAL\n  #endif\n#endif\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/USB.cpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Marek Tamaskovic <mtamasko@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"USB.hpp\"\n#include \"Common/ByteOrder.hpp\"\n#include \"Common/Utility.hpp\"\n#include \"Logger.hpp\"\n#include <stdexcept>\n#include <iostream>\n#include <algorithm>\n\nnamespace usbguard\n{\n  USBDeviceID::USBDeviceID(const std::string& vendor_id, const std::string& product_id)\n  {\n    checkDeviceID(vendor_id, product_id);\n    setVendorID(vendor_id);\n    setProductID(product_id);\n  }\n\n  void USBDeviceID::checkDeviceID(const std::string& vendor_id, const std::string& product_id)\n  {\n    if (vendor_id.empty() || vendor_id == \"*\") {\n      /* product id must be empty or \"*\" */\n      if (!product_id.empty() && product_id != \"*\") {\n        throw std::runtime_error(\"Invalid USB device id format\");\n      }\n    }\n\n    if (vendor_id.size() > USB_VID_STRING_MAX_LENGTH) {\n      throw std::runtime_error(\"Vendor ID string size out of range\");\n    }\n\n    if (product_id.size() > USB_PID_STRING_MAX_LENGTH) {\n      throw std::runtime_error(\"Product ID string size out of range\");\n    }\n  }\n\n  void USBDeviceID::setVendorID(const std::string& vendor_id)\n  {\n    checkDeviceID(vendor_id, _product_id);\n    _vendor_id = vendor_id;\n  }\n\n  void USBDeviceID::setProductID(const std::string& product_id)\n  {\n    checkDeviceID(_vendor_id, product_id);\n    _product_id = product_id;\n  }\n\n  const std::string& USBDeviceID::getVendorID() const\n  {\n    return _vendor_id;\n  }\n\n  const std::string& USBDeviceID::getProductID() const\n  {\n    return _product_id;\n  }\n\n  std::string USBDeviceID::toRuleString() const\n  {\n    return _vendor_id + \":\" + _product_id;\n  }\n\n  std::string USBDeviceID::toString() const\n  {\n    return toRuleString();\n  }\n\n  bool USBDeviceID::isSubsetOf(const USBDeviceID& rhs) const\n  {\n    if (_vendor_id.empty() || _vendor_id == \"*\") {\n      return true;\n    }\n    else if (_vendor_id != rhs._vendor_id) {\n      return false;\n    }\n\n    if (_product_id.empty() || _product_id == \"*\") {\n      return true;\n    }\n    else if (_product_id != rhs._product_id) {\n      return false;\n    }\n\n    return true;\n  }\n\n  template<>\n  bool Predicates::isSubsetOf(const USBDeviceID& source, const USBDeviceID& target)\n  {\n    USBGUARD_LOG(Trace) << \"source=\" << source.toString() << \" target=\" << target.toString();\n    const bool result = source.isSubsetOf(target);\n    USBGUARD_LOG(Trace) << \"result=\" << result;\n    return result;\n  }\n\n  template<>\n  bool Predicates::isSupersetOf(const USBDeviceID& source, const USBDeviceID& target)\n  {\n    USBGUARD_LOG(Trace) << \"source=\" << source.toString() << \" target=\" << target.toString();\n    const bool result = target.isSubsetOf(source);\n    USBGUARD_LOG(Trace) << \"result=\" << result;\n    return result;\n  }\n\n  USBInterfaceType::USBInterfaceType()\n  {\n    _bClass = 0;\n    _bSubClass = 0;\n    _bProtocol = 0;\n    _mask = 0;\n  }\n\n  USBInterfaceType::USBInterfaceType(uint8_t bClass, uint8_t bSubClass, uint8_t bProtocol, uint8_t mask)\n  {\n    _bClass = bClass;\n    _bSubClass = bSubClass;\n    _bProtocol = bProtocol;\n    _mask = mask;\n  }\n\n  USBInterfaceType::USBInterfaceType(const USBInterfaceDescriptor& descriptor, uint8_t mask)\n  {\n    _bClass = descriptor.bInterfaceClass;\n    _bSubClass = descriptor.bInterfaceSubClass;\n    _bProtocol = descriptor.bInterfaceProtocol;\n    _mask = mask;\n  }\n\n  USBInterfaceType::USBInterfaceType(const std::string& type_string)\n  {\n    std::vector<std::string> tokens;\n    tokenizeString(type_string, tokens, \":\", /*trim_empty=*/false);\n    _bClass = 0;\n    _bSubClass = 0;\n    _bProtocol = 0;\n    _mask = 0;\n\n    if (tokens.size() != 3) {\n      throw std::runtime_error(\"Invalid type_string\");\n    }\n\n    if (tokens[0].size() != 2) {\n      throw std::runtime_error(\"Invalid type_string\");\n    }\n    else {\n      _bClass = stringToNumber<uint8_t>(tokens[0], 16);\n      _mask |= MatchClass;\n    }\n\n    if (tokens[1] != \"*\") {\n      if (tokens[1].size() != 2) {\n        throw std::runtime_error(\"Invalid type_string\");\n      }\n      else {\n        _bSubClass = stringToNumber<uint8_t>(tokens[1], 16);\n        _mask |= MatchSubClass;\n      }\n    }\n\n    if (tokens[2] != \"*\") {\n      if (tokens[2].size() != 2) {\n        throw std::runtime_error(\"Invalid type_string\");\n      }\n      else {\n        _bProtocol = stringToNumber<uint8_t>(tokens[2], 16);\n        _mask |= MatchProtocol;\n      }\n    }\n\n    if (!(_mask == (MatchAll) ||\n        _mask == (MatchClass|MatchSubClass) ||\n        _mask == (MatchClass))) {\n      throw std::runtime_error(\"Invalid type_string\");\n    }\n  }\n\n  bool USBInterfaceType::operator==(const USBInterfaceType& rhs) const\n  {\n    return (_bClass == rhs._bClass &&\n        _bSubClass == rhs._bSubClass &&\n        _bProtocol == rhs._bProtocol &&\n        _mask == rhs._mask);\n  }\n\n  bool USBInterfaceType::appliesTo(const USBInterfaceType& rhs) const\n  {\n    if (_mask & MatchClass) {\n      if (_bClass != rhs._bClass) {\n        return false;\n      }\n    }\n\n    if (_mask & MatchSubClass) {\n      if (_bSubClass != rhs._bSubClass) {\n        return false;\n      }\n    }\n\n    if (_mask & MatchProtocol) {\n      if (_bProtocol != rhs._bProtocol) {\n        return false;\n      }\n    }\n\n    return true;\n  }\n\n  template<>\n  bool Predicates::isSubsetOf(const USBInterfaceType& source, const USBInterfaceType& target)\n  {\n    return source.appliesTo(target);\n  }\n\n  template<>\n  bool Predicates::isSupersetOf(const USBInterfaceType& source, const USBInterfaceType& target)\n  {\n    return source.appliesTo(target);\n  }\n\n  const std::string USBInterfaceType::typeString() const\n  {\n    return USBInterfaceType::typeString(_bClass, _bSubClass, _bProtocol, _mask);\n  }\n\n  const std::string USBInterfaceType::toRuleString() const\n  {\n    return typeString();\n  }\n\n  const std::string USBInterfaceType::typeString(uint8_t bClass, uint8_t bSubClass, uint8_t bProtocol, uint8_t mask)\n  {\n    std::string type_string(\"\");\n\n    if (mask & MatchClass) {\n      type_string.append(numberToString(bClass, \"\", 16, 2, '0') + \":\");\n\n      if (mask & MatchSubClass) {\n        type_string.append(numberToString(bSubClass, \"\", 16, 2, '0') + \":\");\n\n        if (mask & MatchProtocol) {\n          type_string.append(numberToString(bProtocol, \"\", 16, 2, '0'));\n        }\n        else {\n          type_string.append(\"*\");\n        }\n      }\n      else {\n        type_string.append(\"*:*\");\n      }\n    }\n    else {\n      throw std::runtime_error(\"BUG: cannot create type string, invalid mask\");\n    }\n\n    return type_string;\n  }\n\n  void USBParseDeviceDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor_raw, USBDescriptor* descriptor_out)\n  {\n    (void)parser;\n    const USBDeviceDescriptor* device_raw = reinterpret_cast<const USBDeviceDescriptor*>(descriptor_raw);\n    USBDeviceDescriptor* device_out = reinterpret_cast<USBDeviceDescriptor*>(descriptor_out);\n    /* Copy 1:1 */\n    *device_out = *device_raw;\n    /* Convert multibyte field to host endianness */\n    device_out->bcdUSB = busEndianToHost(device_raw->bcdUSB);\n    device_out->idVendor = busEndianToHost(device_raw->idVendor);\n    device_out->idProduct = busEndianToHost(device_raw->idProduct);\n    device_out->bcdDevice = busEndianToHost(device_raw->bcdDevice);\n  }\n\n  void USBParseConfigurationDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor_raw,\n    USBDescriptor* descriptor_out)\n  {\n    (void)parser;\n    const USBConfigurationDescriptor* configuration_raw = reinterpret_cast<const USBConfigurationDescriptor*>(descriptor_raw);\n    USBConfigurationDescriptor* configuration_out = reinterpret_cast<USBConfigurationDescriptor*>(descriptor_out);\n    /* Copy 1:1 */\n    *configuration_out = *configuration_raw;\n    /* Convert multibyte field to host endianness */\n    configuration_out->wTotalLength = busEndianToHost(configuration_raw->wTotalLength);\n  }\n\n  void USBParseInterfaceDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor_raw,\n    USBDescriptor* descriptor_out)\n  {\n    (void)parser;\n    const USBInterfaceDescriptor* interface_raw = reinterpret_cast<const USBInterfaceDescriptor*>(descriptor_raw);\n    USBInterfaceDescriptor* interface_out = reinterpret_cast<USBInterfaceDescriptor*>(descriptor_out);\n    /* Copy 1:1 */\n    *interface_out = *interface_raw;\n  }\n\n  void USBParseEndpointDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor_raw, USBDescriptor* descriptor_out)\n  {\n    (void)parser;\n    const USBEndpointDescriptor* endpoint_raw = reinterpret_cast<const USBEndpointDescriptor*>(descriptor_raw);\n    USBEndpointDescriptor* endpoint_out = reinterpret_cast<USBEndpointDescriptor*>(descriptor_out);\n    *endpoint_out = *endpoint_raw;\n    endpoint_out->wMaxPacketSize = busEndianToHost(endpoint_raw->wMaxPacketSize);\n  }\n\n  void USBParseAudioEndpointDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor_raw,\n    USBDescriptor* descriptor_out)\n  {\n    (void)parser;\n    const USBAudioEndpointDescriptor* endpoint_raw = reinterpret_cast<const USBAudioEndpointDescriptor*>(descriptor_raw);\n    USBAudioEndpointDescriptor* endpoint_out = reinterpret_cast<USBAudioEndpointDescriptor*>(descriptor_out);\n    *endpoint_out = *endpoint_raw;\n    endpoint_out->wMaxPacketSize = busEndianToHost(endpoint_raw->wMaxPacketSize);\n  }\n\n  void USBParseUnknownDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor_raw, USBDescriptor* descriptor_out)\n  {\n    (void)parser;\n    *descriptor_out = *descriptor_raw;\n  }\n\n  void USBDescriptorParserHooks::parseUSBDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor_raw,\n    USBDescriptor* descriptor_out)\n  {\n    USBGUARD_LOG(Trace);\n    const auto type = static_cast<USBDescriptorType>(descriptor_raw->bHeader.bDescriptorType);\n    const auto size = descriptor_raw->bHeader.bLength;\n\n    switch (type) {\n    case USBDescriptorType::Device:\n      switch (size) {\n      case sizeof(USBDeviceDescriptor):\n        USBParseDeviceDescriptor(parser, descriptor_raw, descriptor_out);\n        return;\n\n      default:\n        throw Exception(\"USB descriptor parser\", \"device descriptor\", \"unexpected descriptor size: \" + std::to_string(size));\n      }\n\n      break;\n\n    case USBDescriptorType::Configuration:\n      switch (size) {\n      case sizeof(USBConfigurationDescriptor):\n        USBParseConfigurationDescriptor(parser, descriptor_raw, descriptor_out);\n        return;\n\n      default:\n        throw Exception(\"USB descriptor parser\", \"configuration descriptor\", \"unexpected descriptor size: \" + std::to_string(size));\n      }\n\n      break;\n\n    case USBDescriptorType::Interface:\n      switch (size) {\n      case sizeof(USBInterfaceDescriptor):\n        USBParseInterfaceDescriptor(parser, descriptor_raw, descriptor_out);\n        return;\n\n      default:\n        throw Exception(\"USB descriptor parser\", \"interface descriptor\", \"unexpected descriptor size: \" + std::to_string(size));\n      }\n\n      break;\n\n    case USBDescriptorType::Endpoint:\n      switch (size) {\n      case sizeof(USBEndpointDescriptor):\n        USBParseEndpointDescriptor(parser, descriptor_raw, descriptor_out);\n        return;\n\n      case sizeof(USBAudioEndpointDescriptor):\n        USBParseAudioEndpointDescriptor(parser, descriptor_raw, descriptor_out);\n        return;\n\n      default:\n        throw Exception(\"USB descriptor parser\", \"endpoint descriptor\", \"unexpected descriptor size: \" + std::to_string(size));\n      }\n\n      break;\n\n    case USBDescriptorType::String:\n    case USBDescriptorType::AssociationInterface:\n    case USBDescriptorType::Unknown:\n    default:\n      USBParseUnknownDescriptor(parser, descriptor_raw, descriptor_out);\n      return;\n    }\n\n    /* UNREACHABLE */\n  }\n\n  void USBDescriptorParserHooks::loadUSBDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor)\n  {\n    (void)parser;\n    (void)descriptor;\n    USBGUARD_LOG(Trace);\n  }\n\n  USBDescriptorParser::USBDescriptorParser(USBDescriptorParserHooks& hooks)\n    : _hooks(hooks)\n  {\n  }\n\n  size_t USBDescriptorParser::parse(std::istream& stream)\n  {\n    size_t size_processed = 0;\n\n    while (stream.good()) {\n      USBDescriptorHeader header;\n      stream.read(reinterpret_cast<char*>(&header), sizeof header);\n\n      if (stream.gcount() != sizeof header) {\n        /*\n         * If we read nothing and the stream if at EOF, just break\n         * the loop and return normally. Checking the sanity of the\n         * parsed descriptor data is up to the higher layers.\n         */\n        if (stream.gcount() == 0 && stream.eof()) {\n          break;\n        }\n        /*\n         * Otherwise throw an exception because there's unknown garbage\n         * in the stream which cannot be a valid USB descriptor.\n         */\n        else {\n          throw std::runtime_error(\"Cannot parse descriptor data: partial read while reading header data\");\n        }\n      }\n\n      /*\n       * The bLength value has to be at least 2, because that is the size of the USB\n       * descriptor header.\n       */\n      if (header.bLength < sizeof(USBDescriptorHeader)) {\n        throw std::runtime_error(\"Invalid descriptor data: bLength is less than the size of the header\");\n      }\n\n      /*\n       * Let's try to read the rest of the descriptor data before we start looking\n       * for the descriptor type handler. If there's not enough data in the stream,\n       * then there's no point for searching for the handler.\n       */\n      USBDescriptor descriptor;\n      descriptor.bHeader = header;\n      memset(&descriptor.bDescriptorData, 0, sizeof descriptor.bDescriptorData);\n      /*\n       * We read (bLength - header_size) amount of data here because the bLength value\n       * counts in the size of the header too and we already read it from the stream.\n       */\n      stream.read(reinterpret_cast<char*>(&descriptor.bDescriptorData), header.bLength - sizeof(USBDescriptorHeader));\n\n      if (stream.gcount() != (std::streamsize)(header.bLength - sizeof(USBDescriptorHeader))) {\n        throw std::runtime_error(\"Invalid descriptor data: bLength value larger than the amount of available data\");\n      }\n\n      USBDescriptor descriptor_parsed;\n      descriptor_parsed.bHeader = header;\n      memset(&descriptor_parsed.bDescriptorData, 0, sizeof descriptor_parsed.bDescriptorData);\n      _hooks.parseUSBDescriptor(this, &descriptor, &descriptor_parsed);\n      _hooks.loadUSBDescriptor(this, &descriptor_parsed);\n      setDescriptor(header.bDescriptorType, descriptor_parsed);\n      size_processed += header.bLength;\n    }\n\n    return size_processed;\n  }\n\n  const std::vector<USBDescriptor>* USBDescriptorParser::getDescriptor(uint8_t bDescriptorType) const\n  {\n    auto const& it = _dstate_map.find(bDescriptorType);\n\n    if (it == _dstate_map.end()) {\n      return nullptr;\n    }\n\n    return &it->second;\n  }\n\n  void USBDescriptorParser::setDescriptor(uint8_t bDescriptorType, const USBDescriptor& descriptor)\n  {\n    auto& descriptors = _dstate_map[bDescriptorType];\n    bool set = false;\n\n    for (auto& stored_descriptor : descriptors) {\n      if (stored_descriptor.bHeader.bLength == descriptor.bHeader.bLength) {\n        stored_descriptor = descriptor;\n        set = true;\n      }\n    }\n\n    if (!set) {\n      descriptors.push_back(descriptor);\n    }\n\n    /*\n     * Count in the descriptor no matter if we overwrote one or not.\n     * We are counting all occurences of a descriptor type.\n     */\n    ++_count_map[bDescriptorType];\n  }\n\n  void USBDescriptorParser::delDescriptor(uint8_t bDescriptorType)\n  {\n    _dstate_map.erase(bDescriptorType);\n  }\n\n  bool USBDescriptorParser::haveDescriptor(uint8_t bDescriptorType) const\n  {\n    return _dstate_map.count(bDescriptorType) > 0;\n  }\n\n  const std::vector<std::pair<uint8_t, size_t>> USBDescriptorParser::getDescriptorCounts() const\n  {\n    std::vector<std::pair<uint8_t, size_t>> counts;\n\n    for (auto const& kv : _count_map) {\n      counts.push_back(std::make_pair(kv.first, kv.second));\n    }\n\n    std::sort(counts.begin(), counts.end());\n    return counts;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/USB.hpp",
    "content": "//\n// Copyright (C) 2015 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//          Marek Tamaskovic <mtamasko@redhat.com>\n//\n#pragma once\n\n#include \"Predicates.hpp\"\n#include \"Typedefs.hpp\"\n\n#include <functional>\n#include <string>\n#include <unordered_map>\n#include <utility>\n#include <vector>\n\n#include <climits>\n#include <cstddef>\n#include <cstdint>\n\nnamespace usbguard\n{\n  /**\n   * @brief Maximum lenght of a string that is read from a USB descriptor.\n   *\n   * Since the string descriptors have an 8-bit length field, the\n   * maximum lenght of a string stored in a string descriptor is\n   * \\p UINT8_MAX minus the size of the length field (1 Byte) and the\n   * size of the type field (1 Byte).\n   */\n  const size_t USB_GENERIC_STRING_MAX_LENGTH = UINT8_MAX - 2;\n\n  /**\n   * @brief Maximum length of the vendor id in string form.\n   */\n  const size_t USB_VID_STRING_MAX_LENGTH = 4;\n\n  /**\n   * @brief Maximum lenght of the product id in string form.\n   */\n  const size_t USB_PID_STRING_MAX_LENGTH = 4;\n\n  /**\n   * @brief Maximum lenght of the port in string form.\n   */\n  const size_t USB_PORT_STRING_MAX_LENGTH = PATH_MAX;\n\n  /*\n   * NOTE: The USB specification dictates that all multibyte data fields\n   *       are in little-endian form. The structures defined bellow are\n   *       used for platform-independed passing of the USB descriptor\n   *       data to the Device class. The Device class assumes that the\n   *       values are in host-specific endianness.\n   */\n  const uint8_t USB_DESCRIPTOR_TYPE_UNKNOWN = 0x00;\n  const uint8_t USB_DESCRIPTOR_TYPE_DEVICE = 0x01;\n  const uint8_t USB_DESCRIPTOR_TYPE_CONFIGURATION = 0x02;\n  const uint8_t USB_DESCRIPTOR_TYPE_STRING = 0x03;\n  const uint8_t USB_DESCRIPTOR_TYPE_INTERFACE = 0x04;\n  const uint8_t USB_DESCRIPTOR_TYPE_ENDPOINT = 0x05;\n  const uint8_t USB_DESCRIPTOR_TYPE_ASSOCIATION_INTERFACE = 0x0b;\n\n  enum class USBDescriptorType : uint8_t {\n    Unknown = USB_DESCRIPTOR_TYPE_UNKNOWN,\n    Device = USB_DESCRIPTOR_TYPE_DEVICE,\n    Configuration = USB_DESCRIPTOR_TYPE_CONFIGURATION,\n    String = USB_DESCRIPTOR_TYPE_STRING,\n    Interface = USB_DESCRIPTOR_TYPE_INTERFACE,\n    Endpoint = USB_DESCRIPTOR_TYPE_ENDPOINT,\n    AssociationInterface = USB_DESCRIPTOR_TYPE_ASSOCIATION_INTERFACE\n  };\n\n  struct DLL_PUBLIC USBDescriptorHeader {\n    uint8_t bLength;\n    uint8_t bDescriptorType;\n  } __attribute__((packed));\n\n  struct DLL_PUBLIC USBDescriptor {\n    struct USBDescriptorHeader bHeader;\n    uint8_t bDescriptorData[256-sizeof(USBDescriptorHeader)];\n  } __attribute__((packed));\n\n  struct DLL_PUBLIC USBDeviceDescriptor {\n    struct USBDescriptorHeader bHeader;\n    uint16_t bcdUSB;\n    uint8_t bDeviceClass;\n    uint8_t bDeviceSubClass;\n    uint8_t bDeviceProtocol;\n    uint8_t bMaxPacketSize;\n    uint16_t idVendor;\n    uint16_t idProduct;\n    uint16_t bcdDevice;\n    uint8_t iManufacturer;\n    uint8_t iProduct;\n    uint8_t iSerialNumber;\n    uint8_t bNumConfigurations;\n  } __attribute__((packed));\n\n  struct DLL_PUBLIC USBConfigurationDescriptor {\n    struct USBDescriptorHeader bHeader;\n    uint16_t wTotalLength;\n    uint8_t bNumInterfaces;\n    uint8_t bConfigurationValue;\n    uint8_t iConfiguration;\n    uint8_t bmAttributes;\n    uint8_t bMaxPower;\n  } __attribute__((packed));\n\n  struct DLL_PUBLIC USBInterfaceDescriptor {\n    struct USBDescriptorHeader bHeader;\n    uint8_t bInterfaceNumber;\n    uint8_t bAlternateSetting;\n    uint8_t bNumEndpoints;\n    uint8_t bInterfaceClass;\n    uint8_t bInterfaceSubClass;\n    uint8_t bInterfaceProtocol;\n    uint8_t iInterface;\n  } __attribute__((packed));\n\n  struct USBEndpointDescriptor {\n    struct USBDescriptorHeader bHeader;\n    uint8_t bEndpointAddress;\n    uint8_t bmAttributes;\n    uint16_t wMaxPacketSize;\n    uint8_t bInterval;\n  } __attribute__((packed));\n\n  struct USBAudioEndpointDescriptor {\n    struct USBDescriptorHeader bHeader;\n    uint8_t bEndpointAddress;\n    uint8_t bmAttributes;\n    uint16_t wMaxPacketSize;\n    uint8_t bInterval;\n    uint8_t bRefresh;\n    uint8_t bSynchAddress;\n  } __attribute__((packed));\n\n  /**\n   * @brief Represents ID of a USB device.\n   *\n   * Format: \\<\\p vendor \\p id\\>:\\<\\p product \\p id\\>\n   * \\n\n   * Example: ffff:ffff\n   */\n  class DLL_PUBLIC USBDeviceID\n  {\n  public:\n    /**\n     * @brief Default constructor.\n     */\n    USBDeviceID() = default;\n\n    /**\n     * @brief Constructs a new ID with \\p vendor_id and \\p product_id.\n     *\n     * Also performs \\link checkDeviceID() checkDeviceID()\\endlink.\n     *\n     * @param vendor_id Vendor ID.\n     * @param product_id Product ID.\n     * @throw runtime_error If ID would have invalid format.\n     */\n    USBDeviceID(const std::string& vendor_id, const std::string& product_id = std::string());\n\n    /**\n     * @brief Default copy constructor.\n     *\n     * @param rhs USBDeviceID to copy.\n     */\n    USBDeviceID(const USBDeviceID& rhs) = default;\n\n    /**\n     * @brief Default copy assignment.\n     *\n     * @param rhs USBDeviceID to copy.\n     * @return New USBDeviceID object.\n     */\n    USBDeviceID& operator=(const USBDeviceID& rhs) = default;\n\n    /**\n     * @brief Checks if ID has a valid format.\n     *\n     * If vendor id is empty or \\p * then product id must also be empty\n     * or \\p *. Both vendor id and product id can not be larger then\n     * their maximum size.\n     *\n     * @param vendor_id Vendor ID.\n     * @param product_id Product ID.\n     * @throw runtime_error If ID has invalid format.\n     */\n    static void checkDeviceID(const std::string& vendor_id, const std::string& product_id);\n\n    /**\n     * @brief Sets vendor ID.\n     *\n     * Also performs \\link checkDeviceID() checkDeviceID()\\endlink.\n     *\n     * @param vendor_id Vendor ID.\n     * @throw runtime_error If vendor ID invalidates ID format.\n     * Respectively, if setting \\p vendor_id would cause\n     * \\link checkDeviceID() checkDeviceID()\\endlink to fail.\n     */\n    void setVendorID(const std::string& vendor_id);\n\n    /**\n     * @brief Sets product ID.\n     *\n     * Also performs \\link checkDeviceID() checkDeviceID()\\endlink.\n     *\n     * @param product_id Product ID.\n     * @throw runtime_error If product ID invalidates ID format.\n     * Respectively, if setting \\p product_id would cause \\link checkDeviceID()\n     * checkDeviceID()\\endlink to fail.\n     */\n    void setProductID(const std::string& product_id);\n\n    /**\n     * @brief Returns vendor ID.\n     *\n     * @return Vendor ID.\n     */\n    const std::string& getVendorID() const;\n\n    /**\n     * @brief Returns product ID.\n     *\n     * @return Product ID.\n     */\n    const std::string& getProductID() const;\n\n    /**\n     * @brief Returns ID in form of a string.\n     *\n     * String has the form: \\<vendor id\\>:\\<product id\\>.\n     *\n     * @return ID in form of a string.\n     */\n    std::string toRuleString() const;\n\n    /**\n     * @brief Same as toRuleString().\n     *\n     * @return ID in form of a string.\n     */\n    std::string toString() const;\n\n    /**\n     * @brief Checks if ID is subset of other ID.\n     *\n     * Basically checks if both IDs have the same vendor and product ID.\n     * Either vendor or product ID can be empty and it might still be a subset.\n     *\n     * @param rhs ID to compare with.\n     * @return True if this ID is subset of rhs ID, false otherwise.\n     */\n    bool isSubsetOf(const USBDeviceID& rhs) const;\n\n  private:\n    std::string _vendor_id; /**< Vendor ID */\n    std::string _product_id; /**< Product ID */\n  };\n\n  namespace Predicates DLL_PUBLIC\n  {\n    /**\n     * @brief Checks if source ID is subset of target ID.\n     *\n     * Basically checks if both IDs have the same vendor and product ID.\n     * Either vendor or product ID can be empty and it might still be a subset.\n     *\n     * @param source First USB device ID.\n     * @param target Second USB device ID.\n     * @return True if source ID is subset of target ID, false otherwise.\n     */\n    template<>\n    bool isSubsetOf(const USBDeviceID& source, const USBDeviceID& target);\n\n    /**\n     * @brief Checks if source ID is superset of target ID.\n     *\n     * Basically checks if source applies to target.\n     *\n     * @param source First USB device ID.\n     * @param target Second USB device ID.\n     * @return True if source ID is subset of target ID, false otherwise.\n     */\n    template<>\n    bool isSupersetOf(const USBDeviceID& source, const USBDeviceID& target);\n  }\n\n  /**\n   * @brief Represents USB interface.\n   *\n   * Format: three 8b numbers separated by a colon, where first number\n   * represents interface class, second number represents interface subclass\n   * and third number represents interface protocol.\\n\n   * Example: ff:ff:ff\n   */\n  class DLL_PUBLIC USBInterfaceType\n  {\n  public:\n    static const uint8_t MatchClass = 1<<0;\n    static const uint8_t MatchSubClass = 1<<1;\n    static const uint8_t MatchProtocol = 1<<2;\n    static const uint8_t MatchAll = MatchClass|MatchSubClass|MatchProtocol;\n\n    /**\n     * @brief Constructs new interface by setting everything to zero.\n     */\n    USBInterfaceType();\n\n    /**\n     * @brief Constructs new interface with given class, subclass,\n     * protocol and mask.\n     *\n     * Mask by default masks everything.\n     *\n     * @param bClass Interface mask.\n     * @param bSubClass Interface subclass.\n     * @param bProtocol Interface protocol.\n     * @param mask Interface mask.\n     */\n    USBInterfaceType(uint8_t bClass, uint8_t bSubClass, uint8_t bProtocol, uint8_t mask = MatchAll);\n\n    /**\n     * @brief Constructs new interface from existing interface descriptor\n     * and sets mask.\n     *\n     * Mask by default masks everything.\n     *\n     * @param descriptor Interface descriptor.\n     * @param mask Interface mask.\n     */\n    USBInterfaceType(const USBInterfaceDescriptor& descriptor, uint8_t mask = MatchAll);\n\n    /**\n     * @brief Constructs new interface from a string.\n     *\n     * @throw runtime_error If string is not in the correct interface format.\n     */\n    USBInterfaceType(const std::string& type_string);\n\n    /**\n     * @brief Compares two interfaces for equality.\n     *\n     * Interfaces are equal if they have the same class, subclass,\n     * protocol and mask.\n     *\n     * @param rhs Interface to compare with.\n     * @return True if interfaces are equal, false otherwise.\n     */\n    bool operator==(const USBInterfaceType& rhs) const;\n\n    /**\n     * @brief Checks whether non-masked parts of interface match rhs interface.\n     *\n     * @param rhs Interface to compare with.\n     * @return True if non-masked parts of interface match rhs interface,\n     * false otherwise.\n     */\n    bool appliesTo(const USBInterfaceType& rhs) const;\n\n    /**\n     * @brief Returns string representation of interface.\n     *\n     * Internally calls static version of\n     * \\link typeString() typeString()\\endlink.\n     *\n     * @return String representation of interface.\n     */\n    const std::string typeString() const;\n\n    /**\n     * @brief Returns string representation of interface.\n     *\n     * Synonym for \\link typeString() typeString()\\endlink.\n     *\n     * @return String representation of interface.\n     */\n    const std::string toRuleString() const;\n\n    /**\n     * @brief Returns string representation of interface.\n     *\n     * Masked parts of interface are exchanged with \\p *.\\n\n     * Example: 00:*:*\n     *\n     * @param bClass Interface class.\n     * @param bSubClass Interface subclass.\n     * @param bProtocol Interface protocol.\n     * @param mask Interface mask, default value is to mask everything.\n     * @return String representation of interface.\n     */\n    static const std::string typeString(uint8_t bClass, uint8_t bSubClass, uint8_t bProtocol, uint8_t mask = MatchAll);\n\n  private:\n    uint8_t _bClass; /**< Interface class. */\n    uint8_t _bSubClass; /**< Interface subclass */\n    uint8_t _bProtocol; /**< Interface protocol */\n    uint8_t _mask; /**< least significant bit masks interface class,\n                        2nd least significant bit masks interface subclass and\n                        3rd least significant bit masks interface protocol. */\n  };\n\n  namespace Predicates DLL_PUBLIC\n  {\n    /**\n     * @brief Checks whether non-masked parts of interface source match\n     * target interface.\n     *\n     * @param source First interface.\n     * @param target Second interface.\n     * @return True if non-masked parts of interface source match\n     * targer interface.\n     */\n    template<>\n    bool isSubsetOf(const USBInterfaceType& source, const USBInterfaceType& target);\n    template<>\n    bool isSupersetOf(const USBInterfaceType& source, const USBInterfaceType& target);\n  }\n\n  class USBDescriptorParser;\n\n  class DLL_PUBLIC USBDescriptorParserHooks\n  {\n  public:\n    virtual void parseUSBDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor_in, USBDescriptor* descriptor_out);\n    virtual void loadUSBDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor);\n  };\n\n  /**\n   * @brief Parses USB descriptors.\n   */\n  class DLL_PUBLIC USBDescriptorParser\n  {\n  public:\n    USBDescriptorParser(USBDescriptorParserHooks& hooks);\n\n    /**\n     * @brief Initiate parsing of USB descriptors from an input stream.\n     *\n     * @param stream Stream to parse.\n     * @return Number of bytes succesfully parsed/processed from the stream.\n     */\n    size_t parse(std::istream& stream);\n\n    /**\n     * @brief Returns a pointer to a USBDescriptor of type bDescriptorType that\n     * is stored in the USB descriptor state.\n     *\n     * If there's no such descriptor, then \\p nullptr is returned.\n     *\n     * @param bDescriptorType Type of descriptor.\n     * @return Pointer to a USBDescriptor of type \\p bDescriptorType\n     * or \\p nullptr if there's no such descriptor.\n     */\n    const std::vector<USBDescriptor>* getDescriptor(uint8_t bDescriptorType) const;\n\n    /**\n     * @brief Set the active instance of an USB descriptor\n     * of type \\p bDescriptorType.\n     *\n     * @param bDescriptorType Type of descriptor.\n     * @descriptor Descriptor to set.\n     */\n    void setDescriptor(uint8_t bDescriptorType, const USBDescriptor& descriptor);\n\n    /**\n     * @brief Delete the active instance of an USB descriptor\n     * of \\p bDescriptorType type.\n     *\n     * @param bDescriptorType Type of descriptor to remove.\n     */\n    void delDescriptor(uint8_t bDescriptorType);\n\n    /**\n     *\n     * @brief Checks whether descriptor state contains a USB descriptor of type\n     * \\p bDescriptorType.\n     *\n     * @param bDescriptorType Type of descriptor.\n     * @return True if the descriptor state contains a USB descriptor of type\n     * bDescriptorType, false otherwise.\n     */\n    bool haveDescriptor(uint8_t bDescriptorType) const;\n\n    /**\n     * @brief Returns a vector of (\\p bDescriptorType, \\p count) pairs.\n     *\n     * @return Vector of (\\p bDescriptorType, \\p count) pairs.\n     */\n    const std::vector<std::pair<uint8_t, size_t>> getDescriptorCounts() const;\n\n  private:\n    USBDescriptorParserHooks& _hooks;\n\n    std::unordered_map<uint8_t, std::vector<USBDescriptor>> _dstate_map; /**< Descriptor State Map */\n    std::unordered_map<uint8_t, size_t> _count_map;\n  };\n\n  void DLL_PUBLIC USBParseDeviceDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor_raw,\n    USBDescriptor* descriptor_out);\n  void DLL_PUBLIC USBParseConfigurationDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor_raw,\n    USBDescriptor* descriptor_out);\n  void DLL_PUBLIC USBParseInterfaceDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor_raw,\n    USBDescriptor* descriptor_out);\n  void DLL_PUBLIC USBParseEndpointDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor_raw,\n    USBDescriptor* descriptor_out);\n  void DLL_PUBLIC USBParseAudioEndpointDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor_raw,\n    USBDescriptor* descriptor_out);\n  void DLL_PUBLIC USBParseUnknownDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor_raw,\n    USBDescriptor* descriptor_out);\n\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/USBGuard.cpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_BUILD_CONFIG_H\n  #include <build-config.h>\n#endif\n\n#include \"USBGuard.hpp\"\n#include \"ConfigFile.hpp\"\n#include \"Exception.hpp\"\n#include \"Logger.hpp\"\n\n#include <string>\n#include <cstdlib>\n\n#ifndef USBGUARD_DAEMON_CONF_PATH\n  #warning \"Using hard-coded USBGUARD_DAEMON_CONF_PATH value\"\n  #define USBGUARD_DAEMON_CONF_PATH \"/etc/usbguard/usbguard-daemon.conf\"\n#endif\n\nnamespace usbguard\n{\n  std::string getDaemonConfigPath()\n  {\n    USBGUARD_LOG(Trace);\n    const char* const  envval = getenv(\"USBGUARD_DAEMON_CONF\");\n\n    if (envval != nullptr) {\n      USBGUARD_LOG(Debug) << \"Returning environment variable path: \" << envval;\n      return std::string(envval);\n    }\n    else {\n      USBGUARD_LOG(Debug) << \"Returning build-time path: \" << USBGUARD_DAEMON_CONF_PATH;\n      return std::string(USBGUARD_DAEMON_CONF_PATH);\n    }\n  }\n\n  std::string getIPCAccessControlFilesPath()\n  {\n    USBGUARD_LOG(Trace);\n    const std::string daemon_conf_path = getDaemonConfigPath();\n    ConfigFile daemon_conf;\n    daemon_conf.open(daemon_conf_path);\n\n    if (daemon_conf.hasSettingValue(\"IPCAccessControlFiles\")) {\n      return daemon_conf.getSettingValue(\"IPCAccessControlFiles\");\n    }\n\n    throw Exception(\"getIPCAccessControlFilesPath\", daemon_conf_path, \"IPCAccessControlFiles not set\");\n  }\n\n  std::string getIPCAccessControlFileBasename(const std::string& name, bool is_group)\n  {\n    USBGUARD_LOG(Trace) << \"name=\" << name << \" is_group=\" << is_group;\n    std::string basename;\n\n    if (is_group) {\n      basename.append(\":\");\n    }\n\n    basename.append(name);\n    return basename;\n  }\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Library/public/usbguard/USBGuard.hpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#pragma once\n\n#include \"Typedefs.hpp\"\n\n#include <string>\n\nnamespace usbguard\n{\n  /**\n   * @brief Retrieves daemon config path from environment variable\n   * \\p USBGUARD_DAEMON_CONF\\. If it fails, then it retrieves daemon config\n   * path from build-time path \\p USBGUARD_DAEMON_CONF_PATH.\n   *\n   * @return Daemon config path.\n   */\n  DLL_PUBLIC std::string getDaemonConfigPath();\n\n  /**\n   * @brief Reads daemon config file and retrieves setting value of\n   * \\p IPCAccessControlFiles.\n   *\n   * @return IPCAccessControlFiles path.\n   * @throw Exception If setting \\p IPCAccessControlFiles is not set in\n   * daemon config file.\n   */\n  DLL_PUBLIC std::string getIPCAccessControlFilesPath();\n\n  /**\n   * Returns string \\\":<name>\\\" if name is group name, \\\"<name>\\\" otherwise.\n   *\n   * @param name User name or group name.\n   * @param is_group Determines if name is a group name.\n   * @return \\p IPCAccessControlFile basename.\n   */\n  DLL_PUBLIC std::string getIPCAccessControlFileBasename(const std::string& name, bool is_group);\n} /* namespace usbguard */\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Tests/.gitignore",
    "content": "/test-regression\n/test-unit\n*.log\n*.trs\n"
  },
  {
    "path": "src/Tests/Fuzzers/Makefile.am",
    "content": "##\n## Copyright (C) 2018 Red Hat, Inc.\n##\n## This program is free software; you can redistribute it and/or modify\n## it under the terms of the GNU General Public License as published by\n## the Free Software Foundation; either version 2 of the License, or\n## (at your option) any later version.\n##\n## This program is distributed in the hope that it will be useful,\n## but WITHOUT ANY WARRANTY; without even the implied warranty of\n## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n## GNU General Public License for more details.\n##\n## You should have received a copy of the GNU General Public License\n## along with this program.  If not, see <http://www.gnu.org/licenses/>.\n##\n## Authors: Allen Webb <allenwebb@google.com>\n##\nAM_CPPFLAGS=\\\n\t-I$(top_srcdir)/src \\\n\t-I$(top_srcdir)/src/Library \\\n\t-I$(top_srcdir)/src/Library/public \\\n\t@pegtl_CFLAGS@\n\nAM_LDFLAGS=\\\n\t-static $(top_builddir)/libusbguard.la -lFuzzingEngine\n\nEXTRA_PROGRAMS=\\\n\tfuzzer-rules \\\n\tfuzzer-uevent \\\n\tfuzzer-usb-descriptor\n\nfuzzer_rules_SOURCES=\\\n\tfuzzer-rules.cpp\n\nfuzzer_uevent_SOURCES=\\\n\tfuzzer-uevent.cpp\n\nfuzzer_usb_descriptor_SOURCES=\\\n\tfuzzer-usb-descriptor.cpp\n"
  },
  {
    "path": "src/Tests/Fuzzers/fuzzer-rules.cpp",
    "content": "//\n// Copyright (C) 2018 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Allen Webb <allenwebb@google.com>\n//\n#include <unistd.h>\n\n#include <cstdint>\n\n#include <tao/pegtl.hpp>\n#if TAO_PEGTL_VERSION_MAJOR >= 3\n  #include <tao/pegtl/contrib/trace.hpp>\n#else\n  #include <tao/pegtl/contrib/tracer.hpp>\n#endif\n#include <usbguard/Rule.hpp>\n#include <usbguard/RuleParser.hpp>\n\nusing namespace usbguard;\n\n// Silence warning\nextern \"C\" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size);\n\nextern \"C\" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)\n{\n  std::string rule_spec(data, data + size);\n\n  try {\n    auto rule = parseRuleFromString(rule_spec, \"fuzzer_input\", 0,\n        false /*trace*/);\n  }\n  catch (const RuleParserError& ex) {\n    // An invalid rule is ok.\n  }\n\n  return 0;\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Tests/Fuzzers/fuzzer-uevent.cpp",
    "content": "//\n// Copyright (C) 2018 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Allen Webb <allenwebb@google.com>\n//\n#include <unistd.h>\n\n#include <cstdint>\n\n#include <tao/pegtl.hpp>\n#if TAO_PEGTL_VERSION_MAJOR >= 3\n  #include <tao/pegtl/contrib/trace.hpp>\n#else\n  #include <tao/pegtl/contrib/tracer.hpp>\n#endif\n#include <UEvent.hpp>\n\nusing namespace usbguard;\n\n// Silence warning\nextern \"C\" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size);\n\nextern \"C\" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)\n{\n  try {\n    UEvent uevent = UEvent::fromString(std::string(data, data + size));\n  }\n  catch (const tao::pegtl::parse_error& ex) {\n    // Parser errors are ok.\n  }\n\n  return 0;\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Tests/Fuzzers/fuzzer-usb-descriptor.cpp",
    "content": "//\n// Copyright (C) 2018 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Allen Webb <allenwebb@google.com>\n//\n#include <unistd.h>\n\n#include <cstdint>\n#include <sstream>\n#include <stdexcept>\n\n#include <usbguard/Exception.hpp>\n#include <usbguard/USB.hpp>\n\nusing namespace usbguard;\n\nnamespace\n{\n\n  class DummyHooks : public USBDescriptorParserHooks\n  {\n  public:\n    void loadUSBDescriptor(USBDescriptorParser* parser, const USBDescriptor* descriptor) override\n    {\n      (void)parser;\n      (void)descriptor;\n    }\n  };\n}  // namespace\n\n// Silence warning\nextern \"C\" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size);\n\nextern \"C\" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)\n{\n  DummyHooks hooks;\n  USBDescriptorParser parser(hooks);\n  std::istringstream data_stream(std::string(data, data + size));\n\n  try {\n    parser.parse(data_stream);\n  }\n  catch (const std::runtime_error& ex) {\n    // Parser errors are ok.\n  }\n  catch (const usbguard::Exception& ex) {\n    // Parser errors are ok.\n  }\n\n  return 0;\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Tests/LDAP/Sanity/ldap-nsswitch.sh",
    "content": "#!/bin/bash\n#\n#\n# Copyright (C) 2018 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Radovan Sroka <rsroka@redhat.com>          \n#\n\n\n# Test how usbguard treats nsswitch.conf\n\nif [ $1 ]\nthen\n    source \"../../bash-testlib.sh\" || exit 129\n    LDAP_UTIL=../ldap.sh\n    NSSWITCH=../nsswitch.sh\n    USBGUARD=../../../../build/usbguard\n    USBGUARD_DAEMON=../../../../build/usbguard-daemon\n    USBGUARD_DBUS=../../../../build/usbguard-dbus\nelse\n    source \"${USBGUARD_TESTLIB_BASH}\" || exit 129\nfi\n\nsource ${NSSWITCH} || exit 129\n\n#creates TMPDIR \nnss_backup\nnss_set \"ldap\"\n\nif ! [ -d /etc/usbguard ]\nthen\n    sudo -n mkdir -p /etc/usbguard\nfi\n\nif [ -f /etc/usbguard/usbguard-ldap.conf ]\nthen\n    sudo -n sh -c \"cp /etc/usbguard/usbguard-ldap.conf ${TMPDIR}/usbguard-ldap.conf.back\"\n    LDAP_CONF=\"yes\"\nfi\n\nsudo -n cat > \"${TMPDIR}/policy.ldif\" <<EOF\ndn: cn=Rule1,ou=USBGuard,dc=example,dc=com\nobjectClass: USBGuardPolicy\nobjectClass: top\ncn: Rule1\nUSBGuardRuleTarget: allow\nUSBGuardHost: *\nUSBGuardRuleOrder: 1\nEOF\n\n${LDAP_UTIL} delete && true\n${LDAP_UTIL} setup\n${LDAP_UTIL} policy \"${TMPDIR}/policy.ldif\"\n\nexport config_path=\"${TMPDIR}/usbguard-daemon.conf\"\nexport ldap_path=\"${TMPDIR}/usbguard-ldap.conf\"\n\nsudo -n cat > \"$config_path\" <<EOF\nImplicitPolicyTarget=block\nPresentDevicePolicy=keep\nPresentControllerPolicy=keep\nInsertedDevicePolicy=apply-policy\nRestoreControllerDeviceState=false\nDeviceManagerBackend=uevent\nIPCAllowedUsers=$(id -un)\nIPCAllowedGroups=$(id -gn)\nDeviceRulesWithPort=false\nEOF\n\nsudo -n cat > \"$ldap_path\" <<EOF\nURI ldap://127.0.0.1/\nROOTDN cn=Manager,dc=example,dc=com\nbase dc=example,dc=com\nROOTPW passme\nEOF\n\nsudo -n cp \"$ldap_path\" /etc/usbguard/usbguard-ldap.conf\n\nCOUNTER=\"0\"\ndeclare -A BAD\nPIDFILE=\"/var/run/usbguard.pid\"\n\nfunction grep_and_fail ()\n{\n    grep \"$1\" $TMPDIR/usbguard.log\n    GREP=$?\n\n    if ! [ $GREP -eq \"0\" ]\n    then\n        BAD[$COUNTER]=\"$1\"\n        COUNTER=$(( $COUNTER + 1 ))\n        head -n 100 $TMPDIR/usbguard.log\n    fi\n}\n\nlines=(\n    \"usbguard:files\"\n    \"usbguard: files\"\n    \"  usbguard  :  files\"\n    \"  usbguard  :files\"\n    \"USBGuard: files\"\n    \"usbguard: FILES\"\n    \" usbguard: Files \"\n\n    \"usbguard:ldap\"\n    \"usbguard: ldap\"\n    \"  usbguard  :  ldap\"\n    \"  usbguard  :ldap\"\n    \"USBGuard: ldap\"\n    \"usbguard: LDAP\"\n    \" usbguard: Ldap \"\n\n    \"\"\n    \"usbguard: ddddddddddddddddddddd\"\n    \"$(printf 'usbguard: files\\nusbguard: ldap' )\"\n    \"$(printf 'usbguard: ldap\\nusbguard: files' )\"  \n)\n\nresults=(\n    \"Fetched value is -> FILES <-\"\n    \"Fetched value is -> FILES <-\"\n    \"Fetched value is -> FILES <-\"\n    \"Fetched value is -> FILES <-\"\n    \"Fetched value is -> FILES <-\"\n    \"Fetched value is -> FILES <-\"\n    \"Fetched value is -> FILES <-\"\n\n    \"Fetched value is -> LDAP <-\"\n    \"Fetched value is -> LDAP <-\"\n    \"Fetched value is -> LDAP <-\"\n    \"Fetched value is -> LDAP <-\"\n    \"Fetched value is -> LDAP <-\"\n    \"Fetched value is -> LDAP <-\"\n    \"Fetched value is -> LDAP <-\"\n\n    \"Value is not valid or not set, using default FILES\"\n    \"Value is not valid or not set, using default FILES\"\n    \"Fetched value is -> FILES <-\"\n    \"Fetched value is -> LDAP <-\"\n)\n\n# combinations ##########################################################################################\nfor i in `seq 0 $(( ${#lines[@]} - 1 ))`\ndo\n    nss_remove\n    sudo -n sh -c \"echo \\\"${lines[$i]}\\\" >> /etc/nsswitch.conf\"\n\n    cat /etc/nsswitch.conf\n\n    sudo -n ${USBGUARD_DAEMON} -Pd -f -c $config_path 2> $TMPDIR/usbguard.log\n\n    echo \"RC == $?\"\n\n    sleep 1\n\n    echo \"line: ${lines[$i]} | pattern: ${results[$i]}\"\n\n    grep_and_fail \"${results[$i]}\"\n\n    # for sure, it should be already dead because there is no data in LDAP\n    PID=$(sudo -n cat $PIDFILE)\n    sudo -n kill $PID\n    sudo -n rm -f $PIDFILE\n\ndone\n\n# empty nsswitch ########################################################################################\nsudo -n sh -c 'echo \"\" > /etc/nsswitch.conf'\n\nsudo -n ${USBGUARD_DAEMON} -Pd -f -c $config_path 2> $TMPDIR/usbguard.log\n\necho \"RC == $?\"\n\nsleep 1\n\nPID=$(sudo -n cat $PIDFILE)\nsudo -n kill $PID\nrckilla=$?\nsudo -n rm -f $PIDFILE\n\ngrep_and_fail \"Value is not valid or not set, using default FILES\"\n\n# removed nsswitch #####################################################################################\nsudo -n rm -rf /etc/nsswitch.conf\n\nsudo -n ${USBGUARD_DAEMON} -Pd -f -c $config_path 2> $TMPDIR/usbguard.log\n\necho \"RC == $?\"\n\nsleep 1\n\nPID=$(sudo -n cat $PIDFILE)\nsudo -n kill $PID\nrckillb=$?\nsudo -n rm -f $PIDFILE\n\ngrep_and_fail '(i) Error when opening nsswitch file: /etc/nsswitch.conf: No such file or directory'\n\nif [ $rckillb -eq \"1\" ] # expected to fail\nthen\n    rckillb=\"0\"\nfi\n\n#######################################################################################################\n\n${LDAP_UTIL} delete\n\nif [ \"$LDAP_CONF\" == \"yes\" ]\nthen\n    sudo -n sh -c \"cp ${TMPDIR}/usbguard-ldap.conf.back /etc/usbguard/usbguard-ldap.conf\"\nfi\nnss_restore\n\nexit $(( ${#BAD[@]} + $rckilla + $rckillb ))\n"
  },
  {
    "path": "src/Tests/LDAP/UseCase/ldap-test-1.sh",
    "content": "#!/bin/bash\n#\n#\n# Copyright (C) 2018 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Radovan Sroka <rsroka@redhat.com>          \n#\n\n\n# Run USBGuard with non empty ruleset\n# with configured ldap\n\nif [ $1 ]\nthen\n    source \"../../bash-testlib.sh\" || exit 129\n    LDAP_UTIL=../ldap.sh\n    NSSWITCH=../nsswitch.sh\n    USBGUARD=../../../../build/usbguard\n    USBGUARD_DAEMON=../../../../build/usbguard-daemon\n    USBGUARD_DBUS=../../../../build/usbguard-dbus\nelse\n    source \"${USBGUARD_TESTLIB_BASH}\" || exit 129\nfi\n\nsource ${NSSWITCH} || exit 129\n\n#creates TMPDIR \nnss_backup\nnss_set \"ldap\"\n\nif ! [ -d /etc/usbguard ]\nthen\n    sudo mkdir -p /etc/usbguard\nfi \n\nif [ -f /etc/usbguard/usbguard-ldap.conf ]\nthen\n    cp /etc/usbguard/usbguard-ldap.conf ${TMPDIR}/usbguard-ldap.conf.back\n    LDAP_CONF=\"yes\"\nfi\n\nexport config_path=\"${TMPDIR}/usbguard-daemon.conf\"\nexport ldap_path=\"${TMPDIR}/usbguard-ldap.conf\"\n\nsudo -n cat > \"${TMPDIR}/policy.ldif\" <<EOF\ndn: cn=Rule1,ou=USBGuard,dc=example,dc=com\nobjectClass: USBGuardPolicy\nobjectClass: top\ncn: Rule1\nUSBGuardRuleTarget: allow\nUSBGuardHost: *\nUSBGuardRuleOrder: 1\nEOF\n\nsudo -n cat > \"$config_path\" <<EOF\nImplicitPolicyTarget=block\nPresentDevicePolicy=keep\nPresentControllerPolicy=keep\nInsertedDevicePolicy=apply-policy\nRestoreControllerDeviceState=false\nDeviceManagerBackend=uevent\nIPCAllowedUsers=$(id -un)\nIPCAllowedGroups=$(id -gn)\nDeviceRulesWithPort=false\nEOF\n\nsudo -n cat > \"$ldap_path\" <<EOF\nURI ldap://127.0.0.1/\nROOTDN cn=Manager,dc=example,dc=com\nbase dc=example,dc=com\nROOTPW passme\nEOF\n\nsudo -n cat \"$config_path\"\nsudo -n cat \"$ldap_path\"\n\nsudo -n cp \"$ldap_path\" /etc/usbguard/usbguard-ldap.conf\n\nPIDFILE=\"/var/run/usbguard.pid\"\n\n${LDAP_UTIL} delete && true\n${LDAP_UTIL} setup\n${LDAP_UTIL} policy \"${TMPDIR}/policy.ldif\"\n\nsudo -n ${USBGUARD_DAEMON} -Pd -f -c $config_path 2> $TMPDIR/usbguard.log\nRC=$?\necho \"RC == $RC\"\n\ncat $TMPDIR/usbguard.log\n\n\n\nPID=$(sudo -n cat $PIDFILE)\nsudo -n kill $PID\nKILLRC=$?\nsudo -n rm -f $PIDFILE\n\n\n\ngrep \"Finished daemonization\" $TMPDIR/usbguard.log\nGREP1=$?\n\ngrep -i \"Sanitizer\" $TMPDIR/usbguard.log\nGREP2=$?\n\nif [ \"$GREP2\" -eq \"0\" ]  # expected fail\nthen\n    GREP2=\"1\"\nelse\n    GREP2=\"0\"\nfi\n\n\n${LDAP_UTIL} delete\n\nif [ \"$LDAP_CONF\" == \"yes\" ]\nthen\n    sudo -n sh -c \"cp ${TMPDIR}/usbguard-ldap.conf.back /etc/usbguard/usbguard-ldap.conf\"\nfi\n\nnss_restore\n\nexit $(( $RC + $GREP1 + $GREP2 + $KILLRC ))\n"
  },
  {
    "path": "src/Tests/LDAP/UseCase/ldap-test-2.sh",
    "content": "#!/bin/bash\n#\n#\n# Copyright (C) 2018 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Radovan Sroka <rsroka@redhat.com>          \n#\n\n\n# Run USBGuard with empty ruleset\n# with configured ldap\n\nif [ $1 ]\nthen\n    source \"../../bash-testlib.sh\" || exit 129\n    LDAP_UTIL=../ldap.sh\n    NSSWITCH=../nsswitch.sh\n    USBGUARD=../../../../build/usbguard\n    USBGUARD_DAEMON=../../../../build/usbguard-daemon\n    USBGUARD_DBUS=../../../../build/usbguard-dbus\nelse\n    source \"${USBGUARD_TESTLIB_BASH}\" || exit 129\nfi\n\nsource ${NSSWITCH} || exit 129\n\n#creates TMPDIR \nnss_backup\nnss_set \"ldap\"\n\nif ! [ -d /etc/usbguard ]\nthen\n    sudo mkdir -p /etc/usbguard\nfi \n\nif [ -f /etc/usbguard/usbguard-ldap.conf ]\nthen\n    cp /etc/usbguard/usbguard-ldap.conf ${TMPDIR}/usbguard-ldap.conf.back\n    LDAP_CONF=\"yes\"\nfi\n\nexport config_path=\"${TMPDIR}/usbguard-daemon.conf\"\nexport ldap_path=\"${TMPDIR}/usbguard-ldap.conf\"\n\n# sudo -n cat > \"${TMPDIR}/policy.ldif\" <<EOF\n# dn: cn=Rule1,ou=USBGuard,dc=example,dc=com\n# objectClass: USBGuardPolicy\n# objectClass: top\n# cn: Rule1\n# RuleType: allow\n# USBGuardHost: *\n# USBGuardOrder: 1\n# EOF\n\nsudo -n cat > \"$config_path\" <<EOF\nImplicitPolicyTarget=block\nPresentDevicePolicy=keep\nPresentControllerPolicy=keep\nInsertedDevicePolicy=apply-policy\nRestoreControllerDeviceState=false\nDeviceManagerBackend=uevent\nIPCAllowedUsers=$(id -un)\nIPCAllowedGroups=$(id -gn)\nDeviceRulesWithPort=false\nEOF\n\nsudo -n cat > \"$ldap_path\" <<EOF\nURI ldap://127.0.0.1/\nROOTDN cn=Manager,dc=example,dc=com\nbase dc=example,dc=com\nROOTPW passme\nEOF\n\nsudo -n cat \"$config_path\"\nsudo -n cat \"$ldap_path\"\n\nsudo -n cp \"$ldap_path\" /etc/usbguard/usbguard-ldap.conf\n\nPIDFILE=\"/var/run/usbguard.pid\"\n\n${LDAP_UTIL} delete && true\n${LDAP_UTIL} setup\n# ${LDAP_UTIL} policy \"${TMPDIR}/policy.ldif\"\n\nsudo -n ${USBGUARD_DAEMON} -Pd -f -c $config_path 2> $TMPDIR/usbguard.log\nRC=$?\necho \"RC == $RC\"\n\ncat $TMPDIR/usbguard.log\n\n\n\n\nPID=$(sudo -n cat $PIDFILE)\nsudo -n kill $PID\nKILLRC=$?\nsudo -n rm -f $PIDFILE\n\n\n\ngrep \"Finished daemonization\" $TMPDIR/usbguard.log\nGREP1=$?\n\ngrep -i \"Sanitizer\" $TMPDIR/usbguard.log\nGREP2=$?\n\nif [ \"$GREP2\" -eq \"0\" ]  # expected fail\nthen\n    GREP2=\"1\"\nelse\n    GREP2=\"0\"\nfi\n\n${LDAP_UTIL} delete\n\nif [ \"$LDAP_CONF\" == \"yes\" ]\nthen\n    sudo -n sh -c \"cp ${TMPDIR}/usbguard-ldap.conf.back /etc/usbguard/usbguard-ldap.conf\"\nfi\n\nnss_restore\n\nexit $(( $RC + $GREP1 + $GREP2 + $KILLRC ))\n"
  },
  {
    "path": "src/Tests/LDAP/UseCase/ldap-test-3.sh",
    "content": "#!/bin/bash\n#\n#\n# Copyright (C) 2018 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Radovan Sroka <rsroka@redhat.com>          \n#\n\n\n# Run USBGuard\n# with ldap but without USBGuard organisation unit\n\nif [ $1 ]\nthen\n    source \"../../bash-testlib.sh\" || exit 129\n    LDAP_UTIL=../ldap.sh\n    NSSWITCH=../nsswitch.sh\n    USBGUARD=../../../../build/usbguard\n    USBGUARD_DAEMON=../../../../build/usbguard-daemon\n    USBGUARD_DBUS=../../../../build/usbguard-dbus\nelse\n    source \"${USBGUARD_TESTLIB_BASH}\" || exit 129\nfi\n\nsource ${NSSWITCH} || exit 129\n\n#creates TMPDIR \nnss_backup\nnss_set \"ldap\"\n\nif ! [ -d /etc/usbguard ]\nthen\n    sudo mkdir -p /etc/usbguard\nfi \n\nif [ -f /etc/usbguard/usbguard-ldap.conf ]\nthen\n    cp /etc/usbguard/usbguard-ldap.conf ${TMPDIR}/usbguard-ldap.conf.back\n    LDAP_CONF=\"yes\"\nfi\n\nexport config_path=\"${TMPDIR}/usbguard-daemon.conf\"\nexport ldap_path=\"${TMPDIR}/usbguard-ldap.conf\"\n\n# sudo -n cat > \"${TMPDIR}/policy.ldif\" <<EOF\n# dn: cn=Rule1,ou=USBGuard,dc=example,dc=com\n# objectClass: USBGuardPolicy\n# objectClass: top\n# cn: Rule1\n# RuleType: allow\n# USBGuardHost: *\n# USBGuardOrder: 1\n# EOF\n\nsudo -n cat > \"$config_path\" <<EOF\nImplicitPolicyTarget=block\nPresentDevicePolicy=keep\nPresentControllerPolicy=keep\nInsertedDevicePolicy=apply-policy\nRestoreControllerDeviceState=false\nDeviceManagerBackend=uevent\nIPCAllowedUsers=$(id -un)\nIPCAllowedGroups=$(id -gn)\nDeviceRulesWithPort=false\nEOF\n\nsudo -n cat > \"$ldap_path\" <<EOF\nURI ldap://127.0.0.1/\nROOTDN cn=Manager,dc=example,dc=com\nbase dc=example,dc=com\nROOTPW passme\nEOF\n\nsudo -n cat \"$config_path\"\nsudo -n cat \"$ldap_path\"\n\nsudo -n cp \"$ldap_path\" /etc/usbguard/usbguard-ldap.conf\n\nPIDFILE=\"/var/run/usbguard.pid\"\n\n${LDAP_UTIL} delete && true\n# ${LDAP_UTIL} setup\n# ${LDAP_UTIL} policy \"${TMPDIR}/policy.ldif\"\n\nsudo -n ${USBGUARD_DAEMON} -Pd -f -c $config_path 2> $TMPDIR/usbguard.log\nRC=$?\necho \"RC == $RC\"\n\nif [ \"$RC\" -eq \"1\" ]  # expected fail\nthen\n    RC=\"0\"\nfi\n\ncat $TMPDIR/usbguard.log\n\n\n\nPID=$(sudo -n cat $PIDFILE)\nsudo -n kill $PID\nKILLRC=$?\nsudo -n rm -f $PIDFILE\n\n\n\nif [ \"$KILLRC\" -eq \"1\" ] # expected to fail\nthen\n    KILLRC=\"0\"\nfi\n\ngrep \"LDAPHandler query: ldap_search_ext_s: No such object\" $TMPDIR/usbguard.log\nGREP1=$?\n\ngrep -i \"Sanitizer\" $TMPDIR/usbguard.log\nGREP2=$?\n\nif [ \"$GREP2\" -eq \"0\" ]  # expected fail\nthen\n    GREP2=\"1\"\nelse\n    GREP2=\"0\"\nfi\n\nPID=$(sudo -n cat $PIDFILE)\nsudo -n kill $PID\nKILLRC=$?\nsudo -n rm -f $PIDFILE\n\nif [ \"$KILLRC\" -eq \"1\" ] # expected to fail\nthen\n    KILLRC=\"0\"\nfi\n\n${LDAP_UTIL} delete\n\nif [ \"$LDAP_CONF\" == \"yes\" ]\nthen\n    sudo -n sh -c \"cp ${TMPDIR}/usbguard-ldap.conf.back /etc/usbguard/usbguard-ldap.conf\"\nfi\n\nnss_restore\n\nexit $(( $RC + $GREP1 + $GREP2 + $KILLRC ))\n"
  },
  {
    "path": "src/Tests/LDAP/UseCase/ldap-test-4.sh",
    "content": "#!/bin/bash\n#\n#\n# Copyright (C) 2018 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Radovan Sroka <rsroka@redhat.com>          \n#\n\n\n# Run USBGuard\n# without ldap but ldap service will be down\n\nif [ $1 ]\nthen\n    source \"../../bash-testlib.sh\" || exit 129\n    LDAP_UTIL=../ldap.sh\n    NSSWITCH=../nsswitch.sh\n    USBGUARD=../../../../build/usbguard\n    USBGUARD_DAEMON=../../../../build/usbguard-daemon\n    USBGUARD_DBUS=../../../../build/usbguard-dbus\nelse\n    source \"${USBGUARD_TESTLIB_BASH}\" || exit 129\nfi\n\nsource ${NSSWITCH} || exit 129\n\n#creates TMPDIR \nnss_backup\nnss_set \"ldap\"\n\nif ! [ -d /etc/usbguard ]\nthen\n    sudo mkdir -p /etc/usbguard\nfi \n\nif [ -f /etc/usbguard/usbguard-ldap.conf ]\nthen\n    cp /etc/usbguard/usbguard-ldap.conf ${TMPDIR}/usbguard-ldap.conf.back\n    LDAP_CONF=\"yes\"\nfi\n\nexport config_path=\"${TMPDIR}/usbguard-daemon.conf\"\nexport ldap_path=\"${TMPDIR}/usbguard-ldap.conf\"\n\n# sudo -n cat > \"${TMPDIR}/policy.ldif\" <<EOF\n# dn: cn=Rule1,ou=USBGuard,dc=example,dc=com\n# objectClass: USBGuardPolicy\n# objectClass: top\n# cn: Rule1\n# RuleType: allow\n# USBGuardHost: *\n# USBGuardOrder: 1\n# EOF\n\nsudo -n cat > \"$config_path\" <<EOF\nImplicitPolicyTarget=block\nPresentDevicePolicy=keep\nPresentControllerPolicy=keep\nInsertedDevicePolicy=apply-policy\nRestoreControllerDeviceState=false\nDeviceManagerBackend=uevent\nIPCAllowedUsers=$(id -un)\nIPCAllowedGroups=$(id -gn)\nDeviceRulesWithPort=false\nEOF\n\n# sudo -n cat > \"$ldap_path\" <<EOF\n# URI ldap://127.0.0.1/\n# ROOTDN cn=Manager,dc=example,dc=com\n# base dc=example,dc=com\n# ROOTPW passme\n# EOF\n\nsudo -n cat \"$config_path\"\nsudo -n cat \"$ldap_path\"\n\nsudo -n cp \"$ldap_path\" /etc/usbguard/usbguard-ldap.conf\n\nPIDFILE=\"/var/run/usbguard.pid\"\n\n# ${LDAP_UTIL} delete && true\n# ${LDAP_UTIL} setup\n# ${LDAP_UTIL} policy \"${TMPDIR}/policy.ldif\"\n\nsudo -n service slapd stop\n\nservice slapd status\n\nsudo -n ${USBGUARD_DAEMON} -Pd -f -c $config_path 2> $TMPDIR/usbguard.log\nRC=$?\necho \"RC == $RC\"\n\nif [ \"$RC\" -eq \"1\" ]  # expected fail\nthen\n    RC=\"0\"\nfi\n\ncat $TMPDIR/usbguard.log\n\n\n\nPID=$(sudo -n cat $PIDFILE)\nsudo -n kill $PID\nKILLRC=$?\nsudo -n rm -f $PIDFILE\n\nif [ \"$KILLRC\" -eq \"1\" ] # expected to fail\nthen\n    KILLRC=\"0\"\nfi\n\ngrep \"Can't contact LDAP server\" $TMPDIR/usbguard.log\nGREP1=$?\n\ngrep -i \"Sanitizer\" $TMPDIR/usbguard.log\nGREP2=$?\n\nif [ \"$GREP2\" -eq \"0\" ]  # expected fail\nthen\n    GREP2=\"1\"\nelse\n    GREP2=\"0\"\nfi\n\nPID=$(sudo -n cat $PIDFILE)\nsudo -n kill $PID\nKILLRC=$?\nsudo -n rm -f $PIDFILE\n\nif [ \"$KILLRC\" -eq \"1\" ] # expected to fail\nthen\n    KILLRC=\"0\"\nfi\n\n${LDAP_UTIL} delete\n\nif [ \"$LDAP_CONF\" == \"yes\" ]\nthen\n    sudo -n sh -c \"cp ${TMPDIR}/usbguard-ldap.conf.back /etc/usbguard/usbguard-ldap.conf\"\nfi\n\nnss_restore\n\nsudo -n service slapd start\n\nexit $(( $RC + $GREP1 + $GREP2 + $KILLRC ))\n"
  },
  {
    "path": "src/Tests/LDAP/UseCase/ldap-test-5.sh",
    "content": "#!/bin/bash\n#\n#\n# Copyright (C) 2018 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Radovan Sroka <rsroka@redhat.com>          \n#\n\n\n# Run USBGuard with testing rules and evaluate list-rules\n# with configured ldap\n\nif [ $1 ]\nthen\n    source \"../../bash-testlib.sh\" || exit 129\n    LDAP_UTIL=../ldap.sh\n    NSSWITCH=../nsswitch.sh\n    USBGUARD=../../../../build/usbguard\n    USBGUARD_DAEMON=../../../../build/usbguard-daemon\n    USBGUARD_DBUS=../../../../build/usbguard-dbus\nelse\n    source \"${USBGUARD_TESTLIB_BASH}\" || exit 129\nfi\n\nsource ${NSSWITCH} || exit 129\n\n#creates TMPDIR \nnss_backup\nnss_set \"ldap\"\n\nif ! [ -d /etc/usbguard ]\nthen\n    sudo mkdir -p /etc/usbguard\nfi \n\nif [ -f /etc/usbguard/usbguard-ldap.conf ]\nthen\n    cp /etc/usbguard/usbguard-ldap.conf ${TMPDIR}/usbguard-ldap.conf.back\n    LDAP_CONF=\"yes\"\nfi\n\nexport config_path=\"${TMPDIR}/usbguard-daemon.conf\"\nexport ldap_path=\"${TMPDIR}/usbguard-ldap.conf\"\n\nsudo -n cat > \"${TMPDIR}/policy.ldif\" <<EOF\ndn: cn=Rule1,ou=USBGuard,dc=example,dc=com\nobjectClass: USBGuardPolicy\nobjectClass: top\ncn: Rule1\nUSBGuardRuleTarget: allow\nUSBGuardHost: *\nUSBGuardRuleOrder: 0\nUSBID: 1038:1702\nUSBSerial: \"\"\nUSBWithConnectType: \"hotplug\"\nUSBName: \"SteelSeries Rival 100 Gaming Mouse\"\nUSBHash: \"Ty9aMqdLp96HdR+3R3oFUeWy250MhWmb8zznl5+uHWk=\"\nUSBParentHash: \"OkrTUwAUxn55t8+ezGtkhdgxjz9TIluGUS+bjFE+iC4=\"\nUSBViaPort: \"2-3\"\n\n\ndn: cn=Rule2,ou=USBGuard,dc=example,dc=com\nobjectClass: USBGuardPolicy\nobjectClass: top\ncn: Rule2\nUSBGuardRuleTarget: allow\nUSBGuardHost: *\nUSBGuardHost: !RandomHOSt\nUSBGuardRuleOrder: 1\nUSBID: 1038:1702\nUSBSerial: \"\"\nUSBName: \"Keyboard...\"\nUSBHash: \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=\"\nUSBParentHash: \"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb=\"\nUSBWithInterface: { 03:01:01 03:00:00 03:00:00 }\n\ndn: cn=Rule3,ou=USBGuard,dc=example,dc=com\nobjectClass: USBGuardPolicy\nobjectClass: top\ncn: Rule3\nUSBGuardRuleTarget: allow\nUSBGuardHost: *\nUSBGuardRuleOrder: 6\nUSBID: 1038:1702\nUSBSerial: \"\"\nUSBName: \"Flash\"\nUSBHash: \"ccccccccccccccccccccccccccccccccccccccccccccc=\"\nUSBParentHash: \"ddddddddddddddddddddddddddddddddddddddddddddd=\"\n\ndn: cn=Rule4,ou=USBGuard,dc=example,dc=com\nobjectClass: USBGuardPolicy\nobjectClass: top\ncn: Rule4\nUSBGuardRuleTarget: allow\nUSBGuardHost: *\nUSBGuardRuleOrder: 2\nEOF\n\n\nsudo -n cat > \"$config_path\" <<EOF\nImplicitPolicyTarget=block\nPresentDevicePolicy=keep\nPresentControllerPolicy=keep\nInsertedDevicePolicy=apply-policy\nRestoreControllerDeviceState=false\nDeviceManagerBackend=uevent\nIPCAllowedUsers=$(id -un)\nIPCAllowedGroups=$(id -gn)\nDeviceRulesWithPort=false\nEOF\n\nsudo -n cat > \"$ldap_path\" <<EOF\nURI ldap://127.0.0.1/\nROOTDN cn=Manager,dc=example,dc=com\nbase dc=example,dc=com\nROOTPW passme\nEOF\n\nsudo -n cat > \"${TMPDIR}/result\" <<EOF\n1: allow id 1038:1702 serial \"\" name \"SteelSeries Rival 100 Gaming Mouse\" hash \"Ty9aMqdLp96HdR+3R3oFUeWy250MhWmb8zznl5+uHWk=\" parent-hash \"OkrTUwAUxn55t8+ezGtkhdgxjz9TIluGUS+bjFE+iC4=\" via-port \"2-3\" with-connect-type \"hotplug\"\n2: allow id 1038:1702 serial \"\" name \"Keyboard...\" hash \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=\" parent-hash \"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb=\" with-interface { 03:01:01 03:00:00 03:00:00 }\n3: allow\n4: allow id 1038:1702 serial \"\" name \"Flash\" hash \"ccccccccccccccccccccccccccccccccccccccccccccc=\" parent-hash \"ddddddddddddddddddddddddddddddddddddddddddddd=\"\nEOF\n\nsudo -n cat \"$config_path\"\nsudo -n cat \"$ldap_path\"\n\nsudo -n cp \"$ldap_path\" /etc/usbguard/usbguard-ldap.conf\n\nPIDFILE=\"/var/run/usbguard.pid\"\n\n${LDAP_UTIL} delete && true\n${LDAP_UTIL} setup\n${LDAP_UTIL} policy \"${TMPDIR}/policy.ldif\"\n\nsudo -n ${USBGUARD_DAEMON} -Pd -f -c $config_path 2> $TMPDIR/usbguard.log\nRC=$?\necho \"RC == $RC\"\n\ncat $TMPDIR/usbguard.log\n\nsleep 1\n\n${USBGUARD} list-rules > $TMPDIR/list-rules.log\ncat  $TMPDIR/list-rules.log\n\nPID=$(sudo -n cat $PIDFILE)\nsudo -n kill $PID\nKILLRC=$?\nsudo -n rm -f $PIDFILE\n\n\n\ngrep \"Finished daemonization\" $TMPDIR/usbguard.log\nGREP1=$?\n\ngrep -i \"Sanitizer\" $TMPDIR/usbguard.log\nGREP2=$?\n\nif [ \"$GREP2\" -eq \"0\" ]  # expected fail\nthen\n    GREP2=\"1\"\nelse\n    GREP2=\"0\"\nfi\n\nWC=`cat $TMPDIR/list-rules.log | wc -l`\n\nif [ \"$WC\" -eq \"4\" ]\nthen\n    WC=\"0\"\nelse\n    WC=\"1\"\nfi\n\ndiff -u $TMPDIR/result $TMPDIR/list-rules.log\nDIFF=$?\n\n${LDAP_UTIL} delete\n\nif [ \"$LDAP_CONF\" == \"yes\" ]\nthen\n    sudo -n sh -c \"cp ${TMPDIR}/usbguard-ldap.conf.back /etc/usbguard/usbguard-ldap.conf\"\nfi\n\nnss_restore\n\nexit $(( $RC + $GREP1 + $GREP2 + $KILLRC + $WC + $DIFF ))\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/hosts",
    "content": "[all]\n127.0.0.1\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/playbook.yml",
    "content": "- hosts: all\n  become: true\n  roles:\n    - role: bennojoy.openldap_server\n      openldap_server_domain_name: example.com\n      openldap_server_rootpw: passme\n      openldap_server_enable_ssl: false\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/roles/bennojoy.openldap_server/README.md",
    "content": "openldap_server\n===============\n\nThis roles installs the OpenLDAP server on the target machine. It has the\noption to enable/disable SSL by setting it in defaults or overriding it.\n\nRequirements\n------------\n\nThis role requires Ansible 1.4 or higher, and platform requirements are listed\nin the metadata file.\n\nRole Variables\n--------------\n\nThe variables that can be passed to this role and a brief description about\nthem are as follows:\n\n    openldap_serverdomain_name: example.com    # The domain prefix for ldap\n    openldap_serverrootpw: passme              # This is the password for admin for openldap\n    openldap_serverenable_ssl: true            # To enable/disable ssl for the ldap\n    openldap_servercountry: US                 # The self signed ssl certificate parameters\n    openldap_serverstate: Oregon\n    openldap_serverlocation: Portland\n    openldap_serverorganization: IT\n\n\nExamples\n--------\n\n1) Configure an OpenLDAP server without SSL:\n\n    - hosts: all\n      sudo: true\n      roles:\n      - role: bennojoy.openldap_server\n        openldap_server_domain_name: example.com\n        openldap_server_rootpw: passme\n        openldap_server_enable_ssl: false\n       \n2) Configure an OpenLDAP server with SSL:\n\n    - hosts: all\n      sudo: true\n      roles:\n      - role: bennojoy.openldap_server\n        openldap_server_domain_name: example.com\n        openldap_server_rootpw: passme\n        openldap_server_enable_ssl: true\n        openldap_server_country: US\n        openldap_server_state: Oregon\n        openldap_server_location: Portland\n        openldap_server_organization: IT\n\nDependencies\n------------\n\nNone\n\nLicense\n-------\n\nBSD\n\nAuthor Information\n------------------\n\nBenno Joy\n\n\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/roles/bennojoy.openldap_server/defaults/main.yml",
    "content": "---\n\n#The domain prefix for ldap\nopenldap_server_domain_name: example.com\n\n#This is the password for admin for openldap \nopenldap_server_rootpw: passme\n\n#The self signed ssl parameters\nopenldap_server_country: US\nopenldap_server_state: oregon\nopenldap_server_location: portland\nopenldap_server_organization: IT\n\nopenldap_server_enable_ssl: true\n\n#The ldif file\nopenldap_server_ldif: domain.ldif\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/roles/bennojoy.openldap_server/files/ldap",
    "content": "# Options of slapd (see man slapd)\n#SLAPD_OPTIONS=\n\n# At least one of SLAPD_LDAP, SLAPD_LDAPI and SLAPD_LDAPS must be set to 'yes'!\n#\n# Run slapd with -h \"... ldap:/// ...\"\n#   yes/no, default: yes\nSLAPD_LDAP=no\n\n# Run slapd with -h \"... ldapi:/// ...\"\n#   yes/no, default: yes\nSLAPD_LDAPI=yes\n\n# Run slapd with -h \"... ldaps:/// ...\"\n#   yes/no, default: no\nSLAPD_LDAPS=yes\n\n# Run slapd with -h \"... $SLAPD_URLS ...\"\n# This option could be used instead of previous three ones, but:\n# - it doesn't overwrite settings of $SLAPD_LDAP, $SLAPD_LDAPS and $SLAPD_LDAPI options\n# - it isn't overwritten by settings of $SLAPD_LDAP, $SLAPD_LDAPS and $SLAPD_LDAPI options\n# example: SLAPD_URLS=\"ldapi:///var/lib/ldap_root/ldapi ldapi:/// ldaps:///\"\n# default: empty\n#SLAPD_URLS=\"\"\n\n# Maximum allowed time to wait for slapd shutdown on 'service ldap stop' (in seconds)\n#SLAPD_SHUTDOWN_TIMEOUT=3\n\n# Parameters to ulimit, use to change system limits for slapd\n#SLAPD_ULIMIT_SETTINGS=\"\"\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/roles/bennojoy.openldap_server/files/slapd",
    "content": "# Default location of the slapd.conf file or slapd.d cn=config directory. If\n# empty, use the compiled-in default (/etc/ldap/slapd.d with a fallback to\n# /etc/ldap/slapd.conf).\nSLAPD_CONF=\n\n# System account to run the slapd server under. If empty the server\n# will run as root.\nSLAPD_USER=\"openldap\"\n\n# System group to run the slapd server under. If empty the server will\n# run in the primary group of its user.\nSLAPD_GROUP=\"openldap\"\n\n# Path to the pid file of the slapd server. If not set the init.d script\n# will try to figure it out from $SLAPD_CONF (/etc/ldap/slapd.d by\n# default)\nSLAPD_PIDFILE=\n\n# slapd normally serves ldap only on all TCP-ports 389. slapd can also\n# service requests on TCP-port 636 (ldaps) and requests via unix\n# sockets.\n# Example usage:\n# SLAPD_SERVICES=\"ldap://127.0.0.1:389/ ldaps:/// ldapi:///\"\nSLAPD_SERVICES=\"ldaps:/// ldapi:///\"\n\n# If SLAPD_NO_START is set, the init script will not start or restart\n# slapd (but stop will still work).  Uncomment this if you are\n# starting slapd via some other means or if you don't want slapd normally\n# started at boot.\n#SLAPD_NO_START=1\n\n# If SLAPD_SENTINEL_FILE is set to path to a file and that file exists,\n# the init script will not start or restart slapd (but stop will still\n# work).  Use this for temporarily disabling startup of slapd (when doing\n# maintenance, for example, or through a configuration management system)\n# when you don't want to edit a configuration file.\nSLAPD_SENTINEL_FILE=/etc/ldap/noslapd\n\n# For Kerberos authentication (via SASL), slapd by default uses the system\n# keytab file (/etc/krb5.keytab).  To use a different keytab file,\n# uncomment this line and change the path.\n#export KRB5_KTNAME=/etc/krb5.keytab\n\n# Additional options to pass to slapd\nSLAPD_OPTIONS=\"\"\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/roles/bennojoy.openldap_server/files/slapd_fedora",
    "content": "# OpenLDAP server configuration\n# see 'man slapd' for additional information\n\n# Where the server will run (-h option)\n# - ldapi:/// is required for on-the-fly configuration using client tools\n#   (use SASL with EXTERNAL mechanism for authentication)\n# - default: ldapi:/// ldap:///\n# - example: ldapi:/// ldap://127.0.0.1/ ldap://10.0.0.1:1389/ ldaps:///\nSLAPD_URLS=\"ldapi:/// ldaps:///\"\n\n# Any custom options\n#SLAPD_OPTIONS=\"\"\n\n# Keytab location for GSSAPI Kerberos authentication\n#KRB5_KTNAME=\"FILE:/etc/openldap/ldap.keytab\"\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/roles/bennojoy.openldap_server/handlers/main.yml",
    "content": "---\n- name: restart iptables\n  service: name=iptables state=restarted enabled=yes\n\n- name: restart slapd\n  service: name=slapd state=restarted enabled=yes\n\n- name: restart httpd\n  service: name=httpd state=restarted enabled=yes\n\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/roles/bennojoy.openldap_server/meta/main.yml",
    "content": "galaxy_info:\n  author: \"Benno Joy\"\n  company: AnsibleWorks\n  license: BSD\n  min_ansible_version: 1.4\n  platforms:\n   - name: EL\n     versions:\n      - 5\n      - 6\n   - name: Fedora\n     versions:\n      - 16\n      - 17\n      - 18\n   - name: Ubuntu\n     versions:\n      - precise\n      - quantal\n      - raring\n      - saucy\n  categories:\n   - system\ndependencies: []\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/roles/bennojoy.openldap_server/tasks/configure_ldap.yml",
    "content": "---\n\n- name: Create the directory for ldap database\n  file: path=/var/lib/ldap/{{ openldap_server_domain_name }}/ state=directory owner={{ openldap_server_user }} group={{ openldap_server_user }}\n\n- name: Create the directory for ldap certificates\n  file: path={{ openldap_server_app_path }}/certs/ state=directory owner={{ openldap_server_user }} group={{ openldap_server_user }}\n\n- name: Generate the private key for certificate request\n  shell: openssl genrsa -des3 -passout pass:password -out my1.key 1024 chdir={{ openldap_server_app_path }}/certs/ \n         creates={{ openldap_server_app_path }}/certs/my1.key\n\n- name: Strip the passphrase from the key \n  shell: openssl rsa -in my1.key -passin pass:password -out my.key chdir={{ openldap_server_app_path }}/certs/ \n         creates={{ openldap_server_app_path }}/certs/my.key\n\n- name: Create and sign the the new certificate \n  shell: openssl req -new -x509 -subj '/C={{ openldap_server_country }}/ST={{ openldap_server_state }}/L={{ openldap_server_location }}/O={{ openldap_server_organization }}/CN={{ ansible_hostname }}/' -days 3650 -key my.key -out cert.crt -extensions v3_ca chdir={{ openldap_server_app_path }}/certs/   creates={{ openldap_server_app_path }}/certs/cert.crt\n\n- name: copy the supporting files\n  copy: src=ldap dest=/etc/sysconfig/ldap mode=0755\n  when: openldap_server_enable_ssl and ansible_os_family == 'RedHat'\n  notify: \n   - restart slapd\n\n- name: copy the supporting files\n  copy: src=slapd_fedora dest=/etc/sysconfig/slapd mode=0755\n  when: openldap_server_enable_ssl and ansible_distribution == \"Fedora\"\n  notify: \n   - restart slapd\n\n- name: copy the supporting files\n  copy: src=slapd dest=/etc/default/slapd mode=0755\n  when: openldap_server_enable_ssl and ansible_os_family == 'Debian'\n  notify: \n   - restart slapd\n  \n- name: Copy the template for creating base dn\n  template: src={{ openldap_server_ldif }} dest=/tmp/\n  register: result\n\n- name: start the slapd service\n  service: name=slapd state=restarted enabled=yes \n\n- name: start the slapd service\n  service: name=slapd state=restarted enabled=yes \n\n- name: Add the base domain\n  shell: \"ldapadd -x -D 'cn=Manager,dc={{ openldap_server_domain_name.split('.')[0] }},dc={{ openldap_server_domain_name.split('.')[1] }}' -w {{ openldap_server_rootpw }} -f {{ result.dest|default(result.path) }}\"\n\n- name: Upload USBGuard schema\n  copy: src=usbguard.ldif dest={{ openldap_server_app_path }}/schema/\n\n- name: Add usbguard.ldif to LDAP\n  shell: ldapadd -Q -Y EXTERNAL -H ldapi:/// -f {{ openldap_server_app_path }}/schema/usbguard.ldif\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/roles/bennojoy.openldap_server/tasks/install_ldap.yml",
    "content": "---\n\n- name: Add the OS specific varibles\n  include_vars: \"{{ ansible_os_family }}.yml\"\n\n#- name: Update system first (RedHat)\n#  yum: name=\"*\" state=latest\n#  when: ansible_os_family == 'RedHat'\n\n- name: Install YUM Utils (RedHat)\n  yum: name=\"yum-utils\" state=latest\n  when: ansible_os_family == 'RedHat'\n\n# - name: Clean yum transactions\n#  shell: \"yum-complete-transaction --cleanup-only\"\n#  when: ansible_os_family == 'RedHat'\n\n- name: turn off selinux\n  selinux: state=permissive policy=targeted\n  when: ansible_os_family == 'RedHat'\n\n- name: turn off firewall\n  service: name=firewalld state=stopped\n  when: ansible_os_family == 'RedHat'\n\n#- name: Update system first (Debian)\n#  shell: \"apt update -yq; apt upgrade -yq\"\n#  when: ansible_os_family == 'Debian'\n\n- name: Install the openldap and required Packages for RedHat\n  yum: name={{ item }} state=present\n  with_items: \"{{ openldap_server_pkgs }}\"\n  when: ansible_os_family == 'RedHat'\n\n\n- name: Install the openldap and required Packages for Ubuntu\n  apt: name={{ item }} state=present\n  with_items: \"{{ openldap_server_pkgs }}\"\n#  environment: env\n  when: ansible_os_family == 'Debian'\n\n- name: Delete the configuration directory\n  file: path={{ openldap_server_app_path }}/slapd.d state=absent\n\n- name: Delete the /var/lib/ldap directory\n  file: path=/var/lib/ldap/* state=absent\n\n- name: Make slapd.d\n  file: path={{ openldap_server_app_path }}/slapd.d state=directory owner={{ openldap_server_user }} group={{ openldap_server_user }}\n\n- name: Copy slapd.ldif\n  template: src={{ openldap_server_slapd_init }} dest={{ openldap_server_app_path }}/slapd.ldif\n\n- name: Fill the database\n  shell: slapadd -F {{ openldap_server_app_path }}/slapd.d -n0 -l {{ openldap_server_app_path }}/slapd.ldif\n\n- name: Fix permissions\n  shell: chown -R {{ openldap_server_user }}:{{ openldap_server_user }} {{ openldap_server_app_path }}/slapd.d\n\n- name: Copy the ldap.conf configuration file\n  template: src=ldap.conf.j2 dest={{ openldap_server_app_path }}/ldap.conf\n\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/roles/bennojoy.openldap_server/tasks/main.yml",
    "content": "---\n- include_tasks: install_ldap.yml\n- include_tasks: configure_ldap.yml\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/roles/bennojoy.openldap_server/templates/domain.ldif",
    "content": "dn: dc={{ openldap_server_domain_name.split('.')[0] }},dc={{ openldap_server_domain_name.split('.')[1] }}\nobjectclass: dcObject\nobjectclass: organization\ndc: {{ openldap_server_domain_name.split('.')[0] }}\no: \"Test server\"\n\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/roles/bennojoy.openldap_server/templates/ldap.conf.j2",
    "content": "#\n# LDAP Defaults\n#\n\n# See ldap.conf(5) for details\n# This file should be world readable but not world writable.\n\nBASE    dc={{ openldap_server_domain_name.split('.')[0] }},dc={{ openldap_server_domain_name.split('.')[1] }}\n{% if openldap_server_enable_ssl %}\nURI     ldaps://localhost\nTLS_REQCERT never\n{% endif %}\n{% if not openldap_server_enable_ssl %}\nURI     ldap://localhost\n{% endif %}\n\n#SIZELIMIT      12\n#TIMELIMIT      15\n#DEREF          never\nTLS_CACERTDIR /etc/openldap/cacerts\n{% if ansible_os_family == 'RedHat' %}\nTLS_CACERT /etc/openldap/certs/cert.crt\n{% endif %}\n{% if ansible_os_family == 'Debian' %}\nTLS_CACERT /etc/ldap/certs/cert.crt\n{% endif %}\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/roles/bennojoy.openldap_server/templates/slapd.conf.j2",
    "content": "include         /etc/openldap/schema/core.schema\ninclude         /etc/openldap/schema/cosine.schema\ninclude         /etc/openldap/schema/inetorgperson.schema\ninclude         /etc/openldap/schema/nis.schema\npidfile         /var/run/openldap/slapd.pid\nargsfile        /var/run/openldap/slapd.args\nmodulepath      /usr/lib64/openldap\n\naccess to *\n                by self write\n                by dn.base=\"cn=Manager,dc={{ openldap_server_domain_name.split('.')[0] }},dc={{ openldap_server_domain_name.split('.')[1] }}\" write\n                by * read\naccess to attrs=userPassword\n                by self write\n                by anonymous auth\n                by dn.base=\"cn=Manager,dc={{ openldap_server_domain_name.split('.')[0] }},dc={{ openldap_server_domain_name.split('.')[1] }}\" write\n                by * none\naccess to attrs=shadowLastChange\n                by self write\n                by * read\n\ndatabase        bdb\nsuffix          \"dc={{ openldap_server_domain_name.split('.')[0] }},dc={{ openldap_server_domain_name.split('.')[1] }}\"\nrootdn          \"cn=Manager,dc={{ openldap_server_domain_name.split('.')[0] }},dc={{ openldap_server_domain_name.split('.')[1] }}\"\nrootpw          {{ openldap_server_rootpw }}\n#This directory has to be created and would contain the ldap database.\ndirectory       /var/lib/ldap/{{ openldap_server_domain_name }}/\nindex objectClass                       eq,pres\nindex ou,cn,mail,surname,givenname      eq,pres,sub\nindex uidNumber,gidNumber,loginShell    eq,pres\nindex uid,memberUid                     eq,pres,sub\nindex nisMapName,nisMapEntry            eq,pres,sub\nTLSCipherSuite HIGH:MEDIUM:+SSLv2\n#TLSCACertificateFile /etc/openldap/certs/cacert.pem\nTLSCertificateFile /etc/openldap/certs/cert.crt\nTLSCertificateKeyFile /etc/openldap/certs/my.key\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/roles/bennojoy.openldap_server/templates/slapd.conf_ubuntu.j2",
    "content": "include         /etc/ldap/schema/core.schema\ninclude         /etc/ldap/schema/cosine.schema\ninclude         /etc/ldap/schema/inetorgperson.schema\ninclude         /etc/ldap/schema/nis.schema\npidfile         /var/run/slapd/slapd.pid\n\nargsfile        /var/run/slapd/slapd.args\n\nloglevel        none\n\nmodulepath      /usr/lib/ldap\nmoduleload      back_bdb.la\n\n\naccess to *\n                by self write\n                by dn.base=\"cn=Manager,dc={{ openldap_server_domain_name.split('.')[0] }},dc={{ openldap_server_domain_name.split('.')[1] }}\" write\n                by * read\naccess to attrs=userPassword\n                by self write\n                by anonymous auth\n                by dn.base=\"cn=Manager,dc={{ openldap_server_domain_name.split('.')[0] }},dc={{ openldap_server_domain_name.split('.')[1] }}\" write\n                by * none\naccess to attrs=shadowLastChange\n                by self write\n                by * read\n\ndatabase        bdb\nsuffix          \"dc={{ openldap_server_domain_name.split('.')[0] }},dc={{ openldap_server_domain_name.split('.')[1] }}\"\nrootdn          \"cn=Manager,dc={{ openldap_server_domain_name.split('.')[0] }},dc={{ openldap_server_domain_name.split('.')[1] }}\"\nrootpw          {{ openldap_server_rootpw }}\n#This directory has to be created and would contain the ldap database.\ndirectory       /var/lib/ldap/{{ openldap_server_domain_name }}/\nindex objectClass                       eq,pres\nindex ou,cn,mail,surname,givenname      eq,pres,sub\nindex uidNumber,gidNumber,loginShell    eq,pres\nindex uid,memberUid                     eq,pres,sub\nindex nisMapName,nisMapEntry            eq,pres,sub\n#TLSCACertificateFile /etc/ldap/certs/cacert.pem\nTLSCertificateFile /etc/ldap/certs/cert.crt\nTLSCertificateKeyFile /etc/ldap/certs/my.key\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/roles/bennojoy.openldap_server/templates/slapd.fedora.ldif.j2",
    "content": "#\n# See slapd-config(5) for details on configuration options.\n# This file should NOT be world readable.\n#\n\ndn: cn=config\nobjectClass: olcGlobal\ncn: config\n#\n# TLS settings\n#\n# When no CA certificates are specified the Shared System Certificates\n# are in use. In order to have these available along with the ones specified\n# by oclTLSCACertificatePath one has to include them explicitly:\n#olcTLSCACertificateFile: /etc/pki/tls/cert.pem\n#\n# Private cert and key are not pregenerated.\n#olcTLSCertificateFile:\n#olcTLSCertificateKeyFile:\n#\n# System-wide Crypto Policies provide up to date cipher suite which should\n# be used unless one needs a finer grinded selection of ciphers. Hence, the\n# PROFILE=SYSTEM value represents the default behavior which is in place\n# when no explicit setting is used. (see openssl-ciphers(1) for more info)\n#olcTLSCipherSuite: PROFILE=SYSTEM\n\n\n#\n# Do not enable referrals until AFTER you have a working directory\n# service AND an understanding of referrals.\n#\n#olcReferral: ldap://root.openldap.org\n#\n# Sample security restrictions\n#\tRequire integrity protection (prevent hijacking)\n#\tRequire 112-bit (3DES or better) encryption for updates\n#\tRequire 64-bit encryption for simple bind\n#\n#olcSecurity: ssf=1 update_ssf=112 simple_bind=64\n\n\n#\n# Load dynamic backend modules:\n# - modulepath is architecture dependent value (32/64-bit system)\n# - back_sql.la backend requires openldap-servers-sql package\n# - dyngroup.la and dynlist.la cannot be used at the same time\n#\n\n#dn: cn=module,cn=config\n#objectClass: olcModuleList\n#cn: module\n#olcModulepath:\t/usr/lib/openldap\n#olcModulepath:\t/usr/lib64/openldap\n#olcModuleload: accesslog.la\n#olcModuleload: auditlog.la\n#olcModuleload: back_dnssrv.la\n#olcModuleload: back_ldap.la\n#olcModuleload: back_mdb.la\n#olcModuleload: back_meta.la\n#olcModuleload: back_null.la\n#olcModuleload: back_passwd.la\n#olcModuleload: back_relay.la\n#olcModuleload: back_shell.la\n#olcModuleload: back_sock.la\n#olcModuleload: collect.la\n#olcModuleload: constraint.la\n#olcModuleload: dds.la\n#olcModuleload: deref.la\n#olcModuleload: dyngroup.la\n#olcModuleload: dynlist.la\n#olcModuleload: memberof.la\n#olcModuleload: pcache.la\n#olcModuleload: ppolicy.la\n#olcModuleload: refint.la\n#olcModuleload: retcode.la\n#olcModuleload: rwm.la\n#olcModuleload: seqmod.la\n#olcModuleload: smbk5pwd.la\n#olcModuleload: sssvlv.la\n#olcModuleload: syncprov.la\n#olcModuleload: translucent.la\n#olcModuleload: unique.la\n#olcModuleload: valsort.la\n\n\n#\n# Schema settings\n#\n\ndn: cn=schema,cn=config\nobjectClass: olcSchemaConfig\ncn: schema\n\ninclude: file://{{ openldap_server_app_path }}/schema/core.ldif\n\n#\n# Frontend settings\n#\n\ndn: olcDatabase=frontend,cn=config\nobjectClass: olcDatabaseConfig\nolcDatabase: frontend\n#\n# Sample global access control policy:\n#\tRoot DSE: allow anyone to read it\n#\tSubschema (sub)entry DSE: allow anyone to read it\n#\tOther DSEs:\n#\t\tAllow self write access\n#\t\tAllow authenticated users read access\n#\t\tAllow anonymous users to authenticate\n#\n#olcAccess: to dn.base=\"\" by * read\n#olcAccess: to dn.base=\"cn=Subschema\" by * read\n#olcAccess: to *\n#\tby self write\n#\tby users read\n#\tby anonymous auth\n#\n# if no access controls are present, the default policy\n# allows anyone and everyone to read anything but restricts\n# updates to rootdn.  (e.g., \"access to * by * read\")\n#\n# rootdn can always read and write EVERYTHING!\n#\n\n#\n# Configuration database\n#\n\ndn: olcDatabase=config,cn=config\nobjectClass: olcDatabaseConfig\nolcDatabase: config\nolcAccess: to * by dn.base=\"gidNumber=0+uidNumber=0,cn=peercred,cn=external,c\n n=auth\" manage by * none\n\n#\n# Server status monitoring\n#\n\ndn: olcDatabase=monitor,cn=config\nobjectClass: olcDatabaseConfig\nolcDatabase: monitor\nolcAccess: to * by dn.base=\"gidNumber=0+uidNumber=0,cn=peercred,cn=external,c\n n=auth\" read by dn.base=\"cn=Manager,dc={{ openldap_server_domain_name.split('.')[0] }},dc={{ openldap_server_domain_name.split('.')[1] }}\" read by * none\n\n#\n# Backend database definitions\n#\n\ndn: olcDatabase=mdb,cn=config\nobjectClass: olcDatabaseConfig\nobjectClass: olcMdbConfig\nolcDatabase: mdb\nolcSuffix: dc={{ openldap_server_domain_name.split('.')[0] }},dc={{ openldap_server_domain_name.split('.')[1] }}\nolcRootDN: cn=Manager,dc={{ openldap_server_domain_name.split('.')[0] }},dc={{ openldap_server_domain_name.split('.')[1] }}\nolcRootPW: {{ openldap_server_rootpw }}\nolcDbDirectory:\t/var/lib/ldap\nolcDbIndex: objectClass eq,pres\nolcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/roles/bennojoy.openldap_server/templates/slapd.ubuntu.ldif.j2",
    "content": "# Global config:\ndn: cn=config\nobjectClass: olcGlobal\ncn: config\n# Where the pid file is put. The init.d script\n# will not stop the server if you change this.\nolcPidFile: /var/run/slapd/slapd.pid\n# List of arguments that were passed to the server\nolcArgsFile: /var/run/slapd/slapd.args\n# Read slapd-config(5) for possible values\nolcLogLevel: none\n# The tool-threads parameter sets the actual amount of cpu's that is used\n# for indexing.\nolcToolThreads: 1\n\n# Frontend settings\ndn: olcDatabase={-1}frontend,cn=config\nobjectClass: olcDatabaseConfig\nobjectClass: olcFrontendConfig\nolcDatabase: {-1}frontend\n# The maximum number of entries that is returned for a search operation\nolcSizeLimit: 500\n# Allow unlimited access to local connection from the local root user\nolcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage by * break\n# Allow unauthenticated read access for schema and base DN autodiscovery\nolcAccess: {1}to dn.exact=\"\" by * read\nolcAccess: {2}to dn.base=\"cn=Subschema\" by * read\n\n# Config db settings\ndn: olcDatabase=config,cn=config\nobjectClass: olcDatabaseConfig\nolcDatabase: config\n# Allow unlimited access to local connection from the local root user\nolcAccess: to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage by * break\n\n# Load schemas\ndn: cn=schema,cn=config\nobjectClass: olcSchemaConfig\ncn: schema\n\ninclude: file://{{ openldap_server_app_path }}/schema/core.ldif\ninclude: file://{{ openldap_server_app_path }}/schema/cosine.ldif\ninclude: file://{{ openldap_server_app_path }}/schema/nis.ldif\ninclude: file://{{ openldap_server_app_path }}/schema/inetorgperson.ldif\n\n# Load module\ndn: cn=module{0},cn=config\nobjectClass: olcModuleList\ncn: module{0}\n# Where the dynamically loaded modules are stored\nolcModulePath: /usr/lib/ldap\nolcModuleLoad: back_mdb.la\n\n# Set defaults for the backend\ndn: olcBackend=mdb,cn=config\nobjectClass: olcBackendConfig\nolcBackend: mdb\n\n# The database definition.\ndn: olcDatabase=mdb,cn=config\nobjectClass: olcDatabaseConfig\nobjectClass: olcMdbConfig\nolcDatabase: mdb\n# Checkpoint the database periodically in case of system\n# failure and to speed slapd shutdown.\nolcDbCheckpoint: 512 30\n#@BACKENDOPTIONS@\n# Save the time that the entry gets modified, for database #1\nolcLastMod: TRUE\n# The base of your directory in database #1\nolcSuffix: dc={{ openldap_server_domain_name.split('.')[0] }},dc={{ openldap_server_domain_name.split('.')[1] }}\n# Where the database file are physically stored for database #1\nolcDbDirectory: /var/lib/ldap\n# olcRootDN directive for specifying a superuser on the database. This\n# is needed for syncrepl.\nolcRootDN: cn=Manager,dc={{ openldap_server_domain_name.split('.')[0] }},dc={{ openldap_server_domain_name.split('.')[1] }}\nolcRootPW: {{ openldap_server_rootpw }}\n# Indexing options for database #1\nolcDbIndex: objectClass eq\nolcDbIndex: cn,uid eq\nolcDbIndex: uidNumber,gidNumber eq\nolcDbIndex: member,memberUid eq\n# The userPassword by default can be changed by the entry owning it if\n# they are authenticated. Others should not be able to see it, except\n# the admin entry above.\nolcAccess: to attrs=userPassword\n  by self write\n  by anonymous auth\n  by * none\n# Allow update of authenticated user's shadowLastChange attribute.\n# Updating it on password change is implemented at least by libpam-ldap,\n# libpam-ldapd, and the slapo-smbk5pwd overlay.\nolcAccess: to attrs=shadowLastChange\n  by self write\n  by * read\n# The admin dn (olcRootDN) bypasses ACLs and so has total access,\n# everyone else can read everything.\nolcAccess: to *\n  by * read\n\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/roles/bennojoy.openldap_server/vars/Debian.yml",
    "content": "openldap_server_pkgs:\n  - slapd\n  - ldap-utils\n  - openssl\n\nopenldap_server_app_path: \"/etc/ldap/\"\nopenldap_server_user: \"openldap\"\n\nopenldap_server_slapd_init: slapd.ubuntu.ldif.j2\n\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/roles/bennojoy.openldap_server/vars/RedHat.yml",
    "content": "openldap_server_pkgs:\n  - openldap-servers\n  - openldap-clients\n  - libselinux-python3\n  - openssl\n\nopenldap_server_app_path: \"/etc/openldap/\"\nopenldap_server_user: ldap\n\nopenldap_server_slapd_init: slapd.fedora.ldif.j2\n\n"
  },
  {
    "path": "src/Tests/LDAP/ansible/roles/bennojoy.openldap_server/vars/main.yml",
    "content": "---\n\nenv:\n RUNLEVEL: 1\n"
  },
  {
    "path": "src/Tests/LDAP/ldap.sh",
    "content": "#!/bin/bash\n\n#set -xe\n\nBASE=\"dc=example,dc=com\"\nUSER=\"cn=Manager,$BASE\"\n\nUSBGUARD_BASE=\"ou=USBGuard,$BASE\"\n\nHOST=\"127.0.0.1\"\nPASS=\"passme\"\n\n#ping -q -c 1 $HOST 2>&1 >/dev/null\n\nif [ \"$1\" = \"delete\" ]; then\n  ldapdelete -H \"ldap://${HOST}/\" -D $USER -w $PASS -r $USBGUARD_BASE\n  exit\nfi\n\nif [ \"$1\" = \"setup\" ]; then\n  ldapadd -v -H \"ldap://${HOST}/\" -D $USER -w $PASS <<EOF\n#dn: dc=example,dc=com\n#objectclass: dcObject\n#objectclass: organization\n#dc: example\n#o: \"Test server\"\n\ndn: ou=USBGuard,dc=example,dc=com\nobjectClass: top\nobjectClass: organizationalUnit\nou: USBGuard\nEOF\n\n  exit\nfi\n\nif [ \"$1\" = \"policy\" ]; then\n  POLICY=\"\"\n  if [ \"$2\" ]; then\n    POLICY=$2\n  else\n    exit\n  fi\n  ldapadd -v -H \"ldap://${HOST}/\" -D $USER -w $PASS -f $POLICY\n  exit\nfi\n\nif [ \"$1\" = \"search\" ]; then\n  FILTER='objectclass=*'\n  if [ \"$2\" ]; then\n    FILTER=$2\n  fi\n  ldapsearch -H \"ldap://${HOST}/\" -D $USER -b $BASE -w $PASS $FILTER\n  exit\nfi\n"
  },
  {
    "path": "src/Tests/LDAP/nsswitch.sh",
    "content": "#!/bin/bash\n#\n#\n# Copyright (C) 2018 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Radovan Sroka <rsroka@redhat.com>          \n#\n\n\nexport TMPDIR=$(mktemp -d)\n\nfunction nss_backup ()\n{\n    sudo -n cp /etc/nsswitch.conf ${TMPDIR}/\n}\n\nfunction nss_restore ()\n{\n    sudo -n cp ${TMPDIR}/nsswitch.conf /etc/nsswitch.conf\n    sudo -n rm -rf ${TMPDIR}\n}\n\nfunction nss_remove ()\n{\n    sudo -n sed -ie '/^.*usbguard.*:.*/Id' /etc/nsswitch.conf\n}\n\nfunction nss_set ()\n{\n    nss_remove\n    sudo -n sh -c  \"echo \\\"usbguard: $1\\\" >> /etc/nsswitch.conf\"\n}"
  },
  {
    "path": "src/Tests/LDAP/setup.ldif",
    "content": "dn: dc=example,dc=com\nobjectclass: dcObject\nobjectclass: organization\ndc: example\no: \"Test server\"\n\ndn: ou=USBGuard,dc=example,dc=com\nobjectClass: top\nobjectClass: organizationalUnit\nou: USBGuard\n"
  },
  {
    "path": "src/Tests/LDAP/usbguard-policy.ldif",
    "content": "dn: cn=Rule1,ou=USBGuard,dc=example,dc=com\nobjectClass: USBGuardPolicy\nobjectClass: top\ncn: Rule1\nUSBRuleTarget: allow\nUSBGuardHost: *\nUSBRuleOrder: 0\nUSBID: 1038:1702\nUSBSerial: \"\"\nUSBWithConnectType: \"hotplug\"\nUSBName: \"SteelSeries Rival 100 Gaming Mouse\"\nUSBHash: \"Ty9aMqdLp96HdR+3R3oFUeWy250MhWmb8zznl5+uHWk=\"\nUSBParentHash: \"OkrTUwAUxn55t8+ezGtkhdgxjz9TIluGUS+bjFE+iC4=\"\nUSBViaPort: \"2-3\"\n\n\ndn: cn=Rule2,ou=USBGuard,dc=example,dc=com\nobjectClass: USBGuardPolicy\nobjectClass: top\ncn: Rule2\nUSBRuleTarget: allow\nUSBGuardHost: *\nUSBGuardHost: !RandomHOSt\nUSBRuleOrder: 1\nUSBID: 1038:1702\nUSBSerial: \"\"\nUSBName: \"Keyboard...\"\nUSBHash: \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa=\"\nUSBParentHash: \"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb=\"\nUSBWithInterface: { 03:01:01 03:00:00 03:00:00 }\n\ndn: cn=Rule3,ou=USBGuard,dc=example,dc=com\nobjectClass: USBGuardPolicy\nobjectClass: top\ncn: Rule3\nUSBRuleTarget: allow\nUSBGuardHost: *\nUSBRuleOrder: 6\nUSBID: 1038:1702\nUSBSerial: \"\"\nUSBName: \"Flash\"\nUSBHash: \"ccccccccccccccccccccccccccccccccccccccccccccc=\"\nUSBParentHash: \"ddddddddddddddddddddddddddddddddddddddddddddd=\"\n\ndn: cn=Rule4,ou=USBGuard,dc=example,dc=com\nobjectClass: USBGuardPolicy\nobjectClass: top\ncn: Rule4\nUSBRuleTarget: allow\nUSBGuardHost: *\nUSBRuleOrder: 2\n"
  },
  {
    "path": "src/Tests/LDAP/usbguard.ldif",
    "content": "dn: cn=usbguard,cn=schema,cn=config\nobjectClass: olcSchemaConfig\ncn: usbguard\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.1\n   NAME 'USBGuardRuleTarget'\n   DESC 'Hostname for USBGuard host'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.2\n   NAME 'USBGuardHost'\n   DESC 'Hostname for USBGuard host'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.3\n   NAME 'USBGuardRuleOrder'\n   DESC 'an integer to order the USBGuard Policy entries'\n   EQUALITY integerMatch\n   ORDERING integerOrderingMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.4\n   NAME 'USBID'\n   DESC 'USB device ID'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.5\n   NAME 'USBSerial'\n   DESC 'USB device Serial'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.6\n   NAME 'USBWithConnectType'\n   DESC 'USB device With-Connect-Type'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.7\n   NAME 'USBName'\n   DESC 'USB device Name'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.8\n   NAME 'USBHash'\n   DESC 'USB device hash'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.9\n   NAME 'USBParentHash'\n   DESC 'USB device ParentHash'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.10\n   NAME 'USBViaPort'\n   DESC 'USB device ViaPort'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.11\n   NAME 'USBWithInterface'\n   DESC 'USB device With-Interface'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcAttributeTypes: ( 1.3.6.1.4.1.15955.9.1.12\n   NAME 'USBGuardRuleCondition'\n   DESC 'Condition'\n   EQUALITY caseExactIA5Match\n   SUBSTR caseExactIA5SubstringsMatch\n   SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\nolcObjectClasses: ( 1.3.6.1.4.1.15955.9.1.1 NAME 'USBGuardPolicy' SUP top STRUCTURAL\n   DESC 'USBGuard Policy'\n   MUST ( cn $ USBGuardRuleTarget $ USBGuardHost $ USBGuardRuleOrder )\n   MAY  ( USBID $ USBSerial $ USBWithConnectType $ USBName $ USBHash $ USBParentHash $ USBViaPort $ USBWithInterface $ USBGuardRuleCondition $ description )\n   )\n"
  },
  {
    "path": "src/Tests/LDAP/usbguard.schema",
    "content": "attributetype ( 1.3.6.1.4.1.15955.9.1.1\n  NAME 'USBGuardRuleTarget'\n  DESC 'Hostname for USBGuard host'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.2\n  NAME 'USBGuardHost'\n  DESC 'Hostname for USBGuard host'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.3\n  NAME 'USBGuardRuleOrder'\n  DESC 'an integer to order the USBGuard Policy entries'\n  EQUALITY integerMatch\n  ORDERING integerOrderingMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.4\n  NAME 'USBID'\n  DESC 'USB device ID'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.5\n  NAME 'USBSerial'\n  DESC 'USB device Serial'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.6\n  NAME 'USBWithConnectType'\n  DESC 'USB device With-Connect-Type'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.7\n  NAME 'USBName'\n  DESC 'USB device Name'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.8\n  NAME 'USBHash'\n  DESC 'USB device hash'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.9\n  NAME 'USBParentHash'\n  DESC 'USB device ParentHash'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.10\n  NAME 'USBViaPort'\n  DESC 'USB device ViaPort'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.11\n  NAME 'USBWithInterface'\n  DESC 'USB device With-Interface'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nattributetype ( 1.3.6.1.4.1.15955.9.1.12\n  NAME 'USBGuardRuleCondition'\n  DESC 'Condition'\n  EQUALITY caseExactIA5Match\n  SUBSTR caseExactIA5SubstringsMatch\n  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )\n\nobjectclass ( 1.3.6.1.4.1.15955.9.1.1 NAME 'USBGuardPolicy' SUP top STRUCTURAL\n  DESC 'USBGuard Policy'\n  MUST ( cn $ USBGuardRuleTarget $ USBGuardHost $ USBGuardRuleOrder )\n  MAY  ( USBID $ USBSerial $ USBWithConnectType $ USBName $ USBHash $ USBParentHash $ USBViaPort $ USBWithInterface $ USBGuardRuleCondition $ description )\n  )\n"
  },
  {
    "path": "src/Tests/Makefile.am",
    "content": "##\n## Copyright (C) 2016 Red Hat, Inc.\n##\n## This program is free software; you can redistribute it and/or modify\n## it under the terms of the GNU General Public License as published by\n## the Free Software Foundation; either version 2 of the License, or\n## (at your option) any later version.\n##\n## This program is distributed in the hope that it will be useful,\n## but WITHOUT ANY WARRANTY; without even the implied warranty of\n## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n## GNU General Public License for more details.\n##\n## You should have received a copy of the GNU General Public License\n## along with this program.  If not, see <http://www.gnu.org/licenses/>.\n##\n## Authors: Daniel Kopecek <dkopecek@redhat.com>\n##          Radovan Sroka <rsroka@redhat.com>\n##\nSUBDIRS=Fuzzers\n\nAM_CPPFLAGS=\\\n\t-I$(top_srcdir)/src \\\n\t-I$(top_srcdir)/src/Library \\\n\t-I$(top_srcdir)/src/Library/public \\\n\t@catch_CFLAGS@ \\\n\t@pegtl_CFLAGS@\n\nEXTRA_DIST=\\\n\t$(top_srcdir)/src/Tests/custom.supp \\\n\t$(top_srcdir)/src/Tests/bash-testlib.sh \\\n\t$(top_srcdir)/src/ThirdParty/Catch \\\n\t$(top_srcdir)/src/Tests/USB/test-descriptor-parser.sh \\\n\t$(top_srcdir)/src/Tests/USB/data/0001.bin \\\n\t$(top_srcdir)/src/Tests/USB/data/0001.out \\\n\t$(top_srcdir)/src/Tests/Rules/test-rules.sh \\\n\t$(top_srcdir)/src/Tests/Rules/test-rules.good \\\n\t$(top_srcdir)/src/Tests/Rules/test-rules.bad \\\n\t$(top_srcdir)/src/Tests/Rules/test-rules.file \\\n\t$(top_srcdir)/src/Tests/UseCase/000_executable.sh \\\n\t$(top_srcdir)/src/Tests/UseCase/001_cli_policy.sh \\\n\t$(top_srcdir)/src/Tests/UseCase/002_cli_devices.sh \\\n\t$(top_srcdir)/src/Tests/UseCase/003_cli_devices_umockdev.sh \\\n\t$(top_srcdir)/src/Tests/UseCase/004_daemonize.sh \\\n\t$(top_srcdir)/src/Tests/UseCase/005_cli_devices_advanced.sh  \\\n\t$(top_srcdir)/src/Tests/UseCase/devices.umockdev \\\n\t$(top_srcdir)/src/Tests/Source/check-driver.sh \\\n\t$(top_srcdir)/src/Tests/Source/CheckScripts/copyright.sh \\\n\t$(top_srcdir)/src/Tests/Source/CheckScripts/vim-modeline.sh \\\n\t$(top_srcdir)/src/Tests/Source/CheckScripts/spell-check.sh \\\n\t$(top_srcdir)/src/Tests/Source/CheckScripts/spell-check.rws \\\n\t$(top_srcdir)/src/Tests/Source/CheckScripts/private-with-build-config.sh \\\n\t$(top_srcdir)/src/Tests/Source/CheckScripts/public-without-build-config.sh \\\n\t$(top_srcdir)/src/Tests/Source/CheckScripts/code-style.sh \\\n\t$(top_srcdir)/src/Tests/LDAP/Sanity/ldap-nsswitch.sh \\\n\t$(top_srcdir)/src/Tests/LDAP/UseCase/ldap-test-1.sh \\\n\t$(top_srcdir)/src/Tests/LDAP/UseCase/ldap-test-2.sh \\\n\t$(top_srcdir)/src/Tests/LDAP/UseCase/ldap-test-3.sh \\\n\t$(top_srcdir)/src/Tests/LDAP/UseCase/ldap-test-4.sh \\\n\t$(top_srcdir)/src/Tests/LDAP/UseCase/ldap-test-5.sh \\\n\t$(top_srcdir)/src/Tests/LDAP/ldap.sh \\\n\t$(top_srcdir)/src/Tests/LDAP/nsswitch.sh\n\nTESTS_ENVIRONMENT=\\\n\tbuilddir=$(top_builddir) \\\n\tsrcdir=$(top_srcdir) \\\n\tabs_top_srcdir=$(abs_top_srcdir) \\\n\tUSBGUARD_TESTLIB_BASH=$(top_srcdir)/src/Tests/bash-testlib.sh \\\n\tUSBGUARD=$(top_builddir)/usbguard \\\n\tUSBGUARD_DAEMON=$(top_builddir)/usbguard-daemon \\\n\tUSBGUARD_DBUS=$(top_builddir)/usbguard-dbus \\\n\tLDAP_UTIL=$(top_srcdir)/src/Tests/LDAP/ldap.sh \\\n\tNSSWITCH=$(top_srcdir)/src/Tests/LDAP/nsswitch.sh\n\n\nTESTS=\\\n\tUSB/test-descriptor-parser.sh \\\n\tRules/test-rules.sh\n\nif CATCH_ENABLED\nTESTS+=\\\n\ttest-unit \\\n\ttest-regression\nendif\n\nif FULL_TEST_SUITE_ENABLED\nTESTS+=\\\n\tSource/check-driver.sh \\\n\tUseCase/000_executable.sh \\\n\tUseCase/001_cli_policy.sh \\\n\tUseCase/002_cli_devices.sh \\\n\tUseCase/003_cli_devices_umockdev.sh \\\n\tUseCase/004_daemonize.sh \\\n\tUseCase/005_cli_devices_advanced.sh\nendif\n\nif WITH_LDAP\nTESTS+=\\\n\tLDAP/Sanity/ldap-nsswitch.sh \\\n\tLDAP/UseCase/ldap-test-1.sh \\\n\tLDAP/UseCase/ldap-test-2.sh \\\n\tLDAP/UseCase/ldap-test-3.sh \\\n\tLDAP/UseCase/ldap-test-4.sh \\\n\tLDAP/UseCase/ldap-test-5.sh\n\nendif\n\ncheck_PROGRAMS=\n\nif CATCH_ENABLED\ncheck_PROGRAMS+=\\\n\ttest-unit \\\n\ttest-regression\nendif\n\nif CATCH_ENABLED\ntest_unit_SOURCES=\\\n\tmain.cpp \\\n\tUnit/test_Rule.cpp \\\n\tUnit/test_RuleParser.cpp \\\n\tUnit/test_Base64.cpp \\\n\tUnit/test_UEvent.cpp \\\n\tUnit/test_UEventParser.cpp \\\n\tUnit/test_Utility.cpp \\\n\tUnit/test_RuleAttribute_id.cpp \\\n\tUnit/test_IPCServer_AccessControl.cpp \\\n\tUnit/test_UMockdevDeviceDefinition.cpp \\\n\tUnit/test_UMockdevDeviceDefinition.data.hpp\n\ntest_unit_CXXFLAGS=\\\n\t$(PTHREAD_CFLAGS)\n\ntest_unit_LDADD=\\\n\t$(top_builddir)/libusbguard.la \\\n\t$(catch_LIBS) \\\n\t$(PTHREAD_LIBS)\n\ntest_unit_LDFLAGS=\\\n\t-static\nendif\n\nif CATCH_ENABLED\ntest_regression_SOURCES=\\\n\tmain.cpp \\\n\tRegression/test_Rule_ghi37.cpp \\\n\tRegression/test_Rule_ghi113.cpp \\\n\tRegression/test_Rule_ghi247.cpp \\\n\tRegression/github-PR209-config-parser.cpp\n\ntest_regression_CXXFLAGS=\\\n\t$(PTHREAD_CFLAGS)\n\ntest_regression_LDADD=\\\n\t$(top_builddir)/libusbguard.la \\\n\t$(catch_LIBS) \\\n\t$(PTHREAD_LIBS)\nendif"
  },
  {
    "path": "src/Tests/Regression/github-PR209-config-parser.cpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n\n#include \"usbguard/ConfigFile.hpp\"\n#ifdef HAVE_CATCH2_V3\n  #include <catch_test_macros.hpp>\n#else\n  #include <catch.hpp>\n#endif\n\n#include <sys/stat.h>\n#include <sys/types.h>\n#include <fcntl.h>\n#include <unistd.h>\n\nusing namespace usbguard;\n\nstatic std::string createFile(const std::vector<std::string> lines)\n{\n  std::string filepath(\"/tmp/usbguard-test.XXXXXX\");\n  const int fd = ::mkstemp(&filepath[0]);\n\n  if (fd < 0) {\n    throw std::runtime_error(\"cannot create temporary file\");\n  }\n\n  for (const auto& line : lines) {\n    ::write(fd, line.c_str(), line.size());\n    ::write(fd, \"\\n\", 1);\n  }\n\n  ::close(fd);\n  return filepath;\n}\n\nTEST_CASE(\"Regression: GitHub PR #209\", \"[regression]\")\n{\n  std::vector<std::string> known_keys = {\n    \"keyA\",\n    \"keyB\",\n    \"fooB\",\n    \"barF\"\n  };\n  ConfigFile config(known_keys);\n  SECTION(\"key=value inside a comment should be ignored\") {\n    const std::string path = createFile({ \"# keyA=foo\", \"keyA=bar\", \"# unknown=foo\" });\n    REQUIRE_NOTHROW(config.open(path));\n  }\n  SECTION(\"empty line is not a syntax error\") {\n    const std::string path = createFile({ \"# comment\", \"\", \"# comment\", \"\", \"\", \"fooB=bar\" });\n    REQUIRE_NOTHROW(config.open(path));\n  }\n  SECTION(\"unknown key=value should trigger an error\") {\n    const std::string path = createFile({ \"unknown=foo\", \"keyA=bar\" });\n    REQUIRE_THROWS(config.open(path));\n  }\n  SECTION(\"known key=value should not trigger an error\") {\n    const std::string path = createFile({ \"keyA=foo\", \"keyB=bla\", \"fooB=bar\", \"barF=asdf\" });\n    REQUIRE_NOTHROW(config.open(path));\n  }\n  SECTION(\"syntax error should trigger an error\") {\n    const std::string path = createFile({ \"keyA=foo\", \"adfsdlfkj\", \"keyB=b\" });\n    REQUIRE_THROWS(config.open(path));\n  }\n  SECTION(\"trim value\") {\n    const std::string path = createFile({ \"keyA= foo\", \"keyB=bar\" });\n    REQUIRE_NOTHROW(config.open(path));\n    REQUIRE(config.getSettingValue(\"keyA\") == \"foo\");\n  }\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Tests/Regression/test_Rule_ghi113.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#include \"usbguard/Rule.hpp\"\n\n#ifdef HAVE_CATCH2_V3\n  #include <catch_test_macros.hpp>\n#else\n  #include <catch.hpp>\n#endif\n\nusing namespace usbguard;\n\nTEST_CASE(\"Regression: GitHub issue #113\", \"[regression]\")\n{\n  Rule target_rule;\n  Rule source_rule;\n  const std::string source_rule_spec = \\\n    \"allow with-interface equals { 08:*:* }\";\n  const std::string target_rule_spec = \\\n    \"allow with-interface equals { 08:06:50 }\";\n  CHECK_NOTHROW(target_rule = Rule::fromString(target_rule_spec));\n  CHECK_NOTHROW(source_rule = Rule::fromString(source_rule_spec));\n  REQUIRE(source_rule.appliesTo(target_rule));\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Tests/Regression/test_Rule_ghi247.cpp",
    "content": "//\n// Copyright (C) 2018 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Allen Webb <allenwebb@google.com>\n//\n#include \"usbguard/Rule.hpp\"\n#include \"usbguard/Rule.hpp\"\n\n#ifdef HAVE_CATCH2_V3\n  #include <catch_test_macros.hpp>\n#else\n  #include <catch.hpp>\n#endif\n\nusing namespace usbguard;\n\nTEST_CASE(\"Regression: GitHub issue #247\", \"[regression]\")\n{\n  Rule target_rule;\n  Rule source_rule;\n  const std::string source_rule_spec =\n    \"allow with-interface equals-ordered { 03:00:00 03:01:01 }\";\n  const std::string target_rule_spec =\n    \"allow with-interface equals-ordered { 03:00:00 03:01:01 }\";\n  CHECK_NOTHROW(target_rule = Rule::fromString(target_rule_spec));\n  CHECK_NOTHROW(source_rule = Rule::fromString(source_rule_spec));\n  REQUIRE(source_rule.appliesTo(target_rule));\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Tests/Regression/test_Rule_ghi37.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#include \"usbguard/Rule.hpp\"\n\n#ifdef HAVE_CATCH2_V3\n  #include <catch_test_macros.hpp>\n#else\n  #include <catch.hpp>\n#endif\n\nusing namespace usbguard;\n\nTEST_CASE(\"Regression: GitHub issue #37\", \"[regression]\")\n{\n  Rule rule;\n  const std::string valid_rule_string = \\\n    \"allow 17ef:6016 name \\\"ThinkPad USB Laser Mouse\\\" with-interface 03:01:02 hash \\\"b2b49929ddce325f217adc89cd2b6c20\\\"\";\n  const std::string invalid_rule_string = \\\n    \"allow 17ef:6016 name \\\"ThinkPad USB Laser Mouse\\\" with-interface \\\"03:01:02\\\" hash \\\"b2b49929ddce325f217adc89cd2b6c20\\\"\";\n  SECTION(\"from string\") {\n    REQUIRE_NOTHROW(rule = Rule::fromString(valid_rule_string));\n    REQUIRE_THROWS(rule = Rule::fromString(invalid_rule_string));\n  }\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Tests/Rules/test-rules.bad",
    "content": "alloww\nasdf\n123\n.:][}{}{(*#*&^!&^%\n@(&(*##$\n()($#)($##\n())(!\n!@_#)$_#)$!*@\n-=-+_!@#\n\"\"\"\n\"\nallow allow\nblock block\nmatch allow\nallow { }\nallow id 1234:123\nallow 1234:1234 id 1234:1234\nallow id asdf:*\nallow *:1234\nallow name\nallow name \"\nallow name \"a\nallow name \"\\\"\nallow name \"a\\\"\nallow name \\\"asdf\"\nallow name \"foo'\nallow name one-of\nallow name one-of {\nallow name one-of }\nallow name {\nallow name }\nallow name { a }\nallow name } a {\nallow name \\\"a\\\"\nallow with-interface\nallow with-interface 1::\nallow with-interface 12:*:34\nallow with-interface :::\nallow with-interface asdf\nallow with-interface \"12:21:32\"\nallow with-interface *:*:*\nallow with-interface *:22:22\nallow with-interface one-of\nallow with-interface one-of {\nallow with-interface one-of { a }\nallow with-interface {\nallow with-interface }\nallow with-interface one-of { * }\nallow with-interface some { 12:12:12 }\nallow unknown-attribute\nallow unknown-attribute \"s\"\nallow if\nallow if unknown-condition\nallow if !unknown-condition\nallow if randomM\nallow if !randomM\nallow if random(\nallow if (true\nallow if )false\nallow if !(true\nallow if !)true(\nallow if true((\nallow if true(((\nallow if false))(()\nallow if !true(\nallow if !!()\nallow name \"asdf\" name \"foo\"\nallow hash \"a\" hash \"b\"\nallow via-port \"1\" via-port \"2\"\nallow with-interface 12:34:56 with-interface 12:34:56\nallow with-interface one-of { 12:12:23 } with-interface 12:11:11\nallow if allowed-matches(fooo)\nallow if !allowed-matches(aaaa)\nallow with-connect-type \"hardwired\" with-connect-type \"hotplug\"\nallow with-connect-type one-of { \"hardwired\" } with-connect-type \"hardwired\"\n"
  },
  {
    "path": "src/Tests/Rules/test-rules.file",
    "content": "# This file should have an empty line before the first rule\n# to be meaningful in the context of the test suite.\n\n# And then after that blank line we should get at least some\n# results from the output of usbguard-rule-parser.\nreject with-interface one-of { e5:*:* 2A:*:* AC:c7:* 4B:*:* f2:*:* }  if equals-ordered { true false !true false }\n#\n# this is a comment followed by an empty line\n\nreject with-interface one-of { e6:*:* } # comment about this rule\n # reject with-interface one-of { e6:*:* }\n\n# Ignore whitespace around rule\n reject with-interface one-of { e6:*:* } \n"
  },
  {
    "path": "src/Tests/Rules/test-rules.good",
    "content": "allow\nallow hash \"0,;UW~fn\" id { 7Dbb:* } serial \"R0Ci+jH'\" parent-hash { \"f<A^w5kG\" } name \"g-!};_LI\" with-interface equals { 4d:61:* B1:bA:* db:dE:A9 B2:*:* 3A:aE:* 6d:*:* } via-port { \"|+|iC%y4\" \"}SB@jbVd\" }\nallow hash { \"0xl,MC&i\" \"NlcFk|zb\" }\nallow hash \"4pAg0-_k\" with-interface equals-ordered { Cd:*:* D7:Ff:ae E2:*:* 52:B0:* 4D:*:* 0d:21:* } via-port \"<Q~kbL2x\" name equals { \"wSNm}ee/\" \"ZlGma_Cc\" }\nallow hash \"6CJS2jC_\" id 5cBE:fc52 with-interface equals { 00:c1:A6 2E:*:* 1e:*:* c6:ae:0F 9F:*:* 3C:*:* } serial \"=5G-xMpI\" parent-hash { \"S/jizvNq\" \"Iv?at~-p\" \"xX'-L[Rh\" \"l i}~|dJ\" \"y,pb@rb;\" \"klo/3LRA\" \"2[U$~|x~\" \"##GJ'tW|\" } via-port \"A?DY5T+{\"\nallow hash \"6^~>+n`s\" via-port \"/^WlPN7G\"  if rule-evaluated\nallow hash \"7<i=TJ=;\" id e66F:* via-port \"<}/&8+-<\" name one-of { \"^]MT5JD+\" \"juNe:J|l\" \"RRm}H<2'\" \"G e0ly.H\" \"BuivZ A!\" \"3Tk'J{F.\" \"i6<0Tr{'\" \"`xT+ub1[\" } parent-hash \"Wu qXWbR\"\nallow hash \"]8cP`~0'\"  if !true\nallow hash all-of { \"in?Q!sXJ\" \"rMbv+-Ez\" \"kY_0YN3j\" \"osI$Flk{\" \"t!'e0|?q\" \"3d{P>/<m\" }\nallow hash all-of { \"z$6EAE`V\" \"5n?ou$O/\" } parent-hash none-of { \"Uc>G>!^p\" \"qV*i-WBa\" \"n0|g}USf\" \"dcQck[gN\" \"PQ<$8>`<\" \"9p#l$|Zz\" } id none-of { F53A:* EE2D:f1aD 37AC:* 3F4E:64Cc Bdae:C0Fa }  if !localtime(2:00)\nallow hash \"`dcN*WO{\" name \"77QNHYnV\"  if true\nallow hash \"]:.drVPa\" serial \"v]s`5riB\" via-port \"%C`qdl9b\" id all-of { fA6E:* b8aE:* } parent-hash \"!dcVB5iT\"  if allowed-matches(name \"mIba4_Mk\")\nallow hash \"ED2+}Aq;\" via-port { \"40&EC96o\" \"R}h>w8bo\" } parent-hash none-of { \"O-r:.&r@\" \"!8q1mk`]\" \"~RaG}];g\" } name \"xk52974}\"\nallow hash \"}ENfT*po\" serial \"+!5<!NIS\"\nallow hash equals { \">>^#.e57\" \"Bh:H^^]p\" \"iKyrj'pU\" \"@9#Y[L`b\" \"h<}5Bx8Q\" \".`B2yV%]\" \"sk.KTkP?\" \"c0JwUOVF\" }\nallow hash equals { \"^~{X`8%G\" \"l2ZG4|0;\" \"7KfL'b}G\" \"lt]n3L6?\" \"FG5k+TZ=\" \"Vz G3qgF\" }  if localtime(1:00)\nallow hash \"G4Rs_h^K\"  if equals { true false !true false }\nallow hash \";[+iMTt8\" parent-hash \"<|t33w6A\" serial \"[IM:Uk_x\" via-port { \"-+<P/6/V\" \"M&[oGt*@\" \"gO{9=mwU\" \"L`i]o,Qj\" \"g-RKv3WE\" \",L<m7 T{\" } name equals-ordered { \"?vg>C%r2\" }  if !true\nallow hash \".J5^}hQb\" with-interface 5F:2e:7E name { \"h<i%z5/w\" \"b5p~T|@n\" \"s!2lMYCH\" \"=W``_H!K\" \"0-EzB0$$\" \".b24c!>&\" \"?K[l4Aqj\" \"DT4mJ'l:\" } parent-hash \"+%B|QI?J\" serial one-of { \";1r?7CK{\" \"B[{$Z9Zs\" }\nallow hash \"nK1,uv0#\"  if random\nallow hash none-of { \"_aIEAY0#\" \"%T&N>rOM\" }\nallow hash none-of { \".g$YW/wh\" } id { 68bd:* }  if false\nallow hash none-of { \"l1p^N/f|\" \"WT9J&<'o\" \"%9B:~Gsj\" \"TL,%eV^;\" } id one-of { 5abc:9CF8 251b:* 3cE8:* fEA4:E9c2 eC4b:cBb2 } parent-hash equals { \"X7N]j&@&\" \" ZC73tCY\" \"Mh~*pfG5\" \"A!IMm wH\" \"=mAH/N3x\" \"1fcf>wS4\" } name \"{Fm1CveV\" with-interface equals-ordered { 7b:*:* CE:*:* 9d:*:* c9:86:56 } serial \"v5 r!_%z\"  if !localtime(2:00)\nallow hash none-of { \"ZHf7%6|N\" \"FA'+RV+9\" \"?>T.<>!W\" \"yG%'yESl\" \"z`auPzt]\" \"rZ /Xcz'\" \"uhW8Gx{,\" \"mee*EO7c\" } parent-hash equals-ordered { \"1+oKbeQS\" \"$[!I+$9y\" \"Lfs-6a.}\" \"}&+<&ImA\" } with-interface equals { 6F:*:* d7:3c:* f7:3D:* } serial one-of { \"Mapp{$~A\" \"|D05t[i3\" }\nallow hash one-of { \"Dkd!Q#=+\" \"CfE5nF8k\" \"'s#S9?|.\" } id all-of { 1F7E:* c071:6f21 802e:* 597f:D40D D7DC:* 5Fb5:E9A7 } serial { \":0d&r~!K\" \"XM~fa90H\" \"D 6TPPY%\" } name \"J>'#e%a9\" with-interface CC:*:* parent-hash equals-ordered { \"l9~!%<Hz\" \"6r9zo+kX\" }  if !true\nallow hash one-of { \"sb5B=K39\" \"0kmYyNo$\" \"c<1,9:K}\" \"6 7P&;=`\" \"&Rc#%VYH\" \"lO'#ANN5\" \"NSsHt-8q\" \"/Z/ry:j<\" } id equals-ordered { 193f:4c3f 3EA2:* ecA6:* 7F6A:* EcdA:e0C9 } via-port equals-ordered { \"}wIpUFxQ\" \"$J{h]iNb\" \"Z2HHx]rS\" \"2Zt][,wl\" \"qpsBx ,,\" \"&&rw5J>M\" \"s=j,ae%{\" \"&%6;CGO!\" } with-interface 6B:CC:aE\nallow hash { \"PPF@}b$w\" \"kWEdlQP]\" \"xf1.6KU.\" \"[W}|d8@w\" \"iiegC8j'\" \"b:,Oz7b`\" }  if !false\nallow hash \"$`.V[[pp\" serial all-of { \"~&4>K V/\" } parent-hash one-of { \"lhY4P~HZ\" \"e=Ffoxc$\" } via-port all-of { \"1ojWQ6aI\" \"7XX!-Wl7\" } with-interface { 59:*:* bD:*:* 6e:e6:1d 48:B0:* } name \"/p`.VJo3\" id { C08f:B236 a3C6:* c172:* 172e:* b4EC:5Abe 3fFc:* }\nallow hash { \"XGhA|X2O\" \"$m1pNS?Z\" \"dJ^14C5G\" \"m_6$Ih?>\" \"Y8T~fQEw\" }  if !false\nallow hash { \"Yh-b02~R\" } via-port \"1:,-fGHp\" parent-hash \"4 /Y,%7#\" id 9E22:* serial equals-ordered { \"Q5Pf{3,o\" \"Mz'ins,j\" \"8St ![=~\" \",.aGjpEF\" \"[~2hoeW+\" \"Okz:luY$\" } with-interface f1:B7:*  if !false\nallow hash \"Ze$Y]H-}\" serial { \"Vf0rpbah\" \"OABxYWKs\" \"gr%EW`a8\" } name { \"W[X7V?5H\" \"4lRj=/z:\" \"i,xidFv?\" \"GFk%I*Kw\" \"hYw;84}>\" \"| Pcppq]\" \"{Dq:R2I[\" } parent-hash \"V=Tm&QNu\" via-port \"5pkH%vF1\" with-interface one-of { 9b:DC:* bE:*:* e1:FE:8E }\nallow hash \"}z;-h7lN\" serial { \"r9}TsY|a\" \"8 %Fm9qt\" \"8GN+~AhO\" \"4#F5/umx\" \"]j+B8_X \" \"re0J-H&g\" \"BTB@VR!~\" } with-interface 7c:ef:9d id none-of { bDaC:93a9 c89B:E54E Aa0d:6b1F add8:* 88c4:F43c 1951:* 6bAF:* 525a:aEd5 } parent-hash none-of { \"SeiB;IA2\" \"#5NgvMKr\" \"`uGLEvkc\" }  if rule-evaluated\nallow id { 05fe:2F6d dc7E:2D96 58b1:C3Fc Bdba:1FF9 }  if equals { true false !true false }\nallow id 0da4:bCa4 with-interface { 8B:A1:33 Fd:F0:* CE:88:Aa bC:b0:B6 7F:dc:* dc:a0:* 49:5C:* F5:91:c9 } parent-hash all-of { \"Qzr|1q[_\" \"KJ[jX{xE\" \"Q.!1S]6L\" \"4$--bt$0\" }\nallow id 20F6:*\nallow id 48c9:B016 name \"KOGY9jPX\" with-interface fe:0b:* hash \"oyH8A,$!\"\nallow id { 5D3C:* 1b7A:b4Fd 8e78:* BD37:* } name { \"ylD+:/QD\" \"Y@euy;FU\" \"F`^H5kN/\" \"XO}Lx,a|\" \"<x3W.Hr?\" \"Nq2^BN~q\" } parent-hash \"YXu_=*5Q\"\nallow id 6A3A:* name \"kB3U.zKZ\" with-interface { 25:*:* 96:f6:* Ac:*:* 3B:72:DE 35:5b:* 59:81:* BA:*:* } hash one-of { \"YBLvJ[v0\" \"&QJyrBdo\" } serial { \"gs{?lP:&\" \"zQP7>H6!\" \"DgB[7?5T\" \"uj.[jx!u\" }  if random(0.4)\nallow id 72Af:bfba\nallow id 7DfA:* with-interface DD:e5:Be parent-hash \"YTv7H7H%\" via-port \"0uq<hva?\"  if rule-applied\nallow id { 82C0:b010 } with-interface 1d:f4:C3 via-port equals-ordered { \"NzsW$RqY\" \"iOh.SY|=\" \"`CYCr2k4\" \"9pdCNp82\" \"nalczg|b\" \"^^Wpl]mt\" } hash \"<:>Z07UE\"\nallow id 8eC5:2C0c\nallow id { A3Ad:* e055:* b604:* E5Ad:F2fe } hash \"ET_HeN*q\"  if one-of { true false !true false }\nallow id aB52:77bF parent-hash equals-ordered { \"A3v9`>/+\" \"p~rv^nX \" \"rz8?C3:Y\" \"3SZ`SCw{\" } via-port { \"VIt>_={s\" \"cT]4COiw\" } name none-of { \"aG;R`0ds\" \"NgG{A:@h\" \"eN,+x=$r\" \"C0;EZ+g8\" \"<4n=yjC4\" } serial { \"+$7LGe.y\" \"F6s-r`%@\" \"WO_J|n,>\" } with-interface { F2:*:* } hash \"P&qIs}z.\"  if random(0.4)\nallow id all-of { 451C:B71F 43bb:* DEBF:EAFA 1Dea:70a7 bd2e:D081 bf2D:0520 965b:D9b5 9Ac6:FfFb } hash \"PyG; {74\" via-port \"dUWuEnRL\" name \"}gYy!+%@\" parent-hash \"V_<Tqgr#\" with-interface bB:BB:*\nallow id all-of { AC2a:CECd 9c2B:4fb3 f0A1:65Be fEdF:4E5B } hash \"7CAl3?=G\" via-port { \"06-Vx>/o\" } serial \"X|B74.!P\"\nallow id all-of { f30E:* 5958:D3b6 f011:0F3e B8ca:* 490b:* 62f5:* 83C3:03CF 4feb:8670 } name \"2Qe];N4v\" parent-hash \"+QWdQN5a\"  if none-of { true false !true false }\nallow id { B946:* 80D2:* FEac:BfD0 3c95:1Bc7 5D17:5FB5 } via-port { \"~QpGvq4J\" \"`@<Q;}%Z\" \"2#f5J@$ \" \"2MSM]w87\" \"Ucl}1*Vz\" \"fx-hT1BI\" \"hzNA,khE\" } with-interface 8F:Bf:*\nallow id { BdcE:9327 F3E3:b2c1 13F6:* BCd2:2Bdd FF57:A675 } serial none-of { \"2.>*JB^v\" \"Q&A7Gl%r\" \"3ft_s>k{\" } parent-hash equals-ordered { \"dA&3ON]`\" \"O2OS|dD#\" \"TDYRcq1a\" \"a'kBKxjc\" \"]FTZ>Z=N\" \"]:;YJpx3\" \"K6W }mA~\" }  if random\nallow id c260:db5a name \"p;_SQ#>L\" hash { \"Oes4J15<\" \"x&XKMkp&\" \"2V+woIfH\" } serial \":/2T.nBf\" with-interface { 35:18:0f e8:F9:* 17:d3:2F Ff:*:* 71:CB:A2 03:dE:C6 Ff:*:* } via-port one-of { \"W9nu]BwQ\" \"N}_J'*IG\" \"PFrDg`6Y\" \"%dRgg= $\" }\nallow id c76C:C376 parent-hash \"1UWK2fl0\" name \">]yZsrHU\" with-interface Cd:D9:d7 hash \"sJL''W3r\"\nallow id c7ed:*\nallow id C8bB:dcCC name none-of { \". m'^RD*\" \"'zj,of#m\" \"-2RwM-rh\" \"hOH8S;`_\" \"Xm{CNeaN\" \"Ce-G@=A5\" \"-/y:O4Qs\" } hash one-of { \"/jBC#9kV\" \"[Dp,S=D{\" \"$dL:dX@a\" }\nallow id Cb83:a9Be with-interface { 8d:DF:* 35:1F:09 F6:0d:* 3B:f4:* c7:DB:d0 } hash \"zHD=j|a+\" via-port \"$H*'?,iB\" parent-hash one-of { \"N,h-'/f4\" \"$OOiB7K[\" \"86*X;B]1\" \"4C7PDxoQ\" \"WA?`>:]~\" \"6te1E5%j\" }  if rule-applied\nallow id D408:10FE\nallow id { E55A:ECce Dc25:AC43 E2e0:1Eeb f2bb:* EDcE:Ca4B FC5a:8E2c 05D4:* } serial all-of { \"]7@n[1ne\" \"+'YRO_ `\" \"PX3B?e{h\" \"DT@~'zRU\" } with-interface A0:Df:aE via-port { \"1`&!3HwN\" \"@%l4H Xc\" \"E<pRgj2M\" \"xaDN=aW_\" \"GO=F6$aC\" \"`T%!3F'_\" \"OF}-@CVr\" }\nallow id { Eac7:* 05Fd:* BbCe:B086 7D9a:* } with-interface 7d:01:*\nallow id Ef0E:* name \".NY8:SMr\" hash { \"#;4/fq@B\" \"BH8r0Q:x\" } serial { \"tRKdra|8\" \"SOY?iio.\" \"q1|p5IA`\" \"JYT~oW*V\" \"o2euUu6z\" \"-c4vVg!]\" \"Q3n 9iB!\" \"C =>^rGr\" } parent-hash \"o'hfJcWM\" with-interface d3:6E:5E via-port \"<$'q;*z;\"  if equals-ordered { true false !true false }\nallow id equals { eAf0:* 8c1F:BdbA A4c2:* } with-interface Fa:Ed:B5 serial { \"Z$VaGc @\" \"dpk[]q.E\" \".=]vVV7h\" \"u[8zh9VJ\" \"brrZLkLC\" \"PGyQyu3{\" \">9ji5:GV\" \"s97swV4U\" }\nallow id equals { fAfB:* } with-interface { 2A:32:* Ac:eB:* c9:c8:* B7:fA:7A 63:eb:1f } hash \"&.o~[n@+\" parent-hash \"oZ?:o'W[\" name \"y]jIUd2~\"  if !true\nallow id equals-ordered { 2Ddf:22ef } parent-hash \"A!egv?S<\"  if rule-applied\nallow id equals-ordered { 6c7F:* 6D6b:DdDe } via-port none-of { \" h~c1<Df\" } name none-of { \"1~K/GS8[\" \",2~zv EX\" \"C8baZnhF\" \"tG:b6rSW\" \"*hni#6ac\" \"*_'z|p/@\" } parent-hash { \"@b8MCWQp\" \"3?<3N?v@\" } serial \"h:_/,ntP\" with-interface { 31:C8:4b 8B:1a:* 3a:fA:2A fA:*:* AD:F4:F4 }  if rule-applied\nallow id equals-ordered { A2eA:c2CD DCc3:* cdD4:455A 7FE7:dB91 fBa5:cFF4 EcEA:5B41 3F8F:* 9fAF:FBa4 } with-interface { 5A:2c:* DD:62:1A } name \"4o`!`s@*\" via-port \"p.w9~HaL\" hash \"dPpVn$Q;\" serial one-of { \"CRr'iT3_\" \"'^-/N/r/\" \"d{&b_cxd\" \"n^^R?B7u\" \"TE/L_+M*\" \"tgB_~'xh\" \"lqxX{&li\" }\nallow id equals-ordered { B10F:* 4eAa:76Ed Bc8F:4e47 b228:FbFb } hash { \"eJ2`e#YQ\" \"ZXE'@^mB\" \"yDWE4'A]\" } with-interface 08:b5:80 serial equals-ordered { \"9[i9z'zx\" \"Dc8i;K,+\" \"BykN' %H\" \"{U5L@+iQ\" \"f3Vu<p>*\" \":M%Ui>8<\" \"FY1bT9D3\" } name \"j]t7<2v7\"  if one-of { true false !true false }\nallow id equals-ordered { D495:* 056f:* 7FB3:* d1fF:eE79 } parent-hash { \"$8LO231_\" \"5SP0qyB9\" \"~[5+nh2X\" \"VjuuAOQ9\" \"3wuU8Xz5\" \"ARF@0Y2>\" \"GnM>tIAN\" \"3%?K+uuA\" } via-port \"qEMw&;Oy\"\nallow id equals-ordered { ec40:* 33ae:* 0132:DEAa 3e9D:* Cae1:c797 04aF:6Da1 } hash equals { \"L[!1|}Ac\" \"u?,^/[-|\" \"zph#X|D%\" } with-interface Fd:*:* name all-of { \".PIxe29n\" \"zL9vQizi\" \"Vne?{?'Y\" }  if !false\nallow id equals-ordered { EcE1:* 0240:B0AF EB5D:* 65A6:bc64 B994:E8F6 EFD6:* } with-interface equals { 8b:3C:cb dB:Bf:9d d0:*:* C6:aF:fE 62:8f:cC } parent-hash \"07[`C+9u\" via-port all-of { \"lw&'GZ>p\" \"oKlvq+{g\" \"}i]Xb'pO\" } name \"9u>+Np/.\" hash all-of { \"Hve1[Jx-\" \"-[7ltq:#\" \"DPru/Dtu\" \"D,7bJQ~o\" \"-@0F&<=&\" \"M'Bjgq?v\" \"5Q~Xx.{X\" } serial \"J,n~<ZBP\"  if false\nallow id { f958:39Fa BeDe:0eFa dCf9:B01C c9ca:27Fd 14ff:A007 } parent-hash one-of { \"-A@<!Ig.\" \"rkKu.yQ0\" \" K<S/x3'\" \"dq$33bB|\" \";$*$dcM+\" \"i^M|ePnd\" \"|8zGf1X*\" }\nallow id FDD3:* via-port none-of { \"?e=;%SOJ\" \"c$~6soIP\" \"NWs,-N%3\" \"sG9w3Qez\" \"Dv'z/zt6\" \"xgkZ~uY]\" }  if random\nallow id none-of { 235A:C08e 25AE:* 250b:D94c a0e9:* FCAd:* } serial \"P_>b9X%q\" via-port { \"fTptq#Q9\" \"~['/1 2L\" \"8c@pX7hX\" \"Fou=^`~S\" } with-interface 5d:65:C3\nallow id none-of { 4B70:* } serial one-of { \"6JqhX7a|\" \"}dV^t{gv\" \"!y>~auXi\" \"3X4,.Tls\" \"54n_J;Q?\" } via-port \"kgA81,-r\" with-interface CB:*:* parent-hash { \"s, <oI.$\" \"nszxLsUK\" \"B*,rp5]S\" \"nB&m81a-\" \"h4p9yI>X\" \"_PwWqo=1\" }  if !true\nallow id one-of { 874a:A0B8 } parent-hash all-of { \"GMb!D3I_\" \"bxF4[l5N\" \"*tM{'!'+\" \",Tco:?hg\" \"D?U`;=0-\" \"P_GfeNV%\" } hash { \"rOHjh;8%\" \"E'[[Fq3=\" \"U{3aVyHL\" \"[c rnTm$\" \"z3'rghe[\" \"8]TGNLO%\" \"66E[G40h\" } with-interface 07:Ea:*  if !false\nallow  if all-of { true false !true false }\nallow  if allowed-matches(name \":[-iqZSZ\")\nallow  if allowed-matches(name \"<Jlcv}$N\")\nallow  if allowed-matches(name \"mfoB!!Z-\")\nallow  if false\nallow  if !false\nallow  if localtime(1:00)\nallow  if !localtime(2:00)\nallow  if random\nallow  if rule-applied\nallow  if rule-evaluated\nallow  if true\nallow name \"`2[cOu&8\" serial \"nw@acm?>\"  if !false\nallow name { \"37p3KD0x\" \"5z~b</+Y\" \"BkgQ[5qQ\" } id 3Eea:4caf serial { \"z&r,R`w0\" \"rF+'iI]V\" \" }|_@c_C\" \"0M*+RhbB\" } via-port none-of { \"AThi9rDW\" \",x@[G^lB\" \"}tg`8F>z\" \"h ?2LMf&\" \"oCV{w=8h\" \"8qHrb,d[\" \"s[9kX,yz\" \":!^uH[Vy\" }\nallow name \"3D~eQFQn\"\nallow name \"3Z|DTZq=\" with-interface 85:Ef:Cf serial \"d`~6Cu=>\"\nallow name \"6'G^QN?x\" id { d762:65D3 EFbd:* ed10:F7CF c396:EE28 } hash \"}${i|4!o\" via-port one-of { \"EQb9Mzv*\" \"R}|/Ai_{\" \"VpoE,d7@\" \"'QJ`NUgS\" \"3T/50kAt\" \",uW%p<&o\" \"-xZcF~$t\" \"#]TZfEFQ\" }  if rule-evaluated\nallow name \"9@7!n{A%\" id { aEa1:* 6bfC:* 1aa8:1685 } serial \"9fh47>H%\" parent-hash { \"zxcUD&.2\" \"Aw=j+-'i\" }\nallow name \"cD&=*qkq\" hash none-of { \"/WSKm8b?\" \"mb++4:3I\" \"3UY#SZXf\" \"hDjN;{a_\" \"@U vf|4L\" } parent-hash { \"K_i=]Hx>\" \"#UZeheA@\" \"Na9D>'!v\" \"j/,b[ nL\" \"fAYN!*;N\" \"}M<$,h7K\" } serial \"KgEYoZxx\"\nallow name \"']D0sP&M\"\nallow name \"/DCOH}@<\"\nallow name { \"du9L16I \" \"RiKHm8Tn\" \"gE/kbws}\" } parent-hash \"1N^nE0-6\" id 4C7F:* hash \"#}u?P~Tq\"  if rule-applied\nallow name equals { \" :6#e*Q;\" \"6>ja^0mE\" \"cde=`$kf\" \"!Q>F2][.\" \":4uLy@?N\" \"e7qJkQ=d\" \"s4w#JWZn\" } hash \"BZ:Rs,AF\" via-port { \":{bSGo0^\" } serial { \"#|0#fK/M\" \"<#Y_oIT_\" } parent-hash { \"q{UtS-B0\" \"3Af*y&SP\" \"6OFD!,']\" \"ryf1'F,'\" \"xx!Et !_\" \"HQiPr:Db\" \",Y =LT4u\" \"[T8dN:C6\" } with-interface one-of { d5:F8:* 63:*:* Cc:1D:* c8:c2:09 } id one-of { aA08:* aB8B:C85a cdA4:53bE 9dAe:* B4ef:7C82 }\nallow name equals-ordered { \"&],UqnDi\" } hash \"Db{f$[Lv\" parent-hash \"HHC@t4%w\" serial \"]*M}[r=5\" via-port { \"e6rPZ]t.\" \";=DY-Wqz\" \"J@q!t'@v\" \"H;-~rFd:\" } with-interface bE:12:*  if rule-evaluated\nallow name equals-ordered { \"#+YB h:2\" \"mE=:SKc,\" \"q{@4fsSv\" } id 0f2B:* with-interface { 8E:0B:39 fA:*:* 21:58:* 9e:A6:0a } via-port \"Vp#rh#m,\"\nallow name \"GqUY{0Ut\" parent-hash \"?;iHlp Z\" serial \"f6?,LBv}\" with-interface { 83:E4:eF c2:11:* a3:4f:* a9:94:* F1:*:* Cc:*:* bA:ed:Ab fe:38:f2 } hash all-of { \"%`$ec*.Y\" \"f4,G}6lB\" \"&w`Ucdcq\" \"MUVz'UI}\" \"D6.PaC1g\" \".UA5xz3N\" } id 7fAe:* via-port equals { \"A<0dr.AA\" \"7N0iB;X}\" \"W!e^1G&&\" \"a4BH<s6Y\" \";Ty4xk=y\" \"]jjH**kk\" \"Rc:Hjiy7\" }\nallow name \"}!gXOrTV\" id one-of { 8BbE:* b10D:DAbf 7A2f:* } hash \"g^#pI:[d\"\nallow name \".~=%h/3V\" id 06dC:* with-interface b4:DD:db serial { \"g7slq8@f\" \"KtK@aJ##\" \"AyAPq]mp\" \"#_f-@,1^\" \"rLGO:|{H\" \"jYHqg8dt\" } via-port none-of { \"I+l|1ZI-\" \",p.Vm~__\" \"<'|I;}#T\" \" {KOT.Aa\" \"mV2qQ0Jf\" } parent-hash { \"`wvM+LSD\" \" x-lp-P'\" \"mz!I[*BN\" \"l49|0f[R\" \"io}f_KGe\" \"'H%Gn/wm\" } hash none-of { \"*pKSdB#Z\" \"I<#$$Zbc\" }  if !true\nallow name \"jB]]IetK\" via-port one-of { \"' Jzi/o<\" \"!p>z:XOx\" \"W!mhO{L}\" \"DOdT/ 5A\" } parent-hash \"2$^xC7-`\" serial all-of { \",I2r9;3}\" \"1CI_]QEu\" \"DTg78`Zp\" \"e,5`PfuZ\" \"|q^LpDd1\" \"-m3DH3'v\" } id equals-ordered { 8dda:8BBf }  if false\nallow name \"`k?PG#J4\" parent-hash one-of { \"{i3{jwf`\" \"0!6efXQ!\" \"7?Uog-X;\" \",roZSqx0\" \"o?L7H+g?\" \"NDYoy5s^\" } serial \"Wha!%Rq9\" via-port equals { \"Mw3s1*#g\" \"-Ro@q0M~\" } hash \"20OO7g>z\"\nallow name \"l+I-j+&q\" hash \"81_}}RUb\" id { ebe7:* aDCf:* D329:e8e0 9fab:A659 f4e6:* 7Bc4:78Bd FcAb:ABe9 } via-port none-of { \"ZZr$x->i\" \"uTW7l^JO\" } parent-hash equals-ordered { \"bg?j!M3O\" \"~iWT#~uZ\" \" OsS6L7m\" } serial \"%GVv.0<r\" with-interface equals { 4f:*:* 2d:87:* 7B:*:* bF:*:* A7:e1:* }\nallow name none-of { \"$-].7oN,\" \"&ac{_p6@\" \"NjH _5IA\" \"mBu2~5^w\" \"NGFlC$ I\" } serial { \"JoT@Fw0l\" } id c7Cf:* parent-hash { \"9mQnzlur\" \"yhFy-ZmV\" \"70x80j~Y\" \"*.NWj>P3\" \"8Bd%DyNg\" \"ORRNa!_~\" \"ARr!_a?h\" \"[e:Z-4WK\" } via-port { \"*|W~G;%E\" \"k@nh6<sj\" \"r4+= 5r%\" \"#?#<17xL\" \"gX!`A@T9\" \"Br~TI[Y>\" \"Vn^W<!uq\" \"{0%*ib^%\" }\nallow name none-of { \".B 4RAJ[\" \"R*A6M9<|\" \"s1{XP-*=\" \"d}#@G4*s\" \"D&=N>cD6\" } serial \"M+z$_lfi\" with-interface { 6C:*:* cf:*:* 92:07:* } hash \"Zb#]:;`e\" via-port equals-ordered { \";q0M6N2B\" }  if one-of { true false !true false }\nallow name none-of { \"S3Q2/$4a\" \"q=~JA!0:\" }\nallow name one-of { \"q=-gjqt$\" \">kt31^bN\" \"`7xQAsIr\" \" 2hwgFS-\" \">?O+c.b]\" } with-interface 63:*:* via-port \"GAN{&i_Y\" id { a389:CA3D 91dB:* ac8A:* DA4D:2F10 6707:5F13 5D0c:* 6FEF:* } serial equals { \"tk5'E`5Q\" \"co|R-ibm\" \"+?awhGRs\" \"@iH1%wZ-\" \"wqu^QUv%\" \"jBAD]_pt\" }\nallow name one-of { \"}Q&<UrIB\" \"8&}l.dm;\" } via-port \"5-5VeC=I\" serial none-of { \".bW?9?I=\" \"`G,1L*M+\" \"0ncp6$8F\" \"Q/Cy8G:?\" }\nallow name \"P>-.Ak:t\" id 9Fef:9460 parent-hash { \"u8'C+%lK\" \" 8cH|KUz\" \"=[=}Lc*r\" \"5o+Vn[+V\" } via-port \",95<gVfK\"  if !localtime(2:00)\nallow name \"p.$OYQia\" parent-hash \"NMu^ZyUs\" with-interface e7:CD:*\nallow name \"rm#|'dFR\" id aE62:4071 hash { \"^PHDz=T8\" \"XE8vrcu}\" \"yPjD%ulA\" \"qM{_}!2o\" \">vqo!sC1\" \"lr&+jB&T\" \">4f$1ayK\" \"5F_1d7G*\" } parent-hash { \"<2+,T,52\" \",XYEO?P*\" }\nallow name \"R=sdxV,Y\" via-port \"=d[t5h4,\" parent-hash all-of { \"YmqYD78V\" \"+T5$rA>M\" \"_%@X>Xb]\" \"7~8=&uj~\" \"%+:ch]kG\" } id all-of { 41CF:* 8CB5:B2E8 A6c8:d4FD d3Ab:6BF1 eceD:93c0 6bcB:4caB }  if rule-applied\nallow name \">SqzPBsW\" serial \"e8-9+zcm\" via-port { \"oD*t>I2G\" \"]P@Q}FE%\" \"zN^EB[3A\" \"T=gq07]%\" \"h +1A/#p\" \"E Oex~!J\" } id B98f:a9eC\nallow name \"$*tE^1xL\" hash \"zvcmQ0rP\" id { ADcf:Dad1 eCa7:* 49c7:* 8495:4fDC CfA8:* cacc:* } serial \"E$,i-GG#\" via-port \"}XJ<<y/J\" parent-hash equals { \"4_,XqtLL\" }\nallow name { \"$tvS}+c@\" \"mGl7Yq,~\" \"513_+T{j\" \"]2#g],J-\" \".=!; C{i\" \"Hd{V:+F%\" \"~Wuymq/0\" \"lEKsU9ks\" } parent-hash \"[M^1{jGF\" id 87Ba:* with-interface D9:36:F9 via-port \".Q]c-`fR\" hash \"T4T.h@_k\" serial \"uL^{AAUx\"\nallow name { \"viG*}@ZA\" \"Dr;8L$u!\" \"^N*.$TFP\" } serial \"rV3v}? d\" via-port \"+?=JJZJp\" with-interface 59:03:* parent-hash all-of { \"?o` FYS'\" } id 9Fd6:*\nallow name \"w4bC+xKv\" with-interface 1c:*:* hash \"WiuW5<EH\" via-port none-of { \"2riG1X%F\" \"F$1,hm8J\" \".3I=J-f&\" \";qiEg'g5\" } parent-hash one-of { \"R8T<r[Va\" \"m'1uD~+G\" \"x0eVLGr8\" \":*+QZDpv\" \"Nm/%:_&V\" } id { 5bE3:* DBaE:43eb 224E:28AB } serial \"8 t=~d0i\"\nallow name { \"w&} C.%&\" \"+m=!O<|>\" \"^Oy5cxN \" \"j?+ul]g[\" \"PxfVC4?n\" }  if allowed-matches(name \"&hGim?6C\")\nallow name { \"XM<9p =]\" \"q:3N!abA\" \"@rt00mps\" \"2qBA[-M9\" \"vql-d~Ni\" } parent-hash \"Fc7d?/.o\"\nallow name { \"~Y-7/9*'\" \"c4UzgH}Q\" \"TYXi#LvP\" \"g}ZK~$rs\" } with-interface 64:d9:29 id { a1a6:08d7 A7Fa:* } hash { \"$M[mDQhq\" \"KWFpzE4Q\" \"+7-{36$M\" \"ic8+wB[g\" \"tp#Q@r2}\" \"MS/YNz:1\" \"gtN$b1*.\" } serial { \"3LZ@=P.h\" \"e1G]_~QV\" } parent-hash { \"YOJ^DlF6\" \"p#v>3u!6\" \"zJkH/<>`\" \"*hBtqYA}\" \"f'4E,#;o\" \"2}-A Ez}\" \"=RGciD#F\" \"DXxtELsu\" } via-port equals { \"Q<sK'Y{=\" \"#tH.YMb`\" \"aYmXIqu2\" \"A[_d@G%.\" \"t:riFCDG\" \"rGW/Z>n=\" \"j}j3uC;~\" \"8&b=Y_SX\" }\nallow name \" ,YBx6N_\" with-interface none-of { 0E:*:* B5:*:* 10:*:* F5:5e:* 0d:BA:88 C6:b5:* }\nallow name \"z|IB SEY\" parent-hash { \"+n_fFr`q\" \"F#$yVikY\" \"R%5gTF^a\" } via-port \"&D.%`l{N\" serial \"{*DrR]zU\" hash { \"%{7uRMfn\" \"bU';0e$w\" \"arg-[<w!\" \"y/R +;tC\" \"t<K`v0T:\" \"Gd`7zNbC\" \"/4_6m<h|\" } with-interface 0B:2E:* id { d2Dd:8D56 02B7:664b }  if rule-applied\nallow parent-hash { \"-3_DuXxH\" \",v:Fz>ys\" \"M2/@&O!'\" \"_#~N!c>0\" } id 6E30:* with-interface e9:*:* serial { \"B:Jka`S_\" \"#l }5^lr\" \"Oxy%w|FX\" \"Rjsn;x#K\" }\nallow parent-hash \"3[&-m_~;\" id E28a:*\nallow parent-hash { \"3&zqdh8[\" \"Mjv0D_MN\" \"jhVFba3?\" } via-port { \"E,67tOTO\" \"?@Un*TsF\" \",+0C@3f7\" \"4^KE1n<Z\" \"f@ZeB0=W\" \";Xe/u|~h\" } name { \"U 9foe/v\" \" /z4|VAc\" \":DdAj+a3\" \"$DJ|!J#P\" \"oYI2K>]d\" \".mP1wP._\" }\nallow parent-hash \"'5pDBaw<\" hash \"Ya|;FG'+\" name \"Og^#MkS0\" with-interface F0:12:86  if localtime(1:00)\nallow parent-hash \"A4=eRNin\" with-interface C6:25:* serial \"* 6Z~LPp\" id none-of { CBBA:C1c9 D7dA:* B6E3:Dc48 8293:* 9185:* 8f4C:F9a2 } via-port equals-ordered { \"n]t/5m-g\" } name \"+#&[9Bev\" hash { \"%fTl{ u*\" \"n4-`0DIY\" \"=tALKv=b\" }  if random(0.4)\nallow parent-hash all-of { \"D=AaAX]7\" \"=`S 4xFt\" \"ZA]c15 9\" \"K[z]i 1B\" \"|S'nQ,E3\" \"zfwpF<`T\" \"G@>3P'~N\" \"n5alcGz]\" } serial one-of { \"]njX,04R\" \"I7?`E=n`\" \"{sK]nGUP\" \"q3k%kk2x\" \"=tcG}rXP\" \"34c.oB$;\" \"?[sBK!7?\" \"A`X+oJ D\" } hash \">jM6~J]m\" name { \"]?]xb=hi\" } via-port { \"{dZAF&>-\" \"%JU0{xTM\" \"BfYzE>+6\" \"h:<1[TbO\" \"4M+fce[?\" \"wOe&Y3lp\" } with-interface { 3f:*:* A2:*:* b2:26:* CE:DC:* }\nallow parent-hash { \".b]|+$8e\" \"q*]AB8ly\" } hash \"<s?'4!S=\"\nallow parent-hash \"CI?M m@%\" id none-of { 1FDB:B3c3 DaB9:4b6a 430e:fDF1 E4e3:6b46 DA5C:* } serial { \"8R~J#9sV\" \"qNG=,jL8\" \"wm?i;%Kr\" \" XZ{<!0Y\" \"x2E?G?=+\" \"-ptVo.!~\" } name { \"@$=|j>8%\" \"q*$~CQ{r\" \"2xq M}.r\" \"jZ&o8.hK\" \"b^lx*@oZ\" \"]}B[V~f4\" \"A4Ws$}u'\" } with-interface 8A:44:0b hash \"}Q{Z1G+I\"\nallow parent-hash \"dycoj6=Y\" name \";^$HUw78\"\nallow parent-hash equals { \"6>5oT*QC\" \"nC/Y{x:-\" } hash \"XS|2m_>%\"\nallow parent-hash equals { \"6vK,de0o\" \"<6zj49sE\" \"Qsdp*CXN\" \"9k'!4k8y\" \"A`dDkxXc\" } via-port \"}Zh2*^>3\" id DB7C:5cc4 name \"h$eT+AGD\" serial { \"61wIC.n}\" \"}S=t/JA<\" \"6+zCIpB@\" } hash { \"`G4Q_D:,\" \"6ns^MSHQ\" \"!,`?=2<P\" \"JTt79sj8\" \"-Dn+yW[R\" \"'Jz7nJ_*\" }  if false\nallow parent-hash equals { \"nSp2_JpK\" \"L@H#@6gU\" } hash \"'ax`ujcg\"  if false\nallow parent-hash equals-ordered { \"|BF-Rxf?\" } serial \"~D.@] `5\"  if localtime(1:00)\nallow parent-hash equals-ordered { \"D*16%vFC\" \">5@-Tjue\" } serial equals-ordered { \"'WO8VRS}\" \"X_aq-O M\" } with-interface dB:*:* id 169A:*\nallow parent-hash equals-ordered { \"Dr#u7kLk\" \"S:Q3|PED\" \"g|YuJBTf\" \"DuKE=VIR\" \"';gAGW#v\" \"zYTf:[u1\" \"E$H*<q%O\" \"zOXP>#Tc\" } hash none-of { \"LdT=}aPm\" \"Y-X}4;N8\" \">]K]<jFS\" } name none-of { \"xsBW3!h*\" \"-J0p,gn/\" \"P8TNYy0?\" \"-|XxX{DD\" \"KQsG!NL;\" }  if random(0.4)\nallow parent-hash equals-ordered { \"t|38|n<K\" \"k_fLE1:8\" \"!V:Hm]LO\" } via-port \"mA@bB?C,\" hash { \"v%K7|9xX\" \"^*^.`T>;\" \"}R#YcGAW\" \"xYDD-qJ_\" \"]d[05hdg\" \"jV?`Lf'Y\" \"uwwgTx>G\" \"*hJ6xz20\" }\nallow parent-hash \"eqW u;t$\"\nallow parent-hash \"f1F`]460\" via-port none-of { \"1*B=r%ZC\" } id one-of { E8ea:* CD3f:9022 } hash none-of { \"3dC;=a7^\" \"HAs4PM.%\" \"jWC8BP^Y\" \"ubSo=drk\" }\nallow parent-hash \"g1E d'mB\" via-port \"AM&o;>ja\" serial { \"Wjjgt<;l\" \"hV@a.sKQ\" \"$}$W7nl!\" \">2'Rfeas\" } id dd0A:*\nallow parent-hash \"hI<5-~BV\"\nallow parent-hash \"j?keU3u0\" hash { \"^RxX'9No\" \"0NFX870}\" \"VGj0ey_2\" } id none-of { 0Dda:FAbc } name none-of { \"LUcTt<83\" } serial \"P};lVbS`\" with-interface { F2:*:* 10:b4:1b 81:*:* 2d:4e:6c f3:69:67 b2:*:* 0e:02:8A 29:*:* }\nallow parent-hash \"?k05p`{P\" name { \"NaW&vobv\" \"HJ;9IJ<J\" \"F,O?$3Hq\" \"eSFj3!!8\" \"9~ql~!B]\" } serial { \"${w<I-N<\" \"62w@Wwq'\" \"5suaX.a_\" \"+m?9Lh,^\" } with-interface 6a:A1:1e id none-of { aBB9:d562 f17A:EBeF aa9a:* e9d8:22Cf } hash \"q&GNQv+q\" via-port \"l8GEnOW?\"  if localtime(1:00)\nallow parent-hash \"kQ4JS0up\" hash all-of { \"8J*xyiY%\" \"J8SyKS,$\" \"v0u{mPE:\" \"^UR<1k!;\" \"frG3EzY5\" \"eiwUA}%2\" } id 0DbA:f20c via-port \"s'sxYrpY\" name { \"NcjSz*B#\" \"tN Ajy}M\" \"6{,L6-RL\" \"no8g$7Pr\" } with-interface 9F:d3:Cd\nallow parent-hash \"l<7d8H?:\"  if random(0.4)\nallow parent-hash \"N:hegQ+&\" with-interface equals-ordered { d6:A1:* ae:3e:CB Ed:fd:f5 6b:10:* ad:*:* b5:bb:* } hash { \"{^m9-lG6\" \"h!P{qN[n\" \"ag*?`pHR\" \"Wb}!MJvg\" \"`HJoPZ+k\" \"%+U2N!S9\" \"Hv0C3ZZH\" } name one-of { \"g0&m<-R=\" \"1e9;6nJk\" \"g-~jmIaX\" \"NIzr^_>U\" } via-port all-of { \"f-#G^eiT\" \",U8CGp6%\" \"U%>I4h#A\" \"L|gwgzt_\" \"_8JzwYW2\" } serial { \"&KO<b8?S\" \"V]/cW+c_\" \"88a&wIg0\" }\nallow parent-hash none-of { \"7K V2Fxi\" \"P1=VGckU\" \"<]ZuM7n?\" \"Ozv$8!i1\" } serial one-of { \"EaWP4KU3\" \"BX8:k!Sw\" } via-port \"o{wTJ-Z*\" with-interface 9B:A3:* hash { \"0WUT5y^j\" \"'[ks=6y|\" } id equals-ordered { bcF8:a4db 7A61:eB41 6db2:* Ead1:CF7D }  if false\nallow parent-hash none-of { \"}QI6g.#=\" \"S-NdhnGP\" } via-port one-of { \"0b-I;o4>\" \"G`g`6Zx9\" \"=L@q[t/M\" \"Cw3fTNsU\" \"oT%/m{|l\" \"cwTq2~e:\" \"o:v8;mK7\" \"ibX2M,jX\" } serial \"xQY?[l}S\" hash none-of { \";vD*dCVS\" \"Umg|w}n1\" \"-zR8eb$=\" \"&uF1!1Of\" \"1deUS+,V\" \"Pgc}}#T6\" \"VV*9?NYc\" }  if true\nallow parent-hash none-of { \"wWAlt+a2\" \"$|p_HABv\" \"7@dF#y#Q\" \"i0;+qg^j\" \"grc wTv2\" \"e9/F{PmO\" } with-interface cd:*:* serial \"{^THpO#8\" via-port one-of { \"!Lw2?sbP\" \"C%#tO``]\" \"X;M=p>rz\" \"y=VKS?kP\" \"p8^`4s$<\" } hash equals { \"dscOOhUE\" \"UF4Z@LE;\" \"wY.*RV^2\" \"b'xY7yIs\" \"MGf;wg7X\" } name { \"-Gi3xX_b\" \"RdEq$oE0\" \"%:[X&IO!\" \"IVt|{0ov\" \"sM%P|hIf\" }  if true\nallow parent-hash one-of { \"1!c sXx.\" \"0?OSRz]'\" \"pHd2:j2C\" \";+n:wE5r\" } with-interface all-of { d1:*:* 96:E9:F3 Ee:ee:* 03:*:* } id 72EA:2feE serial \"xWht+3z2\" name \"IjD9>JQL\"\nallow parent-hash { \"-P5iX2'i\" \" vEpe_<J\" \"2SqYC6q#\" \"yJSE{cI-\" \"vWz2slxk\" }\nallow parent-hash \"sbFA6?94\" via-port \" U298zg`\"\nallow parent-hash \"!`X[k@16\" name { \"hLyI-bJ5\" } with-interface 8A:*:* serial \"';<.t4lC\"\nallow parent-hash \"Y0]$w8/=\" via-port equals-ordered { \">rn/:?3n\" } hash equals { \"'m89QdGH\" \"cl.oFO9<\" \"PIjylETk\" \"Co7Zw!;k\" \"wySgI&Km\" \"WvAz|4+s\" \"`28gOaOc\" } with-interface equals { 52:ba:* BD:Ef:* c2:*:* } serial none-of { \"Ns'PECqA\" \"[qSQdvr1\" \"MoT[zjp7\" } id 2F08:a478 name all-of { \"v3:g5kYZ\" \"noV[8ufu\" \" '|h=he7\" \"v nDRB@m\" \"'v20C{`*\" }  if true\nallow parent-hash \"zs87c%:_\" name \"vF#*!p=|\" with-interface { BF:eb:* 6E:c5:AE } hash one-of { \"w 1<;MF1\" \"z9Q$[,52\" \"UlD]a#C^\" \":C~R.f~q\" \"xa1hxvMS\" \"E }TNsit\" \"s&rBcjA#\" \"@K,Ao5/c\" } id 3465:*  if !false\nallow parent-hash \"z.,+?>;|\" via-port { \":@V1!w8|\" \"_OiWE[N;\" \"!NGSs#:Y\" \"DC@1uv!:\" \"qnf$d[nl\" } serial { \"'{e*.PKQ\" } hash \"sk*>:>0g\" id Fbc5:BCEF\nallow serial \"13gwVVH5\" parent-hash \"^$#pYu'q\" via-port \" ;Oqn1Y-\" id 34B6:05b0 hash \"Gme/.b;n\" name \"uB69{#>*\"  if !localtime(2:00)\nallow serial \"#-|2VG'4\"  if rule-evaluated\nallow serial { \"4ZAH# [a\" \"_K.HiYlO\" \"RuH9uNPX\" \"JSB}mk`L\" } id 38D7:C5a3 name \"otYR$=X2\" with-interface { Fb:bc:b8 Be:*:* DD:*:* Ac:*:* 11:49:* 00:*:* 9d:*:* }\nallow serial \"5%[xymld\"\nallow serial \"7>lGW!SQ\" id AfA2:9aAA parent-hash \"Jc{r^WNm\"  if rule-applied\nallow serial { \"9!MA;6gh\" \"*E8l%9;>\" \"o6u'hRRI\" \"p `m@N-S\" \"rnmK[1M%\" \"//+a79&t\" } via-port equals-ordered { \"]/EQL?a2\" \"Imk7@r=E\" \":,a-OO{l\" \"JW/|jwu3\" \"WDNq;;7?\" \"WJ;x@6@6\" } parent-hash \"i&mhTu/!\"  if !localtime(2:00)\nallow serial \";}!>]9]o\" via-port { \"nHGDZ6.Q\" \"U_[C!lOE\" \"A3hL1:Vw\" \"1nHso<fO\" } id one-of { D5eD:* 3cC3:03C1 F54a:5Ed0 e2E6:* 0aF1:* D5cE:E85F Dd5d:* 22a9:* } parent-hash all-of { \"X@SBC9_G\" \"WqLB@ng8\" \"_lH{>OWB\" \"f/Kl}-E*\" \"6v  %^hZ\" } with-interface 3F:30:* hash { \">_,N9e>w\" \"[H*I6oM^\" \"&c4$C3]~\" \"'VH5</OU\" \"/g5uH=7=\" \"=ru&[+dk\" \"LL%TY*%$\" } name \"iDRZfl?P\"\nallow serial all-of { \"3/Q6_CU{\" \"T_JZ8D.W\" \"BtH:zD,w\" \";>*=1&N%\" } name \"j+lljhgn\"  if rule-evaluated\nallow serial all-of { \"Q]a4D;'-\" \"w^QOYRtT\" } with-interface 9E:*:* name one-of { \".cqJn~i=\" }\nallow serial all-of { \"YZ^O^HfL\" \"Xc9/|?T$\" \"F>ab@Yq^\" } name { \",ysz`6* \" \"xV1|i:~&\" \"u37WO][m\" \"JJnBEv89\" \"BM1..j!-\" \"2RFBXTBU\" \"+5&nHUe$\" } with-interface 1e:*:* id { E2e3:* aE3c:Fa1d 37E3:* } hash \"QH.BnmL.\" parent-hash \"?&0>iFQw\"\nallow serial \"ba/53DHw\" hash \"NB8T<0+]\" name { \"UFVo Ze1\" } parent-hash \"SXz6H$e]\" with-interface { 4f:9F:Ad A1:a8:A8 } id { baA9:36BE e5a8:875f fE1d:* EFFd:* bF1f:b5C3 03bB:* d2Ce:b1Db 570A:* } via-port all-of { \"aV<xC?k8\" \"HFhlI;P3\" \"A->E]qHo\" \"p@hwy<PU\" \"K.`*MbJ~\" \"dN;yq[2j\" \"`V'f%@le\" }  if false\nallow serial \"bZe*h:QG\" name equals { \"q$FcEWD \" } via-port \"UW-#.Z/$\" with-interface { Bd:bB:* 82:2c:65 D3:*:* 2f:FF:* 24:d9:* A7:*:* 2F:6d:D6 } hash { \"&Mde]!VT\" } parent-hash { \"FSqYy5KP\" \"{f^%-lta\" } id { 5bAB:a20D 7c6e:* 570f:c7dB fdA4:caFE 57Ef:e1a7 7005:F785 EfdB:* 99ad:5394 }\nallow serial \"DU@R]?.3\" via-port { \"`9Dy-GI4\" \"&qy$09?v\" \"8>-nI@ks\" \"5I8}nUXl\" \"8;@,13g]\" }  if !true\nallow serial \"%dyTA'MH\" via-port { \" fa:z['B\" \".*;Kc%AT\" \"te~8wquE\" \"%/#VKyfS\" }  if rule-evaluated\nallow serial equals-ordered { \"J#Ak$o3t\" \"jh[n.8cd\" \"baM`%%3e\" \"&bHo-b=a\" \"Y'I5ZW4@\" \"|K64FHR`\" \"l9sPVPr4\" \"3i'`_Z.Q\" }\nallow serial equals-ordered { \"jEKy4X&4\" \"IJD.><+l\" } hash none-of { \"A%Z$&Y;5\" \"q+Q7w-#7\" \"DOl$aKm^\" \"c4eKs$;2\" \"A5O%3?Oa\" \",I#V{![0\" \"tU3f{ao&\" } name { \"S34X`%W$\" \"T;ePLNJG\" \"7x~qOD,.\" \"Q?6d<htQ\" \"l8$Yq#1v\" \"E@H8/:x/\" \"yWYmI07?\" } via-port { \"]dI`K8[|\" \"ckh+<0jL\" \"wA-[UM, \" } with-interface Db:*:* parent-hash { \"Kt><f$k,\" \"7.8AZyRd\" \"Oqxu:~N$\" } id { 5A62:* FBca:* ce65:* 574A:0296 }  if localtime(1:00)\nallow serial equals-ordered { \"?UI~5c?$\" \"lJct+HzV\" \":mnstT5K\" \"f7]#7x9&\" \"8nH=4cTX\" } id { 10Ec:7d40 c44e:DE77 36F6:* dC3C:A8E2 f9ff:8f70 ebfE:dF37 AbB6:* aAde:8F2d } name { \"Kj'c]lbk\" \"0[~z>_Yd\" \"1rv`lev{\" \"`M@QqQ>.\" \":MN7Jh;=\" \"uRQ|tG[G\" } with-interface 96:20:* via-port { \"jvE;f2v]\" \"t1sH?c45\" \"}q{$6X.Y\" \"$&EDA_ez\" \"G@l]P#hc\" } parent-hash \"JRa3 TBB\"\nallow serial \"<E/y@$d@\" id { fDd2:* feAb:40fb 26E5:B560 987d:* 033F:3cFd } with-interface D2:CD:4C parent-hash \"~XN9l`1W\" via-port { \"KwlnKB=r\" \"8gBNxxEa\" \"#DRu?=,Q\" \"pa$B@BLK\" \"<10;VI7'\" \"A5B]kxBT\" \"EAVicM8c\" } name none-of { \"}WFm.sR2\" \"Ar<kLN4P\" \"-j'as-6&\" } hash all-of { \"FfSD^';U\" }  if random\nallow serial \"GBSq~u*~\"  if rule-evaluated\nallow serial \"gJ=um|c1\" parent-hash { \"6S&=r9K1\" \"0P}Z]Dqd\" } hash \"c|xSp-|8\" id { F64b:* 638a:5AF3 0Ceb:F7AE D59D:* 5Fa9:E3d8 aEBa:* Ea87:* E4a0:a2Bd } via-port all-of { \"'Mcg:Leo\" \"iH:AZPD7\" \"ey$q[@VW\" \" HB2W:Ip\" \"CP#7^.l_\" \"%tH'JT8V\" \"YyWNlZ~7\" } with-interface 34:F1:99 name \"4]}A?Q5j\"  if random(0.4)\nallow serial \"[.+h7t$C\" with-interface aA:*:* parent-hash \"2e}daktj\" hash \"GZi`#805\" name \"LD q5|%|\" id 9588:eB7c  if random(0.4)\nallow serial \"&I:Y~sG,\" parent-hash \"O>; =[@`\"  if rule-evaluated\nallow serial { \"j[C^[]83\" \"g;ZB88;o\" \"_u5RxUr<\" \"bos/#6v:\" \"-e-'xp!S\" } via-port { \"~_nV#:Zp\" \"lv+8UnAo\" \"g/'*O@V]\" \"^uC$>d[}\" \"oA B;-}V\" } id b569:* name \"~XKeZMrl\" parent-hash \">J:{MFJ$\" hash \"a5JEFomo\" with-interface { 1E:f6:48 8B:d6:4f 0E:FC:* d0:5d:* 4a:*:* 1B:*:* }  if localtime(1:00)\nallow serial \" Kc01#Po\"  if !false\nallow serial \",MN%?.Y>\" via-port \":^~;QaQq\" name none-of { \"3#G_;-a$\" \".|mn0#_y\" \"tIq5=5nZ\" \"kBHA2_`y\" \"F4wUJ!-A\" \"=[0NEa.>\" \"latZgmqU\" } id { 99fA:* 8fB8:* bD00:F90B eBCa:b0CC 49A3:* 495F:7F6A } parent-hash one-of { \"sE0ORb:C\" \"ViwOg75q\" \":x~,ntB%\" \"yKvoEhW@\" \"iy/,{&cf\" \"R~WcTWC3\" \"7u^SodZ1\" } hash none-of { \"m'%!b@Wy\" \"^v%pr|v \" } with-interface { B5:*:* 3F:Cb:E3 F1:*:* FD:*:* Bc:*:* b6:F0:7e 17:c9:* }  if true\nallow serial none-of { \"3H5B@Hdm\" \"uA_q2`~U\" \"!syR`O,s\" \"DaX=w5%!\" \"}C=-=#%J\" \"3lp4BeIA\" \"@V|L#{Q*\" \"hf:?q'!Y\" } via-port \".sZAu,K#\" parent-hash \"lR-:Z~S*\"\nallow serial none-of { \"7ZS>.Z_L\" \"^JC~{@J;\" \"LHIAhTY*\" \"t0XzZ,Aa\" } with-interface aC:f9:78  if true\nallow serial { \"nR*zOrIM\" }  if rule-evaluated\nallow serial \"?Of=@o&9\" id equals-ordered { b2f9:D590 9aA2:fF4a BF83:b6eC Ff1F:* 2fFF:* } parent-hash \" ;ndZ.|N\"\nallow serial one-of { \"8JZG.Sv,\" } id { f38C:3FeC 3e37:* aAaB:* 9B0e:3eD3 Ec82:4a10 dAeA:916f c099:* } name \"R5kbH4hm\" parent-hash { \"-0wkb,S5\" \"}:?%{mEK\" \"3t;L%x;:\" \"n_n>XID5\" }  if rule-applied\nallow serial one-of { \"y]ZovAW[\" \"LO|~3Z^c\" \"0S|IIQ;%\" \"ev,<kAWB\" \"'I`V/RT*\" \"USikY~nm\" \"Gnp>O$V1\" } parent-hash \"6e1>8lB#\" id equals-ordered { 2ecd:62C0 } hash { \"jfX=U2-l\" \"6D~'X`zd\" \"9Mwid$/b\" \"o;p@JxY>\" \"2{Du3+iT\" \"}C0aw,>D\" \"?EEjh8/-\" \"Q+ve-G!{\" } name \":/Y|DfTc\"\nallow serial \"R3!drwed\" hash \"La`$Iv[~\" via-port none-of { \"nD*y`It:\" \"_KI 27ER\" \"i3A`9<oP\" \"Km6-U6Dv\" \"*VSB {>]\" \"GC[:}B%T\" \"3wUV< &4\" } with-interface { f2:eb:ee AC:*:* 16:36:63 85:74:* } parent-hash \"6LD`eCtV\" id all-of { 687C:* }  if random\nallow serial \"+{sxQai6\" with-interface 9B:*:*\nallow serial \"TB$*R1FV\" name \"FJsN 5G]\" via-port \"L&2wy`d%\"\nallow serial \"wzv*1-?;\" id 530E:* parent-hash \"z~1]XEki\"\nallow serial \"[x{r=@3?\" via-port \"XAqCV`lo\" name \" oND]_[e\" id 9dB5:6eCe hash one-of { \"]'0ySg`@\" } with-interface all-of { 3d:*:* } parent-hash none-of { \"L}aJXUI7\" }\nallow serial \"Ysvz,r^=\" parent-hash \"pABE8HA:\" via-port \".WT$UVKO\" id Fc9E:7Ae4 name \"$m_fy '.\" hash \"'*'$p]V=\" with-interface { Fa:*:* Dd:cF:* ac:5F:ce 49:EF:* 84:Ea:Ed }  if !localtime(2:00)\nallow serial { \"_Zf`R.Ow\" \"ZsrHlOHR\" } parent-hash all-of { \"*ev,d+a0\" \"]bk9[l/s\" \"6 7f66c6\" \"dwq|U+-{\" \"dV3ufcs<\" \"Ao$m@tW9\" } with-interface none-of { 27:*:* 5d:da:* 1A:EF:* }\nallow serial { \",zqU4:Et\" \"@wn77Y]6\" \"% =wSK'p\" \"7?xc-:P~\" \"@N`5h13]\" \"hpTi^C~q\" \",I3xAfmW\" \"@BcWV1{~\" } hash \"ko%GG-j.\" id { 5A8c:* Fbe7:6425 C2Cc:* 7BDf:1e6d f9C1:* 4B92:79A7 }  if localtime(1:00)\nallow serial { \"}Zy8#M%K\" \"Kk}@K-Ad\" \"rs=9 |@/\" \"z0x[[%om\" \"HVsG5*vk\" \"Yzb.i<7%\" \"kq0pM%4|\" \"%K/cN{Pe\" } id one-of { 1cab:fF2A c963:* baCa:* 212D:* }  if random(0.4)\nallow via-port { \"0$kiH'b2\" \":*x`tsTZ\" \"EDujY+cd\" \"s&Y@bFS~\" \"q QEPzk[\" \"zEZ+{$?j\" \"%ieRj@~h\" \"pvor/A<`\" } hash one-of { \"w$a#5o'1\" \"Xj{E1|HE\" } serial one-of { \"Md'Ms-W|\" \"1NJuuJjP\" \"wV6Wkc^D\" \"rr3go=Fa\" } parent-hash \"Xza{L#/X\"\nallow via-port { \"18wAQlLj\" \"*{R|trH4\" \"&Q:M6cMj\" \"DJDO=$bA\" } name \"wqx/*A'C\" id { 6d37:* 906F:6a5E AEDe:* Ff20:* e20d:73Dc CFcd:F3eC ea94:* bFd2:* }\nallow via-port { \"4ic+&t{-\" \"j;y<q_3+\" \";^T4niRX\" \"be2Ietv<\" } with-interface none-of { bB:2D:* 7D:*:* } parent-hash none-of { \"lg LS71_\" \"gl4VVOJh\" \"H.SzjVM2\" \"_T?>K~HH\" \"m;dO6a4+\" \"S t|lsQ \" \"k5Ye/qgb\" \"L3H4$bok\" } serial \"l#[1-pdf\" id 1eDf:aC95\nallow via-port all-of { \"8hKR|Fu,\" } hash \"/3ow6o*c\" parent-hash \"=gkx9? ?\"\nallow via-port all-of { \"xOqZKm8O\" \"MWR#= Kt\" \"X7:T,]/O\" \"Zyqi><=/\" } parent-hash equals-ordered { \"Zt9k8aYP\" \"pKJK}@dx\" \"SE9]?aJ1\" \"A5^,0+ne\" \"1*iKy%c~\" } with-interface 4D:ee:8D hash \"s}QJp=EU\"  if localtime(1:00)\nallow via-port \"A~m~~kR@\" name \"3Rv<E0+z\" parent-hash equals { \"~G?hka1D\" \"YoJc&*9*\" \"Z#6VinAi\" \"q!y>DO:J\" \"Q%$[nB`<\" \"?5W<ww6A\" \"8'EqIujO\" }\nallow via-port \"aV5+G6vc\" with-interface Ff:*:*  if one-of { true false !true false }\nallow via-port \"BJ;D1C*!\" hash { \"PQQC0&;R\" \"gUXh>/1L\" \"<N?WLO!t\" } id CbdB:* name one-of { \"B[<Hq:*W\" \"s,5s>W78\" \"7>BYqJFW\" \"a ,9qYS#\" } with-interface 1e:CC:* parent-hash { \"R]z/CO>]\" \"!lPQ_T/g\" \"F>-j2#!M\" \":amy4QD^\" }  if !localtime(2:00)\nallow via-port \"b/&kaa& \"  if rule-evaluated\nallow via-port \"E58yEB,A\" id { B2f9:beb2 } with-interface 6b:6B:DF\nallow via-port equals { \"M=alL4,~\" \"xbe`6m-<\" \"}i1WqZE|\" \"s9R2acSQ\" } id all-of { FE9D:* 8ecD:* 3836:4F1f bA4E:EFdb 16a1:* E6B4:66CA } serial { \"9$77IY}.\" \"dbKA654h\" \"eiZkAE<l\" } parent-hash equals { \"BHHza7!N\" \"@.yTO^G9\" \"?DxF6vf.\" \";$Bks[on\" \"*=g|,C]W\" \"/ew!Y|Fm\" \"C$gjkojp\" } with-interface { c8:*:* bD:A9:* DB:*:* bb:39:* F0:EB:7b 27:Ed:8D } name \"C=;xuitV\" hash { \"m6y DYz*\" \"|YIYyo{4\" \"$n{P0'Do\" \"sR%TUaYa\" }\nallow via-port equals-ordered { \"!:GLE~_Y\" \":<BJDRcb\" \">=/GT[{o\" \"6I6@`#BR\" \"yitwi F%\" \"9yu_In4c\" \"vMa'C8>`\" } name \"q5'*2eOv\"  if true\nallow via-port equals-ordered { \"K^p-OhWU\" \"4Z3H!}U8\" \"cfn9R$'E\" \"lYccdk*j\" \"@mL<&f,<\" \"1d9,9.Zj\" \"L_%J]tR%\" }  if allowed-matches(name \"Go|<6C~'\")\nallow via-port \"}Fk=2,1E\" serial \"`=+!$1A|\" hash all-of { \"B9,>T+qK\" \">dOVxI`@\" } name { \"g_d~maU!\" \"`g8bJ6?.\" \"X%&|'ZVQ\" \"O_A+/oUH\" \".!wOMBvS\" \"[dzi@mC/\" \";nCL,7TQ\" \"A!9*m[7U\" } id equals { D5ad:51f4 33Ba:9D4b 4c1d:de75 03bF:E9D3 49eb:* B93D:7F3B 2320:9cCd cBa6:* } with-interface 7B:0a:BE parent-hash equals-ordered { \",ZTVihf,\" \"R`n'%W?!\" \"?D~.![q&\" \"5H=;[FM{\" \"J;d,?-q]\" \"m*:y9DD%\" }\nallow via-port \"HnEl>4*5\" parent-hash none-of { \"taS6,Ly&\" \"0bju}_,A\" \"GtlS[Vrf\" \"kZ$x#x|l\" \"w,iZw`<%\" \"c=s3!Wed\" \"Fu1Ep`:Z\" } hash { \"p%C1e &k\" \"XYJ#~iig\" } with-interface { cB:D4:09 7F:Ad:* Fd:AB:E6 4B:DC:c8 ec:af:c6 9b:C0:* 4F:3E:00 } name \"ylhT1~6m\"  if localtime(1:00)\nallow via-port \"'I3[&dV^\" serial { \"zKl>>$UF\" \"Gna5cvVv\" \"17=s3D-9\" \"[05-~_n2\" \"+*xe!oY|\" \"FV^?Qv.O\" \"ELmS;E[Y\" \"o{bMdi2P\" } name { \"H2Mva{T9\" \"Z?<$?Yu>\" \"s~b%?*9X\" \"VP5K5@}f\" } hash \"qyzNDvL|\" id dcd7:2f35 with-interface one-of { 9D:*:* f0:EA:* D8:*:* } parent-hash equals { \"|!-Qg--v\" \"^evR]Vg2\" \"8Eg*Z!IL\" }\nallow via-port \"I'}e!NBd\" name { \"clgkJ/.1\" \"_~gKmJ6c\" \"uJ!{<t8*\" \"'CCAdDCo\" } parent-hash \"7Paf&M#L\" id none-of { bcc3:* eACE:0bbb E3EE:* Bea0:01a8 5C8a:b864 1BAE:AeDE aa3D:* ef0f:ccfb } serial \"x-=70D^w\" with-interface 4A:*:*\nallow via-port \"iy3ScNxx\" hash { \"Ske.g@JA\" \"BE>b{kf6\" \"X:r'|Ql-\" \"|g:vSQPo\" \"&J6*wr'u\" \"bcN{k4'7\" \"%%k.R;`V\" \"3Pf;hL[,\" } with-interface { df:fD:* 0A:4F:* } name equals { \"6CRf.#D^\" \"4$;M@PtL\" \"zODT&~k@\" \"vP iD<U^\" \"*sWUJG%z\" \"#fA~5p8r\" } serial equals-ordered { \"W%GH*.^6\" \"r[,Srj*N\" \"yw[u#Taf\" \"[pfb_j[X\" \"rojX.wT[\" \"wWO+{?]f\" } parent-hash \"<n3{W#mf\"\nallow via-port \">jHgdl%D\" with-interface equals-ordered { 4d:*:* 14:fc:* } serial \"u1@4;qy@\" hash \"C+?T.}L+\" id all-of { A2ec:* } parent-hash \"9wkrTo}/\"\nallow via-port \"jKG$9?]y\" name \"^#*REo<!\" id equals-ordered { ab86:* 8b78:48D2 F6c4:* aE05:* 0E77:* c1C6:aD7F 78Cd:ef4C 9C87:* } serial { \"Yt=?:.P:\" \"l+G'{`h2\" \"@_>%g<Bd\" \"#5B$=!+P\" \">V|*%7gd\" \";==4qGOg\" \"$~vN-g&C\" } with-interface c6:CF:* parent-hash equals { \"LyAJ`.0R\" \"s^{1LRq~\" \">EMk=l9^\" \"FP=|?&[d\" \"v.V[` T!\" \"JwL#x35f\" } hash \"@4?1nf8d\"\nallow via-port \"l,C[xF9q\" with-interface { 9F:Dc:* c4:*:* a3:F8:EC cb:*:* 7C:b2:2D 76:6D:* }\nallow via-port \" N'Drw /\" name { \"yM}En>b.\" \"}&zN1e|6\" } id all-of { 7cFb:* 4E08:AAda ccfC:9000 7DBA:838D 51eb:* 1AEb:* } hash \"dk^GY`u?\" with-interface none-of { c2:DB:* 17:f0:bF 4D:c2:* 2D:*:* } serial \"q/<i[mB6\"  if false\nallow via-port none-of { \"_=vG;,a@\" \"$w?BY.f-\" \"/Jw}F.4]\" \"dTlf9h?b\" } with-interface B3:*:*\nallow via-port one-of { \"UAq5mK>[\" } parent-hash equals { \"h0n0UAV:\" \"=D]l*N}m\" \"fi4hn}of\" \"~kO9Jbv'\" \"UQu*t#C1\" \"B fA?>Oa\" }  if true\nallow via-port \"pb5CfNij\" id all-of { Caa3:DeC6 0B2B:* } parent-hash { \"FoYn&pG%\" \"BlS1aCnl\" }\nallow via-port \"pqwFCcs&\"\nallow via-port \"=qD&%u6x\" hash \"Xt3Nj#0!\" id 0Ffb:66af with-interface 72:*:* name { \"HTaWQswf\" \"S&|otHSN\" \"uhi6etZ{\" } parent-hash \"Vt*!ktW-\"\nallow via-port \"[Qk2vU8k\" with-interface C3:b1:B2 id equals { aFe4:* deBB:6f6D F439:E77e 1e2a:* C7B5:dEDf }\nallow via-port \"rf+1o/d]\" parent-hash { \"eA*,txrY\" }  if random(0.4)\nallow via-port { \"^rTs?/lg\" \"ZE2L?#?c\" \"n-k~&6c>\" } parent-hash { \"Oa[S*Ln/\" \"RsG#@J&W\" \"b[]4m7W<\" \"&rM`le#t\" } with-interface db:58:* serial \"WM}iEQT]\" name one-of { \"OK:rpzt$\" \"I2yzR0|@\" \"FL>tTY{K\" \"7[/K2Nvx\" }  if rule-applied\nallow via-port \"tTNJq{Bb\"\nallow via-port \"-=UR']>v\"  if localtime(1:00)\nallow via-port { \"VU[i`N0W\" \"fB<%eCU9\" \"@SQ&do ~\" \"Qe?0Wkgn\" } hash all-of { \"N?e5Ax8p\" \"{Sn|T?w'\" \"j'~s8Q{q\" \"oM?S6?r8\" } parent-hash \"$sS4Fl9o\" with-interface none-of { 96:*:* E2:*:* Fa:2e:0c f4:*:* e3:12:* }\nallow via-port { \"VX'5,yGt\" } serial none-of { \"YdyFnK4r\" }  if localtime(1:00)\nallow with-interface { 0C:08:97 Aa:e0:* } via-port { \"MU;,4G[h\" \"]v$$XKFh\" \";,MZT'Dh\" \"g00{lD%j\" \"wRUZ*``0\" \"8#!J{gQ@\" \"`Z?3p92&\" } hash \"KYHTnNgP\" id one-of { C60C:* d2EE:aDe8 ead7:214B 75Bc:59a6 3129:* AE7E:d25d ee2e:* A21D:* } name \"n0CKUNor\"\nallow with-interface { 14:E1:ee a9:ef:1e } name \"$T[<!1Op\" via-port \"h?/.,fRv\" hash one-of { \"dx1ciKB/\" \"^v%3PS_<\" \"jOTYF-_x\" \"8JQe^A{]\" \"0J=;i6Cy\" \"aRr7J7Eh\" }  if !true\nallow with-interface 16:*:* serial \"27xKlGv8\" parent-hash \"2IhpTB<T\" id one-of { 5AEe:* 258c:8B13 dE5a:224b bdD9:CFD1 6fcB:afa0 51A9:623e } name \"o's?zUkO\" via-port \"iaPHYSWU\" hash \"il`&{g4+\"\nallow with-interface 17:*:* serial \"`b^mk[ m\" parent-hash equals-ordered { \"k>3!PZT'\" } name \"5K;E#z &\" via-port { \"Td'H/ VL\" \":JR8Pf-y\" \"bcPr&3-N\" \"m,mo$xhm\" \"z+y&F4DE\" \"2J*&~~Q5\" \"%:{xUtY*\" }  if !true\nallow with-interface 28:fC:* id { ea02:8AA5 a850:18D3 db89:7D4e A936:* f9Fa:4ac5 5459:A4Ff } hash none-of { \"w$4hD/zo\" \">_kkI0SC\" } via-port { \"K 2yQU+K\" \"fFeBLR]-\" \"$4nL V]/\" \"McY*:%l*\" \"XHw.PIY~\" \"2f^.Riim\" \"!g;w8d3f\" } name { \"a@'MGh%H\" \"^c ?*4m;\" \"8+zFVU$^\" \"Fd]OSOtL\" \"7[:I!zm/\" \"16ef=Dwr\" \"g'!iYZf#\" \"5E [lcvs\" } serial { \"Y&Dek#;E\" \"n,SM_P.`\" \"uam6mmBw\" }  if random\nallow with-interface { 3D:*:* dd:8f:* 52:*:* 1B:*:* dD:5f:* C0:60:* } hash \"VO>%S5V7\"\nallow with-interface { 43:b0:46 1d:*:* }  if true\nallow with-interface { 4f:*:* 2E:F2:* df:*:* bD:ab:* } id all-of { 00F4:A611 14Ca:e9fD bbBc:* 6ac0:* 6bBb:* 2CbD:* A451:* } name all-of { \"s8MybXM1\" \"%of*apu1\" \";XgD.EWB\" \"$ry_*ET9\" \"dy3c34$q\" \"7B:IGp'W\" } hash \"8ubY&%6F\" serial \":d.ZIO8O\" parent-hash { \"J'lqfII1\" } via-port \"IQ11oX7G\"  if random\nallow with-interface 67:*:* id { C2cE:* 443F:* a9Aa:* 55cE:* 7c56:CcC4 b3e3:5ED9 } serial { \"6T<ozAr{\" \"mQKMDksa\" \"~ze'>kd8\" \"Yc&T]av-\" \"/a'c2kC0\" \"_PsP6?rO\" } parent-hash \"noA73;e \" hash { \"xy:]/`lW\" \"R9EGbN1s\" \"D'2[:{`M\" \"c[R|zY.I\" \"S}S/Q6@8\" \";n|+@}IC\" }\nallow with-interface 70:8D:12 hash { \"dOA|E$KY\" }  if false\nallow with-interface 7b:1D:* hash none-of { \"+?E1L~L^\" \"=bx #1t$\" \"C99wrqMY\" \"ipuISR23\" } via-port \"xHe$bQv=\" serial { \"e5Z7M,dp\" \"Yn?y@k{>\" \"cs#_v<oi\" \"kc6M1-}G\" \"ddey5hP:\" } parent-hash { \"b8g]|I9E\" \"k6x*tXSg\" } id none-of { 4dCA:* cD84:3EFb BF56:* 1Feb:* f164:* 15f5:* 21f7:* 4fbF:5A5b } name all-of { \"lP]`V2_S\" \"H@vr7HlK\" \"x>=C}|T9\" \"c8N/kzhI\" \"'_10jW!s\" \"#[ijCZT?\" }\nallow with-interface { 7B:FF:15 cE:8b:* 53:07:* 11:*:* 6b:ef:44 72:C5:E0 e5:4d:14 eA:a5:f7 } name equals-ordered { \"#aJ3LxP:\" \"N-KYq1[!\" }  if random\nallow with-interface { 87:aA:Fd F0:eC:* 52:59:76 0a:5e:* 08:*:* cD:*:* Ad:Ac:* } id { 28EB:* B4aA:ea2d eb0E:* } serial one-of { \"0'n*r_cs\" \"iw8WWWLl\" \"Lsg}?$:1\" \"|RHjrA_/\" \"vJEBSSwb\" } via-port \"plL|:RZH\" parent-hash equals-ordered { \"}14Ly8L.\" } name \"'1&7cKcR\"  if false\nallow with-interface { 9E:50:ce 8E:*:* 00:*:* 72:*:* 95:58:* }\nallow with-interface a0:c0:* hash \"7&;B'tjr\" id 077c:* parent-hash one-of { \"S09lIr][\" \"U=<4iNZO\" \"ZiC5C%zw\" \"S?{>D_v%\" \"-l--E/ 5\" } via-port \"t8[0kfcv\" serial equals-ordered { \"7&ui :_p\" \"xlXLn{[0\" \"[Eohy@T1\" \"/8z3ntu:\" \"Vlia.R}h\" }\nallow with-interface { AB:E9:* c4:EE:a9 44:95:* Db:*:* FB:41:* a9:44:* e5:*:* fe:*:* } via-port all-of { \"S[XnKOGQ\" \"no;O<Ue{\" \"wC=l78l#\" } name { \"X2ff%hq[\" }\nallow with-interface all-of { a0:2b:* 37:8f:b5 0d:*:* 36:*:* 34:9D:FB } parent-hash \"~5dLGqYl\" serial \"ti'eurG]\"  if false\nallow with-interface all-of { D5:95:a5 Ed:*:* 75:79:CA 2D:Bb:1f 3e:b5:* } hash \"^|O+,zt{\" parent-hash \"u:|yp]r3\" id { A585:* 8b99:* 5fDA:* Cc36:BfC3 AA7E:D400 } name equals-ordered { \"[Yn4#~jE\" \"{?4mNdl5\" \"d7EOGe<2\" \"aZRI_aE]\" } serial none-of { \"/bVK<F*'\" \"jCI:u9H$\" \"cE99?!,;\" \"lM6=dqn*\" } via-port all-of { \"WXa/clVL\" \"X_ 4Km**\" \"$Cl7WHeZ\" \"nH1i*Kb=\" \"# 87Qj%6\" \"zx0Il]X=\" \"&7w8PX7Y\" }\nallow with-interface all-of { eF:9c:* fE:F9:A8 DE:4D:* 9e:D1:5a 9A:Ef:* } parent-hash \"xs2Xb_-,\" hash { \"'t6:qG:K\" \"8jtp6.:F\" } serial \"1|W22?IK\" via-port \".]NS25H?\" name one-of { \"CuIWp48j\" \"17wMkn1X\" \"B7j}kwQH\" \"w5&,GzZ_\" \"<|m<S6[&\" \";a.+o9]e\" } id { FfBA:2Fe5 }  if localtime(1:00)\nallow with-interface all-of { f7:*:* 9A:*:* } id BB3e:* name \"rZ7Djz`z\" via-port { \"U]{n; 7B\" \"o{c{?]|?\" \"d>uBFCY7\" \";9_u6Z`,\" \"Ib-xY8QF\" } hash \"+NWLov?c\" serial none-of { \"2Gi$mO%3\" } parent-hash \"Cj>HG@S-\"\nallow with-interface bA:24:aa hash \"!e!GLMrL\" serial \"6zRoS=#<\"  if true\nallow with-interface c7:F7:1A via-port { \"|G6xBNe}\" \"_Vq7=tvM\" }\nallow with-interface d3:03:2D parent-hash \"}c4h_7%u\" serial { \"fWj!mqv^\" \":}u~?I-l\" \"+ur+ WP9\" \"WT*6Wh|d\" \"O{@J,-+V\" \";6IV^ec9\" \"EFjCq35E\" \"@6XSX3Kg\" } via-port { \"=mNB3G6z\" \"cy~o3RC%\" \"tZNj_T~y\" \"LPmId,3{\" \"i$M=pT#2\" } id 9Ce0:* name { \"0SH8.KEt\" \"galw}Sp3\" \"q3BQaY4y\" \"mP'DrTlq\" \"frxCfAif\" \"di<ZZ0@+\" } hash \"V@b^kM8K\"\nallow with-interface D8:8D:* parent-hash \":Zu0wc$Q\" serial \"tJ]5+%QP\" name equals { \"F[2hf<8z\" \"3@zh=6y/\" }\nallow with-interface dA:C5:7a parent-hash { \"ev QBzub\" } id { 88e4:9252 Dbfd:* BeD4:CFE5 96dD:* D594:1af0 F5Fb:* E88e:* 0ef8:F00f } via-port one-of { \"8s,bY @g\" \"kB7e,eIm\" \"TnwB-288\" \"X'QQWpmi\" \"Yq8..1F6\" }  if none-of { true false !true false }\nallow with-interface da:*:* id one-of { 4cb1:* 7ae8:DeA7 BACd:* 2cce:* 73AB:2eA7 } via-port { \"moZL<L~n\" \"O2[2W|s*\" \"[-~/HM@3\" \"03JG_k]9\" \"~3S0;kTO\" \">x=6YG_x\" \"LQy7f=<B\" } serial { \"S-DDmbTs\" \"$EO`E^p[\" \"kRU[;BRk\" \"fvGw/Rod\" } hash equals { \"qWaE@yD6\" \"f[9^.?v}\" }\nallow with-interface equals { 41:*:* F1:*:* FE:FE:* aA:Cf:* D0:d7:* } parent-hash { \"W`G.6Y:v\" \"l',6M , \" \".!/r5}Dz\" \"9HOHPNuk\" \"k}{N*X%m\" \"gsr?KNZ8\" \"OypL42xt\" } serial { \"dTNG+F-L\" \"cqomCC/r\" \"oI7P_=D2\" \"z~:y^Sgb\" } id { 0397:4c5d 0f9d:* } name \"{?N|IzD,\" hash { \"$$e]1W6`\" }\nallow with-interface equals { B3:9c:* eF:*:* 3f:*:* } hash \"%cKt6nL#\"\nallow with-interface one-of { 46:C4:FB } id { 917b:* B92b:* 7a2D:B4c5 } name { \" Z@Nl.YV\" \"8kDE@'s1\" } via-port { \"a[~WbiZ|\" \"6[k#BZ^3\" \"]{BO,owD\" \"VH&=0W_8\" \"&Kyn%J$U\" \"gC3qtT=W\" \"VS0]YK1L\" \"yw;1UXB.\" } parent-hash \"ISG]O'dw\" serial \"8C+UQyRj\" hash \"<]dAsS=>\"  if false\nallow with-interface one-of { A1:*:* DF:3E:e9 AA:*:* D3:d0:B2 7D:*:* Af:*:* } serial one-of { \"6n%M`N$E\" \"9/,dG;Ur\" \"bI-NjCOw\" \"7XxBE}pR\" \"s=x~XEj5\" \"i}0R#%;V\" } parent-hash equals-ordered { \">QOe0;Y]\" \"o`=]c:|$\" \"MSMcbHJA\" \"^`.4!7w7\" } id eEb2:* hash \"5-0v1wDe\" via-port \"Pao*1:w/\"\nallow with-interface one-of { Aa:A5:fF a2:b0:4c Bc:cD:Ab Ea:B2:B8 Bf:*:* d5:B8:dB } hash equals { \"'=GN}0o=\" \"E]cGge^s\" } name \"!qCiGB,J\" parent-hash \"yneIkx'u\"\nallow with-interface one-of { c3:5A:cD A8:af:* } id a1fe:* via-port \"Qh5Fl.$9\" parent-hash \"GYqxZ?a[\"\nallow with-connect-type \"hotplug\"  if rule-evaluated\nallow with-connect-type { \"hardwired\" \"unknown\" } id 38D7:C5a3 name \"otYR$=X2\" with-interface { Fb:bc:b8 Be:*:* DD:*:* Ac:*:* 11:49:* 00:*:* 9d:*:* }\nallow with-connect-type \"hardwired\"\nallow with-connect-type \"hotplug\" id AfA2:9aAA parent-hash \"Jc{r^WNm\"  if rule-applied\nallow with-connect-type { \"hardwired\" \"hotplug\" \"unknown\" } via-port equals-ordered { \"]/EQL?a2\" \"Imk7@r=E\" \":,a-OO{l\" \"JW/|jwu3\" \"WDNq;;7?\" \"WJ;x@6@6\" } parent-hash \"i&mhTu/!\"  if !localtime(2:00)\nallow with-connect-type \"hardwired\" with-interface { 0C:08:97 Aa:e0:* } via-port { \"MU;,4G[h\" \"]v$$XKFh\" \";,MZT'Dh\" \"g00{lD%j\" \"wRUZ*``0\" \"8#!J{gQ@\" \"`Z?3p92&\" } hash \"KYHTnNgP\" id one-of { C60C:* d2EE:aDe8 ead7:214B 75Bc:59a6 3129:* AE7E:d25d ee2e:* A21D:* } name \"n0CKUNor\"\nallow with-connect-type { \"hardwired\" } with-interface { 14:E1:ee a9:ef:1e } name \"$T[<!1Op\" via-port \"h?/.,fRv\" hash one-of { \"dx1ciKB/\" \"^v%3PS_<\" \"jOTYF-_x\" \"8JQe^A{]\" \"0J=;i6Cy\" \"aRr7J7Eh\" }  if !true\nallow with-connect-type one-of { \"hotplug\" \"hardwired\" } parent-hash \"~5dLGqYl\" serial \"ti'eurG]\"  if false\nallow with-connect-type equals { \"unknown\" \"hotplug\" } parent-hash { \"W`G.6Y:v\" \"l',6M , \" \".!/r5}Dz\" \"9HOHPNuk\" \"k}{N*X%m\" \"gsr?KNZ8\" \"OypL42xt\" } serial { \"dTNG+F-L\" \"cqomCC/r\" \"oI7P_=D2\" \"z~:y^Sgb\" } id { 0397:4c5d 0f9d:* } name \"{?N|IzD,\" hash { \"$$e]1W6`\" }\nallow with-connect-type none-of { \"unknown\" \"hotplug\" \"not used\" } via-port \".sZAu,K#\" parent-hash \"lR-:Z~S*\"\nallow label \"arbitrary value\"\nblock\nblock hash \"7k9=0w;>\" via-port equals { \"uAn$>}g'\" \" Idtdm=Z\" \"L5+~$p9G\" \".<2^/*_#\" } name all-of { \"CH'-JLED\" \"A!a^flj}\" \"VZB4bM29\" \"zQibW[lk\" \"~.O];jOw\" } id b96e:* with-interface none-of { b8:*:* 1a:fA:* 7e:B6:97 57:*:* 8D:d8:* } serial \"&02OlmQ.\" parent-hash \"Y{cAzv[U\"\nblock hash \"8$^jgkWg\"\nblock hash \"aeTX#Tfw\" via-port \"V!N3Ipm@\" parent-hash { \";l}?;R.9\" } id 0Cc2:*\nblock hash all-of { \"I8{]4TvS\" \";>w8mQ3E\" \"iU_;>55>\" \"de.:[T/{\" \"8@Y~;~Ud\" } id equals { 8B12:ABF2 dcEf:* ddfE:24A6 FEa2:a862 e0ac:61dF 2612:709b 3Ff0:* 90Be:* }\nblock hash all-of { \"wfr9j]&,\" \"aM}B47'0\" \"u]Nso^u`\" \"Rs U3PGv\" \"Bd0PDz{&\" \" .T@Ue6:\" \"-Ca=Qf34\" } parent-hash \"?,dfADqq\" with-interface one-of { 0d:*:* bE:7B:9a }  if allowed-matches(name \"E:!wSp0/\")\nblock hash { \"CN/]>ajf\" \"z0K/.E<m\" \"O^tEB#FW\" } parent-hash { \"4#t!kGu1\" \"-q^Z~#=*\" \"2LG^n>/~\" } id fa24:a8B3 name \"Pkw.EF=y\"\nblock hash equals-ordered { \"!,@nBB+`\" \"xH@nx/vL\" \"~@}AC*Ly\" \"0mH@|z$f\" } with-interface equals { E7:3A:* Ea:*:* 15:3f:* BE:*:* de:Bd:a3 Df:bF:* a0:c2:* } parent-hash \"zy5`RAoP\" via-port \"hF/%W||k\"\nblock hash equals { \"S MTzat_\" \"}y?9*DWF\" \"'1CZDI`s\" \"-J/qh^QB\" \"&[*Wb_/7\" \"@e^dU:tQ\" \"+t5<C_$U\" \"[<sK$N8Q\" } serial { \"&PQx7ugP\" } id { cb17:9fA6 1bBD:* 9eDf:* d8C9:BAE0 d2EF:6FEE e3aa:* 1818:DEd3 } name none-of { \"0GN ;cy6\" \"DfnrdKXZ\" \" eeluS7G\" \"Z9ZSul.C\" \"Es4G`&V|\" \"/qgt0fv!\" \"67Yp%~.$\" \"'sYy#8Wf\" } with-interface ee:*:* via-port \"h%>v%1$8\"  if random\nblock hash { \"F>ws8LBg\" \"4oHO_`ho\" \"p82KS+hW\" \"&$PM2XAg\" \"#r>H#ci*\" \",S:LX&96\" \"%5f`N/uF\" \"^}v{9$U9\" } parent-hash \"%YGaV~vW\" id { 96df:52c7 aDbD:fFb7 94Bc:* ccdD:c235 ebB9:48EA 9969:a8A9 } via-port \"K|@HOjK9\" serial none-of { \"3-lGLJWE\" } name { \"?fYq.09H\" }  if !false\nblock hash \"KsHd#KO7\"  if !false\nblock hash \"LoI;c;|;\" id { 3AE3:1AC7 ba1f:* f4cf:5ca4 33F3:EDDf C42C:* }\nblock hash none-of { \"vwFpit9'\" \"-JOnStM>\" \"G1N~ qo=\" } id cD21:* serial none-of { \"ymL7n{J#\" \"VFxa[d?`\" }  if !false\nblock hash one-of { \"^!H2I&&>\" \"zEe#+kmV\" } serial \"6qCWFY8N\" id one-of { dFaC:3fE8 Bea9:b380 } parent-hash { \"DwO;./Z~\" \"L[A%lFK@\" \"0=p;s|wy\" \"R#`w4kI<\" \"tsA<!7q+\" \"'1]=SD:C\" } with-interface f2:82:* name \"Pa#{<@z3\" via-port \"XznW1{xK\"  if true\nblock hash one-of { \"r<d {KG1\" \"b'&BVuK,\" \"S16F_Ze'\" } id { bD1B:* } parent-hash \"#~rRrq<*\" via-port none-of { \"Zf;E~^}b\" \"&DJIgw2V\" \"%CE}?|zs\" \"g-e,w,l3\" \"&T^]U&{ \" \"^]{EGJ.^\" }  if allowed-matches(name \"{`.Z@lO-\")\nblock hash \"onT_%@5D\" name \"7pdZMP^5\" with-interface 9b:*:* serial equals-ordered { \"NiyVw!%~\" \"8#Vm8YAK\" \"&qg60?qQ\" \"8KeEyGj~\" \"%==/Io~Z\" \"h&Lobxyg\" \"[X- LS}h\" \"9}@T~`]k\" } id 01b5:2A9E parent-hash { \"N$JeV~%N\" \"A+!UP>0y\" \"tMDz<3%Q\" \"-+.e|mmH\" }\nblock hash \"oumf218x\" serial \"~7ptfL|S\" via-port equals-ordered { \".w.ANTfz\" } parent-hash { \"mZ]JlT9:\" }\nblock hash { \".P%.>a{w\" \"wC[{`i8^\" \"8W`:aPG.\" \"{eB8'|J>\" }\nblock hash \"Pl;NW^Kb\"\nblock hash { \"$q4Dl?8>\" \"#b3;ft]c\" \"vH4O#2Vo\" \"@3-o4p>.\" \"|r =Obpa\" } name { \"7|+eABNJ\" } via-port \"E!4R'w^F\"  if true\nblock hash \"&Qf696`H\" serial \"/yO&59%H\" with-interface Fa:54:* name \"E,=~G<.x\" via-port all-of { \"lDrl.tlM\" \";n}9z?W+\" \"U6`<[?}|\" \"Be/u 'JI\" }  if !true\nblock hash \"QW`eGv7n\" via-port \"{c*W-Ba'\" serial \"2=Ii_1z3\" name { \"@qlK{p}X\" } with-interface { 14:21:DB 1e:fF:* e2:*:* } id { 5A3e:* 2D3D:a95F Aaf9:* }  if rule-applied\nblock hash { \"R2]4[$HM\" \"L?^FEDKK\" \"Y,A|pSj,\" \"]l8AIp;x\" \"z]59obZ<\" } serial \"+|zv[<Tw\" parent-hash equals-ordered { \"R3G/`o~f\" \"'?Q{_Bj'\" \"7BVXH!bI\" } with-interface a6:*:* id e1CF:*  if !true\nblock hash \"SfL!pLDL\" with-interface { C2:*:* ec:De:Db C1:c3:* 0C:*:* e5:f1:* } via-port { \"VG3?<mUv\" \"+,oqYwys\" \"Z2?G<n}|\" \"|4-[pKiJ\" \"-7SB@>%X\" \"'/`v17ou\" }\nblock hash \"V_1<mv9F\" via-port { \"g'6hKm-`\" \"T$y=5nmY\" \"_o+wY{_u\" \"'D>:S1^|\" \"= ig5cd|\" \"B@Wc+90b\" \"hYoiJ8j8\" } parent-hash \"tc=!Fe@a\"\nblock hash \"vu9;@,zf\" name { \"AI5GR%}}\" \"4*Y6#;A&\" \"w[7270C4\" \"8%x#+WSy\" \"fstZ6{MN\" } via-port { \"Vf4KG%]a\" \"56:/Yh`3\" \"6g12o*Y8\" \"e6]u7?C<\" } id 45Bc:7eDD with-interface Ef:*:*\nblock hash \"XKY9u-i`\" name { \"Di^w/[6j\" \"qDuN82P<\" \"pSEsRC+m\" \"h6xx'H4n\" \"}kO%Yf.8\" \"Wjg T@g<\" } parent-hash equals-ordered { \"Z`iH X1@\" \"3f% -uN.\" \"ab3&IXW}\" \"I&[ee27]\" \"1&}~P88|\" \"@u0rQJtY\" \"?[21I&C#\" } id one-of { 04Ad:* f5EC:* 8b6D:* DaAD:* BAF2:5ADb 6cFF:0ffb }\nblock hash { \"Y@2^&:1J\" } name { \"z65Hr9[n\" \"OBR`.4Ac\" \"gp:rgD5-\" } via-port { \"aX$s/<wZ\" \"k.N!>Is&\" \"M[_C.dXB\" } id B06E:* parent-hash \"4nG|WX{E\" serial \"Q5LK-k0m\"  if allowed-matches(name \"TP5S>yMp\")\nblock hash { \"yG<]?d;&\" \"1b|1g!1x\" \"iHmS?^ys\" } serial { \"Jx9eD!L,\" \"/l t^MGd\" \".QM[QCnd\" \"O956P'v;\" }  if random(0.4)\nblock hash { \"'yq[dzkm\" } serial \"I5OdR;B \" with-interface AE:*:* parent-hash \";B>c2noM\" name { \"<05hjw]z\" \"d5{Z#Krs\" \"~aS{~?|m\" \"AY`XF-.&\" \"sm-FCmrr\" \"VE^8J,mG\" \"$yx&AkNS\" \"TBvj}%u%\" } via-port \">'S`PR{^\" id cd3f:c410\nblock hash \"]Yq/zy7.\"\nblock hash \"^YTGF'cy\" via-port \" x*^{P23\" name \"Uy~j6mo%\" id 167E:3E86 serial \"pTI-k^x3\" with-interface 30:*:* parent-hash \"4KwDj+Mb\"  if localtime(1:00)\nblock hash \"z/,=KJA^\" id { 5A34:* DA7d:* } parent-hash \"#7Vbsiwb\" with-interface { F3:Ab:ab } name \"!Wk!y48D\"\nblock hash { \"zkz'l%|e\" \"mn<MylmK\" \"*OV'}:+h\" } via-port equals { \"sf#xC0+Y\" \"N%3xlGDu\" \"ho!JE O4\" \"&o&+.]k,\" \"8mm%!^bc\" } parent-hash { \"x32;-n/s\" \"X2Gd-*WJ\" } with-interface 5e:8F:C6 serial \"{WJ^TkBd\" id Cc6F:*  if false\nblock id { 0282:* E81C:DAE7 8fAB:e5ed 4c7C:D3Af 5E69:c355 4326:* } parent-hash \"q`}mNhgC\" serial \"{<|wxFm*\"  if !localtime(2:00)\nblock id 1500:* parent-hash equals { \"hyI#I3|I\" \" 3hr.P1?\" \"W#7xMH~]\" } with-interface f0:02:6e serial { \"ckoz2s#d\" \"szH7{pT:\" \"p3bfXg=|\" \"1iX%=Jk1\" \"2MC1-x-E\" \"pnn$_}oX\" \"@zYef>:-\" \"Tnf;c[,9\" }\nblock id 1d94:* via-port \";6m3hr,#\" name equals { \"u5BL~+Iw\" \"8V>4|N,g\" \"GG-SP%F \" } parent-hash \"D~yq2!`U\" with-interface { d8:0A:* 9e:*:* f0:bE:* } hash \"+9,I5<'U\"  if none-of { true false !true false }\nblock id { 2B53:ebe5 a450:263f 8CD6:65Bb F938:* } parent-hash equals-ordered { \"1bXFHB=V\" } name \"$Ta3nV?n\" via-port equals { \"e4{l-'.{\" \"HPbds!s-\" \",p~tl}H;\" \"Q$pM:Dyx\" } hash \"9V:G&u0R\" with-interface { 7e:*:* 01:80:* 10:*:* DA:ad:* 72:*:* aF:F3:5d }\nblock id { 3BCb:E9Ac } with-interface equals { 5E:27:* d0:*:* b4:*:* } name equals { \"K1?S?{QO\" \"Go|IG[D=\" \",QhlJ/K=\" \"2XPr{.Qm\" \"LHBidWpJ\" \"e`N}8U..\" \"e%]y`i@w\" } parent-hash equals { \"Zs. GigL\" \"dM+n,UiW\" \"UjjY}+9?\" \"@Y nskCK\" } via-port { \"XL^>,O.4\" \"q&rZ'1q{\" \"sy#%6k4q\" }  if random(0.4)\nblock id 44b4:5df8 serial { \"uMRoMBw+\" } name { \"xb0$* rD\" \"*8;NyRL0\" \">SHv+p#d\" \",UAi0[Z,\" \"- SrX62C\" \";}XcO;?y\" \"{.27Uh<*\" \"@:DqXN8q\" } parent-hash \"h[n+P@kT\" hash one-of { \"/^sy_5=n\" \"bf^`gu?m\" \"~eW<.0OA\" \"xB$~&z&*\" \"O.JtGL63\" \"j^xE=&X[\" }  if random(0.4)\nblock id 4AAd:4b12 serial { \"Mn01^T*6\" \"U<-b4YcS\" \"&KXb>a9~\" \".HGwBgPs\" } via-port one-of { \"'1SpdnS3\" \"95O/~:Kf\" \"7LOYj*uP\" \"8dgeM}6T\" \"K_v&tJli\" } with-interface CF:EA:fe hash \"ajwu53_r\"\nblock id { 582F:dF7C 3cFB:* 9FdF:* } parent-hash \".f,8PG5;\" via-port none-of { \"-wmvAWJ6\" \"U{_*+s9K\" \"36#:;hDp\" \"ayEl.@J.\" \".Wg;O[x1\" \"M7H?n[|,\" \"!n5'neLK\" \"UR/;l*id\" } name { \"U@9@6_wp\" \"r#=+WCY>\" \"4Q!%>u> \" \"rUPDX=N!\" \"a>{3OEH1\" \"<095NUYL\" } hash \"PsffPxFy\" with-interface 13:*:* serial \"KlA{huO%\"  if false\nblock id 58F7:Eb14 via-port \">s_V[KA~\" serial { \">L^$v|u+\" \"%e PCE+u\" \">#[0jB4P\" } parent-hash \"^9AeMvRH\" name \"SDw{l&Ao\" hash \"cI8_@gq8\" with-interface { 97:*:* dc:E5:* ce:57:64 5B:6B:* e5:*:* BF:cf:b7 c2:e9:9c }\nblock id { 95d1:8F77 0eCa:* ea6e:Ed87 2c38:* } hash \"6k9t'FmU\" name \"i`Wc6n^m\" serial { \"X<pl<EA'\" \".*xr/rXU\" \"]<PB3@*P\" } with-interface { CA:*:* a3:F7:* 72:95:aC aA:*:* 07:35:* 54:*:* }\nblock id a7b8:80Fe hash \"#|r7?]lM\"  if !localtime(2:00)\nblock id { A84f:* 9EFE:e43F 72F8:3F1B 61d7:C1Ac dCc4:* } hash { \"amQ%r@_O\" \"n$-FMtHc\" \"~xm9Kz!L\" \">7HHs[t.\" \"'O5_vE1X\" \"lxf3v&z2\" \".z:: yj,\" } with-interface 8C:*:* serial \"m!s3.;fB\"\nblock id { ac1D:17F3 1E69:3C4c 96C8:* f5cE:* 79f6:* 1C3E:CA80 4F62:fE6F 5cAB:* } parent-hash \"t?_DE75_\" hash \"QC7cocdT\"  if localtime(1:00)\nblock id { B5A7:* 32A7:* 68d1:84F3 509a:* } via-port \"w%RRQZ-`\" parent-hash \"pq_r!4}*\" with-interface one-of { c5:e9:* fd:D4:D1 B0:04:15 } serial \"<<B:?wF,\" name \"4*oyz.T2\" hash all-of { \"[7LWTp:e\" \"W`J!W~cE\" \"z>}~5zxX\" \"*$V+ vU{\" \"M4Tm+T[,\" \"]_j^xQ;:\" \"l'Ek6f1'\" }  if all-of { true false !true false }\nblock id Bb10:*\nblock id { bCdc:fbd7 FaF3:* 3fCe:* f48a:* 3eD3:24Da 65E3:06EB BeFd:2b29 0fDD:* } name \"lg;`0??e\" parent-hash \"FL;%ohya\"\nblock id bEf8:DFc1 serial { \"=$*M5&,]\" \"> G6>u A\" \"gXpU|UjS\" } via-port equals-ordered { \"X SfAtNy\" \"g-0Pxz'a\" \"|&kP#Zo0\" \"s_4qo@2U\" \"a={k/y%]\" \"$J|5$HpJ\" \"MWpbA_v~\" \"vf&+vM0S\" }\nblock id C349:* with-interface { 4e:*:* } hash { \"iz6%]gx&\" \"'8saqxFU\" \"q_oUgsnH\" \"EmP}l^HZ\" \"LCLZElyo\" \" ;aRXKVu\" } parent-hash \"pf4^r3O@\" via-port { \"Wo*4CG<!\" \"2|X<jqYS\" \"fQ{Y`J{-\" \"oxh2N[Iv\" \"D],hfcAV\" \"+l}3E8;m\" \"WAtyd6`n\" } serial \"BG-^c:w.\"\nblock id c8D5:* name { \"IDvgXsrJ\" \"[g[7aza%\" \"[yp6GzY{\" \"H/.Sa>-|\" \"XIfhL!E<\" \"1R1x-T$j\" } hash \"'_G ygl;\" with-interface 1d:ed:5B serial none-of { \"CcRRT|4A\" \"$esS|n<c\" \"m>Rf];G>\" } via-port \"UPbzX}8w\" parent-hash \"TS.u5Zkn\"\nblock id { C9dC:* c7ff:F1aa bB5e:* D1A1:* befC:* 4Cf9:8DcF e804:EaFf D181:EfdA } with-interface { B0:*:* 15:*:* 9A:*:* F2:c7:A2 }\nblock id { cA9C:a91A eF08:* 1e19:c9dF E02A:* D0Ca:6717 fAf9:d9cf cfaD:* } parent-hash \"^%vz#? ]\" hash equals-ordered { \"f$wv-oK[\" \"C[YfK4Rp\" \"rA,Y/YrS\" \"syCs^^q+\" \"ept^7P,B\" \"!G56=1[o\" \"P@=RPXR4\" } with-interface all-of { De:*:* 72:2E:71 } via-port { \" jJ-Tk#6\" \"Du6- &-_\" \"b0BOwEx1\" \"Gf3bpJ86\" } name { \"*6,0XVx#\" \"SoXPDrC4\" \"*[-wmbki\" \"6^DHj4of\" \"I]HM*47l\" }  if !false\nblock id { CDDb:* F2Fb:* 3B71:* } with-interface none-of { E3:Cb:* 8E:*:* 56:9b:* Ab:Ef:* } parent-hash equals { \"!+}7|z[&\" \"7SoEJ,ha\" \"Yt}z85lb\" \"dzNn.mPQ\" } via-port { \"iMJ30j_v\" \"oI|W5':r\" \"bRk&$*%9\" \"arT]]~T~\" } serial all-of { \"Fji<[ku+\" \":=5MTQt0\" \"UDBA8cc2\" \"4IuitCCq\" }  if !true\nblock id { d669:* 25F2:32fc c5Cb:cED7 f9dC:9AaA 43A3:* b3A0:BaF7 } serial { \"cwXg3|J8\" \"bMi&3 mt\" \"7=Vz,po?\" \"jNEk=Yns\" \"?Nx}#XZ+\" \"Y+eP8V{g\" \"t8H{kV}@\" } via-port { \"`d&dZ<1p\" } name { \"o-d/}:O1\" } with-interface none-of { 3f:*:* 70:*:* A2:*:* 81:*:* c0:10:37 1F:91:7C C4:*:* Ee:91:5F } hash \"+Fmdx!Nq\"  if localtime(1:00)\nblock id deEf:* hash \"<Xz~Xs48\" serial \"a;m%TY?B\" with-interface equals-ordered { 8e:48:dF fB:5A:* 44:*:* 4A:06:* 8C:9f:DE bb:c7:3D } parent-hash all-of { \"3g-lMoKW\" \"1w8uN'ns\" \"+xiTSN}[\" \"hQVL:,.&\" \"&oM_[s<:\" \"niE;QY=~\" \"bHcxb9yv\" } name { \"79-U3TTq\" \"Ns<h-+4z\" \"FvbcwApR\" }  if random(0.4)\nblock id e55E:*\nblock id { E602:88ef B44E:* c28A:B073 25Fd:* A071:* 090D:* } parent-hash \"Y2w3X8~m\" hash { \":+XbwEx0\" \"xC8B8XE/\" \"l>Cb'`nt\" \"|M%.S;+,\" \"wYa[{$c>\" } with-interface D6:Ac:d1 name \"|~dFo*-9\" via-port \"[h[a?<im\" serial \"*IOw/E>X\"\nblock id equals-ordered { A5FF:* d9C4:* d93e:262D 017d:* Fa3D:* C245:F2D6 7c22:c885 } with-interface { E4:*:* eC:90:9a 79:57:Cf Ad:*:* fE:2e:3A }  if !localtime(2:00)\nblock id FC2A:fc1a name \"t7;XHw+[\" serial { \":yZ_=iA`\" \"G&t]D*Qj\" \"A[pb4&v|\" \"=*tl2#]6\" \"E[qo89KQ\" \"}J]_EsQk\" } parent-hash \"$oIha'+}\" via-port { \"[E3-p,Iz\" \"y%jM!IaQ\" \"5<A1FOkk\" \"`3Jd<%iR\" \"rDD&z!}V\" \"b1l#>/4.\" \"*j$OZyJo\" } with-interface none-of { 4f:a1:7d de:*:* 2a:50:7A 06:BF:* D6:*:* 76:CB:e3 bB:*:* } hash { \"Z*q4it!8\" \"8ZLct+~*\" \"P[^>T8V?\" \"xv`h?|{w\" \"%p=7/].P\" \"mDqnI1-k\" \"<TC0;#uN\" \"X;XF}CD8\" }\nblock id Ff63:*\nblock id { FfB7:* EfE7:72A9 } with-interface 9F:*:* name \"G*w2_IF*\" via-port { \"XDdowriE\" \">sRtPt:b\" \"}!s<gNgC\" \"D7f9^l.;\" \"pFA7MN@L\" \"WvBzHC3I\" }  if !localtime(2:00)\nblock id { FffD:* 1BbB:9c2b D6d2:E3c9 7eD3:dc2D } with-interface { Fb:*:* 53:*:* be:eD:5C 3B:26:* 47:*:* 9E:*:* aa:FD:82 4c:*:* } serial \"l:ZEsmWx\" via-port \"smr$5nkL\" hash \"  ]=nBo<\" name equals { \"Yg&+aq$G\" }\nblock id none-of { 62AA:* 3dB3:* befD:* fcAD:5520 } serial \"&YTi=M-R\" hash { \"S|gWJ]<Y\" \"jwYh}v O\" \"D&OW$Bn*\" \"V3r*Xtk[\" \"d&|0A}j~\" \"M4G&F=ly\" } via-port \"VRu&S&O4\" with-interface f3:67:Bf name { \"1[aP7C s\" }\nblock  if equals { true false !true false }\nblock  if !false\nblock  if localtime(1:00)\nblock  if !localtime(2:00)\nblock  if none-of { true false !true false }\nblock  if random\nblock  if random(0.4)\nblock  if rule-evaluated\nblock  if true\nblock name \"5'nxFQIS\" with-interface { 02:88:* } id 21B7:* serial { \"Tj>7ukY0\" \"q7yW-mP;\" \"yy_q6f>$\" \"W=Yu]8O7\" } hash equals { \"hi|{6=1'\" \"dLQ;-r=o\" } parent-hash { \"6hEH/~k3\" \"8A*CMnow\" \"9AMY,0BW\" \"Nmh-r #R\" \"Hr3 7-%X\" \"Xg-br3sO\" \"`pg@plOh\" \"1g2`GP*Q\" } via-port \"Si'[X:80\"  if false\nblock name { \"6irqmUO|\" \"wc2zD9zE\" \"YA6e,TvV\" \"P#GyJ{z;\" \"vEWJpA4D\" \"EPR[XX&w\" }\nblock name { \"6N@c|yfs\" \"85;l0EN'\" \"zf2a6D4D\" } id F666:7BB3 with-interface equals { 8e:*:* 42:*:* } parent-hash \"la5Y~kCa\" via-port equals { \"ZYUd[o&<\" \"4mxQB ~q\" } hash all-of { \"`aTH'6,U\" \".zi!rs@4\" \"+W+'pp+%\" }\nblock name \"8sP5!q'n\" id { c146:8950 88E7:* ac5f:* } hash equals-ordered { \"fKjG%nI7\" \"R;h_K_JO\" \"_pTjwmyU\" \"Z]'z}q&v\" \"g6KP4I./\" }\nblock name \"9<CFNlhH\" id { 59bB:B482 f321:* } with-interface 95:bD:0e via-port \"`Zj~x{gp\" serial { \"ppA6;j}@\" \"q3bU?L{$\" }  if random\nblock name all-of { \"OaRn.a,D\" \"&Wy_Txq,\" } parent-hash \"OVz[K{*n\" hash none-of { \"k`bsPF^?\" \"R8JOs'=?\" \"6l4KLL*K\" \"nyKdY! }\" \"n|PJ%{-O\" \"b$]+_DGc\" \"[YlTS<}8\" \"F!pCfiu8\" } serial \"mxY=V.>9\" id { f7ad:* fDaF:* a5ae:b0EC af7A:d1F7 }  if equals { true false !true false }\nblock name \"CpAt5Ay2\" serial equals-ordered { \"F`9{B=;p\" }\nblock name equals-ordered { \"J~eG={i=\" \"bj/6G~S6\" \"+]3qNl&G\" \"A*]:O|Qx\" \">pKayUO,\" \"/[e*uMsP\" \"IsdXZR_i\" \"c.*~mB%s\" }  if random(0.4)\nblock name equals-ordered { \"N+#*FMv>\" \"XM@jR13G\" \"Q2gggu4D\" \"73[,G4pr\" \"htmp0n;y\" }\nblock name equals-ordered { \":rW~XH,e\" \"?qD M^By\" \"VV0JtdV4\" \"6n4Mu][+\" \"02%d8|]}\" \"/*sEX2g+\" \".z1Eq'g6\" } serial one-of { \"^q~TNw9g\" \"viT|A&+:\" \"#_FK,oD}\" \"&~q?kBJe\" } with-interface { db:3B:40 6F:2a:7a Cf:cD:bb 0B:9e:2a 98:Aa:* fB:*:* 1A:*:* f8:B9:* } via-port \"5R;@ZFk#\" hash \"n75?R^Pj\"  if random(0.4)\nblock name equals { \"_qV8 T/;\" \"I{3^%: t\" \"!hmlB?~R\" \"M'JZ1/5w\" \"!'LF[=;7\" } serial \"3SF!lO:$\" parent-hash \"l#d+Rh-i\" id 85cC:*\nblock name \"FVDdAU{7\" with-interface 33:7a:* hash { \"yLj2N2|!\" \"Pp/ [&j?\" \"<qk}8V{]\" \"eAF||<H \" \"Q!I{4_$O\" \" X4}^@b?\" \"4w^LrNU}\" \"=S{ivQ/^\" } parent-hash equals-ordered { \"XkXH!F!}\" \"z^#=577R\" } id c8CC:*\nblock name \"fVL2Gc8r\" parent-hash \"SCbW{ PP\" hash \"o7f5S.P?\"\nblock name \"JS,5#+!|\" serial { \"`p2[|yd&\" \"nMw}Q1S:\" } id equals { 79dc:E73d D6DD:* Eaec:* Dc37:* } with-interface A5:*:* via-port \"uF&dW nS\"\nblock name \"j`Zw4daP\" parent-hash \"zeuPGVWk\" serial \"8ufKBi*s\" id f9FE:479E via-port \"OeiCWUhc\" hash \">O[@}^Gd\" with-interface AE:c1:*  if true\nblock name \"Mg=WgqmF\" id { 9FED:* 3383:* 5bFc:* 83b3:79a7 45Cd:* } hash { \"-*~qnBh<\" \"9k:>Jrv7\" \"@sLqxO6`\" \"vzL?1t|p\" \"M|n1{Jna\" } via-port \"bcd08y#^\" with-interface 02:*:*\nblock name none-of { \">M?`+X$C\" \">i^b,U~%\" \"sY>xvTT0\" \"H^TOz]W;\" \"&>$YbViY\" \"gkK1S5rp\" } id 22da:* parent-hash equals-ordered { \"C|@zP8Z_\" \"#z]cv4xk\" \"%n|W`J?]\" } with-interface 5B:Bd:* serial \"C+`?Fz]k\" via-port { \"/fS9*4_j\" \"ev%;X+2B\" \"9GUN~7'<\" \"qsS+/q0J\" \"K/_>vPoF\" }\nblock name none-of { \"NU{W;w`u\" \"$b[r3m8~\" \"f5t@ms#h\" \"/>AA~2=V\" }  if random(0.4)\nblock name one-of { \"AA-/&9$~\" \"bOp/li_$\" \"CfW:vfv4\" \"yS9:!IMO\" \"7IxD/:vz\" } id { eb7B:* 3dd6:* A5E5:* Aacf:2d28 7d6A:c6a3 } hash { \"C/inU2S}\" \"p^u6Z@P3\" \"f!G9*IfP\" \"zR|'8`;w\" \"+PAxJimJ\" \"5{XNx2oA\" \"xGCt;e5h\" \"=@LgMsm#\" } parent-hash all-of { \"fwFQ1DT5\" \"L%;jVz:{\" }\nblock name one-of { \"^u[!p>QI\" } parent-hash \"f9b;ZhA9\"  if !localtime(2:00)\nblock name { \"/oP`X?*z\" \"_!X,AqnB\" \"T=16?BEd\" } id none-of { 1dbd:* 1eCE:* fF9b:* 4C95:* faEE:Ddf2 b0dC:* e6Ec:E1c4 } via-port equals { \" py~xw9g\" \"[j34#b.r\" } parent-hash none-of { \"H2SgFn F\" \"[%%nLycE\" \"#?1C[?Xs\" \"Veft}bxH\" \"!P<@,#pK\" \"|fa1}4#t\" \"N |^5wbY\" \"kM@>]21B\" } with-interface C1:Ae:* hash \"Q3^HT${I\"\nblock name \"QAqob,a!\" serial \"rEw%U^w/\" parent-hash \"bDPkocYi\" id equals-ordered { 0AD0:* 4C9A:* FafC:* } via-port { \"q[B88NOc\" \"T=xNUK=g\" \"_o|al.T2\" \"l&_4,aPi\" \"Kw]7Qb.x\" }  if !false\nblock name \"r,,u!0{i\"  if true\nblock name { \"%:.rVab}\" \"]xBCyk}D\" } with-interface 66:94:* hash all-of { \"^$Bf&qU7\" \"o7Y^3$/R\" \"l`>[Pj3i\" \"ynJ9FJY&\" \"$d6G|Q'D\" \"@p<vxL;8\" \"i.Dy+TYl\" \"w0,F]SoQ\" } serial \"gwor1W_S\"\nblock name \"Xh*I-oEp\" serial equals { \"|:/hoeX3\" \"[BBV`YaP\" \"V=*h#;MK\" \"l#-T;X};\" \"[kL^%ED2\" \"m]JPglCv\" }\nblock parent-hash \"6/K[4]7q\" name equals-ordered { \"Mb/t>%N \" \"TOMlmlNI\" \"Fb8m6I+Q\" \"H~:QL.UD\" \"Dpf#Pu!G\" \"/Lwj=Z#N\" } id 4E5D:* with-interface 3A:C8:0f serial \"FN*fZ;-#\" via-port { \"E,87V'+I\" \"sUy~uY:1\" \"]UlXaH7*\" \"t.HD<usS\" \"HD*-zDVp\" \"%9JB[TYI\" \";f g[Q8#\" \"G$4#RaPI\" } hash { \"kn@`+*2v\" \"Xd@Q}kQX\" \"j<5N*g$x\" \"{~w4u5T2\" }  if rule-applied\nblock parent-hash { \"7Ws|CbT^\" } with-interface Ad:*:* serial \":_EbfVQ5\" via-port \"qmQkl5L}\" hash { \"ti-8,HbI\" \"W[5BOX<X\" } id equals-ordered { 0FCa:ba2B 22B6:* f6bd:* C17C:* }\nblock parent-hash \"_#+9L^Nk\" via-port { \"p_GEL:k:\" \"wQTV31+q\" \"KU+#qIfl\" \":a$xWcm0\" \"*;p@y_er\" \"h>A6Jf3X\" } serial \"VyFloU7r\" id equals { b3b5:BcE6 15dC:600b B472:* b6Bc:* 2590:e9b6 9DEa:* } with-interface one-of { 7A:7F:3f a1:Ce:7b 36:99:fE fd:*:* 09:AB:* 34:35:14 0E:d9:8D E7:8d:* }\nblock parent-hash all-of { \"2^b>tMZ9\" } hash { \"B?hC,{Bj\" \"<.-E<M!&\" \"xa>8DU-Y\" \"awZ`Ef}r\" \"J4Mu$G:s\" \"]O4a_6J>\" }  if rule-applied\nblock parent-hash all-of { \"b,3j{ppL\" \" A8Uwj<d\" \"H<pcjv5E\" \"c@#R[Qdp\" \"sAe4b4x'\" \"ba4~}KX-\" \"`_8}mmX0\" \"1p!ff-Ch\" } via-port \"9FU,;?+C\" name \";=7 [uoP\" with-interface 9C:cd:* serial all-of { \"cpGQvWH,\" \"4JI|CIWh\" \"~SUiF.g=\" \"jm8+;FCQ\" } hash { \"SDR$nOgY\" \">$ZJYqNB\" \"|mc #!Y'\" \"pMoA'8Rl\" \"KCl=_M99\" \"w|5xT9it\" } id { 7f3C:* fdcF:67FC f9D8:* }\nblock parent-hash all-of { \"J]:[6Jqx\" } serial { \"2|2<4JP5\" \"rLIqprTN\" \"-2q*d-j&\" \"E=^sZK:v\" \"Z%PAs<qh\" \"F,<u@dsx\" } with-interface dE:aC:* name { \"ZJ[mhXBn\" \"51#,:+c|\" \"qLlOmWpO\" \"AUt7[]r?\" } hash \"Y#5/u|iY\"\nblock parent-hash all-of { \":nU5wLBs\" } hash { \"X-{'A_Ha\" \"a>TS/>Rb\" \",m|Ey].r\" \"m>3^d|<t\" } id all-of { A78E:7cED 9168:DA2D Acf5:F20e } name \"P-t-Ov,G\" with-interface { 3B:D5:8D e6:9A:12 4c:*:* D5:Fb:9C ee:75:* } via-port \"LVnU=4PT\"\nblock parent-hash \"d}8ln0S~\" hash { \"-s%]g|P&\" \"Cin1,gR'\" \"C{Q2jFL0\" \"dU$e{OM:\" \"os9zk#yQ\" \"fE/P4AB/\" } id addf:* with-interface b1:*:*\nblock parent-hash equals-ordered { \"2y3_MU5[\" \"HHZa;G,_\" \"@}u|0|F:\" \"rX/_3ix8\" \"yol9T3!D\" \"8JaePrc4\" \"y?oj+c+2\" \"fT1@]Yg$\" } id 13A2:*  if false\nblock parent-hash equals-ordered { \"rO50>4%J\" \"YPS=~{vK\" } id 6FFc:b1aE hash equals { \"wi}|9GhL\" \"B{zbT|B}\" \"?>]]H6ap\" \" N:v*10/\" }\nblock parent-hash equals { \"uJ^#2y6i\" \"Ff!laFJ0\" \"}f}h.g4X\" \"1MbV8da0\" \"C+8%?Q6U\" \"s1[lmY%#\" }\nblock parent-hash equals { \"V vAP>Nk\" }\nblock parent-hash \"ezm[2y!>\"  if !localtime(2:00)\nblock parent-hash \"fX@NNuz<\"  if random\nblock parent-hash \"hFVb=a]v\" via-port \"_>yes/3e\" name \"Fs:h_Dgi\"  if rule-evaluated\nblock parent-hash \"H/jAM?aA\" id 2E41:7bb8 serial \"@kx!V/0=\"  if all-of { true false !true false }\nblock parent-hash \"kA_-2C{P\" id none-of { 7ed2:* D0a6:* 1CE2:6A3C } with-interface fc:9c:*\nblock parent-hash \"KB`ggh%$\" name one-of { \"0VHg Mj7\" \"CXJpN}&_\" \"78ZY[J,9\" \"S/fMOsBS\" \"i<O;IW@g\" \"tJGu!+cq\" \"0IhgW-/$\" } serial { \"?9v|UrO!\" } hash \"0B!TgN]b\"\nblock parent-hash \"Md-LMXA,\" hash { \"he;ULA+w\" \"*Dm2$pGl\" \"?v,D6?K>\" \"@~#eew$W\" \"9{I{]&AL\" } via-port \">kGIuTly\" with-interface none-of { fa:Ca:fb 5D:71:* cc:4F:* 9f:D3:* 0e:*:* 97:02:* F5:*:* d4:eD:6c }  if !false\nblock parent-hash \"nNNAz.^`\"\nblock parent-hash none-of { \"=p2'G%/R\" \"`rSM/{<p\" \"j]|>V41V\" \"'e=o-JZ6\" \"1N+cIu57\" } via-port \"SvFZ[vIF\" id EAbA:b670  if localtime(1:00)\nblock parent-hash none-of { \"RjZ?hi>z\" }\nblock parent-hash none-of { \"zYLz C[<\" \"F'#=,hSP\" \"I~m]3CL&\" \"{VYPWoaV\" \"0h7pXVvW\" } hash all-of { \"U>oPSzpi\" \">Bw-q,r.\" \" ~N4-u]'\" \"6f}{r9ac\" \"#>`{ou?2\" \"NmUv<Z@2\" \"| lR6_:Q\" \"@YqC&0=*\" }  if localtime(1:00)\nblock parent-hash one-of { \"A|gUnss^\" \"&T=j{gi,\" \"0S`Dz}*,\" \"S'Tl91[v\" } name \".+u41Ub.\" via-port none-of { \"K9r$ E'?\" \"#GLo8eiu\" \"!3`vX~Ic\" \"GX4TqwuJ\" \"7Qgvyel>\" \"G[?4[80D\" }  if rule-evaluated\nblock parent-hash one-of { \"T}_IDn.B\" \"]u^-]`@2\" \":VdFg}@k\" \"chNfa#4y\" } via-port \"f[e5Tgy \"\nblock parent-hash \"?`^OyjQz\" name none-of { \"Grq=9g?N\" \"?`{W;u$1\" \"!:qHkOnE\" \"PoS;!L%4\" \"uknBuD.c\" \"$q,O|>nb\" \"7JiWxXz2\" } via-port { \"_:>SwR9G\" \"+4*n?JQu\" } id b01c:*  if allowed-matches(name \"+c?MisE]\")\nblock parent-hash \"|#q$o`;;\"\nblock parent-hash \";q#>P&gx\" serial \"PxV.Uk`&\" hash \"/hm>#_di\"  if !true\nblock parent-hash \"qV9zTUu'\" via-port \"#X1xQi w\" id { CCE0:* bD2f:1c3C 5171:* 8c7f:FdC1 a6eB:* Ee29:* } serial \"vP{R-v8n\" with-interface equals { 9d:40:fc Fc:*:* cc:*:* BF:EC:1e a1:8E:* }\nblock parent-hash \"t5i40Mi5\" via-port \"v.|gmD$u\" with-interface { A9:A9:F1 dd:*:* 71:6a:* } hash one-of { \",.`s6&B3\" \"g|1._Ad~\" \"r~&lp@I|\" \"czL_mWbB\" \"3m<a%c,.\" \"u?mymbsW\" }  if !localtime(2:00)\nblock parent-hash { \"T?k5+H9j\" \"7>5HC^6F\" \"?{+PsB8#\" \"<K!25y+?\" } via-port { \"zj|8IONE\" \"vHMDw~pz\" \".44,PIRu\" \"#il`^@,C\" \"[*iH7gyP\" \"_StJt}B&\" } hash \" b*RL0=9\" name \"/oZ5'Ys9\"\nblock parent-hash \"-Uu!+dT,\" id equals { 1e8e:563F ECbc:a63e F4c4:2CcD 2F7a:Ef37 } via-port \"3K%8$48c\"\nblock parent-hash { \"?}VPQAC>\" \" _?Fi$MY\" \"J5J<j;/{\" \"j1pk$q-U\" \"t?I8lq<i\" \"CG4mU9A'\" } via-port \"7Fq>aU|&\" id EcEd:525f with-interface 3b:53:a6\nblock parent-hash \"*[+*v?Qa\"  if rule-evaluated\nblock parent-hash \"XBI[m=}6\" id A6Ce:Bb2C\nblock parent-hash \"@yxQxKg+\" serial \"0ArW{g%m\" id EccD:* name none-of { \">H7VTb~G\" \"a^j3,$g9\" } via-port \".74DS:u>\" hash \"{Y`7LS@F\"\nblock parent-hash \"'>&Z7>LM\" via-port \"]=B#ZaTF\" name equals-ordered { \"M[~MU2xp\" \"~!F5:^my\" \"hAM!{1m4\" }  if rule-applied\nblock serial \"5k!NtdOw\" parent-hash { \"knBr`sDw\" \"M#p@X{n7\" \"-1!FSbvy\" } with-interface F5:A7:81 hash none-of { \"WgXXjR%0\" \":yp4~W1i\" \"IN|/{}iZ\" \"@LF'@,f}\" \"|%fU_L:[\" }\nblock serial \"7:cGHL-q\" hash \"36H6N7qN\" via-port equals { \"w|6+~n$~\" \"4HBa~Jc^\" \"3J#4Hr{A\" \"4uV?>m'R\" \"-vhhXm_4\" \"OF=srz=k\" \"t@Glk!9]\" } id a3a8:61Cc  if !localtime(2:00)\nblock serial { \"[A[%d}}I\" \"AsEQI#|A\" \"sO ,kKyx\" \",pgym~+]\" \"c7~YSz8@\" \"w@%`=__`\" \"H`94zga~\" } parent-hash { \"}XqLyP56\" \"D;n@Ck5y\" \" fiyNEYZ\" \",2E>IUxz\" \"wqK.BwsP\" \">DX=NBX2\" \"+-Rl'G8u\" \"i2h&iQTC\" }\nblock serial all-of { \"#c8.X:-Y\" } id { 41Ed:d98B bdEc:3816 a310:* }  if false\nblock serial all-of { \"!r]r9n%j\" \" q_j`lom\" \"0SWfwBi^\" } with-interface { 0c:9d:d2 c4:8f:38 }\nblock serial { \" AU~L GJ\" \"w'HG$9lw\" \"!<@~jUnM\" \"e8{o-Gx5\" \"ZoCZc,*-\" \"_uk>L?J7\" \"xZS:xwZ_\" } id 35aE:* via-port \"HBAs5HUE\"  if equals-ordered { true false !true false }\nblock serial { \"BifnQB;f\" \"1EzqbCm-\" \"sr%T8ku1\" \"M1I{Kbbi\" \"`=vu'  ]\" } hash { \"~ipRFqXt\" \"a7koW-?I\" \"bnc=Hq>[\" \"7hry-AQw\" \"Ja=L,,vN\" }  if !false\nblock serial \"Cpbo$~Wm\" name none-of { \"KY`5FjbW\" } parent-hash \"+#pSB|sv\"  if rule-applied\nblock serial { \"Dk<KB>ms\" \"Ui'U-%F@\" \"2n$q;q$N\" \"g^:_0JFU\" \"{@$|DC:{\" }\nblock serial \"`;!;DLHl\" with-interface equals { D6:*:* 42:bD:* F3:Cf:0a DF:c1:9D e3:86:* 2E:CD:EC 9B:65:1c } hash { \"_Hbk{9Gr\" \"cW;&v2*1\" } id 347c:* name \"uLRP|dS{\" via-port \"Md}pzTT?\" parent-hash all-of { \"Ckp2HGG^\" \"<1dTG{R4\" \"L+JGxo#g\" \"'GZ5<LZn\" \"K4-j_XQ7\" }\nblock serial \"^dw}6o{<\" via-port \"I{0PC-d}\" parent-hash \"BF??A]dq\" name \" bAW}L`R\" hash \"zCGB%^1X\" id all-of { A1B6:* 0F26:* 5cc8:A114 c8B7:* FA50:38ED }  if rule-evaluated\nblock serial { \"' eJBBd'\" \"F=~s|urr\" \"+DeuS|OZ\" \"}&f$dJ:l\" \"m[;a7BXb\" \"E1s3aVS@\" \"CyzfUx=W\" \"L%@7Q}&S\" } with-interface ce:ba:08 hash \"q!^vAM]r\" id fF9F:*  if localtime(1:00)\nblock serial equals-ordered { \"YO8dkFwQ\" \"<VCEk$rH\" \"BK>;72<'\" \"SZ'9L|0+\" \"nb4f8RQz\" \"%+nj5uJs\" \"lH7mX[{B\" } parent-hash none-of { \"VR.!VZX:\" \"&7Tajs#j\" } via-port \"4+Ob__&2\" hash equals-ordered { \"f;W/ v{Q\" \"F>Q:t#.2\" \",@%aQY_E\" } id 8dfb:*\nblock serial equals { \"xWWz!iq-\" } parent-hash { \"Ub$=]95S\" \"mt&G6+Eu\" }  if true\nblock serial { \"EtM=.0H=\" \"7wvO_c>h\" \"RqHmhcsb\" \"<cldoC<|\" \"d#L|^Jke\" \";G H&9YE\" } with-interface { 48:a7:AC }  if false\nblock serial \"eysw`F:5\" name { \"x&PA+n86\" \"{EBX/:tI\" } parent-hash { \"h/H]?UV5\" \"dv',hk3>\" \"MOp%AD]8\" \"y~*@-5&@\" \"j>?8YCa4\" \"[-X'%8?^\" } id 8eBd:* with-interface F1:5c:*  if true\nblock serial \"G7Hl0@@U\" with-interface none-of { 3b:f5:* b7:*:* } hash \"Vc0:K}4s\" via-port equals-ordered { \"5hp=l9_8\" \"% QvSSSf\" \":,B~_>W/\" \"1n3XbOh3\" \"~Y'.ex'N\" \"vMR$&2!X\" \"DcB*rc}!\" } id { 1f2A:* 00B2:* e0a5:4bF2 } name { \"Oe8#Cxz[\" \"K^v%Z H%\" \"n;%%>%;5\" \"k>2bu<L8\" \"SMNBi?[O\" }  if random(0.4)\nblock serial { \"k.H~unpD\" \"`_^+xFQ \" \"ur^5wI]^\" \",YLG0&T}\" \"^>v{d_8S\" \"|DA`7z,{\" \"Q0m}qYqH\" }\nblock serial \"KnLBtuVQ\" hash \"FiI:Bz}W\" via-port one-of { \"%S-b%9+;\" \"Dpg0#>Sa\" \"E$K*v%+E\" \"IJpS]k6q\" } id all-of { aACF:* 90C5:* A7A8:ccC7 } name { \"d!7:npy2\" } with-interface { Dc:2C:8e 63:eE:* 9D:*:* 24:*:* } parent-hash \"wW^-A|#2\"  if !localtime(2:00)\nblock serial \"l>00&hpe\" name { \"_XnAr}w=\" \" g!AX5y~\" \"4Z>eHm;^\" }  if false\nblock serial \"@mG|`A=;\" with-interface { D6:*:* cA:BF:41 } hash equals { \"Li_axYd9\" } parent-hash \"n4Sh7/rB\" via-port \"_TF++qc5\"\nblock serial \"NM`pS}J,\" via-port \"axRr3:6 \" id eBC5:* with-interface { 8A:D9:ed D6:d1:58 }  if false\nblock serial none-of { \"h-Dd;##S\" \"QCrcpQjW\" \"$?+ue*4n\" \"'cL*DpQ-\" \">=|fzWe/\" } with-interface 45:a4:* id equals-ordered { b4Fd:BE2f bADF:* dfB1:5Ca9 }  if !false\nblock serial none-of { \"ss*lxBk8\" \"=!c'A[A \" \"' IYFYQ?\" \"`u+X*Qlq\" \"bf7iVpu]\" \"#}$%!hJM\" \"[OCDq**f\" \"[zrj/>9+\" } parent-hash \"e Dv9jX9\" name { \"#`^4g4K_\" \"0{15Sc;7\" \"7=w?`OZg\" \"k{pxJQE|\" } id 1CA3:* via-port \"@?r/_-H7\"\nblock serial { \"nTNZzl6n\" \"71B>?fM-\" } parent-hash \"8*9yJk{3\" via-port \"c0tbr0|&\"\nblock serial \"$-=Nza+3\" name none-of { \"30d9s1Dg\" \"N':gAJOd\" \"pf&ZKJ$a\" } with-interface 8E:*:* hash { \"Kjx&s,h4\" \"-pwN/r``\" } via-port equals { \"P>weG^H`\" \" J/$!?|2\" \"kBpu;493\" \"I:`pMk%x\" \"x+:H5M^m\" \"8k}A9.s.\" \"L:[C$cTH\" \"Ss|=h1gp\" }\nblock serial { \"O2J*vt@U\" \"Xxg6?Ht'\" \"<^JN5g?m\" \"KPb}83d>\" \"9Yzu^@QF\" \"QPFRo/e0\" } parent-hash all-of { \"2u!WdQ9d\" \"av2]',Yy\" \"*N;8S!f_\" \"N9yO&7F_\" }  if rule-applied\nblock serial { \"`q!QOU<,\" \"T= L1xgN\" } hash \"QV4Uuq'L\" name \"BtA,$^P_\" parent-hash { \"%t{F, !g\" \"TZ!a&sG-\" \"~UfoGl#r\" \"Vr8&#7/2\" \"c;bGTwYg\" }\nblock serial \"s2Z~_#iZ\" hash \"3Bedsrzv\"  if false\nblock serial \"snK~dU2{\" id { 0f5e:Eca7 90cF:* aAff:cDEb 1BEA:* 34ab:3BA2 e4C5:bF82 8B55:* E1Ea:2B40 } parent-hash \"://Xl0 F\" via-port \"k%*vc#+d\" hash none-of { \"Nf3@+-.B\" } name all-of { \"vi3?1<5C\" \"[Zs%3'{l\" \"kRsA^@e$\" \"jreX %09\" } with-interface E3:*:*\nblock serial \"s`Q4u%&?\"  if rule-applied\nblock serial \"SY}dZ1}R\"\nblock serial \"u_&3&b2:\" name equals { \"/o5R>cVR\" \"cvf@{5=_\" \"FRz{FM2m\" \"oD<[]IWK\" \"BLPBm$KH\" \"wH##;BPs\" \"`np5?fe \" \"$Wgsg7m.\" } hash { \"B~ib$R#P\" \"Q:PuxpS \" \"bmD{ Bnc\" \"%0PiV/~n\" \"8#%37{5Y\" \"K${[-h}Q\" } parent-hash \"2Oi{W{D+\" id one-of { ce4E:* D90e:* cb7A:* D304:* DBc0:E21C 5635:dD4A }  if rule-evaluated\nblock serial \"u%:ve#!R\" name { \"UkA,q gP\" \"@0OnrN3c\" \"X&p;CS|y\" \"~,giQ?QB\" \"~`BVQ^O$\" } hash equals { \"D?;Tl]_J\" \"/Jl,y@G \" \"s,}Y__1Y\" \"!FlBcp{i\" \"@4f;T#a'\" } parent-hash \"wT-L-=NE\"\nblock serial { \"wc_5YL@~\" } name equals { \"WCpMtmIV\" \"|sS}Qkxw\" }\nblock serial \",@WJ;`;Q\" with-interface equals { 5f:FC:* B9:aF:* 14:d5:* }\nblock serial \"z]2+_&LL\"\nblock via-port { \"5 !K1-==\" \"*jn`b+LB\" \"$`Ues@P*\" } hash { \"T4/UgQMZ\" \"iW05a@lm\" \"6&|@Fm1E\" \"TkS~;Pg[\" \"!:5dX-Pm\" \"^CzASK^o\" \"%z<CzE'V\" \"F;k~gQ-.\" }\nblock via-port { \"612dQ!W.\" \"DEXQXRk'\" \"?}Yunl!r\" \"d!!}GA/3\" } with-interface { bd:*:* DE:bE:* A7:1a:f4 dA:74:eb fB:f3:b8 fC:4C:* } serial \"V2`+ _Ym\" name { \"=up!p3*a\" \"41mCb>`4\" \"lU?A9f<}\" \"1J`|uGKU\" \"KH3*zjhu\" \"eV@ 2K*k\" \"HOXUA%6<\" }\nblock via-port \"78fe][qA\" hash \"e{A-Z^T|\" name { \"?2czF>QW\" \",.4Bfl*m\" \"$tdEa~ev\" } serial \"?D51Ae'@\" id fCdF:* parent-hash \"$LD+}w`l\"  if !false\nblock via-port { \"7' ._x2S\" \"-s+cEk?X\" \"u_nn 7Qn\" } with-interface { 2f:71:Aa 7a:eB:* 52:1d:* 1d:AB:* 1F:*:* 16:5C:48 } name \"4}TCw0:^\"  if !true\nblock via-port all-of { \"IIJ_W<N&\" \"r/Sc,>:%\" \"^cw<3`ov\" \"xlBNXbrF\" } parent-hash { \"2Y3Ym>|I\" \";L$-&U3^\" }\nblock via-port all-of { \"YlI:D}r6\" \"qlv,DT?^\" \"aUt'`4oo\" \"I-Z{F%y/\" } parent-hash equals-ordered { \"*tmW,F=,\" \"SIf]?V5k\" \"[@dCg f&\" \"'{'74Xd<\" \"p/VxfJ>j\" \"uiSH@o3^\" \"NORxWxcC\" \"T/z0rpS`\" } with-interface Cf:7a:*\nblock via-port \"BE?i[yLS\"\nblock via-port { \"!BWzM} Z\" \"$Rqc0on/\" \"ax%P!bsy\" } parent-hash \"l~%9d6~=\" id equals { Ec8c:* E8B1:4F11 cEdE:* eD6D:* Bbb1:* }\nblock via-port { \"c%v x{w2\" \"I]Bqt^Qp\" \"c$y F_:R\" \"A<WkUJ9R\" \"<'GcLu%e\" \"CVLPPw_O\" } name { \"'@I_9^zL\" \" djFFIT%\" \"+3Fvz^vU\" \"{-{XMTFm\" \"kpQr!gpt\" } serial one-of { \"B1!Nxt>4\" \"cXjmDFId\" \"0$<9Q3;!\" \"huaXz&Rj\" } id all-of { 0CCa:25d2 c6E2:5B9c 699B:* ABC7:* } hash none-of { \"qCDG|.!c\" \"*F/='Y}7\" \"[u1=P9iY\" \"KHg&fL'n\" \"RyOZxhti\" \"e0R V/c'\" \">O 8+O*M\" }\nblock via-port \"cX`c|1-J\" name \"{`8.Jg=y\"  if true\nblock via-port \"DLIukMxR\" parent-hash equals { \":a+CUZHG\" \",eGZK{5s\" \"f`>?TzN,\" \"$GqQ6t{}\" \"]I_dTJ/o\" \"G8Z'}@=X\" } name { \";i5hOE14\" \"7OX#}Ewl\" \"a$~BJ@GO\" \"A9ZZ=&=p\" \"Z'F0JZg/\" \"~nc>Y5[ \" } serial \"'$TaI/F \"\nblock via-port \"-D^Y&axw\" hash { \"!-0_ZcyV\" \"xDdWv6Yk\" \"[*vXaN7*\" \"b:j[[`c1\" \"njTVUT&{\" \"_1OX ; U\" } serial all-of { \"G`}$C'6V\" \".bl,>ZI*\" \"!+:xPC=P\" \"]v}j>KxA\" \"/wKPw?u}\" \"jV?yr0q!\" \"nNxp#Z,~\" } id one-of { 2212:* BF1d:* cfC5:E9Ba FBCc:* b964:* 1B1b:ffCA } with-interface BE:7E:*  if equals-ordered { true false !true false }\nblock via-port { \"!:,DZGae\" \"B=PI9ou;\" \"B_GCHKA@\" \"v_gKi+1>\" \"/-;54U:B\" \"+D_rvG>2\" } id aa2c:955e name none-of { \"0N@FwwnE\" \"u1g$Nwsi\" \"4@=@Ucbm\" }\nblock via-port \"E8.Tq;%<\" id { CDfD:ad9d B3a8:* 5E9b:A7e7 1cCb:* } hash \"GKzYp{e{\" parent-hash equals { \"la8'so#b\" } serial \"w4[W|3q=\" with-interface { 7B:*:* BD:*:* EF:*:* 62:*:* 75:B8:3B } name { \"K$$r10V.\" \"lEf^6<0N\" \"S]W-m-Ef\" \"O#E?L*.O\" \"D8!qvAY3\" }  if false\nblock via-port { \"eFNbse*f\" \";YM:OHPa\" } id 4ab6:*\nblock via-port \"g_54F !j\" parent-hash \"l H.2?NR\"\nblock via-port \"h']48,_c\" with-interface Db:*:* name \"}`[=L6/Z\"\nblock via-port \"KbX_Hib3\"  if true\nblock via-port \">KeBB?~9\"\nblock via-port { \"@$l~5]&i\" \"okMY~gz|\" \"uJ=:`4#/\" \"Tbd4tk@*\" \"a%BaM?#[\" \"Q3'=tU{F\" }\nblock via-port \"lYgo0V-i\" with-interface a4:6C:f0 serial \"j,Go$M}X\" parent-hash \"_5*11g7g\" id 01D1:*\nblock via-port { \"m`[7N-`>\" \"bWvd#kCF\" \"xLp qu&w\" \"Q_Cf4+MD\" \"n9X3dQxN\" \"=9NjE2nJ\" \"7mFzm6n_\" \"nD[fq@kZ\" } name { \"r5/FW`Bf\" \".?l:5#s%\" } serial \"8u!SAX#[\" parent-hash { \"Ff%e^mN%\" \"gE'fl:,|\" \"IF%9Tb9O\" \";m  VCHt\" \" TuirsMZ\" \"g~?tLWKZ\" } with-interface a3:8d:* id 2AA9:f295\nblock via-port \"NGSav7D0\" id cB95:99Ce  if !true\nblock via-port none-of { \"o!Xn/sA?\" \"U^}l_$`?\" } parent-hash \"zrKp|0?V\" serial { \"|[[:VRFb\" \"#IA=Myg&\" \"ha9FbW&?\" \"SeB3CYXm\" } with-interface { 07:*:* 83:e1:BC dA:*:* }\nblock via-port none-of { \"pgDBVQrE\" \"Jmbl_<!y\" \"YgJGN4dG\" \"'<tS/?;I\" \"'S#pRf75\" } parent-hash \"I, zO12g\"\nblock via-port none-of { \"zZDeXn>]\" } parent-hash equals-ordered { \"q_Whut;E\" \"f`M',oua\" \"qKo],I6Y\" \"fU!F'9u>\" \"{5 x]LDt\" \"{`;uC4~[\" \",~zk|#zl\" } serial \"{]}WymuR\"\nblock via-port one-of { \"*FWFX{J0\" \"Y>Ll09>Y\" \"9hnX8@6k\" \"yshm'r~N\" } hash \"#gYL&?I[\" name one-of { \"-i|.z<Gh\" \"|^GsQK}f\" \"tZ<~IWx%\" \"}u=h=f+R\" \"l^,?HR6T\" \"1%$}^23C\" \"w-_Gf-`F\" } parent-hash all-of { \"1L0CA@Y#\" \"*_RF?~SQ\" \"v Z%sB%*\" \"Sj;x}ybO\" } id equals-ordered { EcEF:Bae3 f40A:FEF0 4e04:* } with-interface 96:df:D3 serial \"yPu]GlBQ\"\nblock via-port one-of { \"P6Lu0]*9\" \"8K-H-b9.\" \"g8:cuWB/\" } name all-of { \".lL k%ka\" \";'&6_p{H\" \"b3C:;iCq\" } hash { \"`5JnP>`T\" \",8W}YNwd\" } with-interface FC:D0:0c parent-hash \"W+{ef2tz\" id { EdC9:* BB37:5D3e Ed2d:B077 9631:* EA0C:c146 e0b4:73E5 B22f:Efd9 77Ae:* } serial equals { \"ZK@9x6N<\" \"}7ZbM!E#\" \"A,O.3%Gn\" \"%0Ti{l0L\" \",T-AO?_?\" }\nblock via-port one-of { \"Sc,B.qfh\" \"%L R~8N6\" \"r$-rC;~v\" \"yp[U~ /Y\" \", ERO/cJ\" \"pN{Se]+6\" } id 1739:* name \"~5B}c8EA\" with-interface 1B:0d:F7 serial \"KX.te?$/\"  if rule-applied\nblock via-port { \".^P:/EpE\" \"o;[LbPKD\" \"7H^Tn%84\" \"Zs VtIbi\" \"D6T%w}Q \" \"&g'L`Dpj\" \"ni}XBvS<\" } parent-hash \"o'>CI~Oa\" serial \"eqrAJ+E+\" name one-of { \"`zX02f&e\" \">7^rmj:h\" \"LN+GDy>H\" \"2e74XFrX\" \":jT3|Ni.\" \"8T1y.V#a\" \"O&IUV,o:\" \"AaiziRVW\" }\nblock via-port { \"rpT[fRm<\" \"o8Five`v\" } hash all-of { \"<$t25oR|\" \"/+ >vwv=\" } parent-hash \":ORfv_2J\" id one-of { 0a72:2cCE bfE4:* eB54:37A8 } with-interface Ca:78:* serial \"l sRp5*m\" name \"c!*vZnWr\"\nblock via-port \"R`Z`gX6i\" parent-hash \"= @pD7g*\" with-interface 8c:80:52 id Bdd6:Ade3\nblock via-port \"U>=| @=6\" serial { \"C;szU@6P\" \"NA,32MR:\" \"8m5}c:~p\" \".UgZK{^3\" \"?3*t!j[1\" \"EgY]OrbQ\" \"hKd70&?u\" }\nblock via-port \"UAH43man\" parent-hash all-of { \"A+Vq<!|z\" \":d{Z/S}1\" \"$Cb*g>oH\" \":m'ymU[f\" } with-interface equals-ordered { e3:4b:* ce:Cf:* 4D:*:* } name \"CBsuMcGQ\" hash equals-ordered { \"gtlY7]U:\" \"x}u 7*[>\" \"IpTb9YWc\" }\nblock via-port { \"vVuXkgvY\" } hash equals { \"+Xg7|nS?\" \"LBAh7[&Z\" \"0jBo=3Lf\" \"d,XM@ruj\" } parent-hash none-of { \"L;,RTXMG\" \"T%'R=E>V\" }\nblock via-port \"w6a`xG_@\" hash equals-ordered { \"n*/}JO_W\" \"8Y2WK`kD\" \"?<YAf#:a\" \"=^q!Cp9o\" \"*z8e KR9\" \"+}ae8|[Z\" \"&OqOX%hp\" \"45h m<fY\" } name \"w=AZ#B =\" id dAfF:* parent-hash { \"H4nliaRB\" \"CDD6}'{I\" \"/6Wkxx@|\" \",xe*R{G]\" \"f;Ik[@`+\" } with-interface { E4:db:* D2:eC:* ae:*:* 63:FC:6D Ce:Fd:9e } serial \"m&2efNi`\"\nblock via-port { \">wpZ [mV\" \"y4:!MWqM\" \"ANbq$6v-\" \"LmXDIGJ9\" \"2mPA2Z|l\" \"6!M:LDz*\" \"hDM&i_h^\" \"LwU[z:Ol\" } id { 0Ef7:* aFB2:* aaf5:aFd3 cE48:* 4419:CBce 92Ad:ec12 } hash one-of { \"-A&SRAU \" \"p}Lv6~7!\" \"qE@ p7a$\" }  if !false\nblock via-port { \"ZB/]rEkt\" \"x-!F0S_$\" } name \"h4Ea!k`L\" id { 00E5:* d33B:e9f7 568F:* } with-interface 6E:*:* parent-hash { \"Rn.49Ml/\" \".hM?Kl0!\" \";>DagLEX\" \"qNireG/M\" \"wq']dhK9\" \"59QKT?8w\" \"^a}~Y~^e\" }\nblock via-port \"ZqDuUpoG\" serial \"&D==,?!e\" hash all-of { \"TN5aEI7[\" \"SF5&ERkU\" } with-interface 5e:*:* id all-of { dCe7:* 78Eb:D3D1 bbad:4B57 BD4b:8dd9 DC8D:BC9F 0Ea6:* EAd7:Eb2D f95e:e70B } name \"5<Y^IQL \"\nblock with-interface 0C:6b:* id FB86:E90F\nblock with-interface 0c:*:* hash { \"hTv!-!bc\" \"I1;xW@j0\" \"1i5'Q|zw\" \"-u~0Y1&B\" \"c|Pgh` 7\" \"~HZEjd/R\" \"Srla0q4V\" \"b2RSbIr7\" } name one-of { \"G#q1r_C4\" \">m!o~Xfc\" } serial equals { \"p#f_vo+#\" \"5.a`[rDI\" \"/@$V`L,`\" \"ZA?@;!K`\" \"<{Ov{x8c\" \"'ML0kxaG\" \",di|TmXj\" } via-port { \"r3WLsN@ \" \"$O:K<+Oq\" \":xICCvk_\" \"uooBkLi`\" } parent-hash { \"&xj!Qfun\" }\nblock with-interface 24:*:* via-port equals { \"$XN`8p$r\" \"TqS8;!L6\" \"sw&v0?We\" \"6CK@#?u/\" } serial equals { \"r{JT!cVJ\" \"fq9dCeG9\" \"?.jmW=p2\" \"_Vv?2A-:\" \"!%Ud;e1T\" } hash equals { \"En,#'S~f\" \"UAsT?dU+\" \"^0+t$:ms\" \"56%n>n%w\" \"rpPp?7Mn\" \"@]`SAq7f\" } id b8c6:*\nblock with-interface 25:*:* parent-hash equals-ordered { \"ht_Hm5eP\" \"e%n?q'iF\" \"Tua5=t1/\" \"ktRw_P'U\" \"6vr>j;iV\" } serial { \"`YyM?>fF\" \"o'K1ve1n\" \"f/[D;X$H\" \"VY_yn0G]\" }\nblock with-interface 3b:A9:BF id { 59a5:Cad7 B9A4:B28A eEb6:* } hash all-of { \"1?X2u9A7\" \"_`]`neGo\" \"Q M{30d6\" \">-pqob~!\" \"VzM,Y<-^\" } serial \">4J~>=e4\" name { \"+Z%U,Y00\" \"NM{+o^}%\" \"T.9qaZ^A\" \"HJ-Q{6z[\" \"8c+uJ<=.\" \"3/J][.8.\" }  if localtime(1:00)\nblock with-interface { 3c:*:* 19:DD:* aA:3c:12 20:EE:* B0:A5:96 d2:Ec:* 90:*:* } id 5c1e:baBF parent-hash { \"eP%]m#5H\" \"*]o,:N3@\" \"#&BkVZ4L\" \"wBnmz=[U\" } name { \"_<Xuu|,V\" } hash one-of { \"!0R*ruoW\" \"4rQsKWH/\" \"5]b*A%}+\" \";@bGtEp5\" \" +0x Z0N\" \"z6{ 6U+l\" \"x9&B*Uw^\" } serial { \"KR55lE'<\" \"j%*s35*A\" \"`^7:CInN\" \"ZtD6?;25\" \"W,Y5TrgS\" \"m9G|o1vE\" }\nblock with-interface { 3c:*:* D0:*:* 32:*:* ED:dc:Ef 83:*:* 7c:2d:A2 } name { \"S;T'4hh.\" \"j!bJQ6SX\" \"_lPYz,N*\" \"4OI|Q&O5\" \"{SO|k&W>\" \"r5EX5>kH\" \"b|lqU<a|\" \"Ba8gWhMf\" } via-port one-of { \"G${buJK6\" \"9,_m7L6W\" \"2BWEcgcw\" \"'=UqI!rg\" }\nblock with-interface 4c:*:* parent-hash \"S 139<=i\" hash \"3Fjn1t5c\" id 047e:bc87 name { \"bCF,jO~U\" \"^QL=r2+/\" \"^$CMZcCR\" \"b%RMYW+Z\" \"?te<km1U\" \"z`BXcEY~\" }  if !false\nblock with-interface 68:3a:9c via-port \"tq|!x03/\"\nblock with-interface { 6D:6c:* Df:c0:* } id equals { dc9C:af9e } hash { \"v>XYfvcq\" \".F0A*k41\" \"'r2h-dh6\" \"7h`f1-f7\" } name \"8G7kkhQ7\" serial \"OsNC2zYh\"  if equals-ordered { true false !true false }\nblock with-interface 6d:*:* id 7FCb:* parent-hash { \"BGqqqM56\" \"?dp[q72M\" \"SMeEnhAR\" } hash equals-ordered { \"LYHvjL^?\" \",yi7>{K'\" \"m@>epG}]\" \"Z5VXM7q3\" \"8?V<pvld\" \"7]hiKgKJ\" } serial \"M/p1/'Y!\" via-port \"ky5m+?:2\"  if false\nblock with-interface 76:*:* parent-hash none-of { \"^>3/J@Sh\" \"d1!=aN:j\" \"u5oPoIU~\" \"PK~S_xcM\" \"tY-6>':e\" \"k_et|o@w\" \"4xam[7[2\" \"f:s$YH;H\" } serial \"v1zlks:D\" id Efcc:bFEc via-port equals-ordered { \"I`??fBQ2\" \"~ g|pv`I\" \"bIO,g<ZF\" }\nblock with-interface 95:60:* name { \"Ao%^,8Xh\" \"7_}8966g\" \"t4C_H?[|\" \"P:7cyPU?\" \"sD{r %#{\" \"OWkIl;8N\" } parent-hash \"B#{LJEp1\" serial equals-ordered { \"~JtwdBag\" \"4@`w,'-F\" \"bZeItd~s\" \"~sZk|8|@\" \"n]nPhi%i\" \"HDBGIb~O\" \"vb@dwE#F\" } hash \"H>l^/RbH\" id AcCd:7CB5 via-port none-of { \"n|0aM2`!\" \" iD/>]cC\" }\nblock with-interface a4:*:* id all-of { 1cdb:5E8a Ff2f:75dA A6EE:D743 } parent-hash one-of { \"Pc}|020l\" \"'G@Jrnb8\" \"~v8C-Yz4\" \"9^$W0A8A\" \"V/E+]D[x\" \"3?>{VB,w\" } via-port { \"yX~x;K=|\" } hash { \"vJuCVhx<\" \"fP{Dp0Xt\" } name \"pUZ*qJUW\" serial { \"?Tl/5dt-\" \"I^lZgZHl\" \"0s5_XF%-\" \"4v$Q@8^`\" \"-X_,HHAc\" \"]&vYO P<\" }\nblock with-interface aE:7b:* name \"|8#QiJ33\" hash \"D~U9`z:k\" parent-hash \"X<@j9O;%\" serial all-of { \"*%,Ky/HE\" } via-port { \"rl58j%kf\" \"{~@CDQB*\" }\nblock with-interface { AE:cE:* d9:3a:* 8E:*:* cb:eC:aE 95:*:* CD:4E:bC AF:7a:04 } hash \"_CKMJ0]N\" name equals { \"Gop@bU;Q\" \"1_s;X2=|\" \"z&63>bW{\" \"Z {~TV!?\" \"LO%KQla3\" \"H`F0+|k{\" }  if rule-applied\nblock with-interface all-of { 0e:1e:7c CA:Ad:* d3:75:BE Fc:*:* A7:C2:58 b4:23:df be:b3:* } id { fC57:* 58ae:9e5a 61d9:bfCC Eb22:* 7d29:89dA } serial \"k]JqDsf>\" via-port equals-ordered { \"-.XB7dRR\" \"xG_Ccd/c\" \"LC!$Xgq*\" \"Y#,$uq;]\" \"MD@bdIg?\" \"%A<SkpuF\" } parent-hash none-of { \"->^I5 s3\" \"Oq@7FSBo\" \"cFTQ<HHY\" }\nblock with-interface all-of { ae:C5:* a5:41:* fb:e8:71 Cc:*:* CD:*:* } serial equals { \"5h^*j`<O\" \"9=HT/8.m\" \"v'l8S,qb\" } id { E7Ef:eA61 7f4a:CeDa 6b1E:* EEFD:* 7e0B:* 6F17:* } via-port { \"N|5xuq%L\" \"df7A~p#U\" } name none-of { \"H1Uugk`,\" }\nblock with-interface { b2:09:bf 00:A1:* } parent-hash { \"x<xen} =\" \"as.WKaGt\" } hash { \"/'Xedk 2\" \"-U,WmB@'\" \"O27I/iVj\" \",7J=x?ul\" \"hL^#QEJC\" \"PM,Q<edS\" } via-port \"9L+cYCkg\" name \"PU/uE>dt\" serial \"G!qbaP^{\"  if rule-applied\nblock with-interface b6:AD:1C id { B3Ce:9CBD } parent-hash none-of { \"HquSqjm^\" \"%zUK}a[&\" \"$Zi,1`Xo\" \"YZ0`2j/G\" } via-port { \"A/+1F$no\" \"w 9{C`hn\" \"o67!`!bx\" \"QK6uQ!;]\" \"1r7v]E|i\" \"Z%S*:#~3\" \"eK[84Jxa\" \",tMvkD.E\" }\nblock with-interface bd:cc:*  if !false\nblock with-interface d7:F3:* hash \"2D88zYyS\" id { b5BD:* FAFa:8a31 bd0e:6EA4 8ffF:AbfF bFbe:* AAe5:A0fb 90A7:* } parent-hash equals { \"d1MLIn+P\" \"t}pD*D'^\" } via-port { \"F.#ANH0I\" \"dI`AdJfx\" \"aWNs9!tI\" \"d`pqB@jU\" }\nblock with-interface e0:cc:66 hash \"/olqC{fb\" parent-hash { \"dX%$0jUD\" \"[Bc6D>$_\" \"Y+;Ck0sY\" \".MWzF/t.\" \"$9h`HI7p\" \"D2Xqa.pQ\" \"D^4us:7&\" \"C4D5z}&*\" } id 7C39:*  if rule-applied\nblock with-interface { E4:dE:* fE:EA:* } hash \"Z$,WkT?t\" name { \"@zKN_{v~\" \"ww68=L]a\" \"/yR}Nx_Y\" } id 995f:*  if false\nblock with-interface { e7:16:* 00:8c:* B7:*:* 96:85:B1 F3:DC:c7 8d:*:* 4D:FB:C1 f9:F6:* }\nblock with-interface equals { D6:6b:* 5C:7d:d6 1A:A9:fd } id E24e:* name \"ATnytMKm\" serial \"thT 8a>6\" hash none-of { \"l?//cX4|\" \"kJ3PKdA3\" \"h-xcKG{c\" \"'GyRKy05\" } parent-hash \"nLQ&6Z'C\"\nblock with-interface equals-ordered { 61:d4:0D f7:a4:* 5F:a8:* 10:BE:* 5F:6e:* B7:ea:* } id 7e3D:C64C hash one-of { \"4S_>uLhN\" \"ymB40UjR\" \" [X^20f~\" \"DXY zCQ$\" \"ZkZIh0<7\" \"*R[^3%'=\" \"E#M&lB~a\" } via-port { \"C3{mIl4K\" \"]T%X~7Ny\" } name { \"MN4&f^:T\" \"nxc@Yu-+\" \"$.ucE&=x\" \"+Rd,6AJ%\" \"jpKp{93A\" \">'|Ajd1x\" \"~/pN#L~a\" } serial \"2u{i/oM~\" parent-hash \"3E:mtsZ?\"  if false\nblock with-interface equals-ordered { 78:e6:0c 6C:3C:1D 3d:*:* 6A:25:* F9:04:Ad }  if rule-applied\nblock with-interface fA:3e:* hash \"AmTqP5 p\" serial \"[|toucRl\" id 1C5e:363f name \"05Q9Xl3c\" parent-hash none-of { \"ATrZW!5r\" \"V<cH&/i-\" \"hZ{B 4}|\" }\nblock with-interface one-of { c7:fD:A6 } name \"UBgB@;fY\" serial \"Or[l$ijN\" id { FDA3:* aC06:4a7A 54D5:* } parent-hash \"_lcXaSi}\" hash one-of { \"5/5bBZMt\" }  if !localtime(2:00)\nblock with-interface one-of { d2:A7:4A Bb:*:* eA:CC:* 41:7D:* d1:38:* } name \"*5-sgN>^\" via-port \"t72rZLXt\"\nblock with-connect-type \"hotplug\"  if rule-evaluated\nblock with-connect-type { \"hardwired\" \"unknown\" } id 38D7:C5a3 name \"otYR$=X2\" with-interface { Fb:bc:b8 Be:*:* DD:*:* Ac:*:* 11:49:* 00:*:* 9d:*:* }\nblock with-connect-type \"hardwired\"\nblock with-connect-type \"hotplug\" id AfA2:9aAA parent-hash \"Jc{r^WNm\"  if rule-applied\nblock with-connect-type { \"hardwired\" \"hotplug\" \"unknown\" } via-port equals-ordered { \"]/EQL?a2\" \"Imk7@r=E\" \":,a-OO{l\" \"JW/|jwu3\" \"WDNq;;7?\" \"WJ;x@6@6\" } parent-hash \"i&mhTu/!\"  if !localtime(2:00)\nblock with-connect-type \"hardwired\" with-interface { 0C:08:97 Aa:e0:* } via-port { \"MU;,4G[h\" \"]v$$XKFh\" \";,MZT'Dh\" \"g00{lD%j\" \"wRUZ*``0\" \"8#!J{gQ@\" \"`Z?3p92&\" } hash \"KYHTnNgP\" id one-of { C60C:* d2EE:aDe8 ead7:214B 75Bc:59a6 3129:* AE7E:d25d ee2e:* A21D:* } name \"n0CKUNor\"\nblock with-connect-type { \"hardwired\" } with-interface { 14:E1:ee a9:ef:1e } name \"$T[<!1Op\" via-port \"h?/.,fRv\" hash one-of { \"dx1ciKB/\" \"^v%3PS_<\" \"jOTYF-_x\" \"8JQe^A{]\" \"0J=;i6Cy\" \"aRr7J7Eh\" }  if !true\nblock with-connect-type one-of { \"hotplug\" \"hardwired\" } parent-hash \"~5dLGqYl\" serial \"ti'eurG]\"  if false\nblock with-connect-type equals { \"unknown\" \"hotplug\" } parent-hash { \"W`G.6Y:v\" \"l',6M , \" \".!/r5}Dz\" \"9HOHPNuk\" \"k}{N*X%m\" \"gsr?KNZ8\" \"OypL42xt\" } serial { \"dTNG+F-L\" \"cqomCC/r\" \"oI7P_=D2\" \"z~:y^Sgb\" } id { 0397:4c5d 0f9d:* } name \"{?N|IzD,\" hash { \"$$e]1W6`\" }\nblock with-connect-type none-of { \"unknown\" \"hotplug\" \"not used\" } via-port \".sZAu,K#\" parent-hash \"lR-:Z~S*\"\nreject\nreject\nreject hash \"[0D4_&K2\" parent-hash { \"P0L~#5M6\" }\nreject hash \"2-{,;c y\" via-port { \"*g=;-wyW\" \"d!+ySDV7\" \"+;!DYf`N\" \"Gk-HT-,}\" }\nreject hash { \"$9]ka$?6\" \"3rpd<jkw\" } parent-hash equals { \"{.LSVxC1\" \"piz&S{Pl\" \"%T5!@KS0\" \"Ca[%N05T\" } id 6d1E:* serial \"2/drPpGu\" name equals { \"?EtU[Hne\" \"oQV<;w=J\" } with-interface 56:1B:1B via-port \"c 4YZq[!\"  if !localtime(2:00)\nreject hash all-of { \"n^~'_6{&\" \"UThwj<p&\" \"tD<iOV0>\" \"X<3c%D*e\" \"UB%S[so7\" \"Z}.[Q6WF\" \"1>hZhf]5\" \"<34Evd'X\" }  if allowed-matches(name \"*[*x9]~u\")\nreject hash \"b0D'QA*e\" id { 2aDc:A2Ba C8FB:fcEB EBBA:* 695C:f516 468b:* 5804:454D 1DC9:cbFF } serial { \"3X: ,Cf!\" \"ugaG98K{\" \"Ezn~!j6`\" \"% Ues8z{\" \"[ZovP4^~\" \"lW$nec<i\" } name \"6G&zoJw?\" via-port \"nXDx>!U>\" with-interface 0b:0A:* parent-hash \"C?]%!-7<\"  if false\nreject hash \"Bo2h^]Oz\"  if false\nreject hash { \"@C|3,Ouw\" \"PBPB=,5p\" \"3,M=HXmp\" \"^d/Oc`]{\" \"sXO6hG'x\" }\nreject hash \"[}~e0hn0\"\nreject hash equals { \"1kh30%d[\" \"p1=<H.cu\" \"V;g@.4=T\" \"Bm8H@xPM\" }\nreject hash equals { \"~ujN9>De\" \"EV8^{G}v\" }\nreject hash \"-~>gG%<W\" via-port \"y?!Q4*UY\" name \"XHG`{]_;\" serial equals { \",26PID8S\" \"<0v1a[6l\" \"9hL~'i^}\" \"?^LCpriv\" \"=cj b^%#\" \"q_Xt2{Fl\" \"~/;I+]K]\" \"g_cQ2it.\" } id 12e7:* with-interface bC:EF:fA parent-hash { \"hUX-M1zm\" \"BWagr;!X\" \"R~oy,xvP\" \">fTv{:T*\" \"Z=&nbK?+\" }  if !localtime(2:00)\nreject hash \"Gm`6pj&%\" via-port \"@-]2I=^g\" id equals { 7DFC:ae9E 2171:a7A8 } parent-hash { \"GKN!A_k'\" \"apUd'LSC\" \"4ekw`kiU\" \"~!wwwVYI\" \"?]=;<|l#\" \"jI$!aT/b\" \"A?2SM7|:\" \"a;`8kMK}\" }\nreject hash { \"I[PNT@Z~\" \"rsW97@.3\" \"?6=P@J'^\" \"j=;_bXLR\" \"->gZH*ra\" \"O]tZ5$$F\" } id { 79E5:3eeC Fe67:fbB8 72C4:FD9A } parent-hash one-of { \"T+2EUtG5\" \"ZK>VO'@Z\" \"ad7#,UQc\" \"N1}.@',O\" \"3>34^D{|\" \"@$F2%=kf\" \"7B/OD4/K\" } via-port \"$DU<y66B\" serial \"`b,V+L?U\" with-interface one-of { CA:71:* 3C:C0:F5 D3:FC:* dd:3e:* bF:2B:* a3:cA:* }\nreject hash { \"JCdk jBZ\" \"l_`Ldjc@\" } name \"LScG15,[\" serial \"+u[P%C44\" via-port one-of { \"E'p!6ln-\" \"eZsoQHq0\" \"/+qD?<f7\" \"LT#v Ffo\" \"quU_I2~@\" \"~kDgnkDa\" } parent-hash { \"nbr.~z%S\" \"[l%p8;kT\" \"M?fFI=nZ\" \"mNnV-_.D\" \"V7zqXjMo\" \"Mq3'7`?W\" \"*L>YR{`T\" \"6TMrB1hg\" }\nreject hash \"lT#?*;OP\" with-interface 41:06:60 serial { \"MM<Uk@69\" \"n=?tGC0*\" \"q>lyhV=s\" } via-port equals { \":VQzu!nI\" \"BZ%+~>By\" \"&5bF,jcd\" } id 52b4:0b4C name \"%=IHTdHV\"  if localtime(1:00)\nreject hash \"?[mV2hbt\" via-port { \"NTL#35VS\" \"GNF;i$Gc\" \"[Pc*YAv#\" } with-interface 8B:AB:* parent-hash one-of { \"8ev{?iL{\" \"z/nzXAyC\" \"o*xz=03E\" \"Y]%[`A61\" }\nreject hash \"N:E8h;Kj\" with-interface { CB:11:c8 83:21:E3 2a:*:* FD:1d:8F } serial { \"FWnuG'ZV\" \"M2/T-:We\" \"2kVF7G{H\" } parent-hash \"*F39Z}Cl\"\nreject hash none-of { \"CJ1Nz9Z{\" \"WcuHsk6>\" \"NpjWM.]7\" \"NkY:--> \" \"V5jH}mW-\" \"t.m;e<#X\" \"pMHOwS[;\" \"1E~~5{tc\" } with-interface 4a:A5:* via-port \"Z^6=5TWc\" serial \",W%frw%#\" name { \"S#+wxp:M\" \"VYeg}Ha \" \"z3PF,:q:\" \"N@b}A>am\" \"St!$s@vI\" \"!*-!t!Dd\" }\nreject hash none-of { \"~m_rz19P\" \"J7K,'hSj\" \"n|#{gV7=\" \"`AB'I2Jc\" } serial \"R1GLA_n5\" name { \"p8rjMj/p\" \";-Fu-,TR\" \"S;oHd<d6\" } with-interface c2:4b:D1 parent-hash \"9'*0F,q8\" via-port \"oOYd!H[.\" id { 9d16:* 6870:* C01F:* fB90:* 94e5:C858 fefe:* dB89:* }\nreject hash \"O4I<!!,h\" id { e6b7:adeD F09b:Af28 E8Ba:5d5E E4ba:* fc6B:* } with-interface 1A:AA:*  if localtime(1:00)\nreject hash one-of { \"7#':$HF \" \"|2fB9_NP\" \"nj~C@gC3\" } id { 62DE:CA96 fbBf:6223 3274:* } name none-of { \"DAH0Wa[|\" \"Dg!92jrm\" \"U1I<C2=Q\" \"|+BQA-Qg\" \"*%T.Uw.4\" \"!J{yeI8?\" \"lBhN`'<x\" \"VVGYN60d\" } parent-hash { \"uFj/yFLS\" \"+MbG49]t\" \"L@_C~|ER\" \"%m+@T2fW\" \"]ws7A.jO\" }\nreject hash one-of { \"Y&bk.f%2\" \"|o'x^3.H\" } serial { \"-k$8v|s_\" \"7T%D]E&t\" \"c}B$&3`Y\" }\nreject hash one-of { \"Z-bVAICm\" \",&x'NVZ'\" \"hA[?swVS\" \"hv,KPMX \" \"V{]Ebz-r\" } name { \"B![=}0$z\" \"wZ{Oo`yG\" \"/t2u|V'L\" \"/vj=3*,5\" } parent-hash { \"Y`kO2<Z9\" } id 313f:1Aa6\nreject hash \"qcr=%`}n\" via-port none-of { \"PQS6C{h<\" \"fH>Gm:Eg\" \"3FikLCM=\" \"7=3FQZu?\" \"_a-Ztiry\" \"lQHw4oN6\" \"516SZiMV\" } with-interface { 55:*:* bb:28:* } name none-of { \"$}eZ+%-Q\" \"AlJ8CEZ!\" \"1M8nkB*|\" } serial \"@U_9bo:.\"  if !true\nreject hash \"U38UP9GX\" with-interface 75:Be:79 name \"m21T_Y_j\" parent-hash \"j{AjXFP-\"  if equals-ordered { true false !true false }\nreject hash \"U lD+u:]\" serial all-of { \"Fb8b%OjY\" } parent-hash \"1b^k[@3v\" name \"1Wq*}{,J\" via-port { \"Nd[?'s8i\" } with-interface c7:15:* id none-of { Ad7d:* }  if false\nreject hash \"Up*][U%n\" with-interface bA:e3:* via-port { \"@ApJ.7#w\" \"+gA:sEtD\" \"Ir}3O901\" } id { c4Bc:dcBa 6B95:9eAE c314:* } name \"Z/]z+HW&\" serial \"L=D9AEA=\"\nreject hash \"-XE`#cnz\" parent-hash \"chqw^{-s\" serial \"Z,JLN4a=\" with-interface 58:3b:* id fb6d:* via-port \"+EcI1:HO\" name { \"mVZvzunQ\" \"[Lbg9}A;\" \"Jzy5h}-]\" \"_K;gC -c\" \"fdP7{+IX\" \"O-$|L*o[\" \"_wv9$Eh3\" }  if false\nreject hash \"*^xG]YbX\" id equals-ordered { 2EBA:A9DF Af4f:66cf d37C:* A1E3:a938 eAbC:* 42A7:Cf26 92cC:bf9c } parent-hash \"?I/^7:LM\" name \".yZMM>NV\" serial \"7=1~1MLH\" via-port \"sv+L,vRL\" with-interface none-of { 75:93:7B 5D:0A:* d1:*:* bD:*:* C2:*:* d1:c6:* 01:37:* 44:A0:* }  if random\nreject hash \"XYUYMU=z\"  if !true\nreject id 0F1B:* name { \"#,U,0 *^\" \",$1P Vnl\" \"r%qhbEFO\" \"h5N8f Vw\" \"*d-Q_uyi\" \">hTH <I]\" \"NJDKi:IB\" \"jg-w.wF'\" } hash { \"Ae`e0t;k\" \"}2*WhPBY\" \"H>I E1 {\" } via-port none-of { \"`di7N>ib\" \"vL:^QSP~\" \"_Zns|#e<\" \"S!Cp*0~n\" }\nreject id { 0fEE:* } serial \"i516'{x;\" via-port \"nZCN'n_.\" name \"lLSY}3#U\" with-interface { 6B:D8:* } hash \"]$t6GN5:\"\nreject id 2aad:* with-interface { D2:*:* 94:D3:9a F3:F2:1A 0d:cE:d8 dE:Aa:* 5c:B4:bA 62:ED:* } parent-hash all-of { \"qq=]MS0s\" \"x|iO,5Hd\" \"GTb10H--\" \"8K+a seT\" \"8O^G=NEj\" \"E<8[gIRD\" \"Qf ],<jQ\" \"]Y@ObPg/\" } name equals { \"@1XZcdxZ\" } via-port one-of { \"`'HbV}<7\" \" ksL5{{n\" } serial equals-ordered { \"gDwCkjAx\" \"O>4 }nW;\" \"=#rDr^{L\" }\nreject id 3B2B:* via-port { \"+s2n~GJW\" \"G.R23S~y\" \"i55Jl'0_\" \"Wl4L~IAG\" \":,!KzKtD\" \"v~]+0kAj\" } serial { \"23WapeE6\" \"@DVJk/td\" \"G~DpkBu&\" \"bM<{pcd{\" \"a :KAV&$\" \"Nw[?+~dj\" \"vupgW]+3\" \"EFHrH<!j\" }\nreject id 3DB7:4ECb via-port \"K>*r^~io\" name \"MR|#3K1e\" parent-hash all-of { \"i,nW517[\" \"S/#8 d.7\" \",czl7.$+\" \"$Hf~Duzd\" \"]7v&Evwq\" \"=SA-{ R;\" } with-interface e6:*:*\nreject id { 3FfE:* E3E9:d174 dCa7:136F BC1a:* c21F:1c0c f060:* }  if !false\nreject id { 49AD:* ec5f:5EB1 1A44:e4c4 afA4:8a4d af89:755E 0b63:* 47c9:E34F } serial \"&iwWT|6x\" with-interface CC:60:* via-port \"#hlL8Q12\" name none-of { \"s}$O<ZqO\" } parent-hash all-of { \"{,ZwND2_\" \"#_id5jN&\" \"g]OWk/i?\" \"_-Noj%S{\" \"Qj7~u&}_\" \"vb7j~5cl\" }\nreject id { 5F5a:F0cd Bc8c:EE3C } parent-hash \" B3*prLj\" hash \"/IZ74RVa\" serial \"ZI=M%}*y\" name { \"7$Q13_w+\" \"K+RRWO+M\" \"`LJ8I~&z\" \"|D7U.`q!\" \";}qfkYBb\" \"m:q8 M1+\" } with-interface one-of { af:*:* 92:3D:* 31:*:* EA:*:* 0b:29:cE 63:a2:* } via-port \"?`;ye}K4\"  if true\nreject id 7CDB:* hash \"W??VWMpM\" parent-hash \"k*BHWU93\"\nreject id { 87bc:43E7 C6F4:* DcaE:* 2ef5:C743 Ce70:* b6cC:* } name \"]JDg{oH0\" with-interface none-of { BD:65:* }\nreject id { 87CB:* 1b88:* E4c9:1985 ADE2:dFdC 6764:ECc6 05A8:4C7B 39FF:* } with-interface { 8F:A7:0f 0F:*:* eE:AC:57 } hash one-of { \"l9^?8d89\" \"kAR:Rmkq\" \":e2oKMi/\" \"`?X8C8.P\" \"r`xb[&vc\" \":}ngfSg@\" \"8l3W/RpE\" } serial \";>qHc&AB\" name equals-ordered { \"kIXbZ&Iv\" \"b%GDhUO \" \"uyF*6|c&\" \"ImC&Pt.K\" } parent-hash all-of { \"x25nCP=&\" \"b16r` -:\" \"*p}+KS`=\" \"sW21L0_N\" \"dk=q|XmO\" \"iC~C`dY \" \":-vuH@+k\" \"@ &6Nr`K\" }\nreject id { 92b0:* A9E4:43cF 09E8:* DFce:3a8A 4f5a:5EBb b5d6:* 8c9f:* } serial { \"s~vn=?,Y\" \"fXV1gP'S\" \"dfjw;tkd\" \"}yiH]agp\" \"Yr=~E3a_\" \"L33Y3lBb\" } name \"Qr+W'o5@\" with-interface equals-ordered { 38:*:* D0:A5:* A2:*:* 47:*:* } parent-hash { \"1T<HR+uZ\" }  if random\nreject id { 9DBA:* F05d:* DffD:* 4e55:* d326:A6Ca 5d1f:* 28c0:a318 FbE9:1a79 } serial \"H^HY0<BF\" hash { \"=hqGxq67\" \"BWaf' ZH\" \"f3,XP$!9\" \"Q/uXx|E[\" } parent-hash none-of { \"av~?RK{#\" } via-port { \"dZoUCN+Q\" \"z'-`sKP{\" \"ZE@4iB+Q\" \"p?^h~T;B\" } name { \";ZadX95e\" }  if rule-evaluated\nreject id A094:* with-interface CD:Ba:5b via-port { \"@WY-6l}x\" } serial \"5^i6Q9*;\" parent-hash \"28w=l TW\"\nreject id A1b0:* hash one-of { \"/Ed!_x{{\" \"^?q?N&=c\" \"Wtv2h2XS\" \"C.YZOZ1n\" \"I<&$[VRF\" \"qX_&,>jf\" } via-port { \"iJ#[#f`T\" \"D1PIZjW6\" \"JX1ov!fr\" \"Qr.R`0Hc\" \"|oM@a,8U\" \"f-1~]lMw\" \"Hw2wlpKR\" \"e85}*T%.\" } parent-hash { \"1Hw1mIX4\" \"5Ozd.v88\" \"0FkXsJ^B\" \"2c&>*dcz\" \">9|dWE3%\" } serial \"2XEV7NhW\" name { \"ys;K%M!Y\" \"kv%{TNI1\" \"F@gO+~cM\" }  if true\nreject id all-of { 6f3e:4B62 7abc:7F67 6270:52B8 bEEB:14eb }  if random(0.4)\nreject id all-of { AdF0:* aF48:6BB4 6437:* 6C06:9cf8 9d72:94cc afaE:* 0D5f:6f89 } serial equals { \"t?@u8guJ\" \"3tlipcoe\" \"&%AzJBDr\" \"`K;/4B1`\" } with-interface 8A:*:* via-port \"8jom+v6k\" hash all-of { \"Z*HiOkgt\" \"s$$_,o:m\" \"Fe${.H,v\" \"2jRbyQk=\" \"_UM<GYQ1\" \"[u~VVi{G\" \"RmZX/sW@\" \"67R>ahp.\" } name \"NdIzfn7p\"  if random(0.4)\nreject id B7a5:* via-port \"8ij/qhi2\" parent-hash \"CPP6Sw3h\" serial { \"lx+VNll0\" \"%MKO_>R~\" \"~.yx/ri+\" } with-interface equals { Ef:*:* }\nreject id BF5C:8CBD\nreject id { c291:* F3a3:* a6F7:a1cF ffF2:* } serial equals { \"I?a3bI5l\" } via-port one-of { \"029&qKTb\" \"=EJ N$h;\" \"F2g6CjE&\" \"psu#e2-x\" \"i!NbSlDi\" \"eh9Z`x@I\" \"j_!jE+ku\" }\nreject id c3cC:* hash all-of { \"LE@#m=8^\" \"r. TLT~X\" \"lwHAY7FD\" \"x0A7@};4\" \"H:fBT5My\" } name \"~zx9Sr!2\" with-interface equals-ordered { 6c:*:* f6:*:* e9:dE:ec 20:*:* } serial \"[FG+Oqb9\" parent-hash equals-ordered { \"';?3}Ehp\" \"ALVSz7pU\" \",$N5l:9T\" \"2LFU50s*\" \"?6Ht-3jA\" \"Vo.1@{1 \" \"2%7$o6um\" }\nreject id C658:DC06 parent-hash none-of { \"jT9W65}`\" \"Vdq]R$w|\" \"r=9cOI[4\" \"-;Ucr/<7\" \"u!}jK%zO\" \"@i /{qhA\" \"+c.n8C,<\" \"KPP}fiSt\" } serial \"LIX CA#3\" name \"AXI*a'!|\" via-port { \"D54{9Lr1\" \"w8^^9*b&\" \"FQ]@PUrG\" \"n~!sV_D5\" \"3*q.T,>B\" \"YRfS%0ii\" \"bX{lH=FP\" } with-interface fE:28:aD\nreject id cEbB:* name \"dA$k/Gfl\"  if !false\nreject id D858:* hash all-of { \"wYj *H.i\" \"Kzl[m3p[\" \"=8z5EbX=\" } serial \"g>_?<DFR\" parent-hash { \"e`Hx5a]%\" \";nTzfQZQ\" \"iVZ8eZkK\" \"SH0oo/Y3\" } with-interface { Cd:8D:* 13:*:* }\nreject id { E5FD:063B f71c:C79f Aed3:* C2E4:A3d8 2985:3cA1 bA0a:* } hash \"q'R,D R \" serial { \":2+7i~@J\" \"@S>@dsqc\" }  if !false\nreject id { E9D1:F5FD } serial \"<Ed- n1F\" via-port { \"+'Yfc{-V\" } parent-hash \"&Nx@Mf<-\" hash \"_Yh_5]Z`\" name \"0F g5#'{\" with-interface { DD:24:* dC:*:* c7:74:* }\nreject id Ea10:a0fd with-interface equals { 71:Db:Ec 2C:03:* fA:*:* } via-port equals { \"[;D'x~A=\" \"PKifRM7s\" \"i{|03plB\" \"hd@lKSb6\" \"`4#wVLG>\" \"X^6mK4x`\" \"'%@dOV#_\" } hash \"x0CHSDxC\"  if allowed-matches(name \"K Gfi!1p\")\nreject id { Eacc:* a6bb:* 5B7F:* E5aB:* d064:fA1D Eb2F:* d623:* E50c:DF47 } serial none-of { \"hVmcqCF,\" \"!P_+f]1c\" \"fdfng[,E\" \"*JznKWT \" \"^1}M%{M \" } name \"xg[a7_Z<\"\nreject id fCf3:8e21 parent-hash { \"7VK[#h5N\" } with-interface 9f:*:* serial \"jAdP:Z5g\" hash \"5&ptC#n;\"\nreject id FD06:* with-interface 20:*:* serial none-of { \"6PX4K?U2\" \"+8I+GUde\" } parent-hash { \"3E$DcA5>\" \"t+Dj2Qx*\" \",Kh39ykT\" \"%od12 .e\" \"N;JUVP2{\" \"vjXMynPJ\" \"BsXh@WiA\" \"$!qK`.D<\" }  if rule-evaluated\nreject id none-of { Ac4c:531b 322B:Ddaa dBa8:* adB9:b737 94ca:52ee } parent-hash { \"ldHR'Z{9\" \"oUXbhJ:7\" \"ASlMOo-@\" \"|<iv^6xl\" \">B?=jfBQ\" \"bBT$CfOm\" \"L0s[L~xX\" \"ggfSi_u~\" } name \"]JA3! ~{\"\nreject id none-of { CB8E:5F01 F0F8:7491 756E:* } name { \"xH1K%16p\" \"f8IaYm:7\" \"qldMQwAy\" \"yURda{Yz\" } serial all-of { \"9`=C|qIb\" \"Z.P^*0fg\" \":N=;w!CI\" \"N,9t//KC\" \"WEA%^|To\" \"28'p r',\" } via-port { \"$aLcV$yi\" \"};<{St]i\" \"9B+nCP-8\" \"nU|pJibH\" \"$+naTyL8\" \"g 3XTrU9\" } hash \"nfHI[N|D\"\nreject id one-of { ad8f:2dEe 90D5:4110 3D25:b8DC f2ce:* 116A:* 2EAB:* D7AA:* } name \"5=/x6jiG\" with-interface 8C:4B:* via-port none-of { \"l!y2V>o;\" \"L`Gm~U5s\" \"bPtmRur8\" \"Z W+_x^c\" \"6a+rBNV%\" \"AyDpi0g-\" } hash \"lHDzSn.c\" serial { \"BmG3_dJ-\" \"}^hWJ{?v\" \"w*$DF!FK\" \"kkQNPA`H\" \"SMt!`X#V\" \"9o7at*m=\" } parent-hash \"X`Xcsvb'\"  if true\nreject  if false\nreject  if !false\nreject  if localtime(1:00)\nreject  if !localtime(2:00)\nreject  if random\nreject  if random(0.4)\nreject  if rule-applied\nreject  if rule-evaluated\nreject  if true\nreject  if !true\nreject name { \"0.3>p?[#\" } id { dA10:* 08c9:7cE2 DA31:* bDA8:* a6A8:* 5aCC:* D55D:91Ff } via-port \"w,1NnKf7\" with-interface equals { d7:DC:* 81:*:* f1:fE:4e 5E:Ba:* 2C:*:* fa:22:94 30:3a:* 59:B5:6b } serial \"YWz@`LrK\" hash \"NYe2I9QE\"\nreject name \" 5YsSERs\" serial equals { \"?knRo&X`\" \"7LCsKjVO\" \"rT9>5Afr\" \"?YNluTiT\" }\nreject name { \"@@6<:=:C\" \"}Xg~gi|L\" \"&KS`*XHb\" \"DFgIE<E*\" } serial \"v;~kf!Jk\" hash { \"%`dNGOQ]\" \"l7_bE[Q1\" \"~UC[PrA~\" \"npCk|A$P\" } via-port \"nmu82*:%\"  if true\nreject name \"6u`?ZA+t\" id 18E8:4DDE hash \"-DiSY!>-\" via-port \"vZPjD]1O\" with-interface 92:cb:d5 serial equals { \"wT$g3ei/\" } parent-hash { \"XfY8@wT0\" \"b4%O3xI$\" \"<RTAGfLq\" \"~F[433_z\" \"RYLw{;]d\" }  if rule-applied\nreject name \"!8-k:bVa\" serial \"X@ylGzAE\" with-interface equals { 2D:2E:* b1:fB:* c4:Eb:A9 3E:*:* c2:E3:4D ab:eb:Bf 98:*:* } via-port \"rv!Y?zxq\"  if localtime(1:00)\nreject name all-of { \"xQdp'c0U\" \"U 5jS1.u\" \"KhLxxE6;\" \"DGo42Sum\" \"&Ov7~{57\" \"c=r<~;1V\" } via-port equals { \"f^_vwPH!\" } with-interface { Cd:*:* 57:f3:2D 47:*:* dd:64:* } hash none-of { \"!Z_K4#Cy\" \"2>-ZUKNz\" \"_Fz4u7`L\" \"2/X@NSO0\" \"`]]k?|wv\" \"<%:W<p `\" \"k<k-dl|:\" } parent-hash { \"~oS7ErK^\" \"N<&TccI$\" \"?oH<pF'^\" \":b6Uc^--\" \"b#qT?7o!\" } id 94aD:* serial { \"b?*+cNNq\" \"_w:47!X9\" \"Kl%8p4r8\" \"j,-+.^G^\" \"~'-Y:M97\" \"fxpb.-=y\" }\nreject name \"A%t5RW<v\" id BAB5:* serial { \"tYtJ:_$~\" \"2]J?&WbY\" } with-interface d4:Cd:b7\nreject name equals { \"_<kN?<Dx\" \"D`G9=Vq}\" \"XclK8oq;\" \"e3Q79goF\" \":1PjA[`P\" \"US5f5`0=\" \"RniQsITX\" } with-interface { 91:*:* 82:77:* dE:B1:* bE:aD:* E2:b1:2C EC:8B:* } hash all-of { \"he'7d1MO\" \"p}1{z;y7\" \"$$4U+~Qc\" } id CFea:7abD serial all-of { \",93nW{0c\" \"TMyuuqvv\" }\nreject name \"E/u[m=}t\" hash { \"5FQr9ekN\" \"`JI.3iEs\" \"wq>Jye[U\" \"y5x#/sv4\" \" :/2Lz=P\" \"HzD8 ~:Y\" \"A[Tbwb,`\" }\nreject name \"/@jbkQD_\" serial \"w&''4D1I\" id 1d0a:9c3d with-interface one-of { cE:*:* 8a:02:41 A5:8c:cb 51:*:* Fc:*:* b6:0b:* } parent-hash all-of { \"n[BckQO.\" \"2w=0/ %E\" \"}&/+j_Qx\" \"C 5/4{}p\" \"7<8+Z.Nx\" }\nreject name \"+ k@2AK[\" hash \"p]XAeB4<\" serial { \"t`4i#?@j\" } id { d1E2:3f0c f9bb:eeF1 } with-interface 4F:24:C9 parent-hash { \"rmn2uS`B\" \"7!>X-#t \" \"Q/z0$}y!\" \"n5q-UQSV\" } via-port \"T]5}gqCr\"\nreject name { \"K:bJ~pZN\" \"7/WAM$7U\" \"5Y@mWwK{\" \"?;~[$&2T\" \"_<aHlsJK\" }\nreject name { \"mDKwmW//\" \"45R#5JD[\" \"d$p|zvX{\" \"-`S%'ct{\" \"GyZiRdlS\" \" C$Z|NJQ\" } hash { \"Y$;3!pjh\" \"3m13a4kA\" \"y,o:,A5+\" \"i78rd8;9\" \"CGC#Go|-\" } parent-hash { \"1Ovf8qB^\" \"o`iS<U~:\" } id 02bC:a5bE serial \"AY`0wiO;\" with-interface { DC:2B:* 95:d3:D2 ff:1b:* DE:*:* BA:A0:* EC:C3:BA 20:*:* a9:0B:* } via-port equals-ordered { \"quQGJ]4L\" \"ZR#A9yTC\" \"pP$v@eKw\" \"}q=sId.g\" }  if !true\nreject name { \"+N%hrpIY\" \"b7HFf?[L\" \"=tv'!|X?\" \"vmeq$2CN\" } serial one-of { \"[L~T._oy\" \" '<Ylz}:\" } id { a7ac:* E4Bf:* } with-interface AE:Ac:* via-port \"dMcFp:#5\" parent-hash \" 15OZfa=\" hash \"B;!92Tbb\"  if allowed-matches(name \" i$ludC \")\nreject name none-of { \"*3Rko:0i\" \"SyaTz;=B\" \"5do7Jf<M\" \"L^kq?wIT\" \"WfsEhx4d\" } serial equals { \"I|<GXkF_\" \"A?ZHV8L:\" \"C~%6Y5L]\" } with-interface C9:FB:ec hash \"+U.-dNL=\"\nreject name none-of { \"P<&=MG!>\" \"|2R`x9'L\" \"C}2lpXN*\" \"%t vMg^5\" \"-3,kbJn~\" \"YqeMJmK \" \"$utXt`4>\" \"`ItJ;%v-\" } id { 7A72:A624 aebb:* B5E0:f82b af1B:* fbbC:* 6fdc:* }\nreject name \"'*'ODy,m\"  if random\nreject name one-of { \"A_!ageD6\" \"#dnn!;1C\" }\nreject name one-of { \"*%jBcE^$\" \"UQ>z9d`d\" \"oDjo`d_8\" \"5.aan,I-\" \"P|2agjJ]\" \"qWsJ`{/c\" \";=6H[J8&\" }  if !localtime(2:00)\nreject name one-of { \"MjwwJ2[#\" \" U+&#=;C\" } parent-hash { \"y{RP$j$>\" \"!~rML4GS\" \"Ll@k**[G\" \"lCOO]z.'\" } serial \"h~=Iooa]\"  if localtime(1:00)\nreject name one-of { \"$nm%oD&`\" \"NHYqfUSX\" \"5fak#K,#\" \"Axm5~6Yd\" \"/+#>QCn!\" \"w.Wdv]d}\" } parent-hash { \"dv=6cauW\" \"&*zIIRMW\" \"]Cjp0TM@\" \"ufp8mYf4\" \"+b1B`Z6;\" } serial none-of { \",s`4!EqI\" \"UM>7kns9\" \"!8SWI.9^\" \"xV4z*>#5\" } hash \"<8K22oJJ\" with-interface Fd:6c:FA via-port { \"{Eya!^r}\" \":+R{W:4%\" \"%<znd=/w\" } id { dA24:* 35ea:864B Ef15:* 2c0f:5E8F b0BC:* }  if true\nreject name { \"/>*pPgWF\" \"OR48bQGf\" \"1<}L[-r*\" \"X8?ntxcn\" \"u@s}<65M\" \"jRRI*o&#\" } id all-of { eCE0:7baC 1EEd:aEBC } serial \"Y=NJg9wI\" parent-hash \"X:;ybhwQ\" hash \"|mal.Sx&\" via-port equals { \"$_si#$^F\" \"sUaA><F]\" \"-E:^8R+P\" \"A?<Cv-$M\" \"Egd-M03%\" \"PqE$3_6n\" }\nreject name \":P.S0r`8\" serial \"H,8J[p<?\" parent-hash \"t}WhP&c`\"\nreject name \"Qv^`a'Q<\" serial \"bB3bK_Xp\" id one-of { Cb5a:* 116b:* } parent-hash equals { \"mW fs-v \" } with-interface equals-ordered { bF:ee:* 8b:*:* CC:*:* 44:*:* } via-port \"5jZG:uDw\" hash \" >WLa3[z\"  if !false\nreject name \"rEsKUes`\"  if !true\nreject name \"u/VVdX-}\"\nreject name \"$:VLVUt1\" hash \"F2=1BmK#\" parent-hash equals-ordered { \"`0tMM5yI\" \"M82GhsG8\" } with-interface 9D:ae:8b id equals-ordered { EbAf:* 6438:* b7BF:* 817f:f85d } via-port none-of { \"*/!PBa&a\" \"&|BQ?*5x\" }  if random\nreject name \", W+>V+[\" serial \";TRd,dg5\"\nreject name { \"X5Rn6eh4\" \"GC8|#lQr\" } with-interface { Ad:9a:* } hash \"|G<EEF;3\" parent-hash { \"HAOC`m/f\" \"re4hb5uS\" } id 41a1:9347 serial equals { \"7NRvb&r>\" \"_PzgYs6*\" \"STeHy+<n\" }  if equals-ordered { true false !true false }\nreject name \"[y7.ER,v\" with-interface equals { 9C:EB:D2 eb:6B:* 8d:38:* CF:4B:* Dc:ec:* 2C:e1:12 } id equals { 708A:* } via-port one-of { \",Xk!6J3x\" \"Y&Gv']lk\" \"F9~]'uq!\" \" u3_sdG7\" \"A#p;wBV2\" } hash \"=!6kH~h3\"\nreject name { \"YU}GTX+s\" \"pZ`-U5.;\" \"bE>rkdJ!\" \"3Q+qNz5w\" \"w`aG'GI \" \"_-mIGw&.\" \"n0;W1OF;\" \"b^M,y&qH\" }\nreject parent-hash \"0r_<@7i9\" hash \"1CV'OF~j\" serial \"d:ED>o!~\"\nreject parent-hash \"2wNrRzr6\" serial \"!>#bDOH}\" id 1FEE:* via-port all-of { \"ShfwRw0q\" \"3GG#ehwQ\" \"B- :G'E.\" \"k_1]w1N^\" }  if rule-evaluated\nreject parent-hash \"_7ZLxB6G\" name \"7WCR'X3y\" hash equals { \"@!=xWS7;\" \"`@{plKR|\" \"TVmxF59U\" \"*G359Ie*\" \"?s>qMjR{\" \"W|}.YuFC\" \"fVHHkcVn\" }\nreject parent-hash \"8t_CM>e^\" with-interface fd:a3:7a serial { \"Y;g+x~Mv\" \"4ZR6l?%4\" \"Lm4HGQNF\" \"{K[@b]SI\" \"QZp[3dMc\" \"Vu:m32:,\" \"%<R6z`cX\" } id 1ecc:* hash \"j [Cp&KD\"\nreject parent-hash all-of { \"F0xvv?[t\" \"P=%m-N!t\" \"[c#6C!:D\" \"2>*z5}OX\" }\nreject parent-hash all-of { \"P7]c0nNX\" \"3_&^#yEJ\" } id f95f:50B3 name { \"!LhZc2*;\" \"}T6nb%,[\" } hash one-of { \"lT^&hCCJ\" \"xrQ|d<x0\" \"{g[W3T~z\" \"QqihqB$E\" \"~cGAjAeN\" } via-port one-of { \"PF#&m:4`\" \"f[wjDZva\" \",}r0!_PS\" \"@yU:`ukO\" }\nreject parent-hash \"alO:nfzn\" id afFF:cF41 via-port \"ot,!E q;\"  if allowed-matches(name \"OG0<m|c&\")\nreject parent-hash { \"aV m<2+m\" } via-port \"p1~&ppj7\"  if false\nreject parent-hash \"&bv`q?^I\" hash \"$/j6$?h~\"\nreject parent-hash \"CMtkHkSf\" name equals { \";]|it2ki\" \"A'8t0Q6f\" \"rs7GClNw\" \"6^~VJX`u\" \"gVqKG+Qs\" \"*a@uy_l/\" \"7+ RtqUe\" } serial \"c~qB8g9O\" with-interface fb:*:*\nreject parent-hash \"e9EyQfR.\" via-port \"4{,szJN%\" serial \">VvY1deR\" id EA9f:*\nreject parent-hash equals { \"=9b|uzS&\" } hash \"; G~.kY>\" id { 27EA:88a8 b64B:* 7cD2:* 1F8f:67a5 } via-port { \"PLh*QJxq\" \"Ie Lx3Bl\" \"pE}F,+&:\" \"M=7Ybu[}\" \"o/2j4D[1\" \"]Nxs]%/=\" \"Y4wX:AJG\" } name \"Kvvv/@aZ\" serial \"OTo[nEQG\"  if true\nreject parent-hash equals-ordered { \"bOV/%R Y\" \"A4e6 Aw-\" } id { e037:29cC fD17:9676 }  if localtime(1:00)\nreject parent-hash equals { \"oSq:n=w>\" \"f4r1=muK\" \"!K~XvSkO\" \"G^BHQRy \" \"Jg}IBh,g\" \"YLEJQAx5\" } serial \"3bLc{.ws\" with-interface ba:8A:3d hash \"+>YsE`n$\" name \"m>1hCH;*\" via-port \"Zu[~8Dp_\"  if !true\nreject parent-hash { \"GOz5^lET\" \"^ D;G9;o\" \"i^b_jYaK\" } id 2d0B:* name { \"AO#w:4+@\" \"XqQ-a>Tb\" \"16j||Q@f\" }  if !false\nreject parent-hash { \"H`HFW+Bq\" \"ld@SlY?7\" } name equals { \"&D9h-rx]\" \"I|w]WM!c\" \"D67/_fad\" \"ltD`@Z<Y\" \"^uZF^;?&\" } id equals { F0c9:F364 6792:* BB13:* 7082:7b5d d97c:* 7E1d:* cE7f:5AdD }  if rule-evaluated\nreject parent-hash \"i|hyc=9!\" serial one-of { \"?Kky`0&/\" \"`Yoj9L|m\" \"m$e&r19?\" \"kE7tH{}R\" }\nreject parent-hash \"_?~;}{<&\" name \"0om'h8J=\" serial \"7>_EPLEx\" id e776:b4de via-port \"X=Z$q9QL\" hash \"d'K6!i9k\" with-interface equals-ordered { B5:8a:* }\nreject parent-hash \"~N%%gcbm\" via-port \"sO3#EYB-\" serial all-of { \"@B#>.>i_\" \"I+=9jDe2\" } name \"QV,I&YBX\" id 8fD6:bB51  if random(0.4)\nreject parent-hash none-of { \"=Gi[ M/H\" } name { \"<=%@z<8V\" \"SQ|DTt3Q\" } serial none-of { \"L cRz#a;\" \"+m`@ 1mE\" \"J.x0CTY6\" \"|w+9T]cW\" \"0e%t27<~\" \"W1TH{=>d\" \"1AuYe@#T\" } id equals-ordered { bfAb:* a4Fc:DEDD 26b0:9B0B }  if none-of { true false !true false }\nreject parent-hash \"N|ZSy3;C\" with-interface { 2D:eB:aC 69:*:* Da:*:* e1:*:* 8A:6d:* 37:Ca:1f 58:D4:D1 a6:*:* } via-port \"$;E_qiz~\" name \"CCAi7r,%\"\nreject parent-hash one-of { \"J<$/a@lJ\" \"A2!r,IcW\" \"iyueSV0-\" \"P[MnB.!C\" } hash \"uUf0 z!k\" serial all-of { \"aA_A 7Y;\" \"1I*^KP'2\" \"1}yHe*@C\" \"v,Q|Du!v\" \"4|:$N$Pk\" \"Wj.W>4R,\" \"}Jm5-dyo\" } via-port none-of { \"iZt@2Hu4\" \"XD4RoDKv\" \"VC&?CMr_\" \"e]deW#?c\" \"pyrMs&Tj\" \"+Gr{LmeV\" \"=VO,.SD1\" } id all-of { CB9E:aa15 dAFd:* 3D0f:da06 8a84:a0AC 702E:0e84 }\nreject parent-hash \",OW@B=j+\" with-interface 6c:6C:e4 hash \"GWjH-J~~\" serial \"6T;9}=:3\" name { \"bS8ZZF$c\" } via-port \"QD_,gF5K\" id Ced9:80A9\nreject parent-hash { \"P3c+rNLA\" \"%R176MB/\" \"M8b${|e~\" \"[[,mRM.s\" \"k|=QPF8'\" \"[[t?Vs}N\" \"}iEf8Y`A\" \"ezL~@?TT\" } hash { \"*b@P!A,8\" \"42?I^aRJ\" }  if !false\nreject parent-hash \"Qt 6lmKA\" hash \"*<{Bo}+@\" serial \"O#BcnMLa\" with-interface 04:c8:*  if localtime(1:00)\nreject parent-hash \"?@sIZG]s\" serial \"9j$ed:J^\"  if all-of { true false !true false }\nreject parent-hash { \"s&wl/vew\" \"ti:p;+U<\" \"]+<_5~O*\" \"GCsP9^-a\" \"iN@5d]S2\" } hash one-of { \"[,PrhA<J\" } id 579e:* serial \"URI6k~#5\" with-interface AE:28:* name equals { \"A@=|2^KH\" \"N@^7<r-u\" \"Q$Xg'!uW\" \"J'^F .3M\" } via-port { \"d`NszK}y\" \"PIzp&HKA\" \"iM?TyMu6\" }\nreject parent-hash \">#Tfe>Kn\"\nreject parent-hash \"tU/{gC,%\" with-interface 50:*:* via-port \"ZwF!e#Vv\" hash all-of { \"w1uq;#&e\" \"{Go-91~N\" \"XgqIqSt<\" \"Ob2Ja#Pw\" \"mpt8^~YW\" \"2|w}^!I,\" \" WmzvZK3\" \"e''=/>,e\" }  if equals { true false !true false }\nreject parent-hash { \"XPQ&H?/i\" \"4$0A}vu@\" \"-*'+,D`L\" \"UXt:R^PY\" \"nBZE_w!j\" } name one-of { \"J{TnYcN$\" } serial none-of { \"R'B]U?N_\" } via-port all-of { \"j!m}'mlg\" \"@Q[199]*\" \".^&m|fFL\" \";k`UMvqo\" \"5|m.2>S%\" } with-interface bB:*:*  if !true\nreject parent-hash { \"xpt85li4\" \"5MbYU}#<\" \"fc'Lt|<t\" \"A[q.bB,l\" \"s,}Ch]7{\" \"S%T2?;1w\" \"%od:W|id\" }\nreject parent-hash \"~y;HBE0p\" with-interface one-of { 54:8e:* 7B:*:* 1d:*:* 2d:*:* 5a:98:* } hash { \",iunOjPv\" \"Vk6GN;LO\" \"$_ D/QR \" \"CAZifb32\" } via-port { \"^R[E,tG&\" \"RsE4r-ue\" } serial \"Jh'.g-.l\" name all-of { \"*mVA`Ibr\" \"01$zE>X:\" \"~#|7%brx\" \"9dubX5me\" \"7k|=2Udt\" }\nreject serial \"3*!TVEF.\" name { \"=1tabA0C\" \"7]GQXA+G\" \"GOU$@B>?\" \"&&UpmWWP\" \"*mwY!8T2\" \"!xV1|PH=\" \"uma={s<l\" } with-interface equals { 46:*:* 42:dA:* 7d:fb:fa } parent-hash \"c>!9I2S_\" id one-of { 4cBE:0AeA 8A63:4f7b 4204:1f52 CcB4:2bc0 56f3:* fa3b:65dA } via-port { \"H,EGcl=1\" \".}2_5+ru\" \"Mp7ZYx}'\" \"cD0{q*1O\" \"<Ayhu6sP\" \"<*O`N7=b\" } hash \"#DS>eaGU\"\nreject serial \"&4WC`L,g\" name { \"/u*lF3x+\" \"F'*6ZwZ~\" \"v`CLYgAq\" \"69}NC][]\" \">US,9#n_\" } parent-hash { \"aPaU$#JJ\" } with-interface { 1d:*:* 5F:3c:5b B6:d0:27 FF:eC:* C4:01:* CA:03:* 9e:d5:* f9:b4:* } hash { \"Dj!q$aWH\" \"_Z^*&PkM\" \"Q68'a-PF\" \"h2y&o5.R\" \"f%Q7uFmY\" } via-port { \">eqF'4zV\" } id none-of { 3C9f:* }  if none-of { true false !true false }\nreject serial { \"4wu05cpJ\" \"&_w*2  =\" \"XcoX}[6S\" \"?v$E?48'\" \"kt[C*+G?\" \"]*/IY62,\" }\nreject serial { \"7xIHQ&6k\" \"dkp95tZ>\" } name \"vxgJF1`8\" with-interface { Cd:*:* } parent-hash \"+K'Pc;v0\" via-port { \"$0=*6 1B\" \"a5GZ[]m!\" \"g?+vIX1T\" \"a3EEY'RX\" \",$Wd<{g'\" \"$fP.:VqR\" \"z/;VL0Oy\" \"S|5qpw|E\" }  if true\nreject serial \"7*z'Z'&G\" via-port { \"ab_6Y['}\" \"`8DE#Sni\" \"{eGE-8,o\" \"]umndJTy\" \"T_m!{eu~\" } hash \"dv01sV`4\" name equals-ordered { \"D=Kb&V8E\" \"3qbhv7:D\" \"qsKb3Q=v\" \"v3I,4_Bb\" } id all-of { 85C3:Af6c c0ac:B772 6CAB:* } with-interface all-of { 20:*:* Dd:02:fF A1:ec:Fc d3:43:2d }\nreject serial \"8NBn[Z5X\" via-port \"A[mPm{T?\" with-interface { df:*:* 8E:46:* } hash \"XaG2$9dw\" name \"O-~qONma\"  if !false\nreject serial \"}9X:0,AO\" hash equals { \"?Rkyb7Gj\" \"`rdVxIPH\" \"!psLZYri\" \",O'Dt]A2\" \"{x13ogap\" } name none-of { \"z.K9x_5t\" }\nreject serial all-of { \"6wUEMpXb\" \"jg]qSe*C\" }\nreject serial equals { \"8q*wl_7;\" \"#?Cz25l>\" \",xX2#<Ue\" \"+8H7v/hV\" } via-port \"C7+>>^7|\" name \"C!&FSf[[\" id one-of { 21E2:* 49fF:5365 ff8B:3B40 bF63:c127 F4b2:* } hash { \"h.JdhBxY\" \"@Ao/K1WI\" \"0ZeybeL+\" \"`C6:E>k^\" } parent-hash \"~lhRb8yO\"\nreject serial equals-ordered { \"QyXLGQ[F\" \"G,5>pfG7\" \"-abZ?fQ&\" \"d5]{bX|!\" } via-port one-of { \".SZx$,lo\" \"9ULx%gd/\" } with-interface 39:*:* hash \"e<CE#oK0\" parent-hash \"]3G.`F<p\"\nreject serial equals { \"v:G}Hf<@\" \">^1EyKo-\" } hash none-of { \"!>U%:4vW\" \"OrTvY# #\" \"-siS+*AY\" \"PHUKiMtB\" \"tQ~pe{8}\" \"W|*vBwhf\" \"TJP?D9LH\" } name equals { \"Q%xmbV44\" \"nD%v>O`&\" \"BM$RWJtk\" \"d?K~f'GX\" \"jiA6lJ&Y\" }  if !true\nreject serial equals { \"YBM#3e+Y\" \"LW&++&`]\" \"6S0iF7d}\" \"Bn+QD_p>\" \"8GrJ'TDw\" } id { dcb6:9e73 dEca:9a81 fbEe:* 3F7c:89fD eE3F:93b7 } parent-hash all-of { \"qM^t^MMI\" }  if localtime(1:00)\nreject serial equals { \"zYPQUS,t\" \",8s@iV[+\" \"zv=|Ibee\" \"]wy @V@>\" \"ABe5y;Ne\" } hash \"&2S4+h7x\" name \"zg'o? l`\" with-interface none-of { 11:*:* De:63:* bF:2C:88 bE:*:* e0:16:E6 67:F0:eC } parent-hash { \"mLui`B66\" }\nreject serial { \"gXw/X>[Y\" \"j9NZiw 8\" \"bUuO>jOj\" \"%iY-U`j.\" \"9:MoaC@T\" \"yM;^e&8e\" \"cB31QIrY\" \"B8@K<U8>\" } hash equals { \"9KbK7 n9\" \"7^Y}y[zC\" \"$~b2VKV6\" \"p5?:2;6^\" \"-E%Y/xS<\" \"gn& OydI\" } id 0218:5aD0 with-interface equals-ordered { A1:FC:A7 b2:*:* } parent-hash { \"{0d /DeV\" \"^M0h8rW+\" } via-port \"4|l<l^aE\"\nreject serial \"Hc2zFcLW\" hash \"5e&x$8gH\" parent-hash \"Dh=LH+2>\" id Cc6C:* name \";F<wf_bA\" via-port { \"T|ZYH4mz\" \"`y9@&s!6\" \"}_`BU+Ju\" \"tgsyoE!i\" \"t[Cp: UM\" \"-RX`~TXV\" \"Qqb[N<2c\" } with-interface equals { 0A:*:* fF:f4:eE 6B:80:c2 }\nreject serial { \"I+3]bGBH\" }  if !localtime(2:00)\nreject serial \"j1d3<11B\" name equals { \"`DO.#SS4\" } via-port equals { \"U#G%Nu;8\" \"UpgH;2tB\" \"iNO5LHo3\" \"=MVhB=t'\" } with-interface c2:*:* hash \"'~Rkuiil\"\nreject serial \"/kFwqVu'\" parent-hash \"V]97f?zJ\"  if localtime(1:00)\nreject serial \"LUKS.m|9\" name none-of { \"2eYwBZd+\" \"n`t*_T s\" \"z[iHnr`6\" \"h/m.LQ-O\" \"+y_0zfi3\" } via-port { \"?BfF8qVb\" } id 5A6f:62Fa hash none-of { \"7fYhtjR/\" \"R~ecBwHy\" \"5p:LnN'#\" \"u7!,-0i3\" }\nreject serial \"n-MlFhMR\"\nreject serial none-of { \"%c{u/lS{\" \"3N.@fuBq\" \"G1%s`BZ-\" \"KoN=!*!O\" \";hceFrgl\" \"*N{Z1l+K\" \"`iWiE}iu\" } parent-hash { \"j}gDF c>\" \"u&YS8Kp{\" \"eiqI#P{}\" \"ckmD~,eL\" \"b@BoOd16\" \"w`xS]Shd\" } name { \"]$6n&V}'\" \"e0ZX%H%n\" \"?w.GsXnD\" \"+@'hG y]\" } via-port { \"ooyc-XxV\" \"Ijg& $qk\" \"4yy K%Dd\" } id d6Ed:E850  if !false\nreject serial \"NU/;XmN<\" hash \"kcA,v-`r\" name \"L?Mjqz5*\"  if true\nreject serial one-of { \"q%A%e6}A\" \"8j1jmnsY\" \"h_']MvKa\" \"Bj:D]^Z \" } with-interface equals-ordered { b7:d2:dF } hash \"Xte%iyb3\" id one-of { bB8e:* d6cE:* a3B1:4aeB e3Dc:caBe A40D:* c828:* }  if rule-evaluated\nreject serial \"qm4,tfTk\" name equals { \"{cidNdy#\" \"^{W:5f$j\" \"zDs<v|Y[\" } parent-hash { \"yb5oE^YK\" \"8@e4x^w@\" \"yzP'[yT*\" \" O5W3A`q\" \"qt'8#X<O\" } hash \"f3Ag8n04\"  if false\nreject serial \"R70?]v,7\" parent-hash \"K~^@ftRv\" with-interface equals-ordered { 8A:7f:c0 b9:*:* Bf:Fc:* 2f:*:* }\nreject serial { \"rwE=g-6~\" \"h&ISenjx\" \"'F:AUEpM\" \"AnM?Pk?q\" \"w]/.-QRT\" } name \"!{],-B1V\" via-port { \"A=+;Z~xq\" \"N+1!e :D\" \"wbT2E]?[\" } parent-hash \"6R`/r p!\" id 33b7:* hash equals { \"+l~;*vjV\" \"Qbx;K>d@\" \"<y1'`AfH\" \"^:?T=oA0\" \"kdk28:hJ\" \"o7f1u[gg\" \"23g{sOhy\" } with-interface ef:Cc:*  if localtime(1:00)\nreject serial \" s3bgW<}\" hash { \"[<]a|}bH\" } id { 3bbE:* D4d7:* Cf03:eD94 2F9A:Bcdf C8bD:Ca42 F9f2:* a1AA:9118 } with-interface { b5:44:* } parent-hash \".Zs@ ;p@\" via-port { \"?a6MF}ZY\" \"cZy'Xf%E\" \"|mAoD!8O\" \"O!U|**-i\" \"Z%TQe+if\" }\nreject serial \"S</`S~G*\" id { f3DD:Ad62 A9ef:D5E7 7474:* 4FaD:0bd4 3426:* } hash \"LW1wqk1f\" via-port \"d`l;PLB{\" name \"5>s#qz,9\" parent-hash \"qix@~0oi\"\nreject serial \"T7,F{/K/\" name { \"$V.[Az2C\" \":2#a14H5\" } hash { \"f` >1Q/t\" \"+KS4`]@k\" \"[Q0VLrbo\" \"=GiN1}@N\" \"}-ZQIC8W\" \"q4xXjc$T\" \"}L_Lm_v6\" \"p=ETrlQ6\" } via-port none-of { \"&2k,G}2d\" \"I].&A+rN\" } id 6AA2:* parent-hash { \"OYDuGi8^\" } with-interface 50:*:*  if true\nreject serial \"'Te}9S.5\"  if localtime(1:00)\nreject serial { \"ULk+s2#t\" \">H*AHgXC\" \"J]?wS*F_\" \"D`vhu%Uh\" } parent-hash { \"9KJ8-A*r\" \"01,=@zx^\" \"R$_Y}'e3\" \"{*^-a7hv\" \"xV,g2RF2\" \"830f-Hdp\" } hash \"mJSqiT#;\"  if !localtime(2:00)\nreject serial \"UTk+Sla]\" id DDF9:* via-port one-of { \"M; ^=6Yc\" \" S|~g'1|\" \"0AKvgTcS\" \"fMzh8C#`\" \"uulT'}rx\" \"&Er<C`}.\" \"rgyc`-u;\" \"L<W<X~_j\" } with-interface eF:a5:*\nreject serial \"xb|F&&tY\" parent-hash { \"&Fl{L%hU\" } name equals { \"!Abfu2~n\" \"-IU'pZLc\" \"Zz26M~eA\" } with-interface { e5:*:* 6A:59:* dd:cc:* 4b:66:65 dA:29:a9 D2:3A:* }  if rule-applied\nreject serial { \"Y-uQ<MR-\" \"E+Oeg4_'\" \"at^!*CHj\" \"GRNzm |&\" } with-interface all-of { C0:*:* 03:0a:* b2:*:* 12:1B:8f 8F:8F:be B5:52:6B b4:*:* 54:6A:* } name equals { \":Q,{[E^A\" \"5w'nXTUP\" \"mlB9+1*H\" \"X*gO 6mZ\" \"=y!FUJpe\" \"p=tELt&i\" } via-port { \"/}r`ZlEh\" \"gWK6JYHq\" \"b :v:vD,\" \"FtR8EBpA\" } hash \"b}y3=^s-\"  if false\nreject via-port \"+0QZsuGA\" hash one-of { \"VovT d+N\" \"VbR^RoO>\" \"n:w/i.N8\" } name \"|NzS@zhj\" id aE53:91ca serial { \"u4qBeA%N\" \"@}WuVN-E\" \"=8w.|e?g\" \"$];{w#1d\" \"&m:dk0OJ\" \"{[=b}%2h\" }\nreject via-port \"&6;Lp3Jr\" hash { \"19ue7ppW\" \"jPm_E9u[\" \"XHXbAQfh\" } id 74Af:* name \"#w%^nM29\" serial \"GGc-*I#H\"  if !false\nreject via-port \"?7c*ChM~\" hash { \"#mcn/L%|\" \"#+R}c0_2\" \"BDDM6n|;\" \"@^|+S T1\" \"wF4#0qg/\" \"3]m?w!@4\" }  if false\nreject via-port all-of { \"K0VqF+Gb\" \"3pC` uiR\" \"J9oQv@xj\" \"@a~]k`Bs\" \"L4p=hK,W\" \"v<^_@9pj\" \"0Qf!kw>O\" \"XL,e|w29\" } serial \"c@Mv@072\" name equals { \"QtCJ@G1X\" \"v%Zz];Nk\" \"OgDAzb;f\" \"QCD20FZf\" \"3Kc$hF`v\" \"V5eASmy`\" \"7[@?=n'1\" \"`8pM6g=2\" } parent-hash \"Y<./hNbL\" hash { \"0oAp/FC,\" \"^B {c<9S\" \"QCZmbegC\" \"6V4Yqg;p\" } id 29F2:* with-interface BC:*:*  if random\nreject via-port all-of { \"$xiRRuA0\" \"ucED~8D~\" \"5!3@6d/;\" \"A1G?#D%x\" \"_><84;Od\" \"L~|hS{ie\" \"Sbr{v=!h\" } name { \"PQ+BpVq3\" \"U+EGir[X\" \"tQqCvPJZ\" \"-@Wl6^2t\" \"e#EQ;%;V\" \"{6:06@~?\" } serial \"&IRo@|4y\" id 73fA:* with-interface fC:02:Ba\nreject via-port \"bD8Rd4h3\" id FbB6:CFC2 with-interface { Df:F2:* c1:ca:* C9:dd:* F0:*:* aE:D8:* 3f:F2:cc } name { \"BD]@?>Pe\" \"y06|$chx\" \"j5bwMTxB\" \"QxyDi6}7\" \"XOhlCYXh\" }\nreject via-port \"bGnHdw]w\" hash \"k$'d~z6n\"\nreject via-port equals-ordered { \"&=xQv@>T\" } name \"G:OIHDL%\"\nreject via-port equals { \"RcN0%qdv\" \"wL/s -2j\" \"m|pNyWw/\" } serial \" UhO;hcr\" name \"'a}h{Bq|\" parent-hash one-of { \"UMR~^Q%8\" \"{43&ERq@\" \"_v>]YJ>^\" \"RL$N9DPe\" \"ln;dlnX \" \"L~<]0Pt$\" \"5[d_kiJ0\" \"N8^t'%$J\" } hash all-of { \"y]8T!ZjI\" \"v/_QaO9g\" \"BmEU$o6g\" \"8luhi=k{\" }  if !true\nreject via-port { \"%G]q99,m\" \"pS QkiA/\" \"Pw#,[*Jl\" \"t]/CPH.7\" } hash { \"K@Xx7_.6\" }  if !false\nreject via-port \"HXN<Xzc%\" id none-of { 7aad:8fC8 c6Cd:* dAa6:* D749:* } parent-hash { \"C+ShbDaj\" \"krvU6N*I\" \"Gk>Ge!~r\" } name { \"X[O61%i*\" \"}m?t*CL,\" } serial \"&pwE EB3\" hash \"&VndDS!C\"\nreject via-port { \":i0cIL'M\" \"*@I 6*m~\" \"yzmdhl,~\" \"~b!M|JFN\" \"l}k>O#<9\" \"Ir,692JX\" } id all-of { 82C4:* } with-interface 12:2a:* parent-hash one-of { \"rX_x8`=H\" } name { \"7WWdHd@.\" \"*+BkA*_G\" \"[Qjw3%ke\" \"RBF;Ct9y\" } hash \"}Jss8/:[\"  if false\nreject via-port \"I;9@<u,u\" name \"i umMG;i\"  if false\nreject via-port { \"kmFWg+@l\" \"ixb^9#!V\" } id BDeA:*\nreject via-port \"K~'}NO?2\" hash one-of { \"42g7Uio%\" \"0*,+[=.>\" \"RI=H7cEL\" }\nreject via-port { \"Kz#>Y7h&\" \"1H;f+x0J\" \"9yfE/aP?\" \"SVO/1vE'\" \"Dp>`bvY^\" \"HdZ=b8AR\" } with-interface { df:59:* cb:C6:* fd:*:* bd:ee:15 F2:1b:77 5a:Ab:* d1:DD:69 00:dF:* } id equals { 9F95:979d } serial { \"W,#1v9^L\" \"dK=I5w2~\" \"Xh51tX#Z\" \"W|SO^7p+\" \"q/$9M`&3\" \"L0egqhkc\" \"Q;ZhaO L\" \"1VT@_3+-\" } name equals { \"sLC_IeZ0\" \"uyDl3!'%\" \"Sj@8b~$X\" \"EXW*!-Kd\" \"_u8tM{0<\" } parent-hash \"W]_P!+7-\" hash { \"@2[K+BQL\" \" @/-L'=@\" \"A61T0=U4\" \"=_lLts/{\" \"XNSHKWn'\" \"|a{tACCh\" }\nreject via-port { \"lGGya;4 \" \"&O}+H*?3\" \"<Bod7=Aw\" \"J|77&Xbh\" \"@Y*S3@MT\" } hash \"'~,<F' D\"  if !localtime(2:00)\nreject via-port \"mH:qV_{u\" id equals-ordered { 67A0:6eeC 7eBa:78D2 } name { \"J1B&$l!e\" \"EpL@dE G\" \"SXPZW8_{\" }  if random(0.4)\nreject via-port \"M>;zFFN-\" hash \"N{:t^rC~\" id { bE28:* A1aa:* Cbc1:6130 5EB9:* }\nreject via-port none-of { \"5Z|q{oD \" \"TIp&-R+I\" \"*j0:mqm{\" \"n[PSiWbK\" \"mh=#eyiR\" \"+rg&18WP\" \"}!oMK,tm\" } hash \"Yt]2`N1~\" parent-hash \"atg,JQY-\" serial \"uBEk@%#+\" name \"O*9.A-AW\" with-interface equals { fC:D4:* 75:ee:05 93:*:* Ca:AA:BF 55:F8:7f 89:B3:* C4:0E:* }\nreject via-port none-of { \"6$%l,XTW\" \"=9|vn?v<\" \"|G|z!gN,\" } hash { \"PU$$Ze3@\" \"C!:Bp,Vy\" \"''@1lTHi\" \"1fdP-c<6\" } id equals-ordered { 67b6:* aCfA:* edD3:* eB7c:f594 E08c:* 9B0F:* 667F:Fe05 } parent-hash { \"bcLD0MZC\" \"wI><Kd~a\" }\nreject via-port none-of { \"s`@KyHl]\" } parent-hash one-of { \"yLZuiB[p\" \"Rt/&>f;$\" \"eEZGDHwf\" \"4Q3sUS++\" \"wY,SpD,k\" \"Z}-o#?8r\" \"L0k}},Q`\" } serial equals { \"WeyWk$wd\" \"k3qK9#tf\" \"f.PzwCh1\" } name none-of { \"6/R~QS1A\" \"TC3J&| g\" \"BAXF!1H:\" \"ETwE?L4K\" \"a,XQ@mS5\" \"*M40BIUR\" \"]EU19Gp6\" } with-interface equals-ordered { f0:6d:* EC:56:bC fF:90:* Bf:80:* 1F:e5:bb ce:*:* b7:72:* }  if !false\nreject via-port \"[nV2,'_]\" name equals { \"Giz|X=bX\" \"N`*<rALN\" \"[ELD`4=|\" \"I>1%<6c>\" \"4_Eo@!%4\" } parent-hash one-of { \"jx>bd$fq\" \"v'Mgl~j#\" }\nreject via-port { \"<P4^<rVp\" \"x{`QZ'3=\" \"JYez,.vg\" \"D[MqEBdB\" } id { c067:* CAcF:* bD4D:* } hash one-of { \"R0sM>Xb,\" \"A4v9y81 \" \"kL!93cbP\" \"ZEft4UJ>\" }\nreject via-port \"^q- .QhX\" with-interface 9c:d3:52 name \">HR2>{#>\" id { 524D:E4DA 9235:* 342d:* dFf8:dC1C b0a5:a3F6 52c2:* bDB6:* } parent-hash \"VCxji7#0\" serial \".-O35PI~\" hash { \"H/:8rNSr\" \"b=J@*vm%\" }\nreject via-port \"Q$<Z/y'b\" with-interface Ee:0F:5F hash none-of { \"m0y`r[TL\" \"$QW0?$S6\" \"~d80Zd&-\" \"qqlo-&g \" \"9M04&V7c\" \"+?/6=X2~\" \"hM$nAm~u\" }\nreject via-port \"*rGYLrLZ\" hash { \"*h',K.JJ\" \"@.F|?R`Q\" \"%KkaM=mE\" \"rl^RG>q*\" } name \"fRz5|x=$\"\nreject via-port \"vh <n!D|\" parent-hash \"`_F]ubWV\" with-interface { 2d:*:* 41:Ab:66 } name \"=7IEI5va\"  if rule-evaluated\nreject via-port \"Y5o'}s:5\" hash equals-ordered { \"gi/t*Kxb\" \"OcapxAUG\" \":QV# XD2\" \">BXA=^`7\" \"ps4dan9w\" \"dH>d%U9K\" } parent-hash none-of { \"tJqRQ3bn\" \"dlw=m3u|\" \"n6$r?u]e\" \"bV9Q?EH]\" \"<QmrsRA1\" } with-interface B0:*:* id equals { 0dEE:* FeCf:* 9EFF:01Cd EB8a:* } serial { \"oB% #PFx\" \"k;BfYTGN\" \";<Fz2a,S\" \"]]nRF`|^\" \"oNOqtn0|\" \"c_ZAfI'a\" }\nreject via-port \"zGr$7%9R\" with-interface 3b:c3:Cd id eBDe:C0ab hash \"n,/lD&~w\" parent-hash \"D@g2SQR4\" name \"Qy!TP4,l\"  if true\nreject with-interface 0f:08:* serial none-of { \"_6yKoT6k\" \":djGj@ ,\" \"E[*QW3gY\" \"9yK[vUM$\" \"Jw!?&5gy\" \"rJzD`k N\" } name \"UucTj@lz\" hash \"H+SA7MnI\" parent-hash { \"PhFk%]k_\" \"9]?g;o0/\" \"{ 2roz3o\" \"2Y.~>>FA\" \"s6+S2%l5\" \"E3pv/;BY\" } via-port \"*5:v~5i9\" id one-of { 2C15:8aca E1d0:* 8e8f:eBAf }  if false\nreject with-interface 11:*:* via-port \"F>dN9k8u\" id dd04:* serial equals-ordered { \"8ceTmi`L\" \"U@?w]Bp&\" } name equals { \">,7DlJUZ\" \"xg:B;try\" \"QnHe$K>[\" \"tq@1&:ZQ\" \"2bd6T5$R\" \"$hPfMM]-\" } hash all-of { \"bc&kA?os\" \"|ZYtEw{u\" } parent-hash one-of { \"2U=YXA{:\" \"c:Tm_#2S\" \"}z!w'1B/\" \"4ul%Cwk-\" \"O3>fc]{}\" \"v[m1e-Jh\" \" $|!r<:0\" }\nreject with-interface 26:9E:*\nreject with-interface { 2a:08:04 f3:Da:* 75:*:* a5:99:Eb BF:62:5D } parent-hash \"J-Okz#D8\" name \"[hEk%Lx@\" serial { \"&4Q_y:/T\" \"*4!n.F}n\" \"7he9Ds7-\" \"X-Q.5$Ex\" \"3G@Y~qU?\" \"MnB<Dk5k\" \"-+A=Y5`'\" } id { 6A0d:* 7153:* c7c3:EED9 dc90:Abc5 2Df1:* CAEF:* 59bb:* F8Bc:* } via-port { \"ycGG04oE\" \"?Eg0`HD4\" \"PJ0xG_&M\" \"UxFip0,[\" } hash \"w!wiVdc_\"\nreject with-interface { 2B:Ad:Fb E3:F2:F7 2A:d9:cb } hash equals { \"YEWE-%F7\" \"p'6[cc'A\" \"iSm]v{E2\" }  if equals-ordered { true false !true false }\nreject with-interface { 2d:*:* F4:Ae:* 14:Be:* 6b:b2:* C7:7A:BE a1:*:* 5C:*:* 4A:Ab:* } parent-hash \"$zS4_-}A\" via-port \"Dwz_Ejsc\" id A73F:* hash none-of { \"!u%H4f?U\" \"C_TxV.e;\" \"F@7e^l^2\" \"NZx]12|{\" \"mX&`-PzK\" \"|g7WA]kP\" } serial equals { \":_lROWFf\" \"B6}R@o5_\" \"0p'Jm,^v\" \"m{lUFzG$\" \"0^qI?U-Y\" \"[T*I={pz\" \"IHNP!,Z*\" \"? :~n$~d\" } name \"{xy#j_IF\"\nreject with-interface 2e:7E:* parent-hash \"?Ug71aN5\" id { f821:* AB51:* dEb0:* df6d:* 12Ff:dB7E } via-port \"zMnMpiC|\" serial \"W3YF}1X[\" name { \"xJ46KKU[\" } hash { \"f0T:H'*Q\" \"W7:Nx;GW\" \"Id4u`9yy\" \"n+=@Q`_R\" \"hFpUeBqS\" \"KbeX#dkH\" \":kmWSb|_\" }\nreject with-interface 3e:*:* name \"Zea/i21@\"\nreject with-interface 5d:8D:ed id 2865:* hash \"f;n0$3>e\" serial \".qUztFD?\"\nreject with-interface 5d:*:* via-port \"~E5V%!;e\"  if rule-applied\nreject with-interface { 61:*:* 05:*:* } hash equals-ordered { \"pqA>L{h/\" \"waG&}3`T\" \"y?>'tXXX\" \".8 R}D4V\" } parent-hash one-of { \"zse-_#V7\" \"@J5SFAYW\" \"LD$|4E h\" \"xO :4mfF\" \"9O7SIM@'\" } id { 9ACC:* 5A63:* } via-port all-of { \"V7U8B7{>\" \"wVJhb+ w\" } name { \"cGx&|$|E\" \"fn?$,61e\" } serial \"U|~BC`7z\"\nreject with-interface { a1:*:* 03:3E:* d5:4C:* A0:1A:dD } id D0FF:E036 hash \",ILd,|,2\" parent-hash \"IdwSC*:W\" via-port equals { \"EQz-_|Vs\" } serial { \",$m4~]*8\" \"LQ,IDL~3\" \"H/=1CmFZ\" \"DGnkBUU1\" \"@}mYr2O#\" } name \"Cyd!Va`b\"  if rule-evaluated\nreject with-interface aB:eF:c3 name \"-w,Mcb$^\" serial none-of { \"X@%WOcGi\" \"UOz'%$kH\" \"4&4R.P`N\" \"N:Eq gX&\" \"O$^a$L<K\" } via-port \"u:_dJsq*\" id bfDd:B4cf parent-hash { \"0|vI@`Bw\" \" U^+<?js\" \"RPw;mlYq\" \">eWOnXgR\" } hash \"0URbo;UI\"  if false\nreject with-interface c0:*:* id { 20Bc:* ddD2:0221 b26F:8AcF 5E66:* aEa2:FEe2 } serial { \"`xT6]S2'\" \"f$v;>cT8\" \"fPhC>4vl\" \"a.Me#7j^\" } via-port \"UUj@H.3r\" hash { \" ?n6!6k/\" \"Z>{_S%GH\" } parent-hash \"*CKflJ>`\" name none-of { \"^$~7=7Lw\" }\nreject with-interface CA:FF:*\nreject with-interface cC:e7:BE hash \"qRY/7Nrk\" id equals-ordered { BcdA:2171 898c:735D c70A:6aC8 aC5A:* } name { \"UmIo`9:u\" \"PqvByT+l\" \"Q~s-+B6&\" \"|QY3b4ba\" \",w&!Pk&-\" } parent-hash \"m&yOwhm+\" serial all-of { \"!7+ql}$F\" \"aU>u uoT\" \"dW9fQg&<\" \"!sZ.wN0L\" \",bxT.~h<\" \"8I~,f q=\" \"iZ2^XbSk\" }\nreject with-interface { CD:fE:* d5:6f:* } id { bCbF:* c04C:* DF52:Feeb Ec12:45De } serial equals-ordered { \"U$@AJ5T^\" \"]CEwaZm1\" \"_#>'L8@3\" } hash one-of { \"obCl_1h*\" \"e|~iGd5I\" \"UkIf]O<@\" \"Uc;vK3W&\" \"XkVv'Kx!\" \"M'9Xp:kk\" } parent-hash { \"PmRYV5yf\" \"b1ae]ZLS\" \"<*#65Evo\" \"TJr#Z@&q\" \"K*uZHI,E\" \"^^6pBx3+\" \"cB~uUU>~\" \"L^U4+mV8\" }\nreject with-interface { cE:6E:4D 8D:27:* 48:a5:* 4A:22:18 } hash \"QO*BIH-E\" via-port \"YO[Rxo1n\"\nreject with-interface d6:75:* serial \"K6qOwgW0\" name one-of { \"nqK$62cR\" }\nreject with-interface d6:*:* id 4320:* name \"+@r<OM@Q\" serial { \"^JP&fo_u\" \"-zCV+S.;\" \"oFk}t?l!\" } parent-hash \"BC. Kc_p\"  if rule-applied\nreject with-interface E4:5B:Ff hash { \"9oG=A[Q,\" \"R`C6?co5\" \"k.'MgnZy\" \"@K'BYFZ;\" \"Y -_w7dt\" \"MBp.4CF`\" \"Xb6!V$/y\" }  if all-of { true false !true false }\nreject with-interface equals { 15:C8:c7 Ad:05:2c Ad:f8:fF 48:*:* Ce:*:* E0:aa:* dC:Ab:02 }  if localtime(1:00)\nreject with-interface equals { 6F:dD:1b 83:dB:96 b4:*:* } parent-hash equals { \"P!~b0^[p\" } serial \"S@YZ]&1G\" name { \"2AvVA^%@\" \"9hT${,cu\" \"e!8}+mVP\" \"h$9I@lO_\" \"Ic$Ix#b;\" \"!ylft&=V\" } hash { \"s51WD}A4\" \"32Ods&Hw\" \":>SM,?:,\" \"rwM*Ex|j\" } id one-of { 028c:7202 B82E:* }  if rule-evaluated\nreject with-interface equals { E6:4c:* 4F:8F:24 A8:c1:C8 5e:eB:Fb ED:*:* A1:3d:* fA:*:* } hash \"rJjT-`yo\" id 26a5:0e6F\nreject with-interface none-of { C8:3C:* 4b:*:* 5c:2e:4c 7f:*:* BA:F7:* d3:4D:cb } parent-hash none-of { \":m_H'h`:\" } id all-of { ADc6:* 332d:* } via-port equals-ordered { \"vHE?ZN;x\" \"Ga:kiC`N\" \"PlOjBwj0\" } name \"GQu<K$g:\"  if !true\nreject with-interface one-of { e5:*:* 2A:*:* AC:c7:* 4B:*:* f2:*:* }  if equals-ordered { true false !true false }\nreject with-connect-type \"hotplug\"  if rule-evaluated\nreject with-connect-type { \"hardwired\" \"unknown\" } id 38D7:C5a3 name \"otYR$=X2\" with-interface { Fb:bc:b8 Be:*:* DD:*:* Ac:*:* 11:49:* 00:*:* 9d:*:* }\nreject with-connect-type \"hardwired\"\nreject with-connect-type \"hotplug\" id AfA2:9aAA parent-hash \"Jc{r^WNm\"  if rule-applied\nreject with-connect-type { \"hardwired\" \"hotplug\" \"unknown\" } via-port equals-ordered { \"]/EQL?a2\" \"Imk7@r=E\" \":,a-OO{l\" \"JW/|jwu3\" \"WDNq;;7?\" \"WJ;x@6@6\" } parent-hash \"i&mhTu/!\"  if !localtime(2:00)\nreject with-connect-type \"hardwired\" with-interface { 0C:08:97 Aa:e0:* } via-port { \"MU;,4G[h\" \"]v$$XKFh\" \";,MZT'Dh\" \"g00{lD%j\" \"wRUZ*``0\" \"8#!J{gQ@\" \"`Z?3p92&\" } hash \"KYHTnNgP\" id one-of { C60C:* d2EE:aDe8 ead7:214B 75Bc:59a6 3129:* AE7E:d25d ee2e:* A21D:* } name \"n0CKUNor\"\nreject with-connect-type { \"hardwired\" } with-interface { 14:E1:ee a9:ef:1e } name \"$T[<!1Op\" via-port \"h?/.,fRv\" hash one-of { \"dx1ciKB/\" \"^v%3PS_<\" \"jOTYF-_x\" \"8JQe^A{]\" \"0J=;i6Cy\" \"aRr7J7Eh\" }  if !true\nreject with-connect-type one-of { \"hotplug\" \"hardwired\" } parent-hash \"~5dLGqYl\" serial \"ti'eurG]\"  if false\nreject with-connect-type equals { \"unknown\" \"hotplug\" } parent-hash { \"W`G.6Y:v\" \"l',6M , \" \".!/r5}Dz\" \"9HOHPNuk\" \"k}{N*X%m\" \"gsr?KNZ8\" \"OypL42xt\" } serial { \"dTNG+F-L\" \"cqomCC/r\" \"oI7P_=D2\" \"z~:y^Sgb\" } id { 0397:4c5d 0f9d:* } name \"{?N|IzD,\" hash { \"$$e]1W6`\" }\nreject with-connect-type none-of { \"unknown\" \"hotplug\" \"not used\" } via-port \".sZAu,K#\" parent-hash \"lR-:Z~S*\"\n#\n# this is a comment\nreject with-interface one-of { e6:*:* } # comment about this rule\n # reject with-interface one-of { e6:*:* }\n"
  },
  {
    "path": "src/Tests/Rules/test-rules.sh",
    "content": "#!/bin/sh\n#\n# Copyright (C) 2016 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Daniel Kopecek <dkopecek@redhat.com>\n#\n# Usage: test-rules.sh [<parser-binary-path>] [<test-data-dir>]\n#\n\nPARSER=${1:-\"$builddir/usbguard-rule-parser\"}\nDATADIR=${2:-\"$srcdir/src/Tests/Rules/\"}\n\nRETVAL=0\nIFS=' \t\n' # Explicit default IFS (SP HT LN)\n\necho\necho \"Parsing GOOD rules:\"\necho \"###################\"\necho\nwhile read -r rule; do\n  if ! $PARSER \"$rule\"; then\n    echo \"=============\"\n    echo \"FAILED: $rule\"\n    echo \"^^^^^^^^^^^^^\"\n    RETVAL=1\n  fi\ndone <\"$DATADIR/test-rules.good\"\n\necho\necho \"Parsing BAD rules:\"\necho \"##################\"\necho\nwhile read -r rule; do\n  if $PARSER \"$rule\"; then\n    echo \"=============\"\n    echo \"FAILED: $rule\"\n    echo \"^^^^^^^^^^^^^\"\n    RETVAL=1\n  fi\ndone <\"$DATADIR/test-rules.bad\"\n\necho\necho \"Parsing rules file:\"\necho \"###################\"\necho\n$PARSER -f \"$DATADIR/test-rules.file\" | (\n  file_rules=0\n  while read -r type rule; do\n    if [ \"$type\" = OUTPUT: ] && [ -n \"$rule\" ]; then\n      echo \"FOUND: $rule\"\n      file_rules=$((file_rules + 1))\n    fi\n  done\n\n  if [ \"$file_rules\" -eq 0 ]; then\n    echo \"======================\"\n    echo \"FAILED: no rules found\"\n    echo \"^^^^^^^^^^^^^^^^^^^^^^\"\n    exit 1\n  fi\n) || RETVAL=1\n\nexit $RETVAL\n"
  },
  {
    "path": "src/Tests/Source/CheckScripts/code-style.sh",
    "content": "#!/bin/bash\n#\n# check-path-include: *.cpp\n# check-path-include: *.hpp\n# check-path-include: *.c\n# check-path-include: *.h\n#\nset -e -o pipefail\n\nSOURCE_FILEPATH=\"${1:?needs one filename as an argument}\"\nASTYLE=\"${PROJECT_ROOT:?not set in the environment}/scripts/astyle.sh\"\nASTYLE_VERSION_MAJOR=$(${ASTYLE} -V | sed -n 's|^Artistic Style Version \\([0-9]\\+\\)\\.[0-9]\\+\\(\\.[0-9]\\+\\)\\?|\\1|p')\n\nif [[ \"$ASTYLE_VERSION_MAJOR\" -lt 3 ]]; then\n  exit 77\nfi\n\ntempfile=\"$(mktemp)\"\ndelete_tempfile() {\n    rm -f \"${tempfile}\"\n}\ntrap delete_tempfile EXIT\n\n\"${ASTYLE}\" < \"${SOURCE_FILEPATH}\" > \"${tempfile}\"\n\n# NOTE: We cannot use \"exec\" here or the trap callback above will not be run\n# NOTE: This is meant to return code 1 on non-empty diff\ndiff -u --color=always \"${SOURCE_FILEPATH}\" \"${tempfile}\"\n"
  },
  {
    "path": "src/Tests/Source/CheckScripts/copyright.sh",
    "content": "#!/bin/bash\n#\n# check-path-include: *.cpp\n# check-path-include: *.hpp\n# check-path-include: *.c\n# check-path-include: *.h\n#\nSOURCE_FILEPATH=\"$1\"\ngrep -q ' Copyright ' \"$SOURCE_FILEPATH\"\n"
  },
  {
    "path": "src/Tests/Source/CheckScripts/private-with-build-config.sh",
    "content": "#!/bin/bash\n#\n# check-path-include: *.cpp\n# check-path-include: *.hpp\n# check-path-include: *.c\n# check-path-include: *.h\n# check-path-exclude: src/Library/public/*.hpp\n# check-path-exclude: src/Tests/*\n# check-path-exclude: src/test_filesystem.cpp\n#\nSOURCE_FILEPATH=\"$1\"\n\nFIRST_IFDEF=\"$(sed -r -n 's/^#[[:space:]]*(ifdef|if|include|define)/&/p' \"$SOURCE_FILEPATH\" | head -1)\"\n\nif [[ \"$FIRST_IFDEF\" != \"#ifdef HAVE_BUILD_CONFIG_H\" ]]; then\n  echo\n  echo \"All source files should include build-config.h before any other file, add: \"\n  echo \"--- snip ---\"\n  echo \" #ifdef HAVE_BUILD_CONFIG_H\"\n  echo \"   #include <build-config.h>\"\n  echo \" #endif\"\n  echo \"--- snip ---\"\n  echo \"to the beginning of the source file.\"\n  echo\n  exit 1\nfi\n\nexit 0\n# vim: set ts=2 sw=2 et\n"
  },
  {
    "path": "src/Tests/Source/CheckScripts/public-without-build-config.sh",
    "content": "#!/bin/bash\n#\n# check-path-include: src/Library/public/*.hpp\n#\nSOURCE_FILEPATH=\"$1\"\n\nif grep -q '#[[:space:]]*include[[:space:]]*[<\"][[:space:]]*build-config.h[[:space:]]*[\">]' \"$SOURCE_FILEPATH\"; then\n  echo\n  echo \"The public library header files should NOT depend on build-config.h.\"\n  echo \"Remove the #include <build-config.h> directive.\"\n  echo\n  exit 1\nfi\n\nexit 0\n# vim: set ts=2 sw=2 et\n"
  },
  {
    "path": "src/Tests/Source/CheckScripts/spell-check.rws",
    "content": "personal_ws-1.1 en 0\nACL\nAPI\nAuditFilePath\nAUR\nautoconf\nautomake\nbackend\nBackend\nBadUSB\nbasename\nBNF\nboolean\nCentOS\nCLI\nconf\nCopr\nCoverity\ndbus\nDeauthorize\ndeauthorize\ndeauthorizes\ndevel\nDeviceManagerBackend\ndiscriminative\nDocToc\nEPEL\nfilepath\nGID\nGithub\nGPL\nGPLv\ngroupname\ngroupnames\nImplicitPolicyTarget\nInsertedDevicePolicy\nIPC\nIPCAccessControlFiles\nIPCAllowedGroups\nIPCAllowedUsers\niSerial\njoe\njson\nlibcap\nlibgcrypt\nlibqb\nlibseccomp\nlibsodium\nlocaltime\nlockdown\nMERCHANTABILITY\nmulti\nnroff\npandoc\nPEGTL\nPID\nPrecompiled\nPresentControllerPolicy\nPresentDevicePolicy\nprotobuf\nREADME\nRestoreControllerDeviceState\nRHEL\nroff\nRuleFile\nRuleParser\nruntime\nseccomp\nspdlog\nsrc\nstdout\nstuge\nsubclass\nsubclasses\nsubcommand\nsubcommands\nsubmodules\nsyscall\nsyslog\nsystemd\nUDev\nudev\nudevadm\nUID\nunconfigured\nuntrusted\nusb\nUSBGuard\nusbguard\nusbN\nusername\nusernames\nworkflow\nYubikey\n"
  },
  {
    "path": "src/Tests/Source/CheckScripts/spell-check.sh",
    "content": "#!/bin/bash\n#\n# Copyright (C) 2016 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Daniel Kopecek <dkopecek@redhat.com>\n#\n##################\n#\n# check-path-include: doc/*.md\n# check-path-include: README.md\n# check-path-exclude: doc/FOSDEM-2016/*\n#\n##################\nASPELL=$(which aspell)\nPANDOC=$(which pandoc)\n\nSOURCE_FILEPATH=\"$1\"\n\nif [[ -z \"$ASPELL\" || -z \"$PANDOC\" ]]; then\n  echo \"Skipping test because some dependecies are missing\"\n  echo \"ASPELL: $ASPELL\"\n  echo \"PANDOC: $PANDOC\"\n  exit 77\nfi\n\nEXTRA_DICTIONARY=\"./${SOURCE_ROOT}/src/Tests/Source/CheckScripts/spell-check.rws\"\nPANDOC_OPTIONS=\"-t html\"\nASPELL_OPTIONS=\"-l en --add-filter=html -W 2 --add-extra-dicts=${EXTRA_DICTIONARY} --add-html-skip=code\"\n\nretval=0\nset -o pipefail\nexport LANG=\"en_US.UTF-8\"\n\nWORDS=\"$(${PANDOC} ${PANDOC_OPTIONS} \"${SOURCE_FILEPATH}\" | ${ASPELL} ${ASPELL_OPTIONS} list | sort | uniq -c)\"\n\nif [[ -n \"${WORDS}\" ]]; then\n  echo\n  echo \"ERROR: Found missspelled words in $(readlink -f \"${SOURCE_FILEPATH}\"):\"\n  echo \"========================================\"\n  echo -e \"${WORDS}\"\n  echo \"========================================\"\n  echo \"To exempt a word, add it to this dictionary:\"\n  echo \"  $(readlink -f \"${EXTRA_DICTIONARY}\")\"\n  echo\n  retval=1\nfi\nexit ${retval}\n"
  },
  {
    "path": "src/Tests/Source/CheckScripts/vim-modeline.sh",
    "content": "#!/bin/bash\n#\n# check-path-include: *.cpp\n# check-path-include: *.hpp\n# check-path-include: *.c\n# check-path-include: *.h\n# check-path-exclude: src/ThirdParty/*\n#\nSOURCE_FILEPATH=\"$1\"\nVIM_MODELINE=\"$(< \"$SOURCE_ROOT\"/scripts/modeline.vim)\"\n\ngrep -q \" vim: $VIM_MODELINE\" \"$SOURCE_FILEPATH\"\n"
  },
  {
    "path": "src/Tests/Source/check-driver.sh",
    "content": "#!/bin/bash\n#\n# Copyright (C) 2016 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Daniel Kopecek <dkopecek@redhat.com>\n#\n#\n# This script looks for files that don't contain copyright infomation.\n# It does so very naively by searching for files that do not contain\n# \"Copyright \" in their contents.\n#\n##################\n#set -x\n\nGLOB_INCLUDE=(\n*.[ch]pp\n*.[ch]\n*.am\n*.qrc\n*.sh\n*.md\n*.adoc\n)\n\nGLOB_EXCLUDE=(\n*ThirdParty/*\n*build/*\n*m4/*\n*.pb.*\n*build-config.h\n)\n\n##################\n\nfunction __realpath () {\n  path=\"$1\"\n  base=\"$2\"\n  abs_path=$(readlink -f \"$path\")\n\n  if [[ -n \"$2\" ]]; then\n    abs_base=\"$(readlink -f \"$base\")\"\n    abs_path=\"$(echo \"$abs_path\" | sed \"s|^${abs_base}/\\?||\")\"\n  fi\n\n  echo \"$abs_path\"\n}\n\nif [[ -z \"${srcdir}\" ]]; then\n  echo \"srcdir variable not set!\"\n  exit 1\nfi\n\nPROJECT_ROOT=\"${abs_top_srcdir}\"\nSOURCE_ROOT=\"${srcdir}\"\nCHECK_SCRIPTS_DIR=\"${srcdir}/src/Tests/Source/CheckScripts/\"\n\nfor glob in ${GLOB_INCLUDE[*]}; do\n  INCLUDE_ARGS+=\" -o -path $glob\"\ndone\n\nfor glob in ${GLOB_EXCLUDE[*]}; do\n  EXCLUDE_ARGS+=\" -o -path $glob\"\ndone\n\nFIND_ARGS=\"( -false $INCLUDE_ARGS ) -not ( -false $EXCLUDE_ARGS )\"\n\ndriver_retval=0\n\nwhile read source_filepath; do\n  source_relpath=\"$(__realpath \"${source_filepath}\" \"${SOURCE_ROOT}\")\"\n  failed_checks_output=\"File: ${source_relpath}\\n\"\n#  debug_checks_output=\"File: ${source_relpath}\\n\"\n  some_checks_failed=0\n\n  while read script_filepath; do\n    path_include_match=0\n    path_include_found=0\n    path_exclude_match=0\n    path_exclude_found=0\n    #\n    # Process check-path-exclude:\n    #\n    while read check_path_exclude; do\n      path_exclude_found=1\n      if [[ $source_relpath = $check_path_exclude ]]; then\n        path_exclude_match=1\n        break\n      fi\n    done<<EOF\n$(sed -n 's|.*check-path-exclude: \\(.*\\)$|\\1|p' \"${script_filepath}\")\nEOF\n\n    if [[ $path_exclude_match -eq 1 ]]; then\n      # Skip executing the check\n      continue\n    fi\n\n    #\n    # Process check-path-include:\n    #\n    while read check_path_include; do\n      path_include_found=1\n      if [[ $source_relpath = $check_path_include ]]; then\n        path_include_match=1\n        break\n      fi\n    done<<EOF\n$(sed -n 's|.*check-path-include: \\(.*\\)$|\\1|p' \"${script_filepath}\")\nEOF\n\n    if [[ $path_include_match -eq 0 ]]; then\n      # Skip executing the check\n      continue\n    fi\n\n    #\n    #\n    # Run check script\n    #\n    env PROJECT_ROOT=\"${PROJECT_ROOT}\" SOURCE_ROOT=\"$SOURCE_ROOT\" \"${script_filepath}\" \"${source_filepath}\"\n\n    #\n    # Process return value\n    #\n    retval=$?\n    check_failed=0\n\n    if [[ $retval -ne 0 ]]; then\n      if [[ $retval -eq 77 ]]; then\n        check_status=\"skipped\"\n      else\n        check_status=\"FAILED!\"\n        check_failed=1\n      fi\n    else\n      check_status=\"success\"\n    fi\n\n    if [[ $check_failed -ne 0 ]]; then\n      failed_checks_output=\"${failed_checks_output}$(printf '%28s: %s' \"$(basename \"${script_filepath}\")\" \"$check_status\")\\n\"\n      some_checks_failed=1\n#    else\n#      debug_checks_output=\"${debug_checks_output}$(printf '%28s: %s' \"$(basename \"${script_filepath}\")\" \"$check_status\")\\n\"\n    fi\n\n  done <<EOF\n$(find \"${CHECK_SCRIPTS_DIR}\" -type f -executable -not -name '*~')\nEOF\n\nif [[ $some_checks_failed -eq 1 ]]; then\n  echo -e \"${failed_checks_output}\"\n  driver_retval=1\nfi\n\n#echo -e \"${debug_checks_output}\"\n\ndone <<EOF\n$(find \"${SOURCE_ROOT}\" ${FIND_ARGS})\nEOF\n\nexit $driver_retval\n"
  },
  {
    "path": "src/Tests/USB/data/0001.out",
    "content": "Device Descriptor: type=01 length=18\n              bcdUSB: 0x0200\n        bDeviceClass: 0xef\n     bDeviceSubClass: 0x02\n     bDeviceProtocol: 0x01\n      bMaxPacketSize: 64\n            idVendor: 0x1004\n           idProduct: 0x61fe\n           bcdDevice: 0x0228\n       iManufacturer: 1\n       iSerialNumber: 3\n  bNumConfigurations: 1\n\nConfiguration Descriptor: type=02 length=9\n        wTotalLength: 177\n      bNumInterfaces: 5\n bConfigurationValue: 1\n      iConfiguration: 0\n        bmAttributes: 80\n           bMaxPower: 250\n\nUNKNOWN Descriptor: type=0b length=8\n\nInterface Descriptor: type=04 length=9\n    bInterfaceNumber: 0\n   bAlternateSetting: 0\n       bNumEndpoints: 1\n     bInterfaceClass: 2\n  bInterfaceSubClass: 2\n  bInterfaceProtocol: 1\n          iInterface: 9\n\nUNKNOWN Descriptor: type=24 length=5\n\nUNKNOWN Descriptor: type=24 length=5\n\nUNKNOWN Descriptor: type=24 length=4\n\nUNKNOWN Descriptor: type=24 length=5\n\nEndpoint Descriptor: type=05 length=7\n    bEndpointAddress: 130\n        bmAttributes: 0x03\n      wMaxPacketSize: 16\n           bInterval: 9\n\nInterface Descriptor: type=04 length=9\n    bInterfaceNumber: 1\n   bAlternateSetting: 0\n       bNumEndpoints: 2\n     bInterfaceClass: 10\n  bInterfaceSubClass: 0\n  bInterfaceProtocol: 0\n          iInterface: 10\n\nEndpoint Descriptor: type=05 length=7\n    bEndpointAddress: 129\n        bmAttributes: 0x02\n      wMaxPacketSize: 512\n           bInterval: 0\n\nEndpoint Descriptor: type=05 length=7\n    bEndpointAddress: 1\n        bmAttributes: 0x02\n      wMaxPacketSize: 512\n           bInterval: 0\n\nInterface Descriptor: type=04 length=9\n    bInterfaceNumber: 2\n   bAlternateSetting: 0\n       bNumEndpoints: 2\n     bInterfaceClass: 255\n  bInterfaceSubClass: 255\n  bInterfaceProtocol: 255\n          iInterface: 0\n\nEndpoint Descriptor: type=05 length=7\n    bEndpointAddress: 131\n        bmAttributes: 0x02\n      wMaxPacketSize: 512\n           bInterval: 0\n\nEndpoint Descriptor: type=05 length=7\n    bEndpointAddress: 2\n        bmAttributes: 0x02\n      wMaxPacketSize: 512\n           bInterval: 0\n\nUNKNOWN Descriptor: type=0b length=8\n\nInterface Descriptor: type=04 length=9\n    bInterfaceNumber: 3\n   bAlternateSetting: 0\n       bNumEndpoints: 1\n     bInterfaceClass: 2\n  bInterfaceSubClass: 6\n  bInterfaceProtocol: 0\n          iInterface: 12\n\nUNKNOWN Descriptor: type=24 length=5\n\nUNKNOWN Descriptor: type=24 length=5\n\nUNKNOWN Descriptor: type=24 length=13\n\nEndpoint Descriptor: type=05 length=7\n    bEndpointAddress: 133\n        bmAttributes: 0x03\n      wMaxPacketSize: 64\n           bInterval: 4\n\nInterface Descriptor: type=04 length=9\n    bInterfaceNumber: 4\n   bAlternateSetting: 0\n       bNumEndpoints: 0\n     bInterfaceClass: 10\n  bInterfaceSubClass: 0\n  bInterfaceProtocol: 0\n          iInterface: 0\n\nInterface Descriptor: type=04 length=9\n    bInterfaceNumber: 4\n   bAlternateSetting: 1\n       bNumEndpoints: 2\n     bInterfaceClass: 10\n  bInterfaceSubClass: 0\n  bInterfaceProtocol: 0\n          iInterface: 13\n\nEndpoint Descriptor: type=05 length=7\n    bEndpointAddress: 3\n        bmAttributes: 0x02\n      wMaxPacketSize: 512\n           bInterval: 0\n\nEndpoint Descriptor: type=05 length=7\n    bEndpointAddress: 132\n        bmAttributes: 0x02\n      wMaxPacketSize: 512\n           bInterval: 0\n\nBytes parsed: 195\nDescriptor type 0x01 count: 1\nDescriptor type 0x02 count: 1\nDescriptor type 0x04 count: 6\nDescriptor type 0x05 count: 8\nDescriptor type 0x0b count: 2\nDescriptor type 0x24 count: 7\n"
  },
  {
    "path": "src/Tests/USB/test-descriptor-parser.sh",
    "content": "#!/bin/sh\n#\n# Copyright (C) 2016 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Daniel Kopecek <dkopecek@redhat.com>\n#\n# Tests the descriptor parser by parsing binary descriptor samples\n# and comparing the output with the expected output (files with .out\n# extension)\n#\n# Usage: test-descriptor-parser.sh <usbguard-binary-path> <test-data-dir>\n#        test-descriptor-parser.sh\n#\n\nif [ -z \"$1\" -o -z \"$2\" ]; then\n  USBGUARD=\"$builddir/usbguard\"\n  DATADIR=\"$srcdir/src/Tests/USB/data/\"\nelse\n  USBGUARD=\"$1\"\n  DATADIR=\"$2\"\nfi\n\nTEMPDIR=\"$(mktemp -d --tmpdir usbguard-test-descriptor-parser.XXXXXX)\"\nRETVAL=0\n\nfor sample in $DATADIR/*.bin; do\n  OUTPUT_PATH=\"$TEMPDIR/$(basename -s .bin $sample).out\"\n  BINOUT_PATH=\"$DATADIR/$(basename -s .bin $sample).out\"\n  $USBGUARD read-descriptor \"$sample\" > \"$OUTPUT_PATH\"\n  diff -u \"$BINOUT_PATH\" \"$OUTPUT_PATH\"\n  if [ $? -ne 0 ]; then\n    echo \"FAILED: $sample\"\n    RETVAL=1\n  fi\ndone\n\nif [ $RETVAL -eq 0 ]; then\n  rm \"$TEMPDIR\"/*.out\n  rmdir \"$TEMPDIR\"\nfi\n\nexit $RETVAL\n"
  },
  {
    "path": "src/Tests/Unit/test_Base64.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_CATCH2_V3\n  #include <catch_test_macros.hpp>\n#else\n  #include <catch.hpp>\n#endif\n#include <Base64.cpp>\n\nusing namespace usbguard;\n\nTEST_CASE(\"Base64\", \"[Utility]\")\n{\n  SECTION(\"encoding/decoding empty value throws an exception\") {\n    std::string decoded;\n    std::string encoded;\n    REQUIRE_THROWS(encoded = base64Encode(decoded));\n    REQUIRE_THROWS(decoded = base64Decode(encoded));\n  }\n  SECTION(\"encoded/decoded size estimation\") {\n    REQUIRE(base64EncodedSize(1) == 4);\n    REQUIRE(base64EncodedSize(2) == 4);\n    REQUIRE(base64EncodedSize(3) == 4);\n    REQUIRE(base64EncodedSize(4) == 8);\n    REQUIRE(base64EncodedSize(5) == 8);\n    REQUIRE(base64EncodedSize(6) == 8);\n    REQUIRE(base64DecodedSize(4) == 3);\n    REQUIRE(base64DecodedSize(8) == 6);\n    REQUIRE(base64DecodedSize(12) == 9);\n    REQUIRE(base64DecodedSize(16) == 12);\n  }\n  SECTION(\"encoding and decoding\") {\n    std::vector<std::pair<std::string, std::string>> test_pairs = {\n      { \"a\", \"YQ==\" },\n      { std::string(\"\\x01\", 1), \"AQ==\" },\n      { std::string(\"\\x10\", 1), \"EA==\" },\n      { \"base64\", \"YmFzZTY0\" },\n      { std::string(\"\\x01\\x23\\x45\\x67\\x89\", 5), \"ASNFZ4k=\" },\n      { \"b\", \"Yg==\" },\n      { \"c\", \"Yw==\" },\n      { \"aa\", \"YWE=\" },\n      { \"ab\", \"YWI=\" },\n      { \"ba\", \"YmE=\" },\n      { \"bb\", \"YmI=\" },\n      { \"abc\", \"YWJj\" },\n      { \"bac\", \"YmFj\" },\n      { \"bca\", \"YmNh\" },\n      { \"cab\", \"Y2Fi\" },\n      { \"cba\", \"Y2Jh\" },\n      { \"A\", \"QQ==\" },\n      { \"Z\", \"Wg==\" },\n      { \"AA\", \"QUE=\" },\n      { \"AZ\", \"QVo=\" },\n      { \"ZZ\", \"Wlo=\" },\n      { \"/\", \"Lw==\" },\n      { \"//\", \"Ly8=\" },\n      { \"///\", \"Ly8v\" },\n      { \"+\", \"Kw==\" },\n      { \"++\", \"Kys=\" },\n      { \"+++\", \"Kysr\" },\n      { std::string(\"\\x00\", 1), \"AA==\" },\n      { std::string(\"\\xff\", 1), \"/w==\" },\n    };\n\n    for (auto test_pair : test_pairs) {\n      REQUIRE(test_pair.second == base64Encode(test_pair.first));\n      REQUIRE(test_pair.first == base64Decode(test_pair.second));\n    }\n  }\n  SECTION(\"decoding invalid inputs\") {\n    std::vector<std::string> test_inputs = {\n      { \"Y=Q=\" },\n      { \"Y~g=\" },\n      { \".Yw=\" },\n      { \"Y:E=\" },\n      { \"YWI:\" },\n      { \"YmVpc*Bv\" },\n      { \"cHdxbw@=\" },\n      { \"aX@3b2VyaQ==\" },\n      { \"cG9zb@tk\" },\n      { \"Zmxs;:pxOTIw\" },\n      { \"cHd<ZWty\" },\n      { \"cG93>XBy\" },\n      { \"<2l3cGVyaQ==\" },\n      { \">nBvZXc=\" },\n      { \"c?93cm93aWVycA==\" },\n      { \"aTItNA=?\" },\n      { \"cG9?ZnNkb2lmd3BvZWly\" },\n      { \"cG9,,3Jw\" },\n      { \"b2l3,A==\" },\n      { \",2Zzd2hyaTJndWdpdXBhW3B3cW9b\" },\n      { \"[1t3cHI=\" },\n      { \"]3B3Yw==\" },\n      { \"Ym[h\" },\n      { \"Y2F]\" },\n      { \"`2Jh\" },\n      { \"Q`==\" },\n      { \"Wg=`\" },\n      { \"QUE`\" },\n      { \"`Vo=\" },\n      { \"W_o=\" },\n      { \"L ==\" },\n      { \"Ly8 \" },\n      { \" y8v\" },\n      { \"K{}=\" },\n      { \"Kys{\" },\n      { \"Kys}\" },\n      { \"{w==\" },\n      { \"a\" },\n      { \"aa\" },\n      { \"aaa\" },\n      { \"bbbbb\" },\n      { \"bbbbbb\" }\n    };\n\n    for (auto test_input : test_inputs) {\n      INFO(\"Testing input: \" + test_input);\n      REQUIRE_THROWS(base64Decode(test_input));\n    }\n  }\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Tests/Unit/test_IPCServer_AccessControl.cpp",
    "content": "//\n// Copyright (C) 2017 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#include \"usbguard/IPCServer.hpp\"\n\n#ifdef HAVE_CATCH2_V3\n  #include <catch_test_macros.hpp>\n#else\n  #include <catch.hpp>\n#endif\n#include <sstream>\n\nusing namespace usbguard;\n\nTEST_CASE(\"IPCServer::AccessControl\", \"[Unit]\")\n{\n  SECTION(\"default constructed\") {\n    IPCServer::AccessControl ac;\n    REQUIRE_THROWS(ac.hasPrivilege(IPCServer::AccessControl::Section::ALL,\n        IPCServer::AccessControl::Privilege::LIST));\n\n    for (const auto& section : {\n        IPCServer::AccessControl::Section::DEVICES,\n        IPCServer::AccessControl::Section::POLICY,\n        IPCServer::AccessControl::Section::PARAMETERS,\n        IPCServer::AccessControl::Section::EXCEPTIONS\n      }) {\n      for (const auto& privilege : {\n          IPCServer::AccessControl::Privilege::MODIFY,\n          IPCServer::AccessControl::Privilege::LIST,\n          IPCServer::AccessControl::Privilege::LISTEN\n        }) {\n        REQUIRE(!ac.hasPrivilege(section, privilege));\n      }\n    }\n  }\n  SECTION(\"constructed\") {\n    IPCServer::AccessControl ac(IPCServer::AccessControl::Section::DEVICES,\n      IPCServer::AccessControl::Privilege::LIST);\n    REQUIRE(ac.hasPrivilege(IPCServer::AccessControl::Section::DEVICES,\n        IPCServer::AccessControl::Privilege::LIST));\n\n    for (const auto& section : {\n        IPCServer::AccessControl::Section::POLICY,\n        IPCServer::AccessControl::Section::PARAMETERS,\n        IPCServer::AccessControl::Section::EXCEPTIONS\n      }) {\n      for (const auto& privilege : {\n          IPCServer::AccessControl::Privilege::MODIFY,\n          IPCServer::AccessControl::Privilege::LIST,\n          IPCServer::AccessControl::Privilege::LISTEN\n        }) {\n        REQUIRE(!ac.hasPrivilege(section, privilege));\n      }\n    }\n    REQUIRE_NOTHROW(ac.clear());\n    REQUIRE(!ac.hasPrivilege(IPCServer::AccessControl::Section::DEVICES,\n        IPCServer::AccessControl::Privilege::LIST));\n  }\n  SECTION(\"parsed\") {\n    std::stringstream ss;\n    ss << \"Devices=list listen\\n\";\n    ss << \"Policy=list modify\\n\";\n    IPCServer::AccessControl ac;\n    REQUIRE_NOTHROW(ac.load(ss));\n    REQUIRE(ac.hasPrivilege(IPCServer::AccessControl::Section::DEVICES,\n        IPCServer::AccessControl::Privilege::LIST));\n    REQUIRE(ac.hasPrivilege(IPCServer::AccessControl::Section::DEVICES,\n        IPCServer::AccessControl::Privilege::LISTEN));\n    REQUIRE(!ac.hasPrivilege(IPCServer::AccessControl::Section::DEVICES,\n        IPCServer::AccessControl::Privilege::MODIFY));\n    REQUIRE(ac.hasPrivilege(IPCServer::AccessControl::Section::POLICY,\n        IPCServer::AccessControl::Privilege::LIST));\n    REQUIRE(!ac.hasPrivilege(IPCServer::AccessControl::Section::POLICY,\n        IPCServer::AccessControl::Privilege::LISTEN));\n    REQUIRE(ac.hasPrivilege(IPCServer::AccessControl::Section::POLICY,\n        IPCServer::AccessControl::Privilege::MODIFY));\n    REQUIRE(!ac.hasPrivilege(IPCServer::AccessControl::Section::PARAMETERS,\n        IPCServer::AccessControl::Privilege::LIST));\n    REQUIRE(!ac.hasPrivilege(IPCServer::AccessControl::Section::PARAMETERS,\n        IPCServer::AccessControl::Privilege::LISTEN));\n    REQUIRE(!ac.hasPrivilege(IPCServer::AccessControl::Section::PARAMETERS,\n        IPCServer::AccessControl::Privilege::MODIFY));\n  }\n  SECTION(\"parse error\") {\n    std::stringstream ss;\n    ss << \"Devices=lisp drog listne\\n\";\n    ss << \"Pulicy=list listen\\n\";\n    IPCServer::AccessControl ac;\n    REQUIRE_THROWS(ac.load(ss));\n  }\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Tests/Unit/test_Rule.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#include \"usbguard/Rule.hpp\"\n\n#ifdef HAVE_CATCH2_V3\n  #include <catch_test_macros.hpp>\n#else\n  #include <catch.hpp>\n#endif\n\nusing namespace usbguard;\n\nTEST_CASE(\"Default constructed rule\", \"[Rule]\")\n{\n  Rule rule;\n  SECTION(\"has default id\") {\n    REQUIRE(rule.getRuleID() == Rule::DefaultID);\n  }\n  SECTION(\"is implicit\") {\n    REQUIRE(rule.isImplicit());\n  }\n  SECTION(\"has invalid target\") {\n    REQUIRE(rule.getTarget() == Rule::Target::Invalid);\n  }\n  SECTION(\"has empty attributes\") {\n    REQUIRE(rule.attributeDeviceID().empty());\n    REQUIRE(rule.attributeSerial().empty());\n    REQUIRE(rule.attributeName().empty());\n    REQUIRE(rule.attributeHash().empty());\n    REQUIRE(rule.attributeViaPort().empty());\n    REQUIRE(rule.attributeWithInterface().empty());\n  }\n  SECTION(\"is not valid\") {\n    REQUIRE_FALSE(rule);\n  }\n  SECTION(\"cannot be converted to a string form unless forced to\") {\n    REQUIRE_THROWS(rule.toString());\n    REQUIRE_NOTHROW(rule.toString(/*invalid=*/true));\n  }\n}\n\nTEST_CASE(\"Target-only rule\", \"[RuleParser]\")\n{\n  Rule rule;\n  SECTION(\"from/to string: allow\") {\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow\"));\n    REQUIRE(rule.getTarget() == Rule::Target::Allow);\n    REQUIRE(rule.toString() == \"allow\");\n  }\n  SECTION(\"from/to string: block\") {\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"block\"));\n    REQUIRE(rule.getTarget() == Rule::Target::Block);\n    REQUIRE(rule.toString() == \"block\");\n  }\n  SECTION(\"from/to string: reject\") {\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"reject\"));\n    REQUIRE(rule.getTarget() == Rule::Target::Reject);\n    REQUIRE(rule.toString() == \"reject\");\n  }\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Tests/Unit/test_RuleAttribute_id.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#include \"usbguard/Rule.hpp\"\n\n#ifdef HAVE_CATCH2_V3\n  #include <catch_test_macros.hpp>\n#else\n  #include <catch.hpp>\n#endif\n\nusing namespace usbguard;\n\nTEST_CASE(\"Parse rule with an id attribute\", \"[Parse]\")\n{\n  Rule rule;\n  SECTION(\"old syntax\") {\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow 1234:1234\"));\n    REQUIRE(rule.getDeviceID().getVendorID() == \"1234\");\n    REQUIRE(rule.getDeviceID().getProductID() == \"1234\");\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow 1234:*\"));\n    REQUIRE(rule.getDeviceID().getVendorID() == \"1234\");\n    REQUIRE(rule.getDeviceID().getProductID() == \"*\");\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow *:*\"));\n    REQUIRE(rule.getDeviceID().getVendorID() == \"*\");\n    REQUIRE(rule.getDeviceID().getProductID() == \"*\");\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow feab:cd05\"));\n    REQUIRE(rule.getDeviceID().getVendorID() == \"feab\");\n    REQUIRE(rule.getDeviceID().getProductID() == \"cd05\");\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow 7896:*\"));\n    REQUIRE(rule.getDeviceID().getVendorID() == \"7896\");\n    REQUIRE(rule.getDeviceID().getProductID() == \"*\");\n  }\n  SECTION(\"new syntax\") {\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow id 1234:1234\"));\n    REQUIRE(rule.getDeviceID().getVendorID() == \"1234\");\n    REQUIRE(rule.getDeviceID().getProductID() == \"1234\");\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow id 1234:*\"));\n    REQUIRE(rule.getDeviceID().getVendorID() == \"1234\");\n    REQUIRE(rule.getDeviceID().getProductID() == \"*\");\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow id *:*\"));\n    REQUIRE(rule.getDeviceID().getVendorID() == \"*\");\n    REQUIRE(rule.getDeviceID().getProductID() == \"*\");\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow id feab:cd05\"));\n    REQUIRE(rule.getDeviceID().getVendorID() == \"feab\");\n    REQUIRE(rule.getDeviceID().getProductID() == \"cd05\");\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow id 7896:*\"));\n    REQUIRE(rule.getDeviceID().getVendorID() == \"7896\");\n    REQUIRE(rule.getDeviceID().getProductID() == \"*\");\n  }\n  SECTION(\"set syntax\") {\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow id one-of { 1234:1234 }\"));\n    REQUIRE(rule.getDeviceID().getVendorID() == \"1234\");\n    REQUIRE(rule.getDeviceID().getProductID() == \"1234\");\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow id one-of { 1234:* }\"));\n    REQUIRE(rule.getDeviceID().getVendorID() == \"1234\");\n    REQUIRE(rule.getDeviceID().getProductID() == \"*\");\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow id one-of { *:* }\"));\n    REQUIRE(rule.getDeviceID().getVendorID() == \"*\");\n    REQUIRE(rule.getDeviceID().getProductID() == \"*\");\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow id one-of { feab:cd05 }\"));\n    REQUIRE(rule.getDeviceID().getVendorID() == \"feab\");\n    REQUIRE(rule.getDeviceID().getProductID() == \"cd05\");\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow id one-of { 7896:* }\"));\n    REQUIRE(rule.getDeviceID().getVendorID() == \"7896\");\n    REQUIRE(rule.getDeviceID().getProductID() == \"*\");\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow id one-of { 1234:1234 abcd:effa aaaa:* }\"));\n    REQUIRE_THROWS(rule.getDeviceID().getVendorID());\n    REQUIRE_THROWS(rule.getDeviceID().getProductID());\n    REQUIRE(rule.attributeDeviceID().count() == 3);\n    REQUIRE_THROWS(rule.attributeDeviceID().get());\n    REQUIRE(rule.attributeDeviceID().get(0).getVendorID() == \"1234\");\n    REQUIRE(rule.attributeDeviceID().get(0).getProductID() == \"1234\");\n    REQUIRE(rule.attributeDeviceID().get(1).getVendorID() == \"abcd\");\n    REQUIRE(rule.attributeDeviceID().get(1).getProductID() == \"effa\");\n    REQUIRE(rule.attributeDeviceID().get(2).getVendorID() == \"aaaa\");\n    REQUIRE(rule.attributeDeviceID().get(2).getProductID() == \"*\");\n  }\n}\n\nTEST_CASE(\"Match id attribute\", \"[Match]\")\n{\n  Rule device_rule = \\\n    Rule::fromString(\"device id 1d6b:0002 serial \\\"dummy_hcd.0\\\" name \\\"Dummy host controller\\\" hash \\\"FSgk48/lKiTJWdqOqkHLuMQr155m+ux+ozIb17HHcKs=\\\" parent-hash \\\"zUhq0ExS41FTVEO5sce8eOOyMrPsfwQEeVz0kH6IAhc=\\\" via-port \\\"usb1\\\" with-interface 09:00:00\");\n  Rule rule;\n  SECTION(\"vendor and product\") {\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow id 1d6b:0002\"));\n    REQUIRE(rule.appliesTo(device_rule));\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow id 1d6b:0003\"));\n    REQUIRE(!rule.appliesTo(device_rule));\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow id 1d6a:0002\"));\n    REQUIRE(!rule.appliesTo(device_rule));\n  }\n  SECTION(\"vendor only\") {\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow id 1d6b:*\"));\n    REQUIRE(rule.appliesTo(device_rule));\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow id 1d6a:*\"));\n    REQUIRE(!rule.appliesTo(device_rule));\n  }\n  SECTION(\"any\") {\n    REQUIRE_NOTHROW(rule = Rule::fromString(\"allow id *:*\"));\n    REQUIRE(rule.appliesTo(device_rule));\n  }\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Tests/Unit/test_RuleParser.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#include \"usbguard/Rule.hpp\"\n\n#ifdef HAVE_CATCH2_V3\n  #include <catch_test_macros.hpp>\n#else\n  #include <catch.hpp>\n#endif\n\nusing namespace usbguard;\n\nTEST_CASE(\"Non-printable characters in a rule string\", \"[RuleParser]\")\n{\n  Rule rule, rule_from;\n  std::string rule_string;\n  const uint8_t non_printable_cstr[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0xAA, 0xBB, 0xFF };\n  const size_t non_printable_size = sizeof non_printable_cstr;\n  const std::string non_printable_string((const char*)non_printable_cstr, non_printable_size);\n  SECTION(\"to/from string: allow serial \\\"<non printable>\\\"\") {\n    rule.setTarget(Rule::Target::Allow);\n    rule.setSerial(non_printable_string);\n    REQUIRE_NOTHROW(rule_string = rule.toString());\n    REQUIRE(rule_string == \"allow serial \\\"\\\\x01\\\\x02\\\\x03\\\\x04\\\\x05\\\\x06\\\\x07\\\\xaa\\\\xbb\\\\xff\\\"\");\n    REQUIRE_NOTHROW(rule_from = Rule::fromString(rule_string));\n    REQUIRE_NOTHROW(rule_string = rule_from.toString());\n    REQUIRE(rule_string == \"allow serial \\\"\\\\x01\\\\x02\\\\x03\\\\x04\\\\x05\\\\x06\\\\x07\\\\xaa\\\\xbb\\\\xff\\\"\");\n    REQUIRE(rule.appliesTo(rule_from));\n    REQUIRE(rule_from.appliesTo(rule));\n    REQUIRE(rule_from.getTarget() == Rule::Target::Allow);\n  }\n  SECTION(\"to/from string: allow name \\\"<non printable>\\\"\") {\n    rule.setTarget(Rule::Target::Allow);\n    rule.setName(non_printable_string);\n    REQUIRE_NOTHROW(rule_string = rule.toString());\n    REQUIRE(rule_string == \"allow name \\\"\\\\x01\\\\x02\\\\x03\\\\x04\\\\x05\\\\x06\\\\x07\\\\xaa\\\\xbb\\\\xff\\\"\");\n    REQUIRE_NOTHROW(rule_from = Rule::fromString(rule_string));\n    REQUIRE_NOTHROW(rule_string = rule_from.toString());\n    REQUIRE(rule_string == \"allow name \\\"\\\\x01\\\\x02\\\\x03\\\\x04\\\\x05\\\\x06\\\\x07\\\\xaa\\\\xbb\\\\xff\\\"\");\n    REQUIRE(rule.appliesTo(rule_from));\n    REQUIRE(rule_from.appliesTo(rule));\n    REQUIRE(rule_from.getTarget() == Rule::Target::Allow);\n  }\n  SECTION(\"to/from string: allow hash \\\"<non printable>\\\"\") {\n    rule.setTarget(Rule::Target::Allow);\n    rule.setHash(non_printable_string);\n    REQUIRE_NOTHROW(rule_string = rule.toString());\n    REQUIRE(rule_string == \"allow hash \\\"\\\\x01\\\\x02\\\\x03\\\\x04\\\\x05\\\\x06\\\\x07\\\\xaa\\\\xbb\\\\xff\\\"\");\n    REQUIRE_NOTHROW(rule_from = Rule::fromString(rule_string));\n    REQUIRE_NOTHROW(rule_string = rule_from.toString());\n    REQUIRE(rule_string == \"allow hash \\\"\\\\x01\\\\x02\\\\x03\\\\x04\\\\x05\\\\x06\\\\x07\\\\xaa\\\\xbb\\\\xff\\\"\");\n    REQUIRE(rule.appliesTo(rule_from));\n    REQUIRE(rule_from.appliesTo(rule));\n    REQUIRE(rule_from.getTarget() == Rule::Target::Allow);\n  }\n  SECTION(\"to/from string: allow via-port \\\"<non printable>\\\"\") {\n    const std::vector<std::string> one_non_printable_string = { non_printable_string };\n    rule.setTarget(Rule::Target::Allow);\n    rule.attributeViaPort().set(one_non_printable_string, Rule::SetOperator::Equals);\n    REQUIRE_NOTHROW(rule_string = rule.toString());\n    REQUIRE(rule_string == \"allow via-port \\\"\\\\x01\\\\x02\\\\x03\\\\x04\\\\x05\\\\x06\\\\x07\\\\xaa\\\\xbb\\\\xff\\\"\");\n    REQUIRE_NOTHROW(rule_from = Rule::fromString(rule_string));\n    REQUIRE_NOTHROW(rule_string = rule_from.toString());\n    REQUIRE(rule_string == \"allow via-port \\\"\\\\x01\\\\x02\\\\x03\\\\x04\\\\x05\\\\x06\\\\x07\\\\xaa\\\\xbb\\\\xff\\\"\");\n    REQUIRE(rule.appliesTo(rule_from));\n    REQUIRE(rule_from.appliesTo(rule));\n    REQUIRE(rule_from.getTarget() == Rule::Target::Allow);\n  }\n  SECTION(\"to/from string: allow via-port { \\\"<non printable>\\\" \\\"<non printable>\\\" }\") {\n    const std::vector<std::string> two_non_printable_strings = \\\n    { non_printable_string, non_printable_string };\n    rule.setTarget(Rule::Target::Allow);\n    rule.attributeViaPort().set(two_non_printable_strings, Rule::SetOperator::OneOf);\n    REQUIRE_NOTHROW(rule_string = rule.toString());\n    REQUIRE(rule_string ==\n      \"allow via-port one-of { \\\"\\\\x01\\\\x02\\\\x03\\\\x04\\\\x05\\\\x06\\\\x07\\\\xaa\\\\xbb\\\\xff\\\" \\\"\\\\x01\\\\x02\\\\x03\\\\x04\\\\x05\\\\x06\\\\x07\\\\xaa\\\\xbb\\\\xff\\\" }\");\n    REQUIRE_NOTHROW(rule_from = Rule::fromString(rule_string));\n    REQUIRE_NOTHROW(rule_string = rule_from.toString());\n    REQUIRE(rule_string ==\n      \"allow via-port one-of { \\\"\\\\x01\\\\x02\\\\x03\\\\x04\\\\x05\\\\x06\\\\x07\\\\xaa\\\\xbb\\\\xff\\\" \\\"\\\\x01\\\\x02\\\\x03\\\\x04\\\\x05\\\\x06\\\\x07\\\\xaa\\\\xbb\\\\xff\\\" }\");\n    REQUIRE(rule.appliesTo(rule_from));\n    REQUIRE(rule_from.appliesTo(rule));\n    REQUIRE(rule_from.getTarget() == Rule::Target::Allow);\n  }\n  SECTION(\"to/from string: allow with-connect-type \\\"<non printable>\\\"\") {\n    rule.setTarget(Rule::Target::Allow);\n    rule.setWithConnectType(non_printable_string);\n    REQUIRE_NOTHROW(rule_string = rule.toString());\n    REQUIRE(\n      rule_string ==\n      \"allow with-connect-type \\\"\\\\x01\\\\x02\\\\x03\\\\x04\\\\x05\\\\x06\\\\x07\\\\xaa\\\\xbb\\\\xff\\\"\");\n    REQUIRE_NOTHROW(rule_from = Rule::fromString(rule_string));\n    REQUIRE_NOTHROW(rule_string = rule_from.toString());\n    REQUIRE(\n      rule_string ==\n      \"allow with-connect-type \\\"\\\\x01\\\\x02\\\\x03\\\\x04\\\\x05\\\\x06\\\\x07\\\\xaa\\\\xbb\\\\xff\\\"\");\n    REQUIRE(rule.appliesTo(rule_from));\n    REQUIRE(rule_from.appliesTo(rule));\n    REQUIRE(rule_from.getTarget() == Rule::Target::Allow);\n  }\n}\n\nTEST_CASE(\"Double quote and backslash characters in a rule string\", \"[RuleParser]\")\n{\n  Rule rule, rule_from;\n  std::string rule_string;\n  const std::string dqb_string(\"\\\" \\\\ \\\"\\\" \\\\\\\\ \\\\\\\" \\\"\\\\\");\n  const std::string dqb_string_escaped(\"\\\\\\\" \\\\\\\\ \\\\\\\"\\\\\\\" \\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\" \\\\\\\"\\\\\\\\\");\n  SECTION(\"to/from string: allow serial \\\"<double quote and backslash>\\\"\") {\n    rule.setTarget(Rule::Target::Allow);\n    rule.setSerial(dqb_string);\n    REQUIRE_NOTHROW(rule_string = rule.toString());\n    REQUIRE(rule_string == \"allow serial \\\"\" + dqb_string_escaped + \"\\\"\");\n    REQUIRE_NOTHROW(rule_from = Rule::fromString(rule_string));\n    REQUIRE_NOTHROW(rule_string = rule_from.toString());\n    REQUIRE(rule_string == \"allow serial \\\"\" + dqb_string_escaped + \"\\\"\");\n    REQUIRE(rule.appliesTo(rule_from));\n    REQUIRE(rule_from.appliesTo(rule));\n    REQUIRE(rule_from.getTarget() == Rule::Target::Allow);\n  }\n  SECTION(\"to/from string: allow name \\\"<double quote and backslash>\\\"\") {\n    rule.setTarget(Rule::Target::Allow);\n    rule.setName(dqb_string);\n    REQUIRE_NOTHROW(rule_string = rule.toString());\n    REQUIRE(rule_string == \"allow name \\\"\" + dqb_string_escaped + \"\\\"\");\n    REQUIRE_NOTHROW(rule_from = Rule::fromString(rule_string));\n    REQUIRE_NOTHROW(rule_string = rule_from.toString());\n    REQUIRE(rule_string == \"allow name \\\"\" + dqb_string_escaped + \"\\\"\");\n    REQUIRE(rule.appliesTo(rule_from));\n    REQUIRE(rule_from.appliesTo(rule));\n    REQUIRE(rule_from.getTarget() == Rule::Target::Allow);\n  }\n  SECTION(\"to/from string: allow hash \\\"<double quote and backslash>\\\"\") {\n    rule.setTarget(Rule::Target::Allow);\n    rule.setHash(dqb_string);\n    REQUIRE_NOTHROW(rule_string = rule.toString());\n    REQUIRE(rule_string == \"allow hash \\\"\" + dqb_string_escaped + \"\\\"\");\n    REQUIRE_NOTHROW(rule_from = Rule::fromString(rule_string));\n    REQUIRE_NOTHROW(rule_string = rule_from.toString());\n    REQUIRE(rule_string == \"allow hash \\\"\" + dqb_string_escaped + \"\\\"\");\n    REQUIRE(rule.appliesTo(rule_from));\n    REQUIRE(rule_from.appliesTo(rule));\n    REQUIRE(rule_from.getTarget() == Rule::Target::Allow);\n  }\n  SECTION(\"to/from string: allow via-port \\\"<double quote and backslash>\\\"\") {\n    const std::vector<std::string> one_dqb_string = { dqb_string };\n    rule.setTarget(Rule::Target::Allow);\n    rule.attributeViaPort().set(one_dqb_string, Rule::SetOperator::Equals);\n    REQUIRE_NOTHROW(rule_string = rule.toString());\n    REQUIRE(rule_string == \"allow via-port \\\"\" + dqb_string_escaped + \"\\\"\");\n    REQUIRE_NOTHROW(rule_from = Rule::fromString(rule_string));\n    REQUIRE_NOTHROW(rule_string = rule_from.toString());\n    REQUIRE(rule_string == \"allow via-port \\\"\" + dqb_string_escaped + \"\\\"\");\n    REQUIRE(rule.appliesTo(rule_from));\n    REQUIRE(rule_from.appliesTo(rule));\n    REQUIRE(rule_from.getTarget() == Rule::Target::Allow);\n  }\n  SECTION(\"to/from string: allow via-port { \\\"<double quote and backslash>\\\" \\\"<double quote and backslash>\\\" }\") {\n    const std::vector<std::string> two_dqb_strings = { dqb_string, dqb_string };\n    rule.setTarget(Rule::Target::Allow);\n    rule.attributeViaPort().set(two_dqb_strings, Rule::SetOperator::OneOf);\n    REQUIRE_NOTHROW(rule_string = rule.toString());\n    REQUIRE(rule_string == \"allow via-port one-of { \\\"\" + dqb_string_escaped + \"\\\" \\\"\" + dqb_string_escaped + \"\\\" }\");\n    REQUIRE_NOTHROW(rule_from = Rule::fromString(rule_string));\n    REQUIRE_NOTHROW(rule_string = rule_from.toString());\n    REQUIRE(rule_string == \"allow via-port one-of { \\\"\" + dqb_string_escaped + \"\\\" \\\"\" + dqb_string_escaped + \"\\\" }\");\n    REQUIRE(rule.appliesTo(rule_from));\n    REQUIRE(rule_from.appliesTo(rule));\n    REQUIRE(rule_from.getTarget() == Rule::Target::Allow);\n  }\n  SECTION(\"to/from string: allow with-connect-type \\\"<double quote and backslash>\\\"\") {\n    rule.setTarget(Rule::Target::Allow);\n    rule.setWithConnectType(dqb_string);\n    REQUIRE_NOTHROW(rule_string = rule.toString());\n    REQUIRE(rule_string == \"allow with-connect-type \\\"\" + dqb_string_escaped + \"\\\"\");\n    REQUIRE_NOTHROW(rule_from = Rule::fromString(rule_string));\n    REQUIRE_NOTHROW(rule_string = rule_from.toString());\n    REQUIRE(rule_string == \"allow with-connect-type \\\"\" + dqb_string_escaped + \"\\\"\");\n    REQUIRE(rule.appliesTo(rule_from));\n    REQUIRE(rule_from.appliesTo(rule));\n    REQUIRE(rule_from.getTarget() == Rule::Target::Allow);\n  }\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Tests/Unit/test_UEvent.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_CATCH2_V3\n  #include <catch_test_macros.hpp>\n#else\n  #include <catch.hpp>\n#endif\n#include <UEvent.cpp>\n\nusing namespace usbguard;\n\nTEST_CASE(\"Default constructed UEvent\", \"[UEvent]\")\n{\n  UEvent uevent;\n  SECTION(\"empty\") {\n    REQUIRE_NOTHROW(uevent.getAttribute(\"KEY1\"));\n    REQUIRE(uevent.getAttribute(\"KEY1\") == std::string());\n    REQUIRE_FALSE(uevent.hasAttribute(\"KEY1\"));\n    REQUIRE_FALSE(uevent.hasRequiredAttributes());\n    REQUIRE_NOTHROW(uevent.clear());\n  }\n  SECTION(\"set/get attribute\") {\n    REQUIRE_NOTHROW(uevent.setAttribute(\"KEY1\", \"value1\"));\n    REQUIRE(uevent.getAttribute(\"KEY1\") == \"value1\");\n    REQUIRE(uevent.hasAttribute(\"KEY1\"));\n    REQUIRE_FALSE(uevent.hasRequiredAttributes());\n    REQUIRE_NOTHROW(uevent.clear());\n  }\n  SECTION(\"string serialization\") {\n    REQUIRE_THROWS(uevent.getHeaderLine());\n    REQUIRE_THROWS(uevent.toString());\n  }\n}\n\nTEST_CASE(\"UEvent with required attributes\", \"[UEvent]\")\n{\n  UEvent uevent;\n  REQUIRE_NOTHROW(uevent.setAttribute(\"ACTION\", \"add\"));\n  REQUIRE_NOTHROW(uevent.setAttribute(\"DEVPATH\", \"/bus/usb/devices/usb1\"));\n  REQUIRE_NOTHROW(uevent.setAttribute(\"SUBSYSTEM\", \"usb_device\"));\n  SECTION(\"non-existing attribute\") {\n    REQUIRE_NOTHROW(uevent.getAttribute(\"KEY1\"));\n    REQUIRE(uevent.getAttribute(\"KEY1\") == std::string());\n    REQUIRE_FALSE(uevent.hasAttribute(\"KEY1\"));\n  }\n  SECTION(\"set/get attribute\") {\n    REQUIRE_NOTHROW(uevent.setAttribute(\"KEY1\", \"value1\"));\n    REQUIRE(uevent.getAttribute(\"KEY1\") == \"value1\");\n    REQUIRE(uevent.hasAttribute(\"KEY1\"));\n  }\n  SECTION(\"string serialization\") {\n    REQUIRE(uevent.hasRequiredAttributes());\n    REQUIRE_NOTHROW(uevent.getHeaderLine());\n    REQUIRE_NOTHROW(uevent.toString());\n  }\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Tests/Unit/test_UEventParser.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_CATCH2_V3\n  #include <catch_test_macros.hpp>\n#else\n  #include <catch.hpp>\n#endif\n#include <UEventParser.cpp>\n\nusing namespace usbguard;\n\nTEST_CASE(\"UEvent parsing\", \"[UEventParser]\")\n{\n  const char uevent_string[] = {\n    'a', 'd', 'd', '@', '/', 'd', 'e', 'v',\n    'i', 'c', 'e', 's', '/', 'p', 'l', 'a',\n    't', 'f', 'o', 'r', 'm', '/', 'd', 'u',\n    'm', 'm', 'y', '_', 'h', 'c', 'd', '.',\n    '0', '/', 'u', 's', 'b', '1', 0x00, 'A',\n    'C', 'T', 'I', 'O', 'N', '=', 'a', 'd',\n    'd', 0x00, 'D', 'E', 'V', 'P', 'A', 'T',\n    'H', '=', '/', 'd', 'e', 'v', 'i', 'c',\n    'e', 's', '/', 'p', 'l', 'a', 't', 'f',\n    'o', 'r', 'm', '/', 'd', 'u', 'm', 'm',\n    'y', '_', 'h', 'c', 'd', '.', '0', '/',\n    'u', 's', 'b', '1', 0x00, 'S', 'U', 'B',\n    'S', 'Y', 'S', 'T', 'E', 'M', '=', 'u',\n    's', 'b', 0x00, 'M', 'A', 'J', 'O', 'R',\n    '=', '1', '8', '9', 0x00, 'M', 'I', 'N',\n    'O', 'R', '=', '0', 0x00, 'D', 'E', 'V',\n    'N', 'A', 'M', 'E', '=', 'b', 'u', 's',\n    '/', 'u', 's', 'b', '/', '0', '0', '1',\n    '/', '0', '0', '1', 0x00, 'D', 'E', 'V',\n    'T', 'Y', 'P', 'E', '=', 'u', 's', 'b',\n    '_', 'd', 'e', 'v', 'i', 'c', 'e', 0x00,\n    'D', 'R', 'I', 'V', 'E', 'R', '=', 'u',\n    's', 'b', 0x00, 'P', 'R', 'O', 'D', 'U',\n    'C', 'T', '=', '1', 'd', '6', 'b', '/',\n    '2', '/', '4', '0', '1', 0x00, 'T', 'Y',\n    'P', 'E', '=', '9', '/', '0', '/', '1',\n    0x00, 'B', 'U', 'S', 'N', 'U', 'M', '=',\n    '0', '0', '1', 0x00, 'D', 'E', 'V', 'N',\n    'U', 'M', '=', '0', '0', '1', 0x00, 'S',\n    'E', 'Q', 'N', 'U', 'M', '=', '1', '1',\n    '1', '7', 0x00\n  };\n  const size_t uevent_strlen = sizeof uevent_string;\n  UEvent uevent;\n  REQUIRE_NOTHROW(uevent = UEvent::fromString(std::string(uevent_string, uevent_strlen),\n        /*attributes_only=*/false,\n        /*trace=*/true));\n  REQUIRE(uevent.hasRequiredAttributes());\n  REQUIRE(uevent.getAttribute(\"ACTION\") == \"add\");\n  REQUIRE(uevent.getAttribute(\"DEVPATH\") == \"/devices/platform/dummy_hcd.0/usb1\");\n  REQUIRE(uevent.getAttribute(\"SUBSYSTEM\") == \"usb\");\n  REQUIRE(uevent.getAttribute(\"MAJOR\") == \"189\");\n  REQUIRE(uevent.getAttribute(\"MINOR\") == \"0\");\n  REQUIRE(uevent.getAttribute(\"DEVNAME\") == \"bus/usb/001/001\");\n  REQUIRE(uevent.getAttribute(\"DEVTYPE\") == \"usb_device\");\n  REQUIRE(uevent.getAttribute(\"DRIVER\") == \"usb\");\n  REQUIRE(uevent.getAttribute(\"PRODUCT\") == \"1d6b/2/401\");\n  REQUIRE(uevent.getAttribute(\"TYPE\") == \"9/0/1\");\n  REQUIRE(uevent.getAttribute(\"BUSNUM\") == \"001\");\n  REQUIRE(uevent.getAttribute(\"DEVNUM\") == \"001\");\n  REQUIRE(uevent.getAttribute(\"SEQNUM\") == \"1117\");\n  REQUIRE_NOTHROW(uevent.getHeaderLine());\n  REQUIRE_NOTHROW(uevent.toString());\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Tests/Unit/test_UMockdevDeviceDefinition.cpp",
    "content": "//\n// Copyright (C) 2018 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_CATCH2_V3\n  #include <catch_test_macros.hpp>\n#else\n  #include <catch.hpp>\n#endif\n#include <UMockdevDeviceDefinition.cpp>\n\n#include \"test_UMockdevDeviceDefinition.data.hpp\"\n\nusing namespace usbguard;\n\nTEST_CASE(\"Default constructed UMockdevDeviceDefinition\", \"[UMockdev]\")\n{\n  UMockdevDeviceDefinition d;\n  SECTION(\"empty\") {\n    REQUIRE(d.getUMockdevName() == std::string());\n    REQUIRE(d.getSysfsPath() == std::string());\n    REQUIRE(d.getDevfsNode() == std::string());\n    REQUIRE(d.getUMockdevDefinition() == std::string());\n    REQUIRE_FALSE(d.hasDevfsNode());\n    REQUIRE_FALSE(d);\n  }\n  SECTION(\"set/get/has\") {\n    REQUIRE(d.getUMockdevName() == std::string());\n    REQUIRE_NOTHROW(d.setUMockdevName(\"foo.umockdev\"));\n    REQUIRE(d.getUMockdevName() == \"foo.umockdev\");\n    REQUIRE(d.getSysfsPath() == std::string());\n    REQUIRE_NOTHROW(d.setSysfsPath(\"/devices/usb/usb1\"));\n    REQUIRE(d.getSysfsPath() == \"/devices/usb/usb1\");\n    REQUIRE(d.getDevfsNode() == std::string());\n    REQUIRE_NOTHROW(d.setDevfsNode(\"/bus/usb/001/001\"));\n    REQUIRE(d.getDevfsNode() == \"/bus/usb/001/001\");\n    REQUIRE(d.hasDevfsNode());\n    REQUIRE(d.getUMockdevDefinition() == std::string());\n    REQUIRE_FALSE(d);\n    REQUIRE_NOTHROW(d.setUMockdevDefinition(\"P:/devices/usb/usb1\\nN:/bus/usb/001/001=348023948039809\\n\"));\n    REQUIRE(d.getUMockdevDefinition() == \"P:/devices/usb/usb1\\nN:/bus/usb/001/001=348023948039809\\n\");\n    REQUIRE(d);\n  }\n  SECTION(\"parsing\") {\n    const std::string s(reinterpret_cast<const char*>(definitions_string), definitions_string_len);\n    std::vector<std::unique_ptr<UMockdevDeviceDefinition>> definitions;\n    REQUIRE_NOTHROW(definitions = UMockdevDeviceDefinition::parseFromString(s));\n    REQUIRE(definitions.size() == 2);\n    REQUIRE(s == (definitions[0]->getUMockdevDefinition() + \"\\n\\n\" + definitions[1]->getUMockdevDefinition() + \"\\n\\n\"));\n    REQUIRE(definitions[0]->getSysfsPath() == \"/devices/platform/dummy_hcd.0/usb1\");\n    REQUIRE(definitions[1]->getSysfsPath() == \"/devices/platform/dummy_hcd.0\");\n  }\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Tests/Unit/test_UMockdevDeviceDefinition.data.hpp",
    "content": "//\n// Copyright (C) 2018 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\nunsigned char definitions_string[] = {\n  0x50, 0x3a, 0x20, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f,\n  0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x64, 0x75, 0x6d,\n  0x6d, 0x79, 0x5f, 0x68, 0x63, 0x64, 0x2e, 0x30, 0x2f, 0x75, 0x73, 0x62,\n  0x31, 0x0a, 0x4e, 0x3a, 0x20, 0x62, 0x75, 0x73, 0x2f, 0x75, 0x73, 0x62,\n  0x2f, 0x30, 0x30, 0x31, 0x2f, 0x30, 0x30, 0x31, 0x3d, 0x31, 0x32, 0x30,\n  0x31, 0x30, 0x30, 0x30, 0x32, 0x30, 0x39, 0x30, 0x30, 0x30, 0x31, 0x34,\n  0x30, 0x36, 0x42, 0x31, 0x44, 0x30, 0x32, 0x30, 0x30, 0x30, 0x39, 0x30,\n  0x34, 0x30, 0x33, 0x30, 0x32, 0x30, 0x31, 0x30, 0x31, 0x30, 0x39, 0x30,\n  0x32, 0x31, 0x39, 0x30, 0x30, 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x45,\n  0x30, 0x30, 0x30, 0x30, 0x39, 0x30, 0x34, 0x30, 0x30, 0x30, 0x30, 0x30,\n  0x31, 0x30, 0x39, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x37, 0x30,\n  0x35, 0x38, 0x31, 0x30, 0x33, 0x30, 0x34, 0x30, 0x30, 0x30, 0x43, 0x0a,\n  0x45, 0x3a, 0x20, 0x42, 0x55, 0x53, 0x4e, 0x55, 0x4d, 0x3d, 0x30, 0x30,\n  0x31, 0x0a, 0x45, 0x3a, 0x20, 0x44, 0x45, 0x56, 0x4e, 0x41, 0x4d, 0x45,\n  0x3d, 0x2f, 0x64, 0x65, 0x76, 0x2f, 0x62, 0x75, 0x73, 0x2f, 0x75, 0x73,\n  0x62, 0x2f, 0x30, 0x30, 0x31, 0x2f, 0x30, 0x30, 0x31, 0x0a, 0x45, 0x3a,\n  0x20, 0x44, 0x45, 0x56, 0x4e, 0x55, 0x4d, 0x3d, 0x30, 0x30, 0x31, 0x0a,\n  0x45, 0x3a, 0x20, 0x44, 0x45, 0x56, 0x54, 0x59, 0x50, 0x45, 0x3d, 0x75,\n  0x73, 0x62, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x0a, 0x45, 0x3a,\n  0x20, 0x44, 0x52, 0x49, 0x56, 0x45, 0x52, 0x3d, 0x75, 0x73, 0x62, 0x0a,\n  0x45, 0x3a, 0x20, 0x49, 0x44, 0x5f, 0x42, 0x55, 0x53, 0x3d, 0x75, 0x73,\n  0x62, 0x0a, 0x45, 0x3a, 0x20, 0x49, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x5f,\n  0x53, 0x45, 0x41, 0x54, 0x3d, 0x75, 0x73, 0x62, 0x2d, 0x70, 0x6c, 0x61,\n  0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2d, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x5f,\n  0x68, 0x63, 0x64, 0x5f, 0x30, 0x0a, 0x45, 0x3a, 0x20, 0x49, 0x44, 0x5f,\n  0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x3d, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x5f,\n  0x68, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,\n  0x6c, 0x65, 0x72, 0x0a, 0x45, 0x3a, 0x20, 0x49, 0x44, 0x5f, 0x4d, 0x4f,\n  0x44, 0x45, 0x4c, 0x5f, 0x45, 0x4e, 0x43, 0x3d, 0x44, 0x75, 0x6d, 0x6d,\n  0x79, 0x5c, 0x78, 0x32, 0x30, 0x68, 0x6f, 0x73, 0x74, 0x5c, 0x78, 0x32,\n  0x30, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x0a,\n  0x45, 0x3a, 0x20, 0x49, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x5f,\n  0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x42, 0x41, 0x53,\n  0x45, 0x3d, 0x32, 0x2e, 0x30, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x68,\n  0x75, 0x62, 0x0a, 0x45, 0x3a, 0x20, 0x49, 0x44, 0x5f, 0x4d, 0x4f, 0x44,\n  0x45, 0x4c, 0x5f, 0x49, 0x44, 0x3d, 0x30, 0x30, 0x30, 0x32, 0x0a, 0x45,\n  0x3a, 0x20, 0x49, 0x44, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x3d, 0x70, 0x6c,\n  0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2d, 0x64, 0x75, 0x6d, 0x6d, 0x79,\n  0x5f, 0x68, 0x63, 0x64, 0x2e, 0x30, 0x0a, 0x45, 0x3a, 0x20, 0x49, 0x44,\n  0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x54, 0x41, 0x47, 0x3d, 0x70, 0x6c,\n  0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2d, 0x64, 0x75, 0x6d, 0x6d, 0x79,\n  0x5f, 0x68, 0x63, 0x64, 0x5f, 0x30, 0x0a, 0x45, 0x3a, 0x20, 0x49, 0x44,\n  0x5f, 0x52, 0x45, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x3d, 0x30, 0x34,\n  0x30, 0x39, 0x0a, 0x45, 0x3a, 0x20, 0x49, 0x44, 0x5f, 0x53, 0x45, 0x52,\n  0x49, 0x41, 0x4c, 0x3d, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x5f, 0x34, 0x2e,\n  0x39, 0x2e, 0x35, 0x36, 0x2d, 0x32, 0x31, 0x2e, 0x70, 0x76, 0x6f, 0x70,\n  0x73, 0x2e, 0x71, 0x75, 0x62, 0x65, 0x73, 0x2e, 0x78, 0x38, 0x36, 0x5f,\n  0x36, 0x34, 0x5f, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x5f, 0x68, 0x63, 0x64,\n  0x5f, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f,\n  0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x64,\n  0x75, 0x6d, 0x6d, 0x79, 0x5f, 0x68, 0x63, 0x64, 0x2e, 0x30, 0x0a, 0x45,\n  0x3a, 0x20, 0x49, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x49, 0x41, 0x4c, 0x5f,\n  0x53, 0x48, 0x4f, 0x52, 0x54, 0x3d, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x5f,\n  0x68, 0x63, 0x64, 0x2e, 0x30, 0x0a, 0x45, 0x3a, 0x20, 0x49, 0x44, 0x5f,\n  0x55, 0x53, 0x42, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43,\n  0x45, 0x53, 0x3d, 0x3a, 0x30, 0x39, 0x30, 0x30, 0x30, 0x30, 0x3a, 0x0a,\n  0x45, 0x3a, 0x20, 0x49, 0x44, 0x5f, 0x56, 0x45, 0x4e, 0x44, 0x4f, 0x52,\n  0x3d, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x5f, 0x34, 0x2e, 0x39, 0x2e, 0x35,\n  0x36, 0x2d, 0x32, 0x31, 0x2e, 0x70, 0x76, 0x6f, 0x70, 0x73, 0x2e, 0x71,\n  0x75, 0x62, 0x65, 0x73, 0x2e, 0x78, 0x38, 0x36, 0x5f, 0x36, 0x34, 0x5f,\n  0x64, 0x75, 0x6d, 0x6d, 0x79, 0x5f, 0x68, 0x63, 0x64, 0x0a, 0x45, 0x3a,\n  0x20, 0x49, 0x44, 0x5f, 0x56, 0x45, 0x4e, 0x44, 0x4f, 0x52, 0x5f, 0x45,\n  0x4e, 0x43, 0x3d, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x5c, 0x78, 0x32, 0x30,\n  0x34, 0x2e, 0x39, 0x2e, 0x35, 0x36, 0x2d, 0x32, 0x31, 0x2e, 0x70, 0x76,\n  0x6f, 0x70, 0x73, 0x2e, 0x71, 0x75, 0x62, 0x65, 0x73, 0x2e, 0x78, 0x38,\n  0x36, 0x5f, 0x36, 0x34, 0x5c, 0x78, 0x32, 0x30, 0x64, 0x75, 0x6d, 0x6d,\n  0x79, 0x5f, 0x68, 0x63, 0x64, 0x0a, 0x45, 0x3a, 0x20, 0x49, 0x44, 0x5f,\n  0x56, 0x45, 0x4e, 0x44, 0x4f, 0x52, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f,\n  0x44, 0x41, 0x54, 0x41, 0x42, 0x41, 0x53, 0x45, 0x3d, 0x4c, 0x69, 0x6e,\n  0x75, 0x78, 0x20, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f,\n  0x6e, 0x0a, 0x45, 0x3a, 0x20, 0x49, 0x44, 0x5f, 0x56, 0x45, 0x4e, 0x44,\n  0x4f, 0x52, 0x5f, 0x49, 0x44, 0x3d, 0x31, 0x64, 0x36, 0x62, 0x0a, 0x45,\n  0x3a, 0x20, 0x4d, 0x41, 0x4a, 0x4f, 0x52, 0x3d, 0x31, 0x38, 0x39, 0x0a,\n  0x45, 0x3a, 0x20, 0x4d, 0x49, 0x4e, 0x4f, 0x52, 0x3d, 0x30, 0x0a, 0x45,\n  0x3a, 0x20, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x3d, 0x31, 0x64,\n  0x36, 0x62, 0x2f, 0x32, 0x2f, 0x34, 0x30, 0x39, 0x0a, 0x45, 0x3a, 0x20,\n  0x53, 0x55, 0x42, 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x3d, 0x75, 0x73,\n  0x62, 0x0a, 0x45, 0x3a, 0x20, 0x54, 0x41, 0x47, 0x53, 0x3d, 0x3a, 0x73,\n  0x65, 0x61, 0x74, 0x3a, 0x0a, 0x45, 0x3a, 0x20, 0x54, 0x59, 0x50, 0x45,\n  0x3d, 0x39, 0x2f, 0x30, 0x2f, 0x31, 0x0a, 0x41, 0x3a, 0x20, 0x61, 0x75,\n  0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x3d, 0x31, 0x0a, 0x41,\n  0x3a, 0x20, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64,\n  0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3d, 0x31, 0x0a, 0x41,\n  0x3a, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x65,\n  0x74, 0x5f, 0x71, 0x75, 0x69, 0x72, 0x6b, 0x3d, 0x30, 0x0a, 0x41, 0x3a,\n  0x20, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74,\n  0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x31, 0x0a, 0x41,\n  0x3a, 0x20, 0x62, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6c, 0x61,\n  0x73, 0x73, 0x3d, 0x30, 0x39, 0x0a, 0x41, 0x3a, 0x20, 0x62, 0x44, 0x65,\n  0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,\n  0x3d, 0x30, 0x31, 0x0a, 0x41, 0x3a, 0x20, 0x62, 0x44, 0x65, 0x76, 0x69,\n  0x63, 0x65, 0x53, 0x75, 0x62, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x30,\n  0x30, 0x0a, 0x41, 0x3a, 0x20, 0x62, 0x4d, 0x61, 0x78, 0x50, 0x61, 0x63,\n  0x6b, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x30, 0x3d, 0x36, 0x34, 0x0a,\n  0x41, 0x3a, 0x20, 0x62, 0x4d, 0x61, 0x78, 0x50, 0x6f, 0x77, 0x65, 0x72,\n  0x3d, 0x30, 0x6d, 0x41, 0x0a, 0x41, 0x3a, 0x20, 0x62, 0x4e, 0x75, 0x6d,\n  0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,\n  0x6e, 0x73, 0x3d, 0x31, 0x0a, 0x41, 0x3a, 0x20, 0x62, 0x4e, 0x75, 0x6d,\n  0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x3d, 0x20,\n  0x31, 0x0a, 0x41, 0x3a, 0x20, 0x62, 0x63, 0x64, 0x44, 0x65, 0x76, 0x69,\n  0x63, 0x65, 0x3d, 0x30, 0x34, 0x30, 0x39, 0x0a, 0x41, 0x3a, 0x20, 0x62,\n  0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x3d,\n  0x65, 0x30, 0x0a, 0x41, 0x3a, 0x20, 0x62, 0x75, 0x73, 0x6e, 0x75, 0x6d,\n  0x3d, 0x31, 0x0a, 0x41, 0x3a, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,\n  0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x0a, 0x48, 0x3a, 0x20,\n  0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x3d,\n  0x31, 0x32, 0x30, 0x31, 0x30, 0x30, 0x30, 0x32, 0x30, 0x39, 0x30, 0x30,\n  0x30, 0x31, 0x34, 0x30, 0x36, 0x42, 0x31, 0x44, 0x30, 0x32, 0x30, 0x30,\n  0x30, 0x39, 0x30, 0x34, 0x30, 0x33, 0x30, 0x32, 0x30, 0x31, 0x30, 0x31,\n  0x30, 0x39, 0x30, 0x32, 0x31, 0x39, 0x30, 0x30, 0x30, 0x31, 0x30, 0x31,\n  0x30, 0x30, 0x45, 0x30, 0x30, 0x30, 0x30, 0x39, 0x30, 0x34, 0x30, 0x30,\n  0x30, 0x30, 0x30, 0x31, 0x30, 0x39, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,\n  0x30, 0x37, 0x30, 0x35, 0x38, 0x31, 0x30, 0x33, 0x30, 0x34, 0x30, 0x30,\n  0x30, 0x43, 0x0a, 0x41, 0x3a, 0x20, 0x64, 0x65, 0x76, 0x3d, 0x31, 0x38,\n  0x39, 0x3a, 0x30, 0x0a, 0x41, 0x3a, 0x20, 0x64, 0x65, 0x76, 0x6e, 0x75,\n  0x6d, 0x3d, 0x31, 0x0a, 0x41, 0x3a, 0x20, 0x64, 0x65, 0x76, 0x70, 0x61,\n  0x74, 0x68, 0x3d, 0x30, 0x0a, 0x4c, 0x3a, 0x20, 0x64, 0x72, 0x69, 0x76,\n  0x65, 0x72, 0x3d, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f,\n  0x2e, 0x2e, 0x2f, 0x62, 0x75, 0x73, 0x2f, 0x75, 0x73, 0x62, 0x2f, 0x64,\n  0x72, 0x69, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x75, 0x73, 0x62, 0x0a, 0x41,\n  0x3a, 0x20, 0x69, 0x64, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x3d,\n  0x30, 0x30, 0x30, 0x32, 0x0a, 0x41, 0x3a, 0x20, 0x69, 0x64, 0x56, 0x65,\n  0x6e, 0x64, 0x6f, 0x72, 0x3d, 0x31, 0x64, 0x36, 0x62, 0x0a, 0x41, 0x3a,\n  0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x61,\n  0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x64, 0x65,\n  0x66, 0x61, 0x75, 0x6c, 0x74, 0x3d, 0x31, 0x0a, 0x41, 0x3a, 0x20, 0x6c,\n  0x74, 0x6d, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x3d, 0x6e,\n  0x6f, 0x0a, 0x41, 0x3a, 0x20, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63,\n  0x74, 0x75, 0x72, 0x65, 0x72, 0x3d, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x20,\n  0x34, 0x2e, 0x39, 0x2e, 0x35, 0x36, 0x2d, 0x32, 0x31, 0x2e, 0x70, 0x76,\n  0x6f, 0x70, 0x73, 0x2e, 0x71, 0x75, 0x62, 0x65, 0x73, 0x2e, 0x78, 0x38,\n  0x36, 0x5f, 0x36, 0x34, 0x20, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x5f, 0x68,\n  0x63, 0x64, 0x0a, 0x41, 0x3a, 0x20, 0x6d, 0x61, 0x78, 0x63, 0x68, 0x69,\n  0x6c, 0x64, 0x3d, 0x31, 0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65,\n  0x72, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x75, 0x72,\n  0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x32, 0x35, 0x36, 0x0a, 0x41, 0x3a,\n  0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f, 0x61, 0x73, 0x79, 0x6e, 0x63,\n  0x3d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x0a, 0x41, 0x3a, 0x20,\n  0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x75,\n  0x73, 0x70, 0x65, 0x6e, 0x64, 0x3d, 0x30, 0x0a, 0x41, 0x3a, 0x20, 0x70,\n  0x6f, 0x77, 0x65, 0x72, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x75, 0x73,\n  0x70, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d,\n  0x73, 0x3d, 0x30, 0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72,\n  0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64,\n  0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x35, 0x31, 0x31, 0x35,\n  0x38, 0x37, 0x34, 0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72,\n  0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x3d, 0x61, 0x75, 0x74,\n  0x6f, 0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f, 0x6c,\n  0x65, 0x76, 0x65, 0x6c, 0x3d, 0x61, 0x75, 0x74, 0x6f, 0x0a, 0x41, 0x3a,\n  0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69,\n  0x6d, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6b, 0x69,\n  0x64, 0x73, 0x3d, 0x30, 0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65,\n  0x72, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x63,\n  0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x3d, 0x32, 0x35,\n  0x36, 0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f, 0x72,\n  0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c,\n  0x65, 0x64, 0x3d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x0a, 0x41,\n  0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f, 0x72, 0x75, 0x6e, 0x74,\n  0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3d, 0x73,\n  0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x0a, 0x41, 0x3a, 0x20,\n  0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d,\n  0x65, 0x5f, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f,\n  0x74, 0x69, 0x6d, 0x65, 0x3d, 0x35, 0x31, 0x31, 0x35, 0x36, 0x31, 0x38,\n  0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f, 0x72, 0x75,\n  0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x3d,\n  0x30, 0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f, 0x77,\n  0x61, 0x6b, 0x65, 0x75, 0x70, 0x3d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,\n  0x65, 0x64, 0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f,\n  0x77, 0x61, 0x6b, 0x65, 0x75, 0x70, 0x5f, 0x61, 0x62, 0x6f, 0x72, 0x74,\n  0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3d, 0x0a, 0x41, 0x3a, 0x20, 0x70,\n  0x6f, 0x77, 0x65, 0x72, 0x2f, 0x77, 0x61, 0x6b, 0x65, 0x75, 0x70, 0x5f,\n  0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x3d, 0x0a, 0x41, 0x3a, 0x20, 0x70,\n  0x6f, 0x77, 0x65, 0x72, 0x2f, 0x77, 0x61, 0x6b, 0x65, 0x75, 0x70, 0x5f,\n  0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,\n  0x3d, 0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f, 0x77,\n  0x61, 0x6b, 0x65, 0x75, 0x70, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3d,\n  0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f, 0x77, 0x61,\n  0x6b, 0x65, 0x75, 0x70, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f,\n  0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3d, 0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f,\n  0x77, 0x65, 0x72, 0x2f, 0x77, 0x61, 0x6b, 0x65, 0x75, 0x70, 0x5f, 0x6c,\n  0x61, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x3d,\n  0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f, 0x77, 0x61,\n  0x6b, 0x65, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x69, 0x6d,\n  0x65, 0x5f, 0x6d, 0x73, 0x3d, 0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f, 0x77,\n  0x65, 0x72, 0x2f, 0x77, 0x61, 0x6b, 0x65, 0x75, 0x70, 0x5f, 0x70, 0x72,\n  0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x6c, 0x65, 0x65, 0x70, 0x5f,\n  0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x3d, 0x0a, 0x41, 0x3a, 0x20,\n  0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f, 0x77, 0x61, 0x6b, 0x65, 0x75, 0x70,\n  0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f,\n  0x6d, 0x73, 0x3d, 0x0a, 0x41, 0x3a, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75,\n  0x63, 0x74, 0x3d, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x20, 0x68, 0x6f, 0x73,\n  0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72,\n  0x0a, 0x41, 0x3a, 0x20, 0x71, 0x75, 0x69, 0x72, 0x6b, 0x73, 0x3d, 0x30,\n  0x78, 0x30, 0x0a, 0x41, 0x3a, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61,\n  0x62, 0x6c, 0x65, 0x3d, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x0a,\n  0x41, 0x3a, 0x20, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x3d, 0x64, 0x75,\n  0x6d, 0x6d, 0x79, 0x5f, 0x68, 0x63, 0x64, 0x2e, 0x30, 0x0a, 0x41, 0x3a,\n  0x20, 0x73, 0x70, 0x65, 0x65, 0x64, 0x3d, 0x34, 0x38, 0x30, 0x0a, 0x41,\n  0x3a, 0x20, 0x75, 0x72, 0x62, 0x6e, 0x75, 0x6d, 0x3d, 0x31, 0x38, 0x0a,\n  0x41, 0x3a, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x20,\n  0x32, 0x2e, 0x30, 0x30, 0x0a, 0x0a, 0x50, 0x3a, 0x20, 0x2f, 0x64, 0x65,\n  0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,\n  0x72, 0x6d, 0x2f, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x5f, 0x68, 0x63, 0x64,\n  0x2e, 0x30, 0x0a, 0x45, 0x3a, 0x20, 0x44, 0x52, 0x49, 0x56, 0x45, 0x52,\n  0x3d, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x5f, 0x68, 0x63, 0x64, 0x0a, 0x45,\n  0x3a, 0x20, 0x4d, 0x4f, 0x44, 0x41, 0x4c, 0x49, 0x41, 0x53, 0x3d, 0x70,\n  0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x64, 0x75, 0x6d, 0x6d,\n  0x79, 0x5f, 0x68, 0x63, 0x64, 0x0a, 0x45, 0x3a, 0x20, 0x53, 0x55, 0x42,\n  0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x3d, 0x70, 0x6c, 0x61, 0x74, 0x66,\n  0x6f, 0x72, 0x6d, 0x0a, 0x4c, 0x3a, 0x20, 0x64, 0x72, 0x69, 0x76, 0x65,\n  0x72, 0x3d, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x2e, 0x2e, 0x2f, 0x62,\n  0x75, 0x73, 0x2f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f,\n  0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x73, 0x2f, 0x64, 0x75, 0x6d, 0x6d,\n  0x79, 0x5f, 0x68, 0x63, 0x64, 0x0a, 0x41, 0x3a, 0x20, 0x64, 0x72, 0x69,\n  0x76, 0x65, 0x72, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,\n  0x3d, 0x28, 0x6e, 0x75, 0x6c, 0x6c, 0x29, 0x0a, 0x41, 0x3a, 0x20, 0x6d,\n  0x6f, 0x64, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x3d, 0x70, 0x6c, 0x61, 0x74,\n  0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x5f, 0x68,\n  0x63, 0x64, 0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f,\n  0x61, 0x73, 0x79, 0x6e, 0x63, 0x3d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c,\n  0x65, 0x64, 0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f,\n  0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x3d, 0x61, 0x75, 0x74, 0x6f,\n  0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f, 0x72, 0x75,\n  0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65,\n  0x5f, 0x6b, 0x69, 0x64, 0x73, 0x3d, 0x30, 0x0a, 0x41, 0x3a, 0x20, 0x70,\n  0x6f, 0x77, 0x65, 0x72, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65,\n  0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,\n  0x3d, 0x30, 0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f,\n  0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62,\n  0x6c, 0x65, 0x64, 0x3d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64,\n  0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f, 0x72, 0x75,\n  0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,\n  0x3d, 0x75, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64,\n  0x0a, 0x41, 0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f, 0x72, 0x75,\n  0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e,\n  0x64, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x3d, 0x30, 0x0a, 0x41,\n  0x3a, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x2f, 0x72, 0x75, 0x6e, 0x74,\n  0x69, 0x6d, 0x65, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x3d, 0x30, 0x0a,\n  0x41, 0x3a, 0x20, 0x75, 0x72, 0x62, 0x73, 0x3d, 0x0a, 0x0a\n};\nunsigned int definitions_string_len = 2866;\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Tests/Unit/test_Utility.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_CATCH2_V3\n  #include <catch_test_macros.hpp>\n#else\n  #include <catch.hpp>\n#endif\n#include <Common/Utility.cpp>\n\nusing namespace usbguard;\n\nTEST_CASE(\"parentPath\", \"[Utility]\")\n{\n  REQUIRE(parentPath(\"/a/b/c/d\") == \"/a/b/c\");\n  REQUIRE(parentPath(\"/a/b/c/d/\") == \"/a/b/c\");\n  REQUIRE(parentPath(\"/a/b/c/d//\") == \"/a/b/c\");\n  REQUIRE(parentPath(\"/a/b/c/d///\") == \"/a/b/c\");\n  REQUIRE(parentPath(\"/a/parent/child\") == \"/a/parent\");\n  REQUIRE(parentPath(\"/foo/bar\") == \"/foo\");\n  REQUIRE(parentPath(\"/foo/bar/\") == \"/foo\");\n  REQUIRE(parentPath(\"/foo/bar//\") == \"/foo\");\n  REQUIRE(parentPath(\"/foo\") == std::string());\n  REQUIRE(parentPath(\"/foo/\") == std::string());\n  REQUIRE(parentPath(\"/\") == std::string());\n  REQUIRE(parentPath(\"//\") == std::string());\n  REQUIRE(parentPath(\"///\") == std::string());\n  REQUIRE(parentPath(\"//foo\") == std::string());\n  REQUIRE(parentPath(\"//foo//\") == std::string());\n  REQUIRE(parentPath(\"\") == std::string());\n  REQUIRE(parentPath(std::string()) == std::string());\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/Tests/UseCase/000_executable.sh",
    "content": "#!/bin/bash\n#\n#\n# Copyright (C) 2016 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Daniel Kopecek <dkopecek@redhat.com>\n#\n# Test whether the binaries are executable as expected (no linker errors, etc.)\n#\nsource \"${USBGUARD_TESTLIB_BASH}\" || exit 129\n\nschedule \"${USBGUARD}\"\nschedule \"${USBGUARD}\" :valgrind\n\nschedule \"${USBGUARD_DAEMON} -h\"\nschedule \"${USBGUARD_DAEMON} -h\" :valgrind\n\n[ -f \"${USBGUARD_DBUS}\" ] && schedule \"${USBGUARD_DBUS} -h\"\n[ -f \"${USBGUARD_DBUS}\" ] && schedule \"${USBGUARD_DBUS} -h\" :valgrind\n\nexecute 10\n"
  },
  {
    "path": "src/Tests/UseCase/001_cli_policy.sh",
    "content": "#!/bin/bash\n#\n#\n# Copyright (C) 2016 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Daniel Kopecek <dkopecek@redhat.com>\n#\n# Test the generation of policy based on umockdev.\n#\nsource \"${USBGUARD_TESTLIB_BASH}\" || exit 129\n\n#\n# Skip the test if the kernel doesn't export the USB\n# device directory.\n#\n[ -d \"/sys/bus/usb/devices\" ] || exit 77\n\n# Skip if udevmock-wrapper is not available\ncommand -v umockdev-wrapper || exit 77\n\n#set -x\n\n# TODO? Move to testlib\nexport USBGUARD_TESTLIB_TMPDIR=\"$(mktemp -d --tmpdir usbguard-test.XXXXXX)\"\n\nexport config_path=\"${USBGUARD_TESTLIB_TMPDIR}/daemon.conf\"\nexport policy_path=\"${USBGUARD_TESTLIB_TMPDIR}/policy.conf\"\n\nfunction test_cli_policy()\n{\n  set -e\n  sleep 4\n  \n  c=$(${USBGUARD} list-rules | wc -l)\n  # TODO [ $c -eq 0 ] || return 1\n\n  ${USBGUARD} append-rule block\n  \n  c=$(${USBGUARD} list-rules | wc -l)\n  # TODO [ $c -eq 1 ] || return 1\n\n  ${USBGUARD} remove-rule 1\n  \n  c=$(${USBGUARD} list-rules | wc -l)\n  # TODO [ $c -eq 0 ] || return 1\n\n  ${USBGUARD} generate-policy\n  ${USBGUARD} generate-policy -p\n  ${USBGUARD} generate-policy -P\n  ${USBGUARD} generate-policy -t block\n  ${USBGUARD} generate-policy -t allow\n  ${USBGUARD} generate-policy -t reject\n  ${USBGUARD} generate-policy -X\n  ${USBGUARD} generate-policy -H\n  ${USBGUARD} generate-policy -h\n\n  set +e\n  return 0\n}\n\ncat > \"$config_path\" <<EOF\nRuleFile=$policy_path\nImplicitPolicyTarget=block\nPresentDevicePolicy=keep\nPresentControllerPolicy=keep\nInsertedDevicePolicy=apply-policy\nRestoreControllerDeviceState=false\nDeviceManagerBackend=umockdev\nIPCAllowedUsers=$(id -un)\nIPCAllowedGroups=$(id -gn)\nDeviceRulesWithPort=false\nEOF\n\ncat > \"$policy_path\" <<EOF\nEOF\n\nexport USBGUARD_UMOCKDEV_DEVICEDIR=/tmp/usbguard-dummy\n\nrm -rf \"$USBGUARD_UMOCKDEV_DEVICEDIR\"\nmkdir -p \"$USBGUARD_UMOCKDEV_DEVICEDIR\"\n\nschedule \"umockdev-wrapper ${USBGUARD_DAEMON} -d -k -P -c $config_path\" :service\nschedule \"test_cli_policy\"\nexecute 60\n"
  },
  {
    "path": "src/Tests/UseCase/002_cli_devices.sh",
    "content": "#!/bin/bash\n#\n#\n# Copyright (C) 2016 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Daniel Kopecek <dkopecek@redhat.com>\n#\n# Test the authorization of devices using the kernel g_mass_storage and\n# dummy_hcd modules. This test must be run by a user that can elevate\n# their privileges using sudo.\n#\nsource \"${USBGUARD_TESTLIB_BASH}\" || exit 129\n\n#\n# Skip the test if the kernel doesn't export the USB\n# device directory.\n#\n[ -d \"/sys/bus/usb/devices\" ] || exit 77\n\n#set -x\n\n# TODO? Move to testlib\nexport USBGUARD_TESTLIB_TMPDIR=\"$(mktemp -d --tmpdir usbguard-test.XXXXXX)\"\n\nexport config_path=\"${USBGUARD_TESTLIB_TMPDIR}/daemon.conf\"\nexport policy_path=\"${USBGUARD_TESTLIB_TMPDIR}/policy.conf\"\n\nfunction test_cli_devices()\n{\n  set -e\n  sleep 4\n\n  ${USBGUARD} list-devices\n  ${USBGUARD} list-devices -a\n  ${USBGUARD} list-devices -b\n\n  local id=\"$(${USBGUARD} list-devices | sed -n 's|^\\([0-9]\\+\\):.*serial \"555666111\".*$|\\1|p')\"\n\n  if [ -z \"$id\" ]; then\n    echo \"Test error: Unable to find/parse device ID\"\n    exit 1\n  fi\n\n  ${USBGUARD} block-device \"$id\"\n  ${USBGUARD} allow-device \"$id\"\n  ${USBGUARD} block-device \"$id\"\n  ${USBGUARD} reject-device \"$id\"\n\n  set +e\n  return 0\n}\n\ncat > \"$config_path\" <<EOF\nRuleFile=$policy_path\nImplicitPolicyTarget=allow\nPresentDevicePolicy=allow\nPresentControllerPolicy=allow\nInsertedDevicePolicy=apply-policy\nRestoreControllerDeviceState=false\nDeviceManagerBackend=uevent\nIPCAllowedUsers=$(id -un)\nIPCAllowedGroups=$(id -gn)\nDeviceRulesWithPort=false\nEOF\n\ncat > \"$policy_path\" <<EOF\nEOF\n\n# Create a dummy USB mass storage device\nsudo -n dd bs=4096 count=1 if=/dev/zero of=/tmp/usbguard_disk\nsudo -n modprobe dummy_hcd || exit 77 # Skip test if dummy_hcd is missing\nsudo -n rmmod g_mass_storage\nsudo -n modprobe g_mass_storage file=/tmp/usbguard_disk iSerialNumber=555666111\n\n# Skip test if device creation fails\nif [ $? -ne 0 ]; then\n  exit 77\nfi\n\nschedule \"${USBGUARD_DAEMON} -d -P -k -c $config_path\" :service:sudo\nschedule \"test_cli_devices\"\nexecute 60\nretval=$?\nsudo -n rmmod g_mass_storage\n#sudo -n rmmod dummy_hcd\nexit $retval\n"
  },
  {
    "path": "src/Tests/UseCase/003_cli_devices_umockdev.sh",
    "content": "#!/bin/bash\n#\n# Copyright (C) 2018 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Daniel Kopecek <dkopecek@redhat.com>\n#\n# Test the authorization of devices using umockdev.\n#\nsource \"${USBGUARD_TESTLIB_BASH}\" || exit 129\n\n# Skip if udevmock-wrapper is not available\ncommand -v umockdev-wrapper || exit 77\n\n#set -x\n\n# TODO? Move to testlib\nexport USBGUARD_TESTLIB_TMPDIR=\"$(mktemp -d --tmpdir usbguard-test.XXXXXX)\"\n\nexport config_path=\"${USBGUARD_TESTLIB_TMPDIR}/daemon.conf\"\nexport policy_path=\"${USBGUARD_TESTLIB_TMPDIR}/policy.conf\"\n\nfunction test_cli_devices()\n{\n  set -e\n  sleep 4\n\n  export USBGUARD_DEBUG=1\n  \n  ${USBGUARD} list-devices\n  ${USBGUARD} list-devices -a\n  ${USBGUARD} list-devices -b\n\n  local id_dock=\"$(${USBGUARD} list-devices | sed -n 's|^\\([0-9]\\+\\):.*hash \"2y2qS3rcuMr1Ye5knWsbD8CGzPtrs+eiRR/haro7+Ng=\".*$|\\1|p')\"\n\n  if [ -z \"$id_dock\" ]; then\n    echo \"Test error: Unable to parse device ID (test line ${LINENO})\"\n    exit 1\n  fi\n\n\n  ${USBGUARD} block-device \"$id_dock\"\n  ${USBGUARD} allow-device \"$id_dock\"\n  sleep 1\n\n  local id_dock_child=\"$(${USBGUARD} list-devices | sed -n 's|^\\([0-9]\\+\\):.*hash \"D3deklX12Ir3kJPfUZ5AQNwHeZn1bwtPkQkw6e+8B38=\".*$|\\1|p')\"\n  \n  if [ -z \"$id_dock_child\" ]; then\n    echo \"Test error: Unable to parse device ID (test line ${LINENO})\"\n    exit 1\n  fi\n\n  ${USBGUARD} block-device \"$id_dock_child\"\n  ${USBGUARD} block-device \"$id_dock\"\n  ${USBGUARD} allow-device \"$id_dock\"\n  sleep 1\n\n  local id_dock_child=\"$(${USBGUARD} list-devices | sed -n 's|^\\([0-9]\\+\\):.*hash \"D3deklX12Ir3kJPfUZ5AQNwHeZn1bwtPkQkw6e+8B38=\".*$|\\1|p')\"\n  \n  if [ -z \"$id_dock_child\" ]; then\n    echo \"Test error: Unable to parse device ID (test line ${LINENO})\"\n    exit 1\n  fi\n\n  ${USBGUARD} allow-device \"$id_dock_child\"\n  ${USBGUARD} list-devices\n\n  set +e\n  return 0\n}\n\ncat > \"$config_path\" <<EOF\nRuleFile=$policy_path\nImplicitPolicyTarget=block\nPresentDevicePolicy=apply-policy\nPresentControllerPolicy=allow\nInsertedDevicePolicy=apply-policy\nRestoreControllerDeviceState=false\nDeviceManagerBackend=umockdev\nIPCAllowedUsers=$(id -un)\nIPCAllowedGroups=$(id -gn)\nDeviceRulesWithPort=false\nEOF\n\ncat > \"$policy_path\" <<EOF\nEOF\n\nexport USBGUARD_UMOCKDEV_DEVICEDIR=/tmp/usbguard-dummy\n\nrm -rf \"$USBGUARD_UMOCKDEV_DEVICEDIR\"\nmkdir -p \"$USBGUARD_UMOCKDEV_DEVICEDIR\"\ncp \"${srcdir}/src/Tests/UseCase/devices.umockdev\" \"${USBGUARD_UMOCKDEV_DEVICEDIR}\"\n\nschedule \"umockdev-wrapper ${USBGUARD_DAEMON} -d -k -P -c $config_path\" :service\nschedule \"test_cli_devices\"\nexecute 60\nretval=$?\n\nrm -rf \"$USBGUARD_UMOCKDEV_DEVICEDIR\"\n\nexit $retval\n"
  },
  {
    "path": "src/Tests/UseCase/004_daemonize.sh",
    "content": "#!/bin/bash\n#\n#\n# Copyright (C) 2016 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Jiri Vymazal <jvymazal@redhat.com>\n#\n# Test the execution of the daemon with an empty configuration.\n#\nsource \"${USBGUARD_TESTLIB_BASH}\" || exit 129\n\n# TODO? Move to testlib\nexport USBGUARD_TESTLIB_TMPDIR=\"$(mktemp -d --tmpdir usbguard-test.XXXXXX)\"\n\nexport config_path=\"${USBGUARD_TESTLIB_TMPDIR}/daemon.conf\"\nexport pidfile_path=\"${USBGUARD_TESTLIB_TMPDIR}/usbguard.pid\"\nexport logfile=\"${USBGUARD_TESTLIB_TMPDIR}/daemon.log\"\n\nfunction test_cli_daemonize()\n{\n  sleep 5\n\n  if [ ! -f \"$pidfile_path\" ]; then\n    echo \"Test error: PID file for usbguard not present\"\n    exit 1\n  fi\n\n  if [ ! `pgrep usbguard` == `cat $pidfile_path` ]; then\n    echo \"Test error: PID of usbguard daemon not present in PID file\"\n    exit 1\n  fi\n}\n\ncat > \"$config_path\" <<EOF\nEOF\n\nschedule \"${USBGUARD_DAEMON} -f -p $pidfile_path -d -P -l $logfile -c $config_path\" :service\nschedule \"test_cli_daemonize\"\nexecute 20\nretval=$?\ncat $pidfile_path | xargs kill -9\nexit $retval\n"
  },
  {
    "path": "src/Tests/UseCase/005_cli_devices_advanced.sh",
    "content": "#!/bin/bash\n#\n# Copyright (C) 2020 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Attila Lakatos <alakatos@redhat.com>\n#\n# Test CLI apply-device-policy.\n#\nsource \"${USBGUARD_TESTLIB_BASH}\" || exit 129\n\n# Skip if udevmock-wrapper is not available\ncommand -v umockdev-wrapper || exit 77\n\n#set -x\n\n# TODO? Move to testlib\nexport USBGUARD_TESTLIB_TMPDIR=\"$(mktemp -d --tmpdir usbguard-test.XXXXXX)\"\n\nexport config_path=\"${USBGUARD_TESTLIB_TMPDIR}/daemon.conf\"\nexport policy_path=\"${USBGUARD_TESTLIB_TMPDIR}/policy.conf\"\n\n\nfunction test_cli_devices_advanced()\n{\n  set -e\n  sleep 4\n\n  export USBGUARD_DEBUG=1\n\n  ${USBGUARD} list-devices\n  ${USBGUARD} list-devices -a\n  ${USBGUARD} list-devices -b\n\n\n  #\n  # Test case: usbguard (allow|block|reject)-device rule is specified in multiple arguments\n  #\n  ${USBGUARD} allow-device allow\n  ${USBGUARD} allow-device block\n\n  ${USBGUARD} allow-device match name \\\"Test\\\"\n  ${USBGUARD} block-device match name \\\"Test\\\"\n  ${USBGUARD} reject-device match name \\\"Test\\\"\n  ${USBGUARD} allow-device match id 4321:\"*\"\n  ${USBGUARD} block-device match id 4321:\"*\"\n  ${USBGUARD} reject-device match id 4321:\"*\"\n  ${USBGUARD} allow-device match id 1532:006e serial \\\"\\\" name \\\"Razer DeathAdder Essential\\\" via-port \\\"1-4.4.3\\\" with-interface \\{ 03:01:02 03:00:01 03:00:01 \\} with-connect-type \\\"unknown\\\"\n\n\n  #\n  # Test case: usbguard (allow|block|reject)-device partial rule is specified in multiple arguments\n  #\n  ${USBGUARD} allow-device name \\\"Test\\\"\n  ${USBGUARD} block-device name \\\"Test\\\"\n  ${USBGUARD} reject-device name \\\"Test\\\"\n  ${USBGUARD} allow-device id 4321:\"*\"\n  ${USBGUARD} block-device id 4321:\"*\"\n  ${USBGUARD} reject-device id 4321:\"*\"\n  ${USBGUARD} allow-device id 1532:006e serial \\\"\\\" name \\\"Razer DeathAdder Essential\\\" via-port \\\"1-4.4.3\\\" with-interface \\{ 03:01:02 03:00:01 03:00:01 \\} with-connect-type \\\"unknown\\\"\n\n\n  #\n  # Test case: usbguard (allow|block|reject)-device rule is specified in one argument\n  #\n  ${USBGUARD} allow-device 'match name \"Test\"'\n  ${USBGUARD} block-device 'match name \"Test\"'\n  ${USBGUARD} reject-device 'match name \"Test\"'\n  ${USBGUARD} allow-device 'match id 4321:*'\n  ${USBGUARD} block-device 'match id 4321:*'\n  ${USBGUARD} reject-device 'match id 4321:*'\n  ${USBGUARD} allow-device 'match id 1532:006e serial \"\" name \"Razer DeathAdder Essential\" via-port \"1-4.4.3\" with-interface { 03:01:02 03:00:01 03:00:01 } with-connect-type \"unknown\"'\n\n  set +e\n  return 0\n}\n\ncat > \"$config_path\" <<EOF\nRuleFile=$policy_path\nImplicitPolicyTarget=block\nPresentDevicePolicy=apply-policy\nPresentControllerPolicy=allow\nInsertedDevicePolicy=apply-policy\nRestoreControllerDeviceState=false\nDeviceManagerBackend=umockdev\nIPCAllowedUsers=$(id -un)\nIPCAllowedGroups=$(id -gn)\nDeviceRulesWithPort=false\nEOF\n\ncat > \"$policy_path\" <<EOF\nEOF\n\nexport USBGUARD_UMOCKDEV_DEVICEDIR=/tmp/usbguard-dummy\n\nrm -rf \"$USBGUARD_UMOCKDEV_DEVICEDIR\"\nmkdir -p \"$USBGUARD_UMOCKDEV_DEVICEDIR\"\ncp \"${srcdir}/src/Tests/UseCase/devices.umockdev\" \"${USBGUARD_UMOCKDEV_DEVICEDIR}\"\n\nschedule \"umockdev-wrapper ${USBGUARD_DAEMON} -d -k -P -c $config_path\" :service\nschedule \"test_cli_devices_advanced\"\nexecute 60\nretval=$?\n\nrm -rf \"$USBGUARD_UMOCKDEV_DEVICEDIR\"\n\nexit $retval\n"
  },
  {
    "path": "src/Tests/UseCase/devices.umockdev",
    "content": "P: /devices/pci0000:00/0000:00:14.0/usb1\nN: bus/usb/001/001=12010002090001406B1D020015040302010109021900010100E0000904000001090000000705810304000C\nE: BUSNUM=001\nE: DEVNAME=/dev/bus/usb/001/001\nE: DEVNUM=001\nE: DEVTYPE=usb_device\nE: DRIVER=usb\nE: ID_BUS=usb\nE: ID_FOR_SEAT=usb-pci-0000_00_14_0\nE: ID_MODEL=xHCI_Host_Controller\nE: ID_MODEL_ENC=xHCI\\x20Host\\x20Controller\nE: ID_MODEL_FROM_DATABASE=2.0 root hub\nE: ID_MODEL_ID=0002\nE: ID_PATH=pci-0000:00:14.0\nE: ID_PATH_TAG=pci-0000_00_14_0\nE: ID_REVISION=0415\nE: ID_SERIAL=Linux_4.15.16-200.fc26.x86_64_xhci-hcd_xHCI_Host_Controller_0000:00:14.0\nE: ID_SERIAL_SHORT=0000:00:14.0\nE: ID_USB_INTERFACES=:090000:\nE: ID_VENDOR=Linux_4.15.16-200.fc26.x86_64_xhci-hcd\nE: ID_VENDOR_ENC=Linux\\x204.15.16-200.fc26.x86_64\\x20xhci-hcd\nE: ID_VENDOR_FROM_DATABASE=Linux Foundation\nE: ID_VENDOR_ID=1d6b\nE: MAJOR=189\nE: MINOR=0\nE: PRODUCT=1d6b/2/415\nE: SUBSYSTEM=usb\nE: TAGS=:seat:\nE: TYPE=9/0/1\nA: authorized=1\nA: authorized_default=0\nA: avoid_reset_quirk=0\nA: bConfigurationValue=1\nA: bDeviceClass=09\nA: bDeviceProtocol=01\nA: bDeviceSubClass=00\nA: bMaxPacketSize0=64\nA: bMaxPower=0mA\nA: bNumConfigurations=1\nA: bNumInterfaces= 1\nA: bcdDevice=0415\nA: bmAttributes=e0\nA: busnum=1\nA: configuration=\nH: descriptors=12010002090001406B1D020015040302010109021900010100E0000904000001090000000705810304000C\nA: dev=189:0\nA: devnum=1\nA: devpath=0\nL: driver=../../../../bus/usb/drivers/usb\nA: idProduct=0002\nA: idVendor=1d6b\nA: interface_authorized_default=1\nA: ltm_capable=no\nA: manufacturer=Linux 4.15.16-200.fc26.x86_64 xhci-hcd\nA: maxchild=16\nA: product=xHCI Host Controller\nA: quirks=0x0\nA: removable=unknown\nA: serial=0000:00:14.0\nA: speed=480\nA: urbnum=35384\nA: version= 2.00\n\nP: /devices/pci0000:00/0000:00:14.0\nE: DRIVER=xhci_hcd\nE: ID_MODEL_FROM_DATABASE=Sunrise Point-H USB 3.0 xHCI Controller\nE: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller\nE: ID_PCI_INTERFACE_FROM_DATABASE=XHCI\nE: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller\nE: ID_VENDOR_FROM_DATABASE=Intel Corporation\nE: MODALIAS=pci:v00008086d0000A12Fsv000017AAsd0000222Ebc0Csc03i30\nE: PCI_CLASS=C0330\nE: PCI_ID=8086:A12F\nE: PCI_SLOT_NAME=0000:00:14.0\nE: PCI_SUBSYS_ID=17AA:222E\nE: SUBSYSTEM=pci\nA: broken_parity_status=0\nA: class=0x0c0330\nH: config=86802FA1060490023130030C00008000040042C4000000000000000000000000000000000000000000000000AA172E220000000070000000000000000A010000\nA: consistent_dma_mask_bits=64\nA: d3cold_allowed=1\nA: device=0xa12f\nA: dma_mask_bits=64\nL: driver=../../../bus/pci/drivers/xhci_hcd\nA: driver_override=(null)\nA: enable=1\nA: irq=127\nA: local_cpulist=0-7\nA: local_cpus=ff\nA: modalias=pci:v00008086d0000A12Fsv000017AAsd0000222Ebc0Csc03i30\nA: msi_bus=1\nA: numa_node=-1\nA: pools=poolinfo - 0.1\\nbuffer-2048         0    0 2048  0\\nbuffer-512          0    0  512  0\\nbuffer-128          0   32  128  1\\nbuffer-32           0    0   32  0\\nxHCI 1KB stream ctx arrays    0    0 1024  0\\nxHCI 256 byte stream ctx arrays    0    0  256  0\\nxHCI input/output contexts   17   19 2112 19\\nxHCI ring segments   36   46 4096 46\\nbuffer-2048         0    0 2048  0\\nbuffer-512          0    0  512  0\\nbuffer-128          9   32  128  1\\nbuffer-32           0    0   32  0\nA: resource=0x00000000c4420000 0x00000000c442ffff 0x0000000000140204\\n0x0000000000000000 0x0000000000000000 0x0000000000000000\\n0x0000000000000000 0x0000000000000000 0x0000000000000000\\n0x0000000000000000 0x0000000000000000 0x0000000000000000\\n0x0000000000000000 0x0000000000000000 0x0000000000000000\\n0x0000000000000000 0x0000000000000000 0x0000000000000000\\n0x0000000000000000 0x0000000000000000 0x0000000000000000\\n0x0000000000000000 0x0000000000000000 0x0000000000000000\\n0x0000000000000000 0x0000000000000000 0x0000000000000000\\n0x0000000000000000 0x0000000000000000 0x0000000000000000\\n0x0000000000000000 0x0000000000000000 0x0000000000000000\\n0x0000000000000000 0x0000000000000000 0x0000000000000000\\n0x0000000000000000 0x0000000000000000 0x0000000000000000\nA: revision=0x31\nA: subsystem_device=0x222e\nA: subsystem_vendor=0x17aa\nA: vendor=0x8086\n\nP: /devices/pci0000:00/0000:00:14.0/usb1/1-4\nN: bus/usb/001/002=1201100209000140EF175A3010500102000109021900010100E0000904000001090000000705810301000C\nE: BUSNUM=001\nE: DEVNAME=/dev/bus/usb/001/002\nE: DEVNUM=002\nE: DEVTYPE=usb_device\nE: DRIVER=usb\nE: ID_BUS=usb\nE: ID_FOR_SEAT=usb-pci-0000_00_14_0-usb-0_4\nE: ID_MODEL=Lenovo_ThinkPad_WS_Dock\nE: ID_MODEL_ENC=Lenovo\\x20ThinkPad\\x20WS\\x20Dock\nE: ID_MODEL_ID=305a\nE: ID_PATH=pci-0000:00:14.0-usb-0:4\nE: ID_PATH_TAG=pci-0000_00_14_0-usb-0_4\nE: ID_REVISION=5010\nE: ID_SERIAL=LENOVO_Lenovo_ThinkPad_WS_Dock\nE: ID_USB_INTERFACES=:090000:\nE: ID_VENDOR=LENOVO\nE: ID_VENDOR_ENC=LENOVO\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\nE: ID_VENDOR_FROM_DATABASE=Lenovo\nE: ID_VENDOR_ID=17ef\nE: MAJOR=189\nE: MINOR=1\nE: PRODUCT=17ef/305a/5010\nE: SUBSYSTEM=usb\nE: TAGS=:seat:\nE: TYPE=9/0/1\nA: authorized=1\nA: avoid_reset_quirk=0\nA: bConfigurationValue=1\nA: bDeviceClass=09\nA: bDeviceProtocol=01\nA: bDeviceSubClass=00\nA: bMaxPacketSize0=64\nA: bMaxPower=0mA\nA: bNumConfigurations=1\nA: bNumInterfaces= 1\nA: bcdDevice=5010\nA: bmAttributes=e0\nA: busnum=1\nA: configuration=\nH: descriptors=1201100209000140EF175A3010500102000109021900010100E0000904000001090000000705810301000C\nA: dev=189:1\nA: devnum=2\nA: devpath=4\nL: driver=../../../../../bus/usb/drivers/usb\nA: idProduct=305a\nA: idVendor=17ef\nA: ltm_capable=no\nA: manufacturer=LENOVO\nA: maxchild=4\nL: port=../1-0:1.0/usb1-port4\nA: product=Lenovo ThinkPad WS Dock\nA: quirks=0x0\nA: removable=fixed\nA: speed=480\nA: urbnum=70\nA: version= 2.10\n\nP: /devices/pci0000:00/0000:00:14.0/usb1/1-8\nN: bus/usb/001/003\nE: BUSNUM=001\nE: DEVNAME=/dev/bus/usb/001/003\nE: DEVNUM=003\nE: DEVTYPE=usb_device\nE: DRIVER=usb\nE: ID_BUS=usb\nE: ID_MODEL=Integrated_Camera\nE: ID_MODEL_ENC=Integrated\\x20Camera\nE: ID_MODEL_ID=0706\nE: ID_REVISION=0012\nE: ID_SERIAL=SunplusIT_Inc_Integrated_Camera\nE: ID_USB_INTERFACES=:0e0100:0e0200:\nE: ID_VENDOR=SunplusIT_Inc\nE: ID_VENDOR_ENC=SunplusIT\\x20Inc\nE: ID_VENDOR_FROM_DATABASE=Acer, Inc\nE: ID_VENDOR_ID=5986\nE: MAJOR=189\nE: MINOR=2\nE: PRODUCT=5986/706/12\nE: SUBSYSTEM=usb\nE: TYPE=239/2/1\nA: authorized=1\nA: avoid_reset_quirk=0\nA: bConfigurationValue=1\nA: bDeviceClass=ef\nA: bDeviceProtocol=01\nA: bDeviceSubClass=02\nA: bMaxPacketSize0=64\nA: bMaxPower=500mA\nA: bNumConfigurations=1\nA: bNumInterfaces= 2\nA: bcdDevice=0012\nA: bmAttributes=80\nA: busnum=1\nA: configuration=\nH: descriptors=12010002EF0201408659060712000102000109023E0402010080FA080B00020E03000409040000010E0100040D240100016D00006CDC0201011224020101020000000000000000030E00000B240502010040027F15001D2406035A10B82613077048979DDA79444BB68E0101020404000000001D240604820661637050AB49B8CCB3855E8D221D20010304FFFF71000009240305010100040007058703100008052503050409040100000E0200000F240102F2028100050201000100041B240401095955593200001000800000AA00389B7110010000000022240501008002E001000065040000CA08006009001516050002151605002A2C0A0022240502004001B40000F0D20000E0A50100C201001516050002151605002A2C0A0022240503004001F0000040190100803202005802001516050002151605002A2C0A00222405040060012001004073010080E602001803001516050002151605002A2C0A002224050500A801F00000A874010050E902001B03001516050002151605002A2C0A0022240506008002680100C04B0300809706000807001516050002151605002A2C0A001E240507005003E0010080C3070080C307006C0C0020A107000120A107001E24050800C0031C0200706A0700706A0700D20F002A2C0A00012A2C0A001E240509000005D0020000CA080000CA0800201C0040420F000140420F002B240300098002E0014001B4004001F00060012001A801F000800268015003E001C0031C020005D002010106240D0101040B2406020901010000000022240701008002E001000065040000CA08006009001516050002151605002A2C0A0022240702004001B40000F0D20000E0A50100C201001516050002151605002A2C0A0022240703004001F0000040190100803202005802001516050002151605002A2C0A00222407040060012001004073010080E602001803001516050002151605002A2C0A002224070500A801F00000A874010050E902001B03001516050002151605002A2C0A0022240706008002680100C04B0300809706000807001516050002151605002A2C0A0022240707005003E00100A0D2050040A50B006C0C001516050002151605002A2C0A002224070800C0031C0200706A0700E0D40E00D20F001516050002151605002A2C0A0022240709000005D00200002F0D00005E1A00201C001516050002151605002A2C0A002E240300098002E0014001B4004001F00060012001A801F000800268015003E001C0031C020005D0020401050A1406240D01010409040101010E02000007058105C0000109040102010E0200000705810580010109040103010E0200000705810500020109040104010E0200000705810580020109040105010E0200000705810520030109040106010E02000007058105B0030109040107010E02000007058105800A0109040108010E02000007058105200B0109040109010E02000007058105E00B010904010A010E02000007058105C013010904010B010E02000007058105FC1301\nA: dev=189:2\nA: devnum=3\nA: devpath=8\nL: driver=../../../../../bus/usb/drivers/usb\nA: idProduct=0706\nA: idVendor=5986\nA: ltm_capable=no\nA: manufacturer=SunplusIT Inc\nA: maxchild=0\nL: port=../1-0:1.0/usb1-port8\nA: product=Integrated Camera\nA: quirks=0x0\nA: removable=fixed\nA: speed=480\nA: urbnum=11104089\nA: version= 2.00\n\nP: /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.1\nN: bus/usb/001/004=1201000209000240E305140697010001000109022900010100E0320904000001090001000705810301000C0904000101090002000705810301000C\nE: BUSNUM=001\nE: DEVNAME=/dev/bus/usb/001/004\nE: DEVNUM=004\nE: DEVTYPE=usb_device\nE: DRIVER=usb\nE: ID_BUS=usb\nE: ID_FOR_SEAT=usb-pci-0000_00_14_0-usb-0_4_1\nE: ID_MODEL=USB2.0_Hub_Charger\nE: ID_MODEL_ENC=USB2.0\\x20Hub\\x20Charger\nE: ID_MODEL_ID=0614\nE: ID_PATH=pci-0000:00:14.0-usb-0:4.1\nE: ID_PATH_TAG=pci-0000_00_14_0-usb-0_4_1\nE: ID_REVISION=0197\nE: ID_SERIAL=05e3_USB2.0_Hub_Charger\nE: ID_USB_INTERFACES=:090001:090002:\nE: ID_VENDOR=05e3\nE: ID_VENDOR_ENC=05e3\nE: ID_VENDOR_FROM_DATABASE=Genesys Logic, Inc.\nE: ID_VENDOR_ID=05e3\nE: MAJOR=189\nE: MINOR=3\nE: PRODUCT=5e3/614/197\nE: SUBSYSTEM=usb\nE: TAGS=:seat:\nE: TYPE=9/0/2\nA: authorized=1\nA: avoid_reset_quirk=0\nA: bConfigurationValue=1\nA: bDeviceClass=09\nA: bDeviceProtocol=02\nA: bDeviceSubClass=00\nA: bMaxPacketSize0=64\nA: bMaxPower=100mA\nA: bNumConfigurations=1\nA: bNumInterfaces= 1\nA: bcdDevice=0197\nA: bmAttributes=e0\nA: busnum=1\nA: configuration=\nH: descriptors=1201000209000240E305140697010001000109022900010100E0320904000001090001000705810301000C0904000101090002000705810301000C\nA: dev=189:3\nA: devnum=4\nA: devpath=4.1\nL: driver=../../../../../../bus/usb/drivers/usb\nA: idProduct=0614\nA: idVendor=05e3\nA: ltm_capable=no\nA: maxchild=4\nL: port=../1-4:1.0/1-4-port1\nA: product=USB2.0 Hub Charger\nA: quirks=0x0\nA: removable=unknown\nA: speed=480\nA: urbnum=29\nA: version= 2.00\n\nP: /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.2\nN: bus/usb/001/005=12010002000000087D04482000060102000109022200010100A0320904000001030102000921110100012252000705810308000A\nE: BUSNUM=001\nE: DEVNAME=/dev/bus/usb/001/005\nE: DEVNUM=005\nE: DEVTYPE=usb_device\nE: DRIVER=usb\nE: ID_BUS=usb\nE: ID_MODEL=Kensington_Eagle_Trackball\nE: ID_MODEL_ENC=Kensington\\x20Eagle\\x20Trackball\nE: ID_MODEL_FROM_DATABASE=Orbit Trackball with Scroll Ring\nE: ID_MODEL_ID=2048\nE: ID_REVISION=0600\nE: ID_SERIAL=Primax_Kensington_Eagle_Trackball\nE: ID_USB_INTERFACES=:030102:\nE: ID_VENDOR=Primax\nE: ID_VENDOR_ENC=Primax\nE: ID_VENDOR_FROM_DATABASE=Kensington\nE: ID_VENDOR_ID=047d\nE: MAJOR=189\nE: MINOR=4\nE: PRODUCT=47d/2048/600\nE: SUBSYSTEM=usb\nE: TYPE=0/0/0\nA: authorized=1\nA: avoid_reset_quirk=0\nA: bConfigurationValue=1\nA: bDeviceClass=00\nA: bDeviceProtocol=00\nA: bDeviceSubClass=00\nA: bMaxPacketSize0=8\nA: bMaxPower=100mA\nA: bNumConfigurations=1\nA: bNumInterfaces= 1\nA: bcdDevice=0600\nA: bmAttributes=a0\nA: busnum=1\nA: configuration=\nH: descriptors=12010002000000087D04482000060102000109022200010100A0320904000001030102000921110100012252000705810308000A\nA: dev=189:4\nA: devnum=5\nA: devpath=4.2\nL: driver=../../../../../../bus/usb/drivers/usb\nA: idProduct=2048\nA: idVendor=047d\nA: ltm_capable=no\nA: manufacturer=Primax\nA: maxchild=0\nL: port=../1-4:1.0/1-4-port2\nA: product=Kensington Eagle Trackball\nA: quirks=0x0\nA: removable=unknown\nA: speed=1.5\nA: urbnum=5227095\nA: version= 2.00\n\nP: /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.1/1-4.1.3\nN: bus/usb/001/006=12010002000000081111111120020102000109023B00020100A032090400000103010100092100010001225B00070581030F0001090401000103010000092100010001226A0007058203040001\nE: BUSNUM=001\nE: DEVNAME=/dev/bus/usb/001/006\nE: DEVNUM=006\nE: DEVTYPE=usb_device\nE: DRIVER=usb\nE: ID_BUS=usb\nE: ID_MODEL=Ergo_Pro_Keyboard\nE: ID_MODEL_ENC=Ergo\\x20Pro\\x20Keyboard\nE: ID_MODEL_ID=1111\nE: ID_REVISION=0220\nE: ID_SERIAL=Matias_Ergo_Pro_Keyboard\nE: ID_USB_INTERFACES=:030101:030100:\nE: ID_VENDOR=Matias\nE: ID_VENDOR_ENC=Matias\nE: ID_VENDOR_FROM_DATABASE=Pandora International Ltd.\nE: ID_VENDOR_ID=1111\nE: MAJOR=189\nE: MINOR=5\nE: PRODUCT=1111/1111/220\nE: SUBSYSTEM=usb\nE: TYPE=0/0/0\nA: authorized=1\nA: avoid_reset_quirk=0\nA: bConfigurationValue=1\nA: bDeviceClass=00\nA: bDeviceProtocol=00\nA: bDeviceSubClass=00\nA: bMaxPacketSize0=8\nA: bMaxPower=100mA\nA: bNumConfigurations=1\nA: bNumInterfaces= 2\nA: bcdDevice=0220\nA: bmAttributes=a0\nA: busnum=1\nA: configuration=\nH: descriptors=12010002000000081111111120020102000109023B00020100A032090400000103010100092100010001225B00070581030F0001090401000103010000092100010001226A0007058203040001\nA: dev=189:5\nA: devnum=6\nA: devpath=4.1.3\nL: driver=../../../../../../../bus/usb/drivers/usb\nA: idProduct=1111\nA: idVendor=1111\nA: ltm_capable=no\nA: manufacturer=Matias\nA: maxchild=0\nL: port=../1-4.1:1.0/1-4.1-port3\nA: product=Ergo Pro Keyboard\nA: quirks=0x0\nA: removable=unknown\nA: speed=12\nA: urbnum=293287\nA: version= 2.00\n\nP: /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.4\nN: bus/usb/001/007=1201100209000140EF175B3010500102000109021900010100E0000904000001090000000705810301000C\nE: BUSNUM=001\nE: DEVNAME=/dev/bus/usb/001/007\nE: DEVNUM=007\nE: DEVTYPE=usb_device\nE: DRIVER=usb\nE: ID_BUS=usb\nE: ID_FOR_SEAT=usb-pci-0000_00_14_0-usb-0_4_4\nE: ID_MODEL=Lenovo_ThinkPad_WS_Dock\nE: ID_MODEL_ENC=Lenovo\\x20ThinkPad\\x20WS\\x20Dock\nE: ID_MODEL_ID=305b\nE: ID_PATH=pci-0000:00:14.0-usb-0:4.4\nE: ID_PATH_TAG=pci-0000_00_14_0-usb-0_4_4\nE: ID_REVISION=5010\nE: ID_SERIAL=LENOVO_Lenovo_ThinkPad_WS_Dock\nE: ID_USB_INTERFACES=:090000:\nE: ID_VENDOR=LENOVO\nE: ID_VENDOR_ENC=LENOVO\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\\x20\nE: ID_VENDOR_FROM_DATABASE=Lenovo\nE: ID_VENDOR_ID=17ef\nE: MAJOR=189\nE: MINOR=6\nE: PRODUCT=17ef/305b/5010\nE: SUBSYSTEM=usb\nE: TAGS=:seat:\nE: TYPE=9/0/1\nA: authorized=1\nA: avoid_reset_quirk=0\nA: bConfigurationValue=1\nA: bDeviceClass=09\nA: bDeviceProtocol=01\nA: bDeviceSubClass=00\nA: bMaxPacketSize0=64\nA: bMaxPower=0mA\nA: bNumConfigurations=1\nA: bNumInterfaces= 1\nA: bcdDevice=5010\nA: bmAttributes=e0\nA: busnum=1\nA: configuration=\nH: descriptors=1201100209000140EF175B3010500102000109021900010100E0000904000001090000000705810301000C\nA: dev=189:6\nA: devnum=7\nA: devpath=4.4\nL: driver=../../../../../../bus/usb/drivers/usb\nA: idProduct=305b\nA: idVendor=17ef\nA: ltm_capable=no\nA: manufacturer=LENOVO\nA: maxchild=4\nL: port=../1-4:1.0/1-4-port4\nA: product=Lenovo ThinkPad WS Dock\nA: quirks=0x0\nA: removable=unknown\nA: speed=480\nA: urbnum=63\nA: version= 2.10\n\n"
  },
  {
    "path": "src/Tests/bash-testlib.sh",
    "content": "#!/bin/bash\n#\n# Copyright (C) 2016 Red Hat, Inc.\n#\n# This program is free software; you can redistribute it and/or modify\n# it under the terms of the GNU General Public License as published by\n# the Free Software Foundation; either version 2 of the License, or\n# (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU General Public License for more details.\n#\n# You should have received a copy of the GNU General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Authors: Daniel Kopecek <dkopecek@redhat.com>\n#\n\n# uncomment for debugging\n# set -x\n\nCOMMAND_QUEUE=()\nCOMMAND_JOBID=()\nCOMMAND_STATE=()\nCOMMAND_SETUP=()\nCOMMAND_OFILE=()\n\nfunction schedule()\n{\n  local command=\"$1\"\n  local setup=\"$2\"\n\n  COMMAND_QUEUE[${#COMMAND_QUEUE[@]}]=\"$command\"\n  COMMAND_JOBID[${#COMMAND_JOBID[@]}]=0\n  COMMAND_STATE[${#COMMAND_STATE[@]}]=0\n  COMMAND_SETUP[${#COMMAND_SETUP[@]}]=\"$setup\"\n  COMMAND_OFILE[${#COMMAND_OFILE[@]}]=\"/dev/null\"\n  COMMAND_VFILE[${#COMMAND_VFILE[@]}]=\"/dev/null\"\n}\n\n#\n# setup: :<flag>[:<flag>...]\n#\n# service ... indicates that the command starts a long\n#             running service requiring an explicit\n#             action/command to shutdown gracefully.\n#\n# sudo ... run via `sudo -n`\n#\n# fail ... non-zero command return code is required (expected)\n#\n\n#\n# state: <n>\n#\n# 0 ... not started\n# 1 ... started\n# 2 ... failed\n# 3 ... finished\n#\n\n#\n# Handle child processes. Save exit code in COMMAND_\n#\nfunction handle_SIGCHLD()\n{\n # uncomment for debugging\n #for j in $(jobs -n); do\n #  echo \"Job: $j\"\n #done\n :\n}\n\nfunction execute()\n{\n  local timeout=${1:=30}\n  local job_count=${#COMMAND_QUEUE[@]}\n  local job_start=$(date +%s)\n  local job_rc=0\n  local valgrind=\"\"\n\n  if [ -n \"$USBGUARD_TESTS_VALGRIND\" ]; then\n    valgrind=\"$(which valgrind)\"\n  fi\n\n  if [ \"$USBGUARD_TESTS_VALGRIND\" = \"off\" ]; then\n    valgrind=\"\"\n  else\n    valgrind=\"$USBGUARD_TESTS_VALGRIND\"\n  fi\n\n  set +m\n  # Setup SIGCHLD trap\n  trap handle_SIGCHLD SIGCHLD\n\n  # Execute commands in background\n  for ((i = 0; i < $job_count; ++i)) {\n     local setup=\"${COMMAND_SETUP[$i]}\"\n     local sudocmd=\"\"\n     local valgrindcmd=\"\"\n     local valgrindlog=\"\"\n     local valgrindenv=\"\"\n\n     if echo \"$setup\" | grep -q ':sudo'; then\n       sudocmd=\"sudo -n -- \"\n     fi\n\n     if test -n \"$valgrind\"; then\n       if echo \"$setup\" | grep -q ':valgrind'; then\n         valgrindlog=\"$(mktemp --tmpdir usbguard-test-${job_start}_job_${i}.XXXXX.vglog)\"\n         valgrindenv=\"env G_SLICE=always-malloc G_DEBUG=gc-friendly\"\n         valgrindcmd=\"$valgrindenv $valgrind --trace-children=yes --leak-check=full --show-leak-kinds=definite,possible --log-file=$valgrindlog\"\n         for supp in ${srcdir}/src/Tests/*.supp; do\n           valgrindcmd=\"$valgrindcmd --suppressions=$supp \"\n         done\n         valgrindcmd=\"$valgrindcmd -- \"\n       fi\n     fi\n\n     local command=\"$sudocmd $valgrindcmd ${COMMAND_QUEUE[$i]}\"\n     local logfile=\"$(mktemp --tmpdir usbguard-test-${job_start}_job_${i}.XXXXXX.log)\"\n\n     $command 2>&1 > \"$logfile\" &\n\n     COMMAND_JOBID[$i]=\"$!\"\n     COMMAND_STATE[$i]=\"1\"\n     COMMAND_OFILE[$i]=\"$logfile\"\n     COMMAND_VFILE[$i]=\"$valgrindlog\"\n  }\n\n  # Wait for jobs, check timeout\n  while true; do\n    local jobwait=no\n    local joblist=\"$(jobs -lr)\"\n    local curtime=\"$(date +%s)\"\n\n    #\n    # For each command in the queue:\n    #  1) check whether it is still running\n    #  2) if non-service commands are still running\n    #\n    for ((i = 0; i < $job_count; ++i)) do\n       local jobid=\"${COMMAND_JOBID[$i]}\"\n       local setup=\"${COMMAND_SETUP[$i]}\"\n\n       #\n       # Check whether the job is still running\n       #\n       if echo \"$joblist\" | grep -q \"$jobid\"; then\n         if ! echo \"$setup\" | grep -q \":service\"; then\n           jobwait=yes\n         fi\n       fi\n    done\n\n    if [ \"x$jobwait\" = \"xyes\" ]; then\n      #\n      # Check test timeout\n      #\n      if (( (curtime - job_start) > timeout)); then\n        break\n      else\n        sleep 1\n      fi\n    else\n      break\n    fi\n  done\n\n  #\n  # Cleanup jobs, stop service jobs\n  #\n  for ((i = 0; i < $job_count; ++i)) do\n    local command=\"${COMMAND_QUEUE[$i]}\"\n    local jobid=\"${COMMAND_JOBID[$i]}\"\n    local setup=\"${COMMAND_SETUP[$i]}\"\n    local logfile=\"${COMMAND_OFILE[$i]}\"\n    local valgrindlog=\"${COMMAND_VFILE[$i]}\"\n    local sudocmd=\"\"\n\n    if echo \"$setup\" | grep -q ':sudo'; then\n      sudocmd=\"sudo -n -- \"\n    fi\n\n    if echo \"$setup\" | grep -q \":service\"; then\n      for p in $(pgrep -P \"$jobid\") \"$jobid\"; do\n        $sudocmd kill -SIGTERM \"$p\"\n      done\n      local waittime=0\n      while true; do\n        local joblist=\"$(jobs -lr)\"\n        if ! echo \"$joblist\" | grep -q \"$jobid\"; then\n          wait \"$jobid\"\n          if [ $? -ne 0 ]; then\n            job_rc=1\n          fi\n          rm -f \"$logfile\"\n          break\n        else\n          sleep 1\n          waittime=$((waittime + 1))\n          if (( waittime > 10 )); then\n            $sudocmd kill -SIGKILL \"$jobid\"\n            wait \"$jobid\"\n            job_rc=1\n            break\n          fi\n        fi\n      done\n    else\n      wait \"$jobid\"\n      if [ $? -ne 0 ]; then\n        job_rc=1\n      else\n        rm -f \"$logfile\"\n      fi\n    fi\n\n    if test -n \"$valgrind\"; then\n      if echo \"$setup\" | grep -q \":valgrind\"; then\n        #\n        # Check valgrind results\n        #\n        if ! grep -q '^==\\([0-9]*\\)==.*no leaks are possible' \"$valgrindlog\"; then\n          if [ \"$(grep -c '^==\\([0-9]*\\)==.*lost: 0' \"$valgrindlog\")\" -ne 3 ]; then\n            job_rc=1\n            echo \"============ VALGRIND ERROR ==============\"\n            echo \"= Command: $command\"\n            echo \"= Logfile: $valgrindlog\"\n            echo \"--- snip ---- snip ---- snip ---- snip ---\"\n            cat  \"${valgrindlog}\"\n            echo \"==========================================\"\n          fi\n        fi\n      fi\n    fi\n  done\n\n  return $job_rc\n}\n"
  },
  {
    "path": "src/Tests/custom.supp",
    "content": "#\n# No Copyright\n# This file has been released into the public domain.\n#\n{\n  <glib-supp-00>\n  Memcheck:Leak\n  match-leak-kinds: possible\n  ...\n  obj:*glib-2.0*\n  obj:*gobject-2.0*\n  ...\n  fun:call_init\n  ...\n}\n"
  },
  {
    "path": "src/Tests/main.cpp",
    "content": "//\n// Copyright (C) 2016 Red Hat, Inc.\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n//\n// Authors: Daniel Kopecek <dkopecek@redhat.com>\n//\n#ifdef HAVE_CATCH2_V3\n  #include <catch_test_macros.hpp>\n#else\n  #define CATCH_CONFIG_MAIN\n  #include <catch.hpp>\n#endif\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/VERSION.xsl",
    "content": "<?xml version='1.0'?> <!-- -*- nxml -*- vim: set foldlevel=2: -->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n  xmlns:fm=\"http://freshmeat.net/projects/freshmeat-submit/\"\n  xmlns:sf=\"http://sourceforge.net/\"\n  xmlns:dyn=\"http://exslt.org/dynamic\"\n  xmlns:saxon=\"http://icl.com/saxon\"\n  exclude-result-prefixes=\"fm sf\"\n  version='1.0'>\n\n<xsl:param name=\"get\"/>\n<xsl:param name=\"VERSION\" select=\"string(document('')//fm:Version[1])\"/>\n<xsl:param name=\"Tag\" select=\"concat('V',translate(string(document('')//fm:Version[1]),'.',''))\"/>\n<xsl:param name=\"DistroTitle\" select=\"string(document('')//fm:Branch[1])\"/>\n<xsl:param name=\"sf-relid\" select=\"0\"/>\n\n<xsl:param name=\"DistroName\">docbook-xsl</xsl:param>\n<xsl:param name=\"PreviousRelease\">1.78.0</xsl:param>\n<xsl:param name=\"PreviousReleaseRevision\">9696</xsl:param>\n<xsl:param name=\"Revision\">$Revision: 9731 $</xsl:param>\n<xsl:param name=\"VersionFileURL\">$URL: https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/xsl/VERSION $</xsl:param>\n\n<xsl:strip-space elements=\"fm:*\"/>\n\n<fm:project>\n  <fm:Project>DocBook</fm:Project>\n  <fm:Branch>XSL Stylesheets</fm:Branch>\n  <!-- * set/keep fm:version as N.NN.N-pre except for official releases, -->\n  <!-- * then after the release, revert it to N.NN.N-pre & check back in -->\n  <fm:Version>1.78.1</fm:Version>\n<!--\n  <fm:License>MIT/X Consortium License</fm:License>\n-->\n  <fm:Release-Focus>\n<!-- * Initial freshmeat announcement -->\n<!-- * Documentation -->\n<!-- * Code cleanup -->\n<!-- * Minor feature enhancements  -->\n* Major feature enhancements \n<!-- * Minor bugfixes  -->\n<!-- * Major bugfixes -->\n<!-- * Minor security fixes -->\n<!-- * Major security fixes -->\n  </fm:Release-Focus>\n  <fm:Home-Page-URL>http://sourceforge.net/projects/docbook/</fm:Home-Page-URL>\n  <fm:Gzipped-Tar-URL>http://prdownloads.sourceforge.net/docbook/{DISTRONAME-VERSION}.tar.gz?download</fm:Gzipped-Tar-URL>\n  <fm:Zipped-Tar-URL>http://prdownloads.sourceforge.net/docbook/{DISTRONAME-VERSION}.zip?download</fm:Zipped-Tar-URL>\n  <fm:Bzipped-Tar-URL>http://prdownloads.sourceforge.net/docbook/{DISTRONAME-VERSION}.bz2?download</fm:Bzipped-Tar-URL>\n  <fm:Changelog-URL>http://sourceforge.net/project/shownotes.php?release_id={SFRELID}</fm:Changelog-URL>\n  <fm:CVS-URL>http://docbook.svn.sourceforge.net/viewvc/docbook/</fm:CVS-URL>\n  <fm:Mailing-List-URL>http://lists.oasis-open.org/archives/docbook-apps/</fm:Mailing-List-URL>\n  <fm:Changes>This is a release with bugfixes and some enhancements.</fm:Changes>\n</fm:project>\n\n<xsl:template match=\"/\" priority=\"-100\">\n  <xsl:choose>\n    <xsl:when test=\"$get = 'Tag'\">\n      <xsl:value-of select=\"$Tag\"/>\n    </xsl:when>\n    <xsl:when test=\"$get = 'PreviousRelease'\">\n      <xsl:value-of select=\"$PreviousRelease\"/>\n    </xsl:when>\n    <xsl:when test=\"$get = 'PreviousReleaseRevision'\">\n      <xsl:value-of select=\"$PreviousReleaseRevision\"/>\n    </xsl:when>\n    <xsl:when test=\"$get = 'DistroTitle'\">\n      <xsl:value-of select=\"$DistroTitle\"/>\n    </xsl:when>\n    <xsl:when test=\"$get = 'VERSION'\">\n      <xsl:value-of select=\"$VERSION\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:if test=\"$sf-relid = 0\">\n        <xsl:message terminate=\"yes\">\n         <xsl:text>You must specify the sf-relid as a parameter.</xsl:text>\n        </xsl:message>\n      </xsl:if>\n      <xsl:apply-templates select=\"//fm:project\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"fm:project\">\n  <xsl:apply-templates/>\n  <xsl:text>&#10;</xsl:text>\n  <xsl:apply-templates select=\"fm:Changes\" mode=\"text\"/>\n</xsl:template>\n\n<xsl:template match=\"fm:Changes\"/>\n\n<xsl:template match=\"fm:Gzipped-Tar-URL|fm:Zipped-Tar-URL|fm:Bzipped-Tar-URL\">\n  <xsl:value-of select=\"local-name(.)\"/>\n  <xsl:text>: </xsl:text>\n  <xsl:value-of select=\"substring-before(., '{DISTRONAME-VERSION}')\"/>\n  <xsl:value-of select=\"concat($DistroName, '-', $VERSION)\"/>\n  <xsl:value-of select=\"substring-after(., '{DISTRONAME-VERSION}')\"/>\n  <xsl:text>&#10;</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"fm:Changelog-URL\">\n  <xsl:value-of select=\"local-name(.)\"/>\n  <xsl:text>: </xsl:text>\n  <xsl:value-of select=\"substring-before(., '{SFRELID}')\"/>\n  <xsl:value-of select=\"$sf-relid\"/>\n  <xsl:value-of select=\"substring-after(., '{SFRELID}')\"/>\n  <xsl:text>&#10;</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"fm:*\">\n  <xsl:value-of select=\"local-name(.)\"/>\n  <xsl:text>: </xsl:text>\n  <xsl:value-of select=\"normalize-space(.)\"/>\n  <xsl:text>&#10;</xsl:text>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/af.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"af\" english-language-name=\"Afrikaans\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/af.xml -->\n<!-- * -->\n<!-- * E-mail the edited af.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Samevatting\"/>\n<l:gentext key=\"abstract\" text=\"samevatting\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"Antwoord:\"/>\n<l:gentext key=\"answer\" text=\"antwoord:\"/>\n<l:gentext key=\"Appendix\" text=\"Aanhangsel\"/>\n<l:gentext key=\"appendix\" text=\"aanhangsel\"/>\n<l:gentext key=\"Article\" text=\"Artikel\"/>\n<l:gentext key=\"article\" text=\"artikel\"/>\n<l:gentext key=\"Author\" text=\"Author\" lang=\"en\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografie\"/>\n<l:gentext key=\"bibliography\" text=\"bibliografie\"/>\n<l:gentext key=\"Book\" text=\"Boek\"/>\n<l:gentext key=\"book\" text=\"boek\"/>\n<l:gentext key=\"CAUTION\" text=\"PAS OP\"/>\n<l:gentext key=\"Caution\" text=\"Pas op\"/>\n<l:gentext key=\"caution\" text=\"pas op\"/>\n<l:gentext key=\"Chapter\" text=\"Hoofdstuk\"/>\n<l:gentext key=\"chapter\" text=\"hoofdstuk\"/>\n<l:gentext key=\"Colophon\" text=\"Kolifon\"/>\n<l:gentext key=\"colophon\" text=\"kolifon\"/>\n<l:gentext key=\"Copyright\" text=\"Kopie reg\"/>\n<l:gentext key=\"copyright\" text=\"kopie reg\"/>\n<l:gentext key=\"Dedication\" text=\"Opgedra aan\"/>\n<l:gentext key=\"dedication\" text=\"opgedra aan\"/>\n<l:gentext key=\"Edition\" text=\"Uitgawe\"/>\n<l:gentext key=\"edition\" text=\"uitgawe\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Vergelyking\"/>\n<l:gentext key=\"equation\" text=\"vergelyking\"/>\n<l:gentext key=\"Example\" text=\"Voorbeeld\"/>\n<l:gentext key=\"example\" text=\"voorbeeld\"/>\n<l:gentext key=\"Figure\" text=\"Figuur\"/>\n<l:gentext key=\"figure\" text=\"figuur\"/>\n<l:gentext key=\"Glossary\" text=\"Woordlys\"/>\n<l:gentext key=\"glossary\" text=\"woordlys\"/>\n<l:gentext key=\"GlossSee\" text=\"WoordelysSien\"/>\n<l:gentext key=\"glosssee\" text=\"woordelyssien\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"WoordelysSienOok\"/>\n<l:gentext key=\"glossseealso\" text=\"woordelyssienook\"/>\n<l:gentext key=\"IMPORTANT\" text=\"BELANGRIK\"/>\n<l:gentext key=\"important\" text=\"belangrik\"/>\n<l:gentext key=\"Important\" text=\"Belangrik\"/>\n<l:gentext key=\"Index\" text=\"Indeks\"/>\n<l:gentext key=\"index\" text=\"indeks\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"isbn\"/>\n<l:gentext key=\"LegalNotice\" text=\"RegsKennisgewing\"/>\n<l:gentext key=\"legalnotice\" text=\"regskennisgewing\"/>\n<l:gentext key=\"MsgAud\" text=\"Teikengroep\"/>\n<l:gentext key=\"msgaud\" text=\"teikengroep\"/>\n<l:gentext key=\"MsgLevel\" text=\"Vlak\"/>\n<l:gentext key=\"msglevel\" text=\"vlak\"/>\n<l:gentext key=\"MsgOrig\" text=\"Herkoms\"/>\n<l:gentext key=\"msgorig\" text=\"herkoms\"/>\n<l:gentext key=\"NOTE\" text=\"OPMERKING\"/>\n<l:gentext key=\"Note\" text=\"Opmerking\"/>\n<l:gentext key=\"note\" text=\"opmerking\"/>\n<l:gentext key=\"Part\" text=\"Deel\"/>\n<l:gentext key=\"part\" text=\"deel\"/>\n<l:gentext key=\"Preface\" text=\"Voorwoord\"/>\n<l:gentext key=\"preface\" text=\"voorwoord\"/>\n<l:gentext key=\"Procedure\" text=\"Prosedure\"/>\n<l:gentext key=\"procedure\" text=\"prosedure\"/>\n<l:gentext key=\"ProductionSet\" text=\"ProduksieStel\"/>\n<l:gentext key=\"PubDate\" text=\"Publication Date\" lang=\"en\"/>\n<l:gentext key=\"pubdate\" text=\"Publication date\" lang=\"en\"/>\n<l:gentext key=\"Published\" text=\"Uitgegee\"/>\n<l:gentext key=\"published\" text=\"uitgegee\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"Vraag et Antwoord\"/>\n<l:gentext key=\"qandadiv\" text=\"Vraag et Antwoord\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"Vraag:\"/>\n<l:gentext key=\"question\" text=\"vraag:\"/>\n<l:gentext key=\"RefEntry\" text=\"Verwysingslemma\"/>\n<l:gentext key=\"refentry\" text=\"verwysingslemma\"/>\n<l:gentext key=\"Reference\" text=\"Verwysing\"/>\n<l:gentext key=\"reference\" text=\"verwysing\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Verwysingsnaam\"/>\n<l:gentext key=\"refname\" text=\"verwysingsnaam\"/>\n<l:gentext key=\"RefSection\" text=\"Verwysingsparagraaf\"/>\n<l:gentext key=\"refsection\" text=\"verwysingsparagraaf\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Verwysingsamevatting\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"verwysingsamevatting\"/>\n<l:gentext key=\"RevHistory\" text=\"Hersiening geskiedenis\"/>\n<l:gentext key=\"revhistory\" text=\"hersiening geskiedenis\"/>\n<l:gentext key=\"revision\" text=\"hersiening\"/>\n<l:gentext key=\"Revision\" text=\"Hersiening\"/>\n<l:gentext key=\"sect1\" text=\"Paragraaf\"/>\n<l:gentext key=\"sect2\" text=\"Paragraaf\"/>\n<l:gentext key=\"sect3\" text=\"Paragraaf\"/>\n<l:gentext key=\"sect4\" text=\"Paragraaf\"/>\n<l:gentext key=\"sect5\" text=\"Paragraaf\"/>\n<l:gentext key=\"section\" text=\"paragraaf\"/>\n<l:gentext key=\"Section\" text=\"Paragraaf\"/>\n<l:gentext key=\"see\" text=\"sien\"/>\n<l:gentext key=\"See\" text=\"Sien\"/>\n<l:gentext key=\"seealso\" text=\"sien ook\"/>\n<l:gentext key=\"Seealso\" text=\"Sien ook\"/>\n<l:gentext key=\"SeeAlso\" text=\"Sien Ook\"/>\n<l:gentext key=\"set\" text=\"versameling\"/>\n<l:gentext key=\"Set\" text=\"Versameling\"/>\n<l:gentext key=\"setindex\" text=\"versamelingindeks\"/>\n<l:gentext key=\"SetIndex\" text=\"VersamelingIndeks\"/>\n<l:gentext key=\"Sidebar\" text=\"Kantbalk\"/>\n<l:gentext key=\"sidebar\" text=\"kantbalk\"/>\n<l:gentext key=\"step\" text=\"stap\"/>\n<l:gentext key=\"Step\" text=\"Stap\"/>\n<l:gentext key=\"table\" text=\"tabel\"/>\n<l:gentext key=\"Table\" text=\"Tabel\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"leidraad\"/>\n<l:gentext key=\"TIP\" text=\"LEIDRAAD\"/>\n<l:gentext key=\"Tip\" text=\"Leidraad\"/>\n<l:gentext key=\"Warning\" text=\"Waarskuwing\"/>\n<l:gentext key=\"warning\" text=\"waarskuwing\"/>\n<l:gentext key=\"WARNING\" text=\"WAARSKUWING\"/>\n<l:gentext key=\"and\" text=\"en\"/>\n<l:gentext key=\"or\" text=\"of\"/>\n<l:gentext key=\"by\" text=\"deur\"/>\n<l:gentext key=\"Edited\" text=\"Geredigeer\"/>\n<l:gentext key=\"edited\" text=\"geredigeer\"/>\n<l:gentext key=\"Editedby\" text=\"Geredigeer deur\"/>\n<l:gentext key=\"editedby\" text=\"geredigeer deur\"/>\n<l:gentext key=\"in\" text=\"in\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Notas\"/>\n<l:gentext key=\"Notes\" text=\"notas\"/>\n<l:gentext key=\"Pgs\" text=\"bl.\"/>\n<l:gentext key=\"pgs\" text=\"bl.\"/>\n<l:gentext key=\"Revisedby\" text=\"Hersien deur\"/>\n<l:gentext key=\"revisedby\" text=\"hersien deur\"/>\n<l:gentext key=\"TableNotes\" text=\"TabelOpmerking\"/>\n<l:gentext key=\"tablenotes\" text=\"tabelopmerking\"/>\n<l:gentext key=\"TableofContents\" text=\"Inhoudsopgawe\"/>\n<l:gentext key=\"tableofcontents\" text=\"inhoudsopgawe\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"onverwagte element naam\"/>\n<l:gentext key=\"unsupported\" text=\"nie geondersteun\"/>\n<l:gentext key=\"xrefto\" text=\"verwysing na\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"lys van vergelykings\"/>\n<l:gentext key=\"ListofEquations\" text=\"Lys van vergelykings\"/>\n<l:gentext key=\"ListofExamples\" text=\"Lys van voorbeelde\"/>\n<l:gentext key=\"listofexamples\" text=\"lys van voorbeelde\"/>\n<l:gentext key=\"ListofFigures\" text=\"Lys van figure\"/>\n<l:gentext key=\"listoffigures\" text=\"lys van figure\"/>\n<l:gentext key=\"ListofProcedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listofprocedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listoftables\" text=\"lys van tabelle\"/>\n<l:gentext key=\"ListofTables\" text=\"Lys van tabelle\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Lys van onbekende tipes\"/>\n<l:gentext key=\"listofunknown\" text=\"lys van onbekende tipes\"/>\n<l:gentext key=\"nav-home\" text=\"Begin\"/>\n<l:gentext key=\"nav-next\" text=\"Volgende\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Verder vooruit\"/>\n<l:gentext key=\"nav-prev\" text=\"Terug\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Verder terug\"/>\n<l:gentext key=\"nav-up\" text=\"Boontoe\"/>\n<l:gentext key=\"nav-toc\" text=\"ToC\" lang=\"en\"/>\n<l:gentext key=\"Draft\" text=\"Proef\"/>\n<l:gentext key=\"above\" text=\"bo\"/>\n<l:gentext key=\"below\" text=\"onder\"/>\n<l:gentext key=\"sectioncalled\" text=\"die seksie genaamd\"/>\n<l:gentext key=\"index symbols\" text=\"indeks simbole\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Aanhangsel %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Hoofdstuk %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Vergelyking %n. %t\"/>\n<l:template name=\"example\" text=\"Voorbeeld %n. %t\"/>\n<l:template name=\"figure\" text=\"Figuur %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Deel %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Prosedure %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"ProduksieStel %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabel %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Aanhangsel %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Hoofdstuk %n. %t\"/>\n<l:template name=\"part\" text=\"Deel %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"Antwoord: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Vraag: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Vraag: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"die seksie genaamd “%t”\"/>\n<l:template name=\"refsection\" text=\"die seksie genaamd “%t”\"/>\n<l:template name=\"refsect1\" text=\"die seksie genaamd “%t”\"/>\n<l:template name=\"refsect2\" text=\"die seksie genaamd “%t”\"/>\n<l:template name=\"refsect3\" text=\"die seksie genaamd “%t”\"/>\n<l:template name=\"sect1\" text=\"die seksie genaamd “%t”\"/>\n<l:template name=\"sect2\" text=\"die seksie genaamd “%t”\"/>\n<l:template name=\"sect3\" text=\"die seksie genaamd “%t”\"/>\n<l:template name=\"sect4\" text=\"die seksie genaamd “%t”\"/>\n<l:template name=\"sect5\" text=\"die seksie genaamd “%t”\"/>\n<l:template name=\"section\" text=\"die seksie genaamd “%t”\"/>\n<l:template name=\"simplesect\" text=\"die seksie genaamd “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Antwoord: %n\"/>\n<l:template name=\"appendix\" text=\"Aanhangsel %n\"/>\n<l:template name=\"bridgehead\" text=\"Paragraaf %n\"/>\n<l:template name=\"chapter\" text=\"Hoofdstuk %n\"/>\n<l:template name=\"equation\" text=\"Vergelyking %n\"/>\n<l:template name=\"example\" text=\"Voorbeeld %n\"/>\n<l:template name=\"figure\" text=\"Figuur %n\"/>\n<l:template name=\"part\" text=\"Deel %n\"/>\n<l:template name=\"procedure\" text=\"Prosedure %n\"/>\n<l:template name=\"productionset\" text=\"ProduksieStel %n\"/>\n<l:template name=\"qandadiv\" text=\"Vraag et Antwoord %n\"/>\n<l:template name=\"qandaentry\" text=\"Vraag: %n\"/>\n<l:template name=\"question\" text=\"Vraag: %n\"/>\n<l:template name=\"sect1\" text=\"Paragraaf %n\"/>\n<l:template name=\"sect2\" text=\"Paragraaf %n\"/>\n<l:template name=\"sect3\" text=\"Paragraaf %n\"/>\n<l:template name=\"sect4\" text=\"Paragraaf %n\"/>\n<l:template name=\"sect5\" text=\"Paragraaf %n\"/>\n<l:template name=\"section\" text=\"Paragraaf %n\"/>\n<l:template name=\"table\" text=\"Tabel %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Aanhangsel %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Paragraaf %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Hoofdstuk %n, %t\"/>\n<l:template name=\"equation\" text=\"Vergelyking %n, “%t”\"/>\n<l:template name=\"example\" text=\"Voorbeeld %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Figuur %n, “%t”\"/>\n<l:template name=\"part\" text=\"Deel %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Prosedure %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"ProduksieStel %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"Vraag et Antwoord %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"die seksie genaamd “%t”\"/>\n<l:template name=\"refsect2\" text=\"die seksie genaamd “%t”\"/>\n<l:template name=\"refsect3\" text=\"die seksie genaamd “%t”\"/>\n<l:template name=\"refsection\" text=\"die seksie genaamd “%t”\"/>\n<l:template name=\"sect1\" text=\"Paragraaf %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Paragraaf %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Paragraaf %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Paragraaf %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Paragraaf %n, “%t”\"/>\n<l:template name=\"section\" text=\"Paragraaf %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"die seksie genaamd “%t”\"/>\n<l:template name=\"table\" text=\"Tabel %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" en \"/>\n<l:template name=\"seplast\" text=\", en \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"WoordelysSien %t.\"/>\n<l:template name=\"seealso\" text=\"WoordelysSienOok %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Teikengroep: \"/>\n<l:template name=\"MsgLevel\" text=\"Vlak: \"/>\n<l:template name=\"MsgOrig\" text=\"Herkoms: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\" lang=\"en\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"January\" lang=\"en\"/>\n<l:template name=\"February\" text=\"February\" lang=\"en\"/>\n<l:template name=\"March\" text=\"March\" lang=\"en\"/>\n<l:template name=\"April\" text=\"April\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"June\" text=\"June\" lang=\"en\"/>\n<l:template name=\"July\" text=\"July\" lang=\"en\"/>\n<l:template name=\"August\" text=\"August\" lang=\"en\"/>\n<l:template name=\"September\" text=\"September\" lang=\"en\"/>\n<l:template name=\"October\" text=\"October\" lang=\"en\"/>\n<l:template name=\"November\" text=\"November\" lang=\"en\"/>\n<l:template name=\"December\" text=\"December\" lang=\"en\"/>\n<l:template name=\"Monday\" text=\"Monday\" lang=\"en\"/>\n<l:template name=\"Tuesday\" text=\"Tuesday\" lang=\"en\"/>\n<l:template name=\"Wednesday\" text=\"Wednesday\" lang=\"en\"/>\n<l:template name=\"Thursday\" text=\"Thursday\" lang=\"en\"/>\n<l:template name=\"Friday\" text=\"Friday\" lang=\"en\"/>\n<l:template name=\"Saturday\" text=\"Saturday\" lang=\"en\"/>\n<l:template name=\"Sunday\" text=\"Sunday\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\" lang=\"en\"/>\n<l:template name=\"Feb\" text=\"Feb\" lang=\"en\"/>\n<l:template name=\"Mar\" text=\"Mar\" lang=\"en\"/>\n<l:template name=\"Apr\" text=\"Apr\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"Jun\" text=\"Jun\" lang=\"en\"/>\n<l:template name=\"Jul\" text=\"Jul\" lang=\"en\"/>\n<l:template name=\"Aug\" text=\"Aug\" lang=\"en\"/>\n<l:template name=\"Sep\" text=\"Sep\" lang=\"en\"/>\n<l:template name=\"Oct\" text=\"Oct\" lang=\"en\"/>\n<l:template name=\"Nov\" text=\"Nov\" lang=\"en\"/>\n<l:template name=\"Dec\" text=\"Dec\" lang=\"en\"/>\n<l:template name=\"Mon\" text=\"Mon\" lang=\"en\"/>\n<l:template name=\"Tue\" text=\"Tue\" lang=\"en\"/>\n<l:template name=\"Wed\" text=\"Wed\" lang=\"en\"/>\n<l:template name=\"Thu\" text=\"Thu\" lang=\"en\"/>\n<l:template name=\"Fri\" text=\"Fri\" lang=\"en\"/>\n<l:template name=\"Sat\" text=\"Sat\" lang=\"en\"/>\n<l:template name=\"Sun\" text=\"Sun\" lang=\"en\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0436 Afrikaans\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters lang=\"en\"><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/am.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"am\" english-language-name=\"Amharic\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/am.xml -->\n<!-- * -->\n<!-- * E-mail the edited am.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"ረቂቅ\"/>\n<l:gentext key=\"abstract\" text=\"ረቂቅ\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"መ፦\"/>\n<l:gentext key=\"answer\" text=\"መ፦\"/>\n<l:gentext key=\"Appendix\" text=\"ተጨማሪ\"/>\n<l:gentext key=\"appendix\" text=\"ተጨማሪ\"/>\n<l:gentext key=\"Article\" text=\"ጽሑፍ\"/>\n<l:gentext key=\"article\" text=\"ጽሑፍ\"/>\n<l:gentext key=\"Author\" text=\"ደራሲ\"/>\n<l:gentext key=\"Bibliography\" text=\"የመጻሕፍት ዝርዝር\"/>\n<l:gentext key=\"bibliography\" text=\"የመጻሕፍት ዝርዝር\"/>\n<l:gentext key=\"Book\" text=\"መጽሐፍ\"/>\n<l:gentext key=\"book\" text=\"መጽሐፍ\"/>\n<l:gentext key=\"CAUTION\" text=\"ጥንቃቄ\"/>\n<l:gentext key=\"Caution\" text=\"ጥንቃቄ\"/>\n<l:gentext key=\"caution\" text=\"ጥንቃቄ\"/>\n<l:gentext key=\"Chapter\" text=\"ምዕራፍ\"/>\n<l:gentext key=\"chapter\" text=\"ምዕራፍ\"/>\n<l:gentext key=\"Colophon\" text=\"Colophon\"/>\n<l:gentext key=\"colophon\" text=\"Colophon\"/>\n<l:gentext key=\"Copyright\" text=\"የቅጂው መብት\"/>\n<l:gentext key=\"copyright\" text=\"የቅጂው መብት\"/>\n<l:gentext key=\"Dedication\" text=\"ለአላማ መሰዋት\"/>\n<l:gentext key=\"dedication\" text=\"ለአላማ መሰዋት\"/>\n<l:gentext key=\"Edition\" text=\"ቅጂ\"/>\n<l:gentext key=\"edition\" text=\"ቅጂ\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"እኩሌታ\"/>\n<l:gentext key=\"equation\" text=\"እኩሌታ\"/>\n<l:gentext key=\"Example\" text=\"ለምሳሌ\"/>\n<l:gentext key=\"example\" text=\"ለምሳሌ\"/>\n<l:gentext key=\"Figure\" text=\"ምስል\"/>\n<l:gentext key=\"figure\" text=\"ምስል\"/>\n<l:gentext key=\"Glossary\" text=\"የቃላቶች ፍቺ ዝርዝር\"/>\n<l:gentext key=\"glossary\" text=\"የቃላቶች ፍቺ ዝርዝር\"/>\n<l:gentext key=\"GlossSee\" text=\"ማየት (እይ)\"/>\n<l:gentext key=\"glosssee\" text=\"ማየት (እይ)\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"…ንም እይ\"/>\n<l:gentext key=\"glossseealso\" text=\"…ንም እይ\"/>\n<l:gentext key=\"IMPORTANT\" text=\"አስፈላጊ\"/>\n<l:gentext key=\"important\" text=\"አስፈላጊ\"/>\n<l:gentext key=\"Important\" text=\"አስፈላጊ\"/>\n<l:gentext key=\"Index\" text=\"ማውጫ\"/>\n<l:gentext key=\"index\" text=\"ማውጫ\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"ህጋዊ ማስታወቂያ\"/>\n<l:gentext key=\"legalnotice\" text=\"ህጋዊ ማስታወቂያ\"/>\n<l:gentext key=\"MsgAud\" text=\"ተመልካች\"/>\n<l:gentext key=\"msgaud\" text=\"ተመልካች\"/>\n<l:gentext key=\"MsgLevel\" text=\"ደረጃ\"/>\n<l:gentext key=\"msglevel\" text=\"ደረጃ\"/>\n<l:gentext key=\"MsgOrig\" text=\"ምንጭ\"/>\n<l:gentext key=\"msgorig\" text=\"ምንጭ\"/>\n<l:gentext key=\"NOTE\" text=\"ማስታወሻ\"/>\n<l:gentext key=\"Note\" text=\"ማስታወሻ\"/>\n<l:gentext key=\"note\" text=\"ማስታወሻ\"/>\n<l:gentext key=\"Part\" text=\"ክፍል\"/>\n<l:gentext key=\"part\" text=\"ክፍል\"/>\n<l:gentext key=\"Preface\" text=\"መቅድም\"/>\n<l:gentext key=\"preface\" text=\"መቅድም\"/>\n<l:gentext key=\"Procedure\" text=\"ቅደም ተከተል\"/>\n<l:gentext key=\"procedure\" text=\"ቅደም ተከተል\"/>\n<l:gentext key=\"ProductionSet\" text=\"ምርት\"/>\n<l:gentext key=\"PubDate\" text=\"የታተመበት ቀን\"/>\n<l:gentext key=\"pubdate\" text=\"የታተመበት ቀን\"/>\n<l:gentext key=\"Published\" text=\"ታትሟል\"/>\n<l:gentext key=\"published\" text=\"ታትሟል\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"ጥያቄ እና መልስ\"/>\n<l:gentext key=\"qandadiv\" text=\"ጥያቄ እና መልስ\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"ጥ፦\"/>\n<l:gentext key=\"question\" text=\"ጥ፦\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"ማጣቀሻ\"/>\n<l:gentext key=\"reference\" text=\"ማጣቀሻ\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"ስም\"/>\n<l:gentext key=\"refname\" text=\"ስም\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"መግለጫ\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"መግለጫ\"/>\n<l:gentext key=\"RevHistory\" text=\"የተሻሻለ ታሪክ\"/>\n<l:gentext key=\"revhistory\" text=\"የተሻሻለ ታሪክ\"/>\n<l:gentext key=\"revision\" text=\"የተሻሻለ\"/>\n<l:gentext key=\"Revision\" text=\"የተሻሻለ\"/>\n<l:gentext key=\"sect1\" text=\"ክፍል\"/>\n<l:gentext key=\"sect2\" text=\"ክፍል\"/>\n<l:gentext key=\"sect3\" text=\"ክፍል\"/>\n<l:gentext key=\"sect4\" text=\"ክፍል\"/>\n<l:gentext key=\"sect5\" text=\"ክፍል\"/>\n<l:gentext key=\"section\" text=\"ክፍል\"/>\n<l:gentext key=\"Section\" text=\"ክፍል\"/>\n<l:gentext key=\"see\" text=\"ማየት (እይ)\"/>\n<l:gentext key=\"See\" text=\"ማየት (እይ)\"/>\n<l:gentext key=\"seealso\" text=\"…ንም እይ\"/>\n<l:gentext key=\"Seealso\" text=\"…ንም እይ\"/>\n<l:gentext key=\"SeeAlso\" text=\"…ንም እይ\"/>\n<l:gentext key=\"set\" text=\"አድርግ\"/>\n<l:gentext key=\"Set\" text=\"አድርግ\"/>\n<l:gentext key=\"setindex\" text=\"ማውጫውን ይመልከቱ\"/>\n<l:gentext key=\"SetIndex\" text=\"ማውጫውን ይመልከቱ\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"የጥግ ቋሚ\"/>\n<l:gentext key=\"step\" text=\"ደረጃ\"/>\n<l:gentext key=\"Step\" text=\"ደረጃ\"/>\n<l:gentext key=\"table\" text=\"ሠንጠረዥ\"/>\n<l:gentext key=\"Table\" text=\"ሠንጠረዥ\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"ፍንጭ\"/>\n<l:gentext key=\"TIP\" text=\"ፍንጭ\"/>\n<l:gentext key=\"Tip\" text=\"ፍንጭ\"/>\n<l:gentext key=\"Warning\" text=\"ማስጠንቀቂያ\"/>\n<l:gentext key=\"warning\" text=\"ማስጠንቀቂያ\"/>\n<l:gentext key=\"WARNING\" text=\"ማስጠንቀቂያ\"/>\n<l:gentext key=\"and\" text=\"እና\"/>\n<l:gentext key=\"or\" text=\"or\" lang=\"en\"/>\n<l:gentext key=\"by\" text=\"በ\"/>\n<l:gentext key=\"Edited\" text=\"የተዘጋጀ\"/>\n<l:gentext key=\"edited\" text=\"የተዘጋጀ\"/>\n<l:gentext key=\"Editedby\" text=\"የተዘጋጀው በ\"/>\n<l:gentext key=\"editedby\" text=\"የተዘጋጀው በ\"/>\n<l:gentext key=\"in\" text=\"ውስጥ\"/>\n<l:gentext key=\"lastlistcomma\" text=\"፣\"/>\n<l:gentext key=\"listcomma\" text=\"፣\"/>\n<l:gentext key=\"notes\" text=\"ማስታወሻዎች\"/>\n<l:gentext key=\"Notes\" text=\"ማስታወሻዎች\"/>\n<l:gentext key=\"Pgs\" text=\"ገጾች\"/>\n<l:gentext key=\"pgs\" text=\"ገጾች\"/>\n<l:gentext key=\"Revisedby\" text=\"የተሻሻለው በ\"/>\n<l:gentext key=\"revisedby\" text=\"የተሻሻለው በ\"/>\n<l:gentext key=\"TableNotes\" text=\"ማስታወሻዎች\"/>\n<l:gentext key=\"tablenotes\" text=\"ማስታወሻዎች\"/>\n<l:gentext key=\"TableofContents\" text=\"ማውጫ\"/>\n<l:gentext key=\"tableofcontents\" text=\"ማውጫ\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"ያልተጠበቀ የመሠረታዊ ነገር ስም\"/>\n<l:gentext key=\"unsupported\" text=\"ያልተደገፈ\"/>\n<l:gentext key=\"xrefto\" text=\"xref ወደ\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"የእኩሌታዎች ዝርዝር\"/>\n<l:gentext key=\"ListofEquations\" text=\"የእኩሌታዎች ዝርዝር\"/>\n<l:gentext key=\"ListofExamples\" text=\"የምሳሌዎች ዝርዝር\"/>\n<l:gentext key=\"listofexamples\" text=\"የምሳሌዎች ዝርዝር\"/>\n<l:gentext key=\"ListofFigures\" text=\"የምስሎች ዝርዝር\"/>\n<l:gentext key=\"listoffigures\" text=\"የምስሎች ዝርዝር\"/>\n<l:gentext key=\"ListofProcedures\" text=\"የቅደም ተከተሎቹ ዝርዝር\"/>\n<l:gentext key=\"listofprocedures\" text=\"የቅደም ተከተሎቹ ዝርዝር\"/>\n<l:gentext key=\"listoftables\" text=\"የሠንጠረዦቹ ዝርዝር\"/>\n<l:gentext key=\"ListofTables\" text=\"የሠንጠረዦቹ ዝርዝር\"/>\n<l:gentext key=\"ListofUnknown\" text=\"ያልታወቁ ዝርዝር\"/>\n<l:gentext key=\"listofunknown\" text=\"ያልታወቁ ዝርዝር\"/>\n<l:gentext key=\"nav-home\" text=\"መጀመሪያ\"/>\n<l:gentext key=\"nav-next\" text=\"የሚቀጥለው\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"በፍጥነት ወደፊት\"/>\n<l:gentext key=\"nav-prev\" text=\"ያለፈው\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"በፍጥነት ወደኋላ\"/>\n<l:gentext key=\"nav-up\" text=\"ወደ ላይ\"/>\n<l:gentext key=\"nav-toc\" text=\"ወደ ሲ\"/>\n<l:gentext key=\"Draft\" text=\"ንድፍ\"/>\n<l:gentext key=\"above\" text=\"ከላይ\"/>\n<l:gentext key=\"below\" text=\"ከስር\"/>\n<l:gentext key=\"sectioncalled\" text=\"የክፍሉ መጠሪያ\"/>\n<l:gentext key=\"index symbols\" text=\"ምልክቶች\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"ተጨማሪ %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"ምዕራፍ %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"እኩሌታ %n. %t\"/>\n<l:template name=\"example\" text=\"ለምሳሌ %n. %t\"/>\n<l:template name=\"figure\" text=\"ምስል %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"ክፍል %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"ቅደም ተከተል %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"ምርት %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"ሠንጠረዥ %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"ተጨማሪ %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"ምዕራፍ %n. %t\"/>\n<l:template name=\"part\" text=\"ክፍል %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"መ፦ %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"ጥ፦ %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"ጥ፦ %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" በ%o\"/>\n<l:template name=\"olink.page.citation\" text=\" (ገጽ %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(ገጽ %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" በዶሴው ውስጥ ርዕስ የተሰጠው %o\"/>\n<l:template name=\"pageabbrev\" text=\"(ገጽ %p)\"/>\n<l:template name=\"Page\" text=\"ገጽ %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"የክፍሉ መጠሪያ “%t”\"/>\n<l:template name=\"refsection\" text=\"የክፍሉ መጠሪያ “%t”\"/>\n<l:template name=\"refsect1\" text=\"የክፍሉ መጠሪያ “%t”\"/>\n<l:template name=\"refsect2\" text=\"የክፍሉ መጠሪያ “%t”\"/>\n<l:template name=\"refsect3\" text=\"የክፍሉ መጠሪያ “%t”\"/>\n<l:template name=\"sect1\" text=\"የክፍሉ መጠሪያ “%t”\"/>\n<l:template name=\"sect2\" text=\"የክፍሉ መጠሪያ “%t”\"/>\n<l:template name=\"sect3\" text=\"የክፍሉ መጠሪያ “%t”\"/>\n<l:template name=\"sect4\" text=\"የክፍሉ መጠሪያ “%t”\"/>\n<l:template name=\"sect5\" text=\"የክፍሉ መጠሪያ “%t”\"/>\n<l:template name=\"section\" text=\"የክፍሉ መጠሪያ “%t”\"/>\n<l:template name=\"simplesect\" text=\"የክፍሉ መጠሪያ “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"መ፦ %n\"/>\n<l:template name=\"appendix\" text=\"ተጨማሪ %n\"/>\n<l:template name=\"bridgehead\" text=\"ክፍል %n\"/>\n<l:template name=\"chapter\" text=\"ምዕራፍ %n\"/>\n<l:template name=\"equation\" text=\"እኩሌታ %n\"/>\n<l:template name=\"example\" text=\"ለምሳሌ %n\"/>\n<l:template name=\"figure\" text=\"ምስል %n\"/>\n<l:template name=\"part\" text=\"ክፍል %n\"/>\n<l:template name=\"procedure\" text=\"ቅደም ተከተል %n\"/>\n<l:template name=\"productionset\" text=\"ምርት %n\"/>\n<l:template name=\"qandadiv\" text=\"ጥያቄ እና መልስ %n\"/>\n<l:template name=\"qandaentry\" text=\"ጥ፦ %n\"/>\n<l:template name=\"question\" text=\"ጥ፦ %n\"/>\n<l:template name=\"sect1\" text=\"ክፍል %n\"/>\n<l:template name=\"sect2\" text=\"ክፍል %n\"/>\n<l:template name=\"sect3\" text=\"ክፍል %n\"/>\n<l:template name=\"sect4\" text=\"ክፍል %n\"/>\n<l:template name=\"sect5\" text=\"ክፍል %n\"/>\n<l:template name=\"section\" text=\"ክፍል %n\"/>\n<l:template name=\"table\" text=\"ሠንጠረዥ %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"ተጨማሪ %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"ክፍል %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"ምዕራፍ %n, %t\"/>\n<l:template name=\"equation\" text=\"እኩሌታ %n, “%t”\"/>\n<l:template name=\"example\" text=\"ለምሳሌ %n, “%t”\"/>\n<l:template name=\"figure\" text=\"ምስል %n, “%t”\"/>\n<l:template name=\"part\" text=\"ክፍል %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"ቅደም ተከተል %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"ምርት %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"ጥያቄ እና መልስ %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"የክፍሉ መጠሪያ “%t”\"/>\n<l:template name=\"refsect2\" text=\"የክፍሉ መጠሪያ “%t”\"/>\n<l:template name=\"refsect3\" text=\"የክፍሉ መጠሪያ “%t”\"/>\n<l:template name=\"refsection\" text=\"የክፍሉ መጠሪያ “%t”\"/>\n<l:template name=\"sect1\" text=\"ክፍል %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"ክፍል %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"ክፍል %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"ክፍል %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"ክፍል %n, “%t”\"/>\n<l:template name=\"section\" text=\"ክፍል %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"የክፍሉ መጠሪያ “%t”\"/>\n<l:template name=\"table\" text=\"ሠንጠረዥ %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\"፣ \"/>\n<l:template name=\"sep2\" text=\" እና \"/>\n<l:template name=\"seplast\" text=\"፣ እና \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"ማየት (እይ) %t.\"/>\n<l:template name=\"seealso\" text=\"…ንም እይ %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"ተመልካች፦ \"/>\n<l:template name=\"MsgLevel\" text=\"ደረጃ፦ \"/>\n<l:template name=\"MsgOrig\" text=\"ምንጭ፦ \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d B Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[ትርጉም፦ \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"ጃንዩወሪ\"/>\n<l:template name=\"February\" text=\"ፌብሩወሪ\"/>\n<l:template name=\"March\" text=\"ማርች\"/>\n<l:template name=\"April\" text=\"ኤፕረል\"/>\n<l:template name=\"May\" text=\"ሜይ\"/>\n<l:template name=\"June\" text=\"ጁን\"/>\n<l:template name=\"July\" text=\"ጁላይ\"/>\n<l:template name=\"August\" text=\"ኦገስት\"/>\n<l:template name=\"September\" text=\"ሴፕቴምበር\"/>\n<l:template name=\"October\" text=\"ኦክተውበር\"/>\n<l:template name=\"November\" text=\"ኖቬምበር\"/>\n<l:template name=\"December\" text=\"ዲሴምበር\"/>\n<l:template name=\"Monday\" text=\"ሰኞ\"/>\n<l:template name=\"Tuesday\" text=\"ማክሰኞ\"/>\n<l:template name=\"Wednesday\" text=\"ረቡዕ\"/>\n<l:template name=\"Thursday\" text=\"ሐሙስ\"/>\n<l:template name=\"Friday\" text=\"ዓርብ\"/>\n<l:template name=\"Saturday\" text=\"ቅዳሜ\"/>\n<l:template name=\"Sunday\" text=\"እሑድ\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"ጃንዩ\"/>\n<l:template name=\"Feb\" text=\"ፌብሩ\"/>\n<l:template name=\"Mar\" text=\"ማርች\"/>\n<l:template name=\"Apr\" text=\"ኤፕረ\"/>\n<l:template name=\"May\" text=\"ሜይ \"/>\n<l:template name=\"Jun\" text=\"ጁን \"/>\n<l:template name=\"Jul\" text=\"ጁላይ\"/>\n<l:template name=\"Aug\" text=\"ኦገስ\"/>\n<l:template name=\"Sep\" text=\"ሴፕቴ\"/>\n<l:template name=\"Oct\" text=\"ኦክተ\"/>\n<l:template name=\"Nov\" text=\"ኖቬም\"/>\n<l:template name=\"Dec\" text=\"ዲሴም\"/>\n<l:template name=\"Mon\" text=\"ሰኞ \"/>\n<l:template name=\"Tue\" text=\"ማክሰ\"/>\n<l:template name=\"Wed\" text=\"ረቡዕ\"/>\n<l:template name=\"Thu\" text=\"ሐሙስ\"/>\n<l:template name=\"Fri\" text=\"ዓርብ\"/>\n<l:template name=\"Sat\" text=\"ቅዳሜ\"/>\n<l:template name=\"Sun\" text=\"እሑድ\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0409 English\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">ምልክቶች</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/ar.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"ar\" english-language-name=\"Arabic\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/ar.xml -->\n<!-- * -->\n<!-- * E-mail the edited ar.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"خلاصة\"/>\n<l:gentext key=\"abstract\" text=\"خلاصة\"/>\n<l:gentext key=\"Acknowledgements\" text=\"عرفان\"/>\n<l:gentext key=\"acknowledgements\" text=\"عرفان\"/>\n<l:gentext key=\"Answer\" text=\"ج:\"/>\n<l:gentext key=\"answer\" text=\"ج:\"/>\n<l:gentext key=\"Appendix\" text=\"ملحق\"/>\n<l:gentext key=\"appendix\" text=\"ملحق\"/>\n<l:gentext key=\"Article\" text=\"مقال\"/>\n<l:gentext key=\"article\" text=\"مقال\"/>\n<l:gentext key=\"Author\" text=\"مؤلف\"/>\n<l:gentext key=\"Bibliography\" text=\"قائمة المراجع\"/>\n<l:gentext key=\"bibliography\" text=\"قائمة المراجع\"/>\n<l:gentext key=\"Book\" text=\"كتاب\"/>\n<l:gentext key=\"book\" text=\"كتاب\"/>\n<l:gentext key=\"CAUTION\" text=\"تحذير\"/>\n<l:gentext key=\"Caution\" text=\"تحذير\"/>\n<l:gentext key=\"caution\" text=\"تحذير\"/>\n<l:gentext key=\"Chapter\" text=\"فصل\"/>\n<l:gentext key=\"chapter\" text=\"فصل\"/>\n<l:gentext key=\"Colophon\" text=\"الناشر\"/>\n<l:gentext key=\"colophon\" text=\"الناشر\"/>\n<l:gentext key=\"Copyright\" text=\"حقوق النشر\"/>\n<l:gentext key=\"copyright\" text=\"حقوق النشر\"/>\n<l:gentext key=\"Dedication\" text=\"إهداء\"/>\n<l:gentext key=\"dedication\" text=\"إهداء\"/>\n<l:gentext key=\"Edition\" text=\"نسخة\"/>\n<l:gentext key=\"edition\" text=\"نسخة\"/>\n<l:gentext key=\"Editor\" text=\"محرر\"/>\n<l:gentext key=\"Equation\" text=\"معادلة\"/>\n<l:gentext key=\"equation\" text=\"معادلة\"/>\n<l:gentext key=\"Example\" text=\"مثال\"/>\n<l:gentext key=\"example\" text=\"مثال\"/>\n<l:gentext key=\"Figure\" text=\"شكل\"/>\n<l:gentext key=\"figure\" text=\"شكل\"/>\n<l:gentext key=\"Glossary\" text=\"قاموس المفردات\"/>\n<l:gentext key=\"glossary\" text=\"قاموس المفردات\"/>\n<l:gentext key=\"GlossSee\" text=\"انظر\"/>\n<l:gentext key=\"glosssee\" text=\"انظر\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"انظر أيضاً\"/>\n<l:gentext key=\"glossseealso\" text=\"انظر أيضاً\"/>\n<l:gentext key=\"IMPORTANT\" text=\"هام\"/>\n<l:gentext key=\"important\" text=\"هام\"/>\n<l:gentext key=\"Important\" text=\"هام\"/>\n<l:gentext key=\"Index\" text=\"فهرس\"/>\n<l:gentext key=\"index\" text=\"فهرس\"/>\n<l:gentext key=\"ISBN\" text=\"الترقيم العالمي القياسي للكتاب\"/>\n<l:gentext key=\"isbn\" text=\"الترقيم العالمي القياسي للكتاب\"/>\n<l:gentext key=\"LegalNotice\" text=\"ملاحظة قانونية\"/>\n<l:gentext key=\"legalnotice\" text=\"ملاحظة قانونية\"/>\n<l:gentext key=\"MsgAud\" text=\"الجمهور\"/>\n<l:gentext key=\"msgaud\" text=\"الجمهور\"/>\n<l:gentext key=\"MsgLevel\" text=\"المستوى\"/>\n<l:gentext key=\"msglevel\" text=\"المستوى\"/>\n<l:gentext key=\"MsgOrig\" text=\"المصدر\"/>\n<l:gentext key=\"msgorig\" text=\"المصدر\"/>\n<l:gentext key=\"NOTE\" text=\"ملاحظة\"/>\n<l:gentext key=\"Note\" text=\"ملاحظة\"/>\n<l:gentext key=\"note\" text=\"ملاحظة\"/>\n<l:gentext key=\"Part\" text=\"جزء\"/>\n<l:gentext key=\"part\" text=\"جزء\"/>\n<l:gentext key=\"Preface\" text=\"مقدمة\"/>\n<l:gentext key=\"preface\" text=\"مقدمة\"/>\n<l:gentext key=\"Procedure\" text=\"إجراء\"/>\n<l:gentext key=\"procedure\" text=\"إجراء\"/>\n<l:gentext key=\"ProductionSet\" text=\"منتج\"/>\n<l:gentext key=\"PubDate\" text=\"تاريخ النشر\"/>\n<l:gentext key=\"pubdate\" text=\"تاريخ النشر\"/>\n<l:gentext key=\"Published\" text=\"منشور\"/>\n<l:gentext key=\"published\" text=\"منشور\"/>\n<l:gentext key=\"Publisher\" text=\"الناشر\"/>\n<l:gentext key=\"Qandadiv\" text=\"س و ج\"/>\n<l:gentext key=\"qandadiv\" text=\"س و ج\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"س:\"/>\n<l:gentext key=\"question\" text=\"س:\"/>\n<l:gentext key=\"RefEntry\" text=\"صفحة\"/>\n<l:gentext key=\"refentry\" text=\"صفحة\"/>\n<l:gentext key=\"Reference\" text=\"مرجع\"/>\n<l:gentext key=\"reference\" text=\"مرجع\"/>\n<l:gentext key=\"References\" text=\"مراجع\"/>\n<l:gentext key=\"RefName\" text=\"الاسم\"/>\n<l:gentext key=\"refname\" text=\"الاسم\"/>\n<l:gentext key=\"RefSection\" text=\"قسم\"/>\n<l:gentext key=\"refsection\" text=\"قسم\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"المختصر\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"المختصر\"/>\n<l:gentext key=\"RevHistory\" text=\"تاريخ المراجعة\"/>\n<l:gentext key=\"revhistory\" text=\"تاريخ المراجعة\"/>\n<l:gentext key=\"revision\" text=\"مراجعة\"/>\n<l:gentext key=\"Revision\" text=\"مراجعة\"/>\n<l:gentext key=\"sect1\" text=\"قسم\"/>\n<l:gentext key=\"sect2\" text=\"قسم\"/>\n<l:gentext key=\"sect3\" text=\"قسم\"/>\n<l:gentext key=\"sect4\" text=\"قسم\"/>\n<l:gentext key=\"sect5\" text=\"قسم\"/>\n<l:gentext key=\"section\" text=\"قسم\"/>\n<l:gentext key=\"Section\" text=\"قسم\"/>\n<l:gentext key=\"see\" text=\"استعرض\"/>\n<l:gentext key=\"See\" text=\"استعرض\"/>\n<l:gentext key=\"seealso\" text=\"استعرض أيضاً\"/>\n<l:gentext key=\"Seealso\" text=\"استعرض أيضاً\"/>\n<l:gentext key=\"SeeAlso\" text=\"استعرض أيضاً\"/>\n<l:gentext key=\"set\" text=\"مجموعة\"/>\n<l:gentext key=\"Set\" text=\"مجموعة\"/>\n<l:gentext key=\"setindex\" text=\"فهرس المجموعة\"/>\n<l:gentext key=\"SetIndex\" text=\"فهرس المجموعة\"/>\n<l:gentext key=\"Sidebar\" text=\"الشريط الجانبي\"/>\n<l:gentext key=\"sidebar\" text=\"الشريط الجانبي\"/>\n<l:gentext key=\"step\" text=\"خطوة\"/>\n<l:gentext key=\"Step\" text=\"خطوة\"/>\n<l:gentext key=\"table\" text=\"جدول\"/>\n<l:gentext key=\"Table\" text=\"جدول\"/>\n<l:gentext key=\"task\" text=\"مَهمة\"/>\n<l:gentext key=\"Task\" text=\"مَهمة\"/>\n<l:gentext key=\"tip\" text=\"فكرة مفيدة\"/>\n<l:gentext key=\"TIP\" text=\"فكرة مفيدة\"/>\n<l:gentext key=\"Tip\" text=\"فكرة مفيدة\"/>\n<l:gentext key=\"Warning\" text=\"تنبيه\"/>\n<l:gentext key=\"warning\" text=\"تنبيه\"/>\n<l:gentext key=\"WARNING\" text=\"تنبيه\"/>\n<l:gentext key=\"and\" text=\"و\"/>\n<l:gentext key=\"or\" text=\"أو\"/>\n<l:gentext key=\"by\" text=\"بواسطة\"/>\n<l:gentext key=\"Edited\" text=\"معدل\"/>\n<l:gentext key=\"edited\" text=\"معدل\"/>\n<l:gentext key=\"Editedby\" text=\"معدل بواسطة\"/>\n<l:gentext key=\"editedby\" text=\"معدل بواسطة\"/>\n<l:gentext key=\"in\" text=\"في\"/>\n<l:gentext key=\"lastlistcomma\" text=\"،\"/>\n<l:gentext key=\"listcomma\" text=\"،\"/>\n<l:gentext key=\"notes\" text=\"ملاحظات\"/>\n<l:gentext key=\"Notes\" text=\"ملاحظات\"/>\n<l:gentext key=\"Pgs\" text=\"صفحات\"/>\n<l:gentext key=\"pgs\" text=\"صفحات\"/>\n<l:gentext key=\"Revisedby\" text=\"تمت المراجعة بواسطة: \"/>\n<l:gentext key=\"revisedby\" text=\"تمت المراجعة بواسطة: \"/>\n<l:gentext key=\"TableNotes\" text=\"ملاحظات\"/>\n<l:gentext key=\"tablenotes\" text=\"ملاحظات\"/>\n<l:gentext key=\"TableofContents\" text=\"قائمة المحتويات\"/>\n<l:gentext key=\"tableofcontents\" text=\"قائمة المحتويات\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"اسم عنصر غير متوقع\"/>\n<l:gentext key=\"unsupported\" text=\"غير مدعوم\"/>\n<l:gentext key=\"xrefto\" text=\"إشارة إلى\"/>\n<l:gentext key=\"Authors\" text=\"مؤلفون\"/>\n<l:gentext key=\"copyeditor\" text=\"محرر النسخة\"/>\n<l:gentext key=\"graphicdesigner\" text=\"مصمم جرافيكي\"/>\n<l:gentext key=\"productioneditor\" text=\"محرر إنتاج\"/>\n<l:gentext key=\"technicaleditor\" text=\"محرر فني\"/>\n<l:gentext key=\"translator\" text=\"مترجم\"/>\n<l:gentext key=\"listofequations\" text=\"قائمة المعادلات\"/>\n<l:gentext key=\"ListofEquations\" text=\"قائمة المعادلات\"/>\n<l:gentext key=\"ListofExamples\" text=\"قائمة الأمثلة\"/>\n<l:gentext key=\"listofexamples\" text=\"قائمة الأمثلة\"/>\n<l:gentext key=\"ListofFigures\" text=\"قائمة الأشكال\"/>\n<l:gentext key=\"listoffigures\" text=\"قائمة الأشكال\"/>\n<l:gentext key=\"ListofProcedures\" text=\"قائمة الإجراءات\"/>\n<l:gentext key=\"listofprocedures\" text=\"قائمة الإجراءات\"/>\n<l:gentext key=\"listoftables\" text=\"قائمة الجداول\"/>\n<l:gentext key=\"ListofTables\" text=\"قائمة الجداول\"/>\n<l:gentext key=\"ListofUnknown\" text=\"قائمة المجهولات\"/>\n<l:gentext key=\"listofunknown\" text=\"قائمة المجهولات\"/>\n<l:gentext key=\"nav-home\" text=\"البداية\"/>\n<l:gentext key=\"nav-next\" text=\"التالي\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"إلى الأمام\"/>\n<l:gentext key=\"nav-prev\" text=\"السابق\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"إلى الخلف\"/>\n<l:gentext key=\"nav-up\" text=\"أعلى\"/>\n<l:gentext key=\"nav-toc\" text=\"الفهرس\"/>\n<l:gentext key=\"Draft\" text=\"مسودة\"/>\n<l:gentext key=\"above\" text=\"أعلى\"/>\n<l:gentext key=\"below\" text=\"فيما يلي\"/>\n<l:gentext key=\"sectioncalled\" text=\"القسم المسمى\"/>\n<l:gentext key=\"index symbols\" text=\"الرموز\"/>\n<l:gentext key=\"writing-mode\" text=\"rl-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"‐\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"ملحق %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"فصل %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"معادلة %n. %t\"/>\n<l:template name=\"example\" text=\"مثال %n. %t\"/>\n<l:template name=\"figure\" text=\"شكل %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"جزء %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"إجراء %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"منتج %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"جدول %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"ملحق %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"فصل %n. %t\"/>\n<l:template name=\"part\" text=\"جزء %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"ج: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"س: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"س: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"القسم المسمى “%t”\"/>\n<l:template name=\"refsection\" text=\"القسم المسمى “%t”\"/>\n<l:template name=\"refsect1\" text=\"القسم المسمى “%t”\"/>\n<l:template name=\"refsect2\" text=\"القسم المسمى “%t”\"/>\n<l:template name=\"refsect3\" text=\"القسم المسمى “%t”\"/>\n<l:template name=\"sect1\" text=\"القسم المسمى “%t”\"/>\n<l:template name=\"sect2\" text=\"القسم المسمى “%t”\"/>\n<l:template name=\"sect3\" text=\"القسم المسمى “%t”\"/>\n<l:template name=\"sect4\" text=\"القسم المسمى “%t”\"/>\n<l:template name=\"sect5\" text=\"القسم المسمى “%t”\"/>\n<l:template name=\"section\" text=\"القسم المسمى “%t”\"/>\n<l:template name=\"simplesect\" text=\"القسم المسمى “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"ج: %n\"/>\n<l:template name=\"appendix\" text=\"ملحق %n\"/>\n<l:template name=\"bridgehead\" text=\"قسم %n\"/>\n<l:template name=\"chapter\" text=\"فصل %n\"/>\n<l:template name=\"equation\" text=\"معادلة %n\"/>\n<l:template name=\"example\" text=\"مثال %n\"/>\n<l:template name=\"figure\" text=\"شكل %n\"/>\n<l:template name=\"part\" text=\"جزء %n\"/>\n<l:template name=\"procedure\" text=\"إجراء %n\"/>\n<l:template name=\"productionset\" text=\"منتج %n\"/>\n<l:template name=\"qandadiv\" text=\"س و ج %n\"/>\n<l:template name=\"qandaentry\" text=\"س: %n\"/>\n<l:template name=\"question\" text=\"س: %n\"/>\n<l:template name=\"sect1\" text=\"قسم %n\"/>\n<l:template name=\"sect2\" text=\"قسم %n\"/>\n<l:template name=\"sect3\" text=\"قسم %n\"/>\n<l:template name=\"sect4\" text=\"قسم %n\"/>\n<l:template name=\"sect5\" text=\"قسم %n\"/>\n<l:template name=\"section\" text=\"قسم %n\"/>\n<l:template name=\"table\" text=\"جدول %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"ملحق %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"قسم %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"فصل %n, %t\"/>\n<l:template name=\"equation\" text=\"معادلة %n, “%t”\"/>\n<l:template name=\"example\" text=\"مثال %n, “%t”\"/>\n<l:template name=\"figure\" text=\"شكل %n, “%t”\"/>\n<l:template name=\"part\" text=\"جزء %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"إجراء %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"منتج %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"س و ج %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"القسم المسمى “%t”\"/>\n<l:template name=\"refsect2\" text=\"القسم المسمى “%t”\"/>\n<l:template name=\"refsect3\" text=\"القسم المسمى “%t”\"/>\n<l:template name=\"refsection\" text=\"القسم المسمى “%t”\"/>\n<l:template name=\"sect1\" text=\"قسم %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"قسم %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"قسم %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"قسم %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"قسم %n, “%t”\"/>\n<l:template name=\"section\" text=\"قسم %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"القسم المسمى “%t”\"/>\n<l:template name=\"table\" text=\"جدول %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\"، \"/>\n<l:template name=\"sep2\" text=\" و \"/>\n<l:template name=\"seplast\" text=\"، و \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"انظر %t.\"/>\n<l:template name=\"seealso\" text=\"انظر أيضاً %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"الجمهور: \"/>\n<l:template name=\"MsgLevel\" text=\"المستوى: \"/>\n<l:template name=\"MsgOrig\" text=\"المصدر: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"يناير\"/>\n<l:template name=\"February\" text=\"فبراير\"/>\n<l:template name=\"March\" text=\"مارس\"/>\n<l:template name=\"April\" text=\"أبريل\"/>\n<l:template name=\"May\" text=\"مايو\"/>\n<l:template name=\"June\" text=\"يونيو\"/>\n<l:template name=\"July\" text=\"يوليو\"/>\n<l:template name=\"August\" text=\"أغسطس\"/>\n<l:template name=\"September\" text=\"سبتمبر\"/>\n<l:template name=\"October\" text=\"أكتوبر\"/>\n<l:template name=\"November\" text=\"نوفمبر\"/>\n<l:template name=\"December\" text=\"ديسمبر\"/>\n<l:template name=\"Monday\" text=\"الإثنين\"/>\n<l:template name=\"Tuesday\" text=\"الثلاثاء\"/>\n<l:template name=\"Wednesday\" text=\"الأربعاء\"/>\n<l:template name=\"Thursday\" text=\"الخميس\"/>\n<l:template name=\"Friday\" text=\"الجمعة\"/>\n<l:template name=\"Saturday\" text=\"السبت\"/>\n<l:template name=\"Sunday\" text=\"الأحد\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"يناير\"/>\n<l:template name=\"Feb\" text=\"فبراير\"/>\n<l:template name=\"Mar\" text=\"مارس\"/>\n<l:template name=\"Apr\" text=\"أبريل\"/>\n<l:template name=\"May\" text=\"مايو\"/>\n<l:template name=\"Jun\" text=\"يونيو\"/>\n<l:template name=\"Jul\" text=\"يوليو\"/>\n<l:template name=\"Aug\" text=\"أغسطس\"/>\n<l:template name=\"Sep\" text=\"سبتمبر\"/>\n<l:template name=\"Oct\" text=\"أكتوبر\"/>\n<l:template name=\"Nov\" text=\"نوفمبر\"/>\n<l:template name=\"Dec\" text=\"ديسمبر\"/>\n<l:template name=\"Mon\" text=\"الإثنين\"/>\n<l:template name=\"Tue\" text=\"الثلاثاء\"/>\n<l:template name=\"Wed\" text=\"الأربعاء\"/>\n<l:template name=\"Thu\" text=\"الخميس\"/>\n<l:template name=\"Fri\" text=\"الجمعة\"/>\n<l:template name=\"Sat\" text=\"السبت\"/>\n<l:template name=\"Sun\" text=\"الأحد\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0409 English (UNITED STATES)\" lang=\"en\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters lang=\"en\"><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/as.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"as\" english-language-name=\"Assamese\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/as.xml -->\n<!-- * -->\n<!-- * E-mail the edited as.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"সাৰাংশ\"/>\n<l:gentext key=\"abstract\" text=\"সাৰাংশ\"/>\n<l:gentext key=\"Acknowledgements\" text=\"স্বীকৃতি\"/>\n<l:gentext key=\"acknowledgements\" text=\"স্বীকৃতি\"/>\n<l:gentext key=\"Answer\" text=\"উ:\"/>\n<l:gentext key=\"answer\" text=\"উ:\"/>\n<l:gentext key=\"Appendix\" text=\"পৰিশিষ্ট\"/>\n<l:gentext key=\"appendix\" text=\"পৰিশিষ্ট\"/>\n<l:gentext key=\"Article\" text=\"প্ৰবন্ধ\"/>\n<l:gentext key=\"article\" text=\"প্ৰবন্ধ\"/>\n<l:gentext key=\"Author\" text=\"লিখক\"/>\n<l:gentext key=\"Bibliography\" text=\"গ্ৰন্থসূচী\"/>\n<l:gentext key=\"bibliography\" text=\"গ্ৰন্থসূচী\"/>\n<l:gentext key=\"Book\" text=\"কিতাপ\"/>\n<l:gentext key=\"book\" text=\"কিতাপ\"/>\n<l:gentext key=\"CAUTION\" text=\"সাৱধান\"/>\n<l:gentext key=\"Caution\" text=\"সাৱধান\"/>\n<l:gentext key=\"caution\" text=\"সাৱধান\"/>\n<l:gentext key=\"Chapter\" text=\"অধ্যায়\"/>\n<l:gentext key=\"chapter\" text=\"অধ্যায়\"/>\n<l:gentext key=\"Colophon\" text=\"গ্ৰন্থপৰিচয়\"/>\n<l:gentext key=\"colophon\" text=\"গ্ৰন্থপৰিচয়\"/>\n<l:gentext key=\"Copyright\" text=\"স্বত্বাধিকাৰ\"/>\n<l:gentext key=\"copyright\" text=\"স্বত্বাধিকাৰ\"/>\n<l:gentext key=\"Dedication\" text=\"উসৰ্গা\"/>\n<l:gentext key=\"dedication\" text=\"উসৰ্গা\"/>\n<l:gentext key=\"Edition\" text=\"সংস্কৰণ\"/>\n<l:gentext key=\"edition\" text=\"সংস্কৰণ\"/>\n<l:gentext key=\"Editor\" text=\"সম্পাদক\"/>\n<l:gentext key=\"Equation\" text=\"সমীকৰণ\"/>\n<l:gentext key=\"equation\" text=\"সমীকৰণ\"/>\n<l:gentext key=\"Example\" text=\"উদাহৰণ\"/>\n<l:gentext key=\"example\" text=\"উদাহৰণ\"/>\n<l:gentext key=\"Figure\" text=\"ছবি\"/>\n<l:gentext key=\"figure\" text=\"ছবি\"/>\n<l:gentext key=\"Glossary\" text=\"শব্দকোষ\"/>\n<l:gentext key=\"glossary\" text=\"শব্দকোষ\"/>\n<l:gentext key=\"GlossSee\" text=\"চাওক\"/>\n<l:gentext key=\"glosssee\" text=\"চাওক\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"ইয়াকো চাওক\"/>\n<l:gentext key=\"glossseealso\" text=\"ইয়াকো চাওক\"/>\n<l:gentext key=\"IMPORTANT\" text=\"গুৰুত্বপূৰ্ণ\"/>\n<l:gentext key=\"important\" text=\"গুৰুত্বপূৰ্ণ\"/>\n<l:gentext key=\"Important\" text=\"গুৰুত্বপূৰ্ণ\"/>\n<l:gentext key=\"Index\" text=\"সূচী\"/>\n<l:gentext key=\"index\" text=\"সূচী\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"আইনসন্মত ঘোষণা\"/>\n<l:gentext key=\"legalnotice\" text=\"আইনসন্মত ঘোষণা\"/>\n<l:gentext key=\"MsgAud\" text=\"শ্ৰোতা\"/>\n<l:gentext key=\"msgaud\" text=\"শ্ৰোতা\"/>\n<l:gentext key=\"MsgLevel\" text=\"স্তৰ\"/>\n<l:gentext key=\"msglevel\" text=\"স্তৰ\"/>\n<l:gentext key=\"MsgOrig\" text=\"উৎস\"/>\n<l:gentext key=\"msgorig\" text=\"উৎস\"/>\n<l:gentext key=\"NOTE\" text=\"টোকা\"/>\n<l:gentext key=\"Note\" text=\"টোকা\"/>\n<l:gentext key=\"note\" text=\"টোকা\"/>\n<l:gentext key=\"Part\" text=\"অংশ\"/>\n<l:gentext key=\"part\" text=\"অংশ\"/>\n<l:gentext key=\"Preface\" text=\"পাতনি\"/>\n<l:gentext key=\"preface\" text=\"পাতনি\"/>\n<l:gentext key=\"Procedure\" text=\"প্ৰক্ৰিয়া\"/>\n<l:gentext key=\"procedure\" text=\"প্ৰক্ৰিয়া\"/>\n<l:gentext key=\"ProductionSet\" text=\"উৎপাদন\"/>\n<l:gentext key=\"PubDate\" text=\"প্ৰকাশনৰ দিন\"/>\n<l:gentext key=\"pubdate\" text=\"প্ৰকাশনৰ দিন\"/>\n<l:gentext key=\"Published\" text=\"প্ৰকাশিত\"/>\n<l:gentext key=\"published\" text=\"প্ৰকাশিত\"/>\n<l:gentext key=\"Publisher\" text=\"প্ৰকাশক\"/>\n<l:gentext key=\"Qandadiv\" text=\"প্ৰশ্ন &amp; উত্তৰ\"/>\n<l:gentext key=\"qandadiv\" text=\"প্ৰশ্ন &amp; উত্তৰ\"/>\n<l:gentext key=\"QandASet\" text=\"সঘনাই কৰা প্ৰশ্ন\"/>\n<l:gentext key=\"Question\" text=\"প্ৰ:\"/>\n<l:gentext key=\"question\" text=\"প্ৰ:\"/>\n<l:gentext key=\"RefEntry\" text=\"পৃষ্ঠা\"/>\n<l:gentext key=\"refentry\" text=\"পৃষ্ঠা\"/>\n<l:gentext key=\"Reference\" text=\"প্ৰসঙ্গ\"/>\n<l:gentext key=\"reference\" text=\"প্ৰসঙ্গ\"/>\n<l:gentext key=\"References\" text=\"প্ৰসঙ্গবোৰ\"/>\n<l:gentext key=\"RefName\" text=\"নাম\"/>\n<l:gentext key=\"refname\" text=\"নাম\"/>\n<l:gentext key=\"RefSection\" text=\"বিভাগ\"/>\n<l:gentext key=\"refsection\" text=\"বিভাগ\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"সাৰাংশ\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"সাৰাংশ\"/>\n<l:gentext key=\"RevHistory\" text=\"পুনৰীক্ষণৰ ইতিহাস\"/>\n<l:gentext key=\"revhistory\" text=\"পুনৰীক্ষণৰ ইতিহাস\"/>\n<l:gentext key=\"revision\" text=\"পুনৰীক্ষণ\"/>\n<l:gentext key=\"Revision\" text=\"পুনৰীক্ষণ\"/>\n<l:gentext key=\"sect1\" text=\"বিভাগ\"/>\n<l:gentext key=\"sect2\" text=\"বিভাগ\"/>\n<l:gentext key=\"sect3\" text=\"বিভাগ\"/>\n<l:gentext key=\"sect4\" text=\"বিভাগ\"/>\n<l:gentext key=\"sect5\" text=\"বিভাগ\"/>\n<l:gentext key=\"section\" text=\"বিভাগ\"/>\n<l:gentext key=\"Section\" text=\"বিভাগ\"/>\n<l:gentext key=\"see\" text=\"চাওক\"/>\n<l:gentext key=\"See\" text=\"চাওক\"/>\n<l:gentext key=\"seealso\" text=\"ইয়াকো চাওক\"/>\n<l:gentext key=\"Seealso\" text=\"ইয়াকো চাওক\"/>\n<l:gentext key=\"SeeAlso\" text=\"ইয়াকো চাওক\"/>\n<l:gentext key=\"set\" text=\"গোট\"/>\n<l:gentext key=\"Set\" text=\"গোট\"/>\n<l:gentext key=\"setindex\" text=\"সূচী প্ৰতিষ্ঠা কৰক\"/>\n<l:gentext key=\"SetIndex\" text=\"সূচী প্ৰতিষ্ঠা কৰক\"/>\n<l:gentext key=\"Sidebar\" text=\"চাইডবাৰ\"/>\n<l:gentext key=\"sidebar\" text=\"চাইডবাৰ\"/>\n<l:gentext key=\"step\" text=\"পৰ্যায়\"/>\n<l:gentext key=\"Step\" text=\"পৰ্যায়\"/>\n<l:gentext key=\"table\" text=\"তালিকা\"/>\n<l:gentext key=\"Table\" text=\"তালিকা\"/>\n<l:gentext key=\"task\" text=\"কাৰ্য্য\"/>\n<l:gentext key=\"Task\" text=\"কাৰ্য্য\"/>\n<l:gentext key=\"tip\" text=\"সঙ্কেত\"/>\n<l:gentext key=\"TIP\" text=\"সঙ্কেত\"/>\n<l:gentext key=\"Tip\" text=\"সঙ্কেত\"/>\n<l:gentext key=\"Warning\" text=\"সকিয়নি\"/>\n<l:gentext key=\"warning\" text=\"সকিয়নি\"/>\n<l:gentext key=\"WARNING\" text=\"সকিয়নি\"/>\n<l:gentext key=\"and\" text=\"আৰু\"/>\n<l:gentext key=\"or\" text=\"or\" lang=\"en\"/>\n<l:gentext key=\"by\" text=\"-ৰ দ্বাৰা\"/>\n<l:gentext key=\"Edited\" text=\"সম্পাদিত\"/>\n<l:gentext key=\"edited\" text=\"সম্পাদিত\"/>\n<l:gentext key=\"Editedby\" text=\"-ৰ দ্বাৰা সম্পাদিত\"/>\n<l:gentext key=\"editedby\" text=\"-ৰ দ্বাৰা সম্পাদিত\"/>\n<l:gentext key=\"in\" text=\"-ত\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"টোকা\"/>\n<l:gentext key=\"Notes\" text=\"টোকা\"/>\n<l:gentext key=\"Pgs\" text=\"পৃষ্ঠাসমূহ\"/>\n<l:gentext key=\"pgs\" text=\"পৃষ্ঠাসমূহ\"/>\n<l:gentext key=\"Revisedby\" text=\"পুনৰীক্ষণকৰ্তা:\"/>\n<l:gentext key=\"revisedby\" text=\"পুনৰীক্ষণকৰ্তা:\"/>\n<l:gentext key=\"TableNotes\" text=\"টোকা\"/>\n<l:gentext key=\"tablenotes\" text=\"টোকা\"/>\n<l:gentext key=\"TableofContents\" text=\"বিষয় সূচী\"/>\n<l:gentext key=\"tableofcontents\" text=\"বিষয় সূচী\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"অপ্ৰত্যাশিত পদাৰ্থৰ নাম\"/>\n<l:gentext key=\"unsupported\" text=\"অসমৰ্থিত\"/>\n<l:gentext key=\"xrefto\" text=\"xref to\"/>\n<l:gentext key=\"Authors\" text=\"লিখকসমূহ\"/>\n<l:gentext key=\"copyeditor\" text=\"নকলৰ সম্পাদক\"/>\n<l:gentext key=\"graphicdesigner\" text=\"আলেখীৰ পৰিকল্পনাকৰ্তা\"/>\n<l:gentext key=\"productioneditor\" text=\"উৎপাদন সম্পাদক\"/>\n<l:gentext key=\"technicaleditor\" text=\"কাৰিকৰী সম্পাদক\"/>\n<l:gentext key=\"translator\" text=\"অনুবাদক\"/>\n<l:gentext key=\"listofequations\" text=\"সমীকৰণৰ তালিকা\"/>\n<l:gentext key=\"ListofEquations\" text=\"সমীকৰণৰ তালিকা\"/>\n<l:gentext key=\"ListofExamples\" text=\"উদাহৰণৰ তালিকা\"/>\n<l:gentext key=\"listofexamples\" text=\"উদাহৰণৰ তালিকা\"/>\n<l:gentext key=\"ListofFigures\" text=\"ছবিৰ তালিকা\"/>\n<l:gentext key=\"listoffigures\" text=\"ছবিৰ তালিকা\"/>\n<l:gentext key=\"ListofProcedures\" text=\"প্ৰক্ৰিয়াৰ তালিকা\"/>\n<l:gentext key=\"listofprocedures\" text=\"প্ৰক্ৰিয়াৰ তালিকা\"/>\n<l:gentext key=\"listoftables\" text=\"টেবুলৰ তালিকা\"/>\n<l:gentext key=\"ListofTables\" text=\"টেবুলৰ তালিকা\"/>\n<l:gentext key=\"ListofUnknown\" text=\"অজ্ঞাতৰ তালিকা\"/>\n<l:gentext key=\"listofunknown\" text=\"অজ্ঞাতৰ তালিকা\"/>\n<l:gentext key=\"nav-home\" text=\"আৰম্ভ\"/>\n<l:gentext key=\"nav-next\" text=\"পিছলৈ\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"দ্ৰুতগতিৰে আগবাঢ়ক\"/>\n<l:gentext key=\"nav-prev\" text=\"আগৰ\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"দ্ৰুতগতিৰে পিছলৈ যাওক\"/>\n<l:gentext key=\"nav-up\" text=\"ওপৰলৈ\"/>\n<l:gentext key=\"nav-toc\" text=\"বিষয়বস্তুৰ তালিকা\"/>\n<l:gentext key=\"Draft\" text=\"ৰূপৰেখা\"/>\n<l:gentext key=\"above\" text=\"ওপৰত\"/>\n<l:gentext key=\"below\" text=\"তলত\"/>\n<l:gentext key=\"sectioncalled\" text=\"মাতি অনা বিভাগ\"/>\n<l:gentext key=\"index symbols\" text=\"চিহ্ন\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\" lang=\"en\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"পৰিশিষ্ট %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"অধ্যায় %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"সমীকৰণ %n. %t\"/>\n<l:template name=\"example\" text=\"উদাহৰণ %n. %t\"/>\n<l:template name=\"figure\" text=\"ছবি %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"অংশ %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"প্ৰক্ৰিয়া %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"উৎপাদন %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"তালিকা %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"পৰিশিষ্ট %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"অধ্যায় %n. %t\"/>\n<l:template name=\"part\" text=\"অংশ %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"উ: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"প্ৰ: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"প্ৰ: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"মাতি অনা বিভাগ “%t”\"/>\n<l:template name=\"refsection\" text=\"মাতি অনা বিভাগ “%t”\"/>\n<l:template name=\"refsect1\" text=\"মাতি অনা বিভাগ “%t”\"/>\n<l:template name=\"refsect2\" text=\"মাতি অনা বিভাগ “%t”\"/>\n<l:template name=\"refsect3\" text=\"মাতি অনা বিভাগ “%t”\"/>\n<l:template name=\"sect1\" text=\"মাতি অনা বিভাগ “%t”\"/>\n<l:template name=\"sect2\" text=\"মাতি অনা বিভাগ “%t”\"/>\n<l:template name=\"sect3\" text=\"মাতি অনা বিভাগ “%t”\"/>\n<l:template name=\"sect4\" text=\"মাতি অনা বিভাগ “%t”\"/>\n<l:template name=\"sect5\" text=\"মাতি অনা বিভাগ “%t”\"/>\n<l:template name=\"section\" text=\"মাতি অনা বিভাগ “%t”\"/>\n<l:template name=\"simplesect\" text=\"মাতি অনা বিভাগ “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"উ: %n\"/>\n<l:template name=\"appendix\" text=\"পৰিশিষ্ট %n\"/>\n<l:template name=\"bridgehead\" text=\"বিভাগ %n\"/>\n<l:template name=\"chapter\" text=\"অধ্যায় %n\"/>\n<l:template name=\"equation\" text=\"সমীকৰণ %n\"/>\n<l:template name=\"example\" text=\"উদাহৰণ %n\"/>\n<l:template name=\"figure\" text=\"ছবি %n\"/>\n<l:template name=\"part\" text=\"অংশ %n\"/>\n<l:template name=\"procedure\" text=\"প্ৰক্ৰিয়া %n\"/>\n<l:template name=\"productionset\" text=\"উৎপাদন %n\"/>\n<l:template name=\"qandadiv\" text=\"প্ৰশ্ন &amp; উত্তৰ %n\"/>\n<l:template name=\"qandaentry\" text=\"প্ৰ: %n\"/>\n<l:template name=\"question\" text=\"প্ৰ: %n\"/>\n<l:template name=\"sect1\" text=\"বিভাগ %n\"/>\n<l:template name=\"sect2\" text=\"বিভাগ %n\"/>\n<l:template name=\"sect3\" text=\"বিভাগ %n\"/>\n<l:template name=\"sect4\" text=\"বিভাগ %n\"/>\n<l:template name=\"sect5\" text=\"বিভাগ %n\"/>\n<l:template name=\"section\" text=\"বিভাগ %n\"/>\n<l:template name=\"table\" text=\"তালিকা %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"পৰিশিষ্ট %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"বিভাগ %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"অধ্যায় %n, %t\"/>\n<l:template name=\"equation\" text=\"সমীকৰণ %n, “%t”\"/>\n<l:template name=\"example\" text=\"উদাহৰণ %n, “%t”\"/>\n<l:template name=\"figure\" text=\"ছবি %n, “%t”\"/>\n<l:template name=\"part\" text=\"অংশ %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"প্ৰক্ৰিয়া %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"উৎপাদন %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"প্ৰশ্ন &amp; উত্তৰ %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"মাতি অনা বিভাগ “%t”\"/>\n<l:template name=\"refsect2\" text=\"মাতি অনা বিভাগ “%t”\"/>\n<l:template name=\"refsect3\" text=\"মাতি অনা বিভাগ “%t”\"/>\n<l:template name=\"refsection\" text=\"মাতি অনা বিভাগ “%t”\"/>\n<l:template name=\"sect1\" text=\"বিভাগ %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"বিভাগ %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"বিভাগ %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"বিভাগ %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"বিভাগ %n, “%t”\"/>\n<l:template name=\"section\" text=\"বিভাগ %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"মাতি অনা বিভাগ “%t”\"/>\n<l:template name=\"table\" text=\"তালিকা %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" আৰু \"/>\n<l:template name=\"seplast\" text=\", আৰু \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"চাওক %t.\"/>\n<l:template name=\"seealso\" text=\"ইয়াকো চাওক %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"শ্ৰোতা: \"/>\n<l:template name=\"MsgLevel\" text=\"স্তৰ: \"/>\n<l:template name=\"MsgOrig\" text=\"উৎস: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"জানুৱাৰী\"/>\n<l:template name=\"February\" text=\"ফেব্ৰুৱাৰী\"/>\n<l:template name=\"March\" text=\"মাৰ্চ\"/>\n<l:template name=\"April\" text=\"এপ্ৰিল\"/>\n<l:template name=\"May\" text=\"মে'\"/>\n<l:template name=\"June\" text=\"জুন\"/>\n<l:template name=\"July\" text=\"জুলাই\"/>\n<l:template name=\"August\" text=\"আগষ্ট\"/>\n<l:template name=\"September\" text=\"চেপ্টেম্বৰ\"/>\n<l:template name=\"October\" text=\"অক্টোবৰ\"/>\n<l:template name=\"November\" text=\"নৱেম্বৰ\"/>\n<l:template name=\"December\" text=\"ডিচেম্বৰ\"/>\n<l:template name=\"Monday\" text=\"সোমবাৰ\"/>\n<l:template name=\"Tuesday\" text=\"মঙ্গলবাৰ\"/>\n<l:template name=\"Wednesday\" text=\"বুধবাৰ\"/>\n<l:template name=\"Thursday\" text=\"বৃহস্পতিবাৰ\"/>\n<l:template name=\"Friday\" text=\"শুকুৰবাৰ\"/>\n<l:template name=\"Saturday\" text=\"শনিবাৰ\"/>\n<l:template name=\"Sunday\" text=\"দেওবাৰ\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"জানুৱাৰী\"/>\n<l:template name=\"Feb\" text=\"ফেব্ৰুৱাৰী\"/>\n<l:template name=\"Mar\" text=\"মাৰ্চ\"/>\n<l:template name=\"Apr\" text=\"এপ্ৰিল\"/>\n<l:template name=\"May\" text=\"মে'\"/>\n<l:template name=\"Jun\" text=\"জুন\"/>\n<l:template name=\"Jul\" text=\"জুলাই\"/>\n<l:template name=\"Aug\" text=\"আগষ্ট\"/>\n<l:template name=\"Sep\" text=\"চেপ্টেম্বৰ\"/>\n<l:template name=\"Oct\" text=\"অক্টোবৰ\"/>\n<l:template name=\"Nov\" text=\"নৱেম্বৰ\"/>\n<l:template name=\"Dec\" text=\"ডিচেম্বৰ\"/>\n<l:template name=\"Mon\" text=\"সোম\"/>\n<l:template name=\"Tue\" text=\"মঙ্গল\"/>\n<l:template name=\"Wed\" text=\"বুধ\"/>\n<l:template name=\"Thu\" text=\"বৃহস্পতি\"/>\n<l:template name=\"Fri\" text=\"শুকুৰ\"/>\n<l:template name=\"Sat\" text=\"শনি\"/>\n<l:template name=\"Sun\" text=\"দেও\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x044d Assamese\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">চিহ্ন</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/ast.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"ast\" english-language-name=\"Asturian\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/ast.xml -->\n<!-- * -->\n<!-- * E-mail the edited ast.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Abstrautu\"/>\n<l:gentext key=\"abstract\" text=\"abstrautu\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Gracies fonderes\"/>\n<l:gentext key=\"acknowledgements\" text=\"gracies fonderes\"/>\n<l:gentext key=\"Answer\" text=\"R:\"/>\n<l:gentext key=\"answer\" text=\"r:\"/>\n<l:gentext key=\"Appendix\" text=\"Apéndiz\"/>\n<l:gentext key=\"appendix\" text=\"apéndiz\"/>\n<l:gentext key=\"Article\" text=\"Artículu\"/>\n<l:gentext key=\"article\" text=\"artículu\"/>\n<l:gentext key=\"Author\" text=\"Autor\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografía\"/>\n<l:gentext key=\"bibliography\" text=\"bibliografía\"/>\n<l:gentext key=\"Book\" text=\"Llibru\"/>\n<l:gentext key=\"book\" text=\"llibru\"/>\n<l:gentext key=\"CAUTION\" text=\"PRECAUCIÓN\"/>\n<l:gentext key=\"Caution\" text=\"Precaución\"/>\n<l:gentext key=\"caution\" text=\"precaución\"/>\n<l:gentext key=\"Chapter\" text=\"Capítulu\"/>\n<l:gentext key=\"chapter\" text=\"capítulu\"/>\n<l:gentext key=\"Colophon\" text=\"Colofón\"/>\n<l:gentext key=\"colophon\" text=\"colofón\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"copyright\"/>\n<l:gentext key=\"Dedication\" text=\"Dedicáu\"/>\n<l:gentext key=\"dedication\" text=\"dedicáu\"/>\n<l:gentext key=\"Edition\" text=\"Edición\"/>\n<l:gentext key=\"edition\" text=\"edición\"/>\n<l:gentext key=\"Editor\" text=\"Editor\"/>\n<l:gentext key=\"Equation\" text=\"Ecuación\"/>\n<l:gentext key=\"equation\" text=\"ecuación\"/>\n<l:gentext key=\"Example\" text=\"Exemplu\"/>\n<l:gentext key=\"example\" text=\"exemplu\"/>\n<l:gentext key=\"Figure\" text=\"Figura\"/>\n<l:gentext key=\"figure\" text=\"figura\"/>\n<l:gentext key=\"Glossary\" text=\"Glosariu\"/>\n<l:gentext key=\"glossary\" text=\"glosariu\"/>\n<l:gentext key=\"GlossSee\" text=\"Ver\"/>\n<l:gentext key=\"glosssee\" text=\"ver\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Ver Tamién\"/>\n<l:gentext key=\"glossseealso\" text=\"ver tamién\"/>\n<l:gentext key=\"IMPORTANT\" text=\"IMPORTANTE\"/>\n<l:gentext key=\"important\" text=\"Importante\"/>\n<l:gentext key=\"Important\" text=\"Importante\"/>\n<l:gentext key=\"Index\" text=\"Índiz\"/>\n<l:gentext key=\"index\" text=\"índiz\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Noticia Llegal\"/>\n<l:gentext key=\"legalnotice\" text=\"noticia llegal\"/>\n<l:gentext key=\"MsgAud\" text=\"Audiencia\"/>\n<l:gentext key=\"msgaud\" text=\"Audiencia\"/>\n<l:gentext key=\"MsgLevel\" text=\"Nivel\"/>\n<l:gentext key=\"msglevel\" text=\"nivel\"/>\n<l:gentext key=\"MsgOrig\" text=\"Orixe\"/>\n<l:gentext key=\"msgorig\" text=\"Orixe\"/>\n<l:gentext key=\"NOTE\" text=\"NOTA\"/>\n<l:gentext key=\"Note\" text=\"Nota\"/>\n<l:gentext key=\"note\" text=\"nota\"/>\n<l:gentext key=\"Part\" text=\"Parte\"/>\n<l:gentext key=\"part\" text=\"parte\"/>\n<l:gentext key=\"Preface\" text=\"Prefaciu\"/>\n<l:gentext key=\"preface\" text=\"Prefaciu\"/>\n<l:gentext key=\"Procedure\" text=\"Procedimientu\"/>\n<l:gentext key=\"procedure\" text=\"procedimientu\"/>\n<l:gentext key=\"ProductionSet\" text=\"Producción\"/>\n<l:gentext key=\"PubDate\" text=\"Data d'Espublización\"/>\n<l:gentext key=\"pubdate\" text=\"data d'espublización\"/>\n<l:gentext key=\"Published\" text=\"Espublizáu\"/>\n<l:gentext key=\"published\" text=\"espublizáu\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\"/>\n<l:gentext key=\"Qandadiv\" text=\"E &amp; R\"/>\n<l:gentext key=\"qandadiv\" text=\"e &amp; r\"/>\n<l:gentext key=\"QandASet\" text=\"Entrugues más frecuentes\"/>\n<l:gentext key=\"Question\" text=\"E:\"/>\n<l:gentext key=\"question\" text=\"e:\"/>\n<l:gentext key=\"RefEntry\" text=\"Páxina\"/>\n<l:gentext key=\"refentry\" text=\"páxina\"/>\n<l:gentext key=\"Reference\" text=\"Referencia\"/>\n<l:gentext key=\"reference\" text=\"Referencia\"/>\n<l:gentext key=\"References\" text=\"Referencies\"/>\n<l:gentext key=\"RefName\" text=\"Nome\"/>\n<l:gentext key=\"refname\" text=\"nome\"/>\n<l:gentext key=\"RefSection\" text=\"Seición\"/>\n<l:gentext key=\"refsection\" text=\"seición\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Sinopsis\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"sinopsis\"/>\n<l:gentext key=\"RevHistory\" text=\"Revision History\"/>\n<l:gentext key=\"revhistory\" text=\"Revision History\"/>\n<l:gentext key=\"revision\" text=\"revisión hestorial\"/>\n<l:gentext key=\"Revision\" text=\"Revisión Hestorial\"/>\n<l:gentext key=\"sect1\" text=\"Seición\"/>\n<l:gentext key=\"sect2\" text=\"Seición\"/>\n<l:gentext key=\"sect3\" text=\"Seición\"/>\n<l:gentext key=\"sect4\" text=\"Seición\"/>\n<l:gentext key=\"sect5\" text=\"Seición\"/>\n<l:gentext key=\"section\" text=\"seición\"/>\n<l:gentext key=\"Section\" text=\"Seición\"/>\n<l:gentext key=\"see\" text=\"ver\"/>\n<l:gentext key=\"See\" text=\"Ver\"/>\n<l:gentext key=\"seealso\" text=\"ver tamién\"/>\n<l:gentext key=\"Seealso\" text=\"Ver tamién\"/>\n<l:gentext key=\"SeeAlso\" text=\"Ver Tamién\"/>\n<l:gentext key=\"set\" text=\"conxuntu\"/>\n<l:gentext key=\"Set\" text=\"Conxuntu\"/>\n<l:gentext key=\"setindex\" text=\"índiz del conxuntu\"/>\n<l:gentext key=\"SetIndex\" text=\"Índiz del Conxuntu\"/>\n<l:gentext key=\"Sidebar\" text=\"Panel llateral\"/>\n<l:gentext key=\"sidebar\" text=\"panel llateral\"/>\n<l:gentext key=\"step\" text=\"pasu\"/>\n<l:gentext key=\"Step\" text=\"Pasu\"/>\n<l:gentext key=\"table\" text=\"tabla\"/>\n<l:gentext key=\"Table\" text=\"Tabla\"/>\n<l:gentext key=\"task\" text=\"xera\"/>\n<l:gentext key=\"Task\" text=\"Xera\"/>\n<l:gentext key=\"tip\" text=\"trucu\"/>\n<l:gentext key=\"TIP\" text=\"TRUCU\"/>\n<l:gentext key=\"Tip\" text=\"Trucu\"/>\n<l:gentext key=\"Warning\" text=\"Avisu\"/>\n<l:gentext key=\"warning\" text=\"avisu\"/>\n<l:gentext key=\"WARNING\" text=\"AVISU\"/>\n<l:gentext key=\"and\" text=\"y\"/>\n<l:gentext key=\"or\" text=\"or\" lang=\"en\"/>\n<l:gentext key=\"by\" text=\"por\"/>\n<l:gentext key=\"Edited\" text=\"Editáu\"/>\n<l:gentext key=\"edited\" text=\"editáu\"/>\n<l:gentext key=\"Editedby\" text=\"Editáu por\"/>\n<l:gentext key=\"editedby\" text=\"editáu por\"/>\n<l:gentext key=\"in\" text=\"en\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"notes\"/>\n<l:gentext key=\"Notes\" text=\"Notes\"/>\n<l:gentext key=\"Pgs\" text=\"Pxs.\"/>\n<l:gentext key=\"pgs\" text=\"pxs.\"/>\n<l:gentext key=\"Revisedby\" text=\"Revisáu por: \"/>\n<l:gentext key=\"revisedby\" text=\"revisáu por: \"/>\n<l:gentext key=\"TableNotes\" text=\"Notes\"/>\n<l:gentext key=\"tablenotes\" text=\"Notes\"/>\n<l:gentext key=\"TableofContents\" text=\"Tabla de Conteníos\"/>\n<l:gentext key=\"tableofcontents\" text=\"tabla de conteníos\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"nome d'elementu inesperáu\"/>\n<l:gentext key=\"unsupported\" text=\"ensin sofitu\"/>\n<l:gentext key=\"xrefto\" text=\"xref a\"/>\n<l:gentext key=\"Authors\" text=\"Autores\"/>\n<l:gentext key=\"copyeditor\" text=\"Editor de copia\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Diseñador Gráficu\"/>\n<l:gentext key=\"productioneditor\" text=\"Editor de Producción\"/>\n<l:gentext key=\"technicaleditor\" text=\"Editor téunicu\"/>\n<l:gentext key=\"translator\" text=\"Traductor\"/>\n<l:gentext key=\"listofequations\" text=\"llista d'ecuaciones\"/>\n<l:gentext key=\"ListofEquations\" text=\"Llista d'ecuaciones\"/>\n<l:gentext key=\"ListofExamples\" text=\"Llista d'Exemplos\"/>\n<l:gentext key=\"listofexamples\" text=\"llista d'Exemplos\"/>\n<l:gentext key=\"ListofFigures\" text=\"Llista de Figures\"/>\n<l:gentext key=\"listoffigures\" text=\"llista de Figures\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Llista de Procedimientos\"/>\n<l:gentext key=\"listofprocedures\" text=\"llista de Procedimientos\"/>\n<l:gentext key=\"listoftables\" text=\"llista de Tables\"/>\n<l:gentext key=\"ListofTables\" text=\"Llista de Tables\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Llista de Desconocíu\"/>\n<l:gentext key=\"listofunknown\" text=\"llista de Desconocíu\"/>\n<l:gentext key=\"nav-home\" text=\"Entamu\"/>\n<l:gentext key=\"nav-next\" text=\"Siguiente\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Rápidu Alantre\"/>\n<l:gentext key=\"nav-prev\" text=\"Previu\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Rápidu Atrás\"/>\n<l:gentext key=\"nav-up\" text=\"Arriba\"/>\n<l:gentext key=\"nav-toc\" text=\"TdC\"/>\n<l:gentext key=\"Draft\" text=\"Borrador\"/>\n<l:gentext key=\"above\" text=\"enriba\"/>\n<l:gentext key=\"below\" text=\"baxo\"/>\n<l:gentext key=\"sectioncalled\" text=\"la seición denomada\"/>\n<l:gentext key=\"index symbols\" text=\"Símbolos\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\" lang=\"en\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Apéndiz %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Capítulu %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Ecuación %n. %t\"/>\n<l:template name=\"example\" text=\"Exemplu %n. %t\"/>\n<l:template name=\"figure\" text=\"Figura %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Parte %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Procedimientu %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Producción %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabla %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Apéndiz %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Capítulu %n. %t\"/>\n<l:template name=\"part\" text=\"Parte %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"R: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"E: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"E: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"la seición denomada “%t”\"/>\n<l:template name=\"refsection\" text=\"la seición denomada “%t”\"/>\n<l:template name=\"refsect1\" text=\"la seición denomada “%t”\"/>\n<l:template name=\"refsect2\" text=\"la seición denomada “%t”\"/>\n<l:template name=\"refsect3\" text=\"la seición denomada “%t”\"/>\n<l:template name=\"sect1\" text=\"la seición denomada “%t”\"/>\n<l:template name=\"sect2\" text=\"la seición denomada “%t”\"/>\n<l:template name=\"sect3\" text=\"la seición denomada “%t”\"/>\n<l:template name=\"sect4\" text=\"la seición denomada “%t”\"/>\n<l:template name=\"sect5\" text=\"la seición denomada “%t”\"/>\n<l:template name=\"section\" text=\"la seición denomada “%t”\"/>\n<l:template name=\"simplesect\" text=\"la seición denomada “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"R: %n\"/>\n<l:template name=\"appendix\" text=\"Apéndiz %n\"/>\n<l:template name=\"bridgehead\" text=\"Seición %n\"/>\n<l:template name=\"chapter\" text=\"Capítulu %n\"/>\n<l:template name=\"equation\" text=\"Ecuación %n\"/>\n<l:template name=\"example\" text=\"Exemplu %n\"/>\n<l:template name=\"figure\" text=\"Figura %n\"/>\n<l:template name=\"part\" text=\"Parte %n\"/>\n<l:template name=\"procedure\" text=\"Procedimientu %n\"/>\n<l:template name=\"productionset\" text=\"Producción %n\"/>\n<l:template name=\"qandadiv\" text=\"E &amp; R %n\"/>\n<l:template name=\"qandaentry\" text=\"E: %n\"/>\n<l:template name=\"question\" text=\"E: %n\"/>\n<l:template name=\"sect1\" text=\"Seición %n\"/>\n<l:template name=\"sect2\" text=\"Seición %n\"/>\n<l:template name=\"sect3\" text=\"Seición %n\"/>\n<l:template name=\"sect4\" text=\"Seición %n\"/>\n<l:template name=\"sect5\" text=\"Seición %n\"/>\n<l:template name=\"section\" text=\"Seición %n\"/>\n<l:template name=\"table\" text=\"Tabla %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Apéndiz %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Seición %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Capítulu %n, %t\"/>\n<l:template name=\"equation\" text=\"Ecuación %n, “%t”\"/>\n<l:template name=\"example\" text=\"Exemplu %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Figura %n, “%t”\"/>\n<l:template name=\"part\" text=\"Parte %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Procedimientu %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Producción %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"E &amp; R %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"la seición denomada “%t”\"/>\n<l:template name=\"refsect2\" text=\"la seición denomada “%t”\"/>\n<l:template name=\"refsect3\" text=\"la seición denomada “%t”\"/>\n<l:template name=\"refsection\" text=\"la seición denomada “%t”\"/>\n<l:template name=\"sect1\" text=\"Seición %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Seición %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Seición %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Seición %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Seición %n, “%t”\"/>\n<l:template name=\"section\" text=\"Seición %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"la seición denomada “%t”\"/>\n<l:template name=\"table\" text=\"Tabla %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" y \"/>\n<l:template name=\"seplast\" text=\", y \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Ver %t.\"/>\n<l:template name=\"seealso\" text=\"Ver Tamién %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Audiencia: \"/>\n<l:template name=\"MsgLevel\" text=\"Nivel: \"/>\n<l:template name=\"MsgOrig\" text=\"Orixe: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Xineru\"/>\n<l:template name=\"February\" text=\"Febreru\"/>\n<l:template name=\"March\" text=\"Marzu\"/>\n<l:template name=\"April\" text=\"Abril\"/>\n<l:template name=\"May\" text=\"Mayu\"/>\n<l:template name=\"June\" text=\"Xunu\"/>\n<l:template name=\"July\" text=\"Xunetu\"/>\n<l:template name=\"August\" text=\"Agostu\"/>\n<l:template name=\"September\" text=\"Setiembre\"/>\n<l:template name=\"October\" text=\"Ochobre\"/>\n<l:template name=\"November\" text=\"Payares\"/>\n<l:template name=\"December\" text=\"Avientu\"/>\n<l:template name=\"Monday\" text=\"Llunes\"/>\n<l:template name=\"Tuesday\" text=\"Martes\"/>\n<l:template name=\"Wednesday\" text=\"Miércoles\"/>\n<l:template name=\"Thursday\" text=\"Xueves\"/>\n<l:template name=\"Friday\" text=\"Vienres\"/>\n<l:template name=\"Saturday\" text=\"Sábadu\"/>\n<l:template name=\"Sunday\" text=\"Domingu\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Xin\"/>\n<l:template name=\"Feb\" text=\"Feb\"/>\n<l:template name=\"Mar\" text=\"Mar\"/>\n<l:template name=\"Apr\" text=\"Abr\"/>\n<l:template name=\"May\" text=\"May\"/>\n<l:template name=\"Jun\" text=\"Xun\"/>\n<l:template name=\"Jul\" text=\"Xnt\"/>\n<l:template name=\"Aug\" text=\"Ago\"/>\n<l:template name=\"Sep\" text=\"Set\"/>\n<l:template name=\"Oct\" text=\"Och\"/>\n<l:template name=\"Nov\" text=\"Pay\"/>\n<l:template name=\"Dec\" text=\"Avi\"/>\n<l:template name=\"Mon\" text=\"Llu\"/>\n<l:template name=\"Tue\" text=\"Mié\"/>\n<l:template name=\"Wed\" text=\"Wed\"/>\n<l:template name=\"Thu\" text=\"Xue\"/>\n<l:template name=\"Fri\" text=\"Vie\"/>\n<l:template name=\"Sat\" text=\"Sáb\"/>\n<l:template name=\"Sun\" text=\"Dom\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0409 English (UNITED STATES)\" lang=\"en\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Símbolos</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/autoidx-kimber.xsl",
    "content": "<?xml version=\"1.0\"?>\n<!DOCTYPE xsl:stylesheet [\n<!ENTITY % common.entities SYSTEM \"entities.ent\">\n%common.entities;\n<!-- Documents using the kimber index method must have a lang attribute -->\n<!-- Only one of these should be present in the entity -->\n\n<!ENTITY lang 'concat(/*/@lang, /*/@xml:lang)'>\n]>\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                version=\"1.0\"\n                xmlns:k=\"java:com.isogen.saxoni18n.Saxoni18nService\"\n                exclude-result-prefixes=\"k\">\n\n<!-- ********************************************************************\n     $Id: autoidx-kimber.xsl 8729 2010-07-15 16:43:56Z bobstayton $\n     ********************************************************************\n\n     This file is part of the DocBook XSL Stylesheet distribution.\n     See ../README or http://docbook.sf.net/ for copyright\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<xsl:param name=\"kimber.imported\">\n  <xsl:variable name=\"vendor\" select=\"system-property('xsl:vendor')\"/>\n  <xsl:choose>\n    <xsl:when test=\"not(contains($vendor, 'SAXON '))\">\n      <xsl:message terminate=\"yes\">\n        <xsl:text>ERROR: the 'kimber' index method requires the </xsl:text>\n        <xsl:text>Saxon version 6 or 8 XSLT processor.</xsl:text>\n      </xsl:message>\n    </xsl:when>\n    <xsl:otherwise>1</xsl:otherwise>\n  </xsl:choose>\n</xsl:param>\n\n\n<!-- The following key used in the kimber indexing method. -->\n<xsl:key name=\"k-group\"\n         match=\"indexterm\"\n         use=\"k:getIndexGroupKey(&lang;, &primary;)\"/>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/autoidx-kosek.xsl",
    "content": "<?xml version=\"1.0\"?>\n<!DOCTYPE xsl:stylesheet [\n<!ENTITY % common.entities SYSTEM \"entities.ent\">\n%common.entities;\n]>\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                version=\"1.0\"\n                xmlns:func=\"http://exslt.org/functions\"\n                xmlns:exslt=\"http://exslt.org/common\"\n                xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\"\n                xmlns:fo=\"http://www.w3.org/1999/XSL/Format\"\n                extension-element-prefixes=\"func exslt\"\n                exclude-result-prefixes=\"func exslt i l\"\n                xmlns:i=\"urn:cz-kosek:functions:index\">\n\n<!-- ********************************************************************\n     $Id: autoidx-kosek.xsl 8759 2010-07-20 21:46:07Z kosek $\n     ********************************************************************\n\n     This file is part of the DocBook XSL Stylesheet distribution.\n     See ../README or http://docbook.sf.net/ for copyright\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<xsl:param name=\"kosek.imported\">\n  <xsl:variable name=\"vendor\" select=\"system-property('xsl:vendor')\"/>\n  <xsl:choose>\n    <xsl:when test=\"contains($vendor, 'libxslt')\">\n      <xsl:message terminate=\"yes\">\n        <xsl:text>ERROR: the 'kosek' index method does not </xsl:text>\n        <xsl:text>work with the xsltproc XSLT processor.</xsl:text>\n      </xsl:message>\n    </xsl:when>\n    <xsl:otherwise>1</xsl:otherwise>\n  </xsl:choose>\n</xsl:param>\n\n<!-- Returns index group code for given term  -->\n<func:function name=\"i:group-index\">\n  <xsl:param name=\"term\"/>\n  \n  <xsl:variable name=\"letters-rtf\">\n    <xsl:variable name=\"lang\">\n      <xsl:call-template name=\"l10n.language\"/>\n    </xsl:variable>\n    \n    <xsl:variable name=\"local.l10n.letters\"\n      select=\"($local.l10n.xml//l:i18n/l:l10n[@language=$lang]/l:letters)[1]\"/>\n    \n    <xsl:for-each select=\"$l10n.xml\">\n      <xsl:variable name=\"l10n.letters\"\n\tselect=\"document(key('l10n-lang', $lang)/@href)/l:l10n/l:letters[1]\"/>\n\n      <xsl:choose>\n\t<xsl:when test=\"count($local.l10n.letters) &gt; 0\">\n\t  <xsl:copy-of select=\"$local.l10n.letters\"/>\n\t</xsl:when>\n\t<xsl:when test=\"count($l10n.letters) &gt; 0\">\n\t  <xsl:copy-of select=\"$l10n.letters\"/>\n\t</xsl:when>\n\t<xsl:otherwise>\n\t  <xsl:message>\n\t    <xsl:text>No \"</xsl:text>\n\t    <xsl:value-of select=\"$lang\"/>\n\t    <xsl:text>\" localization of index grouping letters exists</xsl:text>\n\t    <xsl:choose>\n\t      <xsl:when test=\"$lang = 'en'\">\n\t\t<xsl:text>.</xsl:text>\n\t      </xsl:when>\n\t      <xsl:otherwise>\n\t\t<xsl:text>; using \"en\".</xsl:text>\n\t      </xsl:otherwise>\n\t    </xsl:choose>\n\t  </xsl:message>\n\n\t  <xsl:copy-of select=\"document(key('l10n-lang', 'en'))/l:l10n/l:letters[1]\"/>\n\t</xsl:otherwise>\n      </xsl:choose>\n    </xsl:for-each>\n  </xsl:variable>\n  \n  <xsl:variable name=\"letters\" select=\"exslt:node-set($letters-rtf)/*\"/>\n  \n  <xsl:variable name=\"long-letter-index\" select=\"$letters/l:l[. = substring($term,1,2)]/@i\"/>\n  <xsl:variable name=\"short-letter-index\" select=\"$letters/l:l[. = substring($term,1,1)]/@i\"/>\n  <xsl:variable name=\"letter-index\">\n    <xsl:choose>\n      <xsl:when test=\"$long-letter-index\">\n        <xsl:value-of select=\"$long-letter-index\"/>\n      </xsl:when>\n      <xsl:when test=\"$short-letter-index\">\n        <xsl:value-of select=\"$short-letter-index\"/>\n      </xsl:when>\n      <xsl:otherwise>0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n  <func:result select=\"number($letter-index)\"/>\n</func:function>\n\n<!-- Return index group letter for given group code -->\n<func:function name=\"i:group-letter\">\n  <xsl:param name=\"index\"/>\n\n  <xsl:variable name=\"letters-rtf\">\n    <xsl:variable name=\"lang\">\n      <xsl:call-template name=\"l10n.language\"/>\n    </xsl:variable>\n    \n    <xsl:variable name=\"local.l10n.letters\"\n      select=\"($local.l10n.xml//l:i18n/l:l10n[@language=$lang]/l:letters)[1]\"/>\n    \n    <xsl:for-each select=\"$l10n.xml\">\n      <xsl:variable name=\"l10n.letters\"\n\tselect=\"document(key('l10n-lang', $lang)/@href)/l:l10n/l:letters[1]\"/>\n\n      <xsl:choose>\n\t<xsl:when test=\"count($local.l10n.letters) &gt; 0\">\n\t  <xsl:copy-of select=\"$local.l10n.letters\"/>\n\t</xsl:when>\n\t<xsl:when test=\"count($l10n.letters) &gt; 0\">\n\t  <xsl:copy-of select=\"$l10n.letters\"/>\n\t</xsl:when>\n\t<xsl:otherwise>\n\t  <xsl:message>\n\t    <xsl:text>No \"</xsl:text>\n\t    <xsl:value-of select=\"$lang\"/>\n\t    <xsl:text>\" localization of index grouping letters exists</xsl:text>\n\t    <xsl:choose>\n\t      <xsl:when test=\"$lang = 'en'\">\n\t\t<xsl:text>.</xsl:text>\n\t      </xsl:when>\n\t      <xsl:otherwise>\n\t\t<xsl:text>; using \"en\".</xsl:text>\n\t      </xsl:otherwise>\n\t    </xsl:choose>\n\t  </xsl:message>\n\n\t  <xsl:copy-of select=\"document(key('l10n-lang', 'en')/@href)/l:l10n/l:letters[1]\"/>\n\t</xsl:otherwise>\n      </xsl:choose>\n    </xsl:for-each>\n  </xsl:variable>\n  \n  <xsl:variable name=\"letters\" select=\"exslt:node-set($letters-rtf)/*\"/>\n  \n  <func:result select=\"$letters/l:l[@i=$index][1]\"/>\n</func:function>\n\n<xsl:key name=\"group-code\"\n         match=\"indexterm\"\n         use=\"i:group-index(&primary;)\"/>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/az.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"az\" english-language-name=\"Azerbaijani\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/az.xml -->\n<!-- * -->\n<!-- * E-mail the edited az.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"İcmal\"/>\n<l:gentext key=\"abstract\" text=\"İcmal\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"Cavab:\"/>\n<l:gentext key=\"answer\" text=\"Cavab:\"/>\n<l:gentext key=\"Appendix\" text=\"Əlavə\"/>\n<l:gentext key=\"appendix\" text=\"Əlavə\"/>\n<l:gentext key=\"Article\" text=\"Məqalə\"/>\n<l:gentext key=\"article\" text=\"Məqalə\"/>\n<l:gentext key=\"Author\" text=\"Müəllif\"/>\n<l:gentext key=\"Bibliography\" text=\"Qaynaqça\"/>\n<l:gentext key=\"bibliography\" text=\"Qaynaqça\"/>\n<l:gentext key=\"Book\" text=\"Kitab\"/>\n<l:gentext key=\"book\" text=\"Kitab\"/>\n<l:gentext key=\"CAUTION\" text=\"DİQQƏT\"/>\n<l:gentext key=\"Caution\" text=\"Diqqət\"/>\n<l:gentext key=\"caution\" text=\"Diqqət\"/>\n<l:gentext key=\"Chapter\" text=\"Bölüm\"/>\n<l:gentext key=\"chapter\" text=\"Bölüm\"/>\n<l:gentext key=\"Colophon\" text=\"Kitab Haqqında\"/>\n<l:gentext key=\"colophon\" text=\"Kitab Haqqında\"/>\n<l:gentext key=\"Copyright\" text=\"Müəllif Hüququ\"/>\n<l:gentext key=\"copyright\" text=\"Müəllif Hüququ\"/>\n<l:gentext key=\"Dedication\" text=\"Həsr\"/>\n<l:gentext key=\"dedication\" text=\"Həsr\"/>\n<l:gentext key=\"Edition\" text=\"Buraxılış\"/>\n<l:gentext key=\"edition\" text=\"Buraxılış\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Tənlik\"/>\n<l:gentext key=\"equation\" text=\"Tənlik\"/>\n<l:gentext key=\"Example\" text=\"Nümunə\"/>\n<l:gentext key=\"example\" text=\"Nümunə\"/>\n<l:gentext key=\"Figure\" text=\"Fiqur\"/>\n<l:gentext key=\"figure\" text=\"Fiqur\"/>\n<l:gentext key=\"Glossary\" text=\"Lüğət\"/>\n<l:gentext key=\"glossary\" text=\"Lüğət\"/>\n<l:gentext key=\"GlossSee\" text=\"Bax\"/>\n<l:gentext key=\"glosssee\" text=\"Bax\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Eləcə Də Bax\"/>\n<l:gentext key=\"glossseealso\" text=\"Eləcə Də Bax\"/>\n<l:gentext key=\"IMPORTANT\" text=\"VACİB\"/>\n<l:gentext key=\"important\" text=\"Vacib\"/>\n<l:gentext key=\"Important\" text=\"Vacib\"/>\n<l:gentext key=\"Index\" text=\"İndeks\"/>\n<l:gentext key=\"index\" text=\"İndeks\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Qanuni Qeyd\"/>\n<l:gentext key=\"legalnotice\" text=\"Qanuni Qeyd\"/>\n<l:gentext key=\"MsgAud\" text=\"Hədəf Oxuyucu\"/>\n<l:gentext key=\"msgaud\" text=\"Hədəf Oxuyucu\"/>\n<l:gentext key=\"MsgLevel\" text=\"Səviyyə\"/>\n<l:gentext key=\"msglevel\" text=\"Səviyyə\"/>\n<l:gentext key=\"MsgOrig\" text=\"Mənbə\"/>\n<l:gentext key=\"msgorig\" text=\"Mənbə\"/>\n<l:gentext key=\"NOTE\" text=\"QEYD\"/>\n<l:gentext key=\"Note\" text=\"Qeyd\"/>\n<l:gentext key=\"note\" text=\"Qeyd\"/>\n<l:gentext key=\"Part\" text=\"Hissə\"/>\n<l:gentext key=\"part\" text=\"Hissə\"/>\n<l:gentext key=\"Preface\" text=\"Önsöz\"/>\n<l:gentext key=\"preface\" text=\"Önsöz\"/>\n<l:gentext key=\"Procedure\" text=\"Üsul\"/>\n<l:gentext key=\"procedure\" text=\"Üsul\"/>\n<l:gentext key=\"ProductionSet\" text=\"Produksiya\"/>\n<l:gentext key=\"PubDate\" text=\"Yayimlama Tarixi\"/>\n<l:gentext key=\"pubdate\" text=\"Yayimlama Tarixi\"/>\n<l:gentext key=\"Published\" text=\"Yayimlama\"/>\n<l:gentext key=\"published\" text=\"Yayimlama\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"S və C\"/>\n<l:gentext key=\"qandadiv\" text=\"S və C\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"Sual:\"/>\n<l:gentext key=\"question\" text=\"Sual:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Xatırlatma\"/>\n<l:gentext key=\"reference\" text=\"Xatırlatma\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Ad\"/>\n<l:gentext key=\"refname\" text=\"Ad\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"İcmal\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"İcmal\"/>\n<l:gentext key=\"RevHistory\" text=\"Nəzərdən Keçirmə Tarixçəsi\"/>\n<l:gentext key=\"revhistory\" text=\"Nəzərdən Keçirmə Tarixçəsi\"/>\n<l:gentext key=\"revision\" text=\"Nəzərdən Keçirmə\"/>\n<l:gentext key=\"Revision\" text=\"Nəzərdən Keçirmə\"/>\n<l:gentext key=\"sect1\" text=\"Qisim\"/>\n<l:gentext key=\"sect2\" text=\"Qisim\"/>\n<l:gentext key=\"sect3\" text=\"Qisim\"/>\n<l:gentext key=\"sect4\" text=\"Qisim\"/>\n<l:gentext key=\"sect5\" text=\"Qisim\"/>\n<l:gentext key=\"section\" text=\"Qisim\"/>\n<l:gentext key=\"Section\" text=\"Qisim\"/>\n<l:gentext key=\"see\" text=\"bax\"/>\n<l:gentext key=\"See\" text=\"Bax\"/>\n<l:gentext key=\"seealso\" text=\"eləcə də bax\"/>\n<l:gentext key=\"Seealso\" text=\"Eləcə Də Bax\"/>\n<l:gentext key=\"SeeAlso\" text=\"Eləcə Də Bax\"/>\n<l:gentext key=\"set\" text=\"Dəstə\"/>\n<l:gentext key=\"Set\" text=\"Dəstə\"/>\n<l:gentext key=\"setindex\" text=\"İndeksi Seç\"/>\n<l:gentext key=\"SetIndex\" text=\"İndeksi Seç\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"Kənar Çubuğu\"/>\n<l:gentext key=\"step\" text=\"addım\"/>\n<l:gentext key=\"Step\" text=\"Addım\"/>\n<l:gentext key=\"table\" text=\"cədvəl\"/>\n<l:gentext key=\"Table\" text=\"Cədvəl\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"məsləhət\"/>\n<l:gentext key=\"TIP\" text=\"MƏSLƏHƏT\"/>\n<l:gentext key=\"Tip\" text=\"Məsləhət\"/>\n<l:gentext key=\"Warning\" text=\"Xəbərdarlıq\"/>\n<l:gentext key=\"warning\" text=\"Xəbərdarlıq\"/>\n<l:gentext key=\"WARNING\" text=\"XƏBƏRDARLIQ\"/>\n<l:gentext key=\"and\" text=\"və\"/>\n<l:gentext key=\"or\" text=\"və ya\"/>\n<l:gentext key=\"by\" text=\"\"/>\n<l:gentext key=\"Edited\" text=\"Düzəldildi\"/>\n<l:gentext key=\"edited\" text=\"Düzəldildi\"/>\n<l:gentext key=\"Editedby\" text=\"Düzəliş edən\"/>\n<l:gentext key=\"editedby\" text=\"Düzəliş edən\"/>\n<l:gentext key=\"in\" text=\"\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Qeydlər\"/>\n<l:gentext key=\"Notes\" text=\"Qeydlər\"/>\n<l:gentext key=\"Pgs\" text=\"Shflr.\"/>\n<l:gentext key=\"pgs\" text=\"Shflr.\"/>\n<l:gentext key=\"Revisedby\" text=\"Gözdən keçirən: \"/>\n<l:gentext key=\"revisedby\" text=\"Gözdən keçirən: \"/>\n<l:gentext key=\"TableNotes\" text=\"Qeydlər\"/>\n<l:gentext key=\"tablenotes\" text=\"Qeydlər\"/>\n<l:gentext key=\"TableofContents\" text=\"Məzmun\"/>\n<l:gentext key=\"tableofcontents\" text=\"Məzmun\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Gözlənməyən element adı\"/>\n<l:gentext key=\"unsupported\" text=\"dəstəklənmir\"/>\n<l:gentext key=\"xrefto\" text=\"\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"Tənliklər\"/>\n<l:gentext key=\"ListofEquations\" text=\"Tənliklər\"/>\n<l:gentext key=\"ListofExamples\" text=\"Nümunələr\"/>\n<l:gentext key=\"listofexamples\" text=\"Nümunələr\"/>\n<l:gentext key=\"ListofFigures\" text=\"Fiqurlar\"/>\n<l:gentext key=\"listoffigures\" text=\"Fiqurlar\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Üsullar\"/>\n<l:gentext key=\"listofprocedures\" text=\"Üsullar\"/>\n<l:gentext key=\"listoftables\" text=\"Cədvəllər\"/>\n<l:gentext key=\"ListofTables\" text=\"Cədvəllər\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Naməlumlar\"/>\n<l:gentext key=\"listofunknown\" text=\"List of Unknown\" lang=\"en\"/>\n<l:gentext key=\"nav-home\" text=\"Ev\"/>\n<l:gentext key=\"nav-next\" text=\"Sonrakı\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"İrəli\"/>\n<l:gentext key=\"nav-prev\" text=\"Əvvəlki\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Geri\"/>\n<l:gentext key=\"nav-up\" text=\"Yuxarı\"/>\n<l:gentext key=\"nav-toc\" text=\"Məzmun\"/>\n<l:gentext key=\"Draft\" text=\"Şablon\"/>\n<l:gentext key=\"above\" text=\"Üstündə\"/>\n<l:gentext key=\"below\" text=\"Altında\"/>\n<l:gentext key=\"sectioncalled\" text=\"\"/>\n<l:gentext key=\"index symbols\" text=\"Simvollar\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcçdeəfgğhxıijkqlmnoöprsştuüvyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCÇDEƏFGĞHXIİJKQLMNOÖPRSŞTUÜVYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Əlavə %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Bölüm %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Tənlik %n. %t\"/>\n<l:template name=\"example\" text=\"Nümunə %n. %t\"/>\n<l:template name=\"figure\" text=\"Fiqur %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Hissə %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Üsul %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Produksiya %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Cədvəl %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Əlavə %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Bölüm %n. %t\"/>\n<l:template name=\"part\" text=\"Hissə %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"Cavab: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Sual: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Sual: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\" “%t”\"/>\n<l:template name=\"refsection\" text=\" “%t”\"/>\n<l:template name=\"refsect1\" text=\" “%t”\"/>\n<l:template name=\"refsect2\" text=\" “%t”\"/>\n<l:template name=\"refsect3\" text=\" “%t”\"/>\n<l:template name=\"sect1\" text=\" “%t”\"/>\n<l:template name=\"sect2\" text=\" “%t”\"/>\n<l:template name=\"sect3\" text=\" “%t”\"/>\n<l:template name=\"sect4\" text=\" “%t”\"/>\n<l:template name=\"sect5\" text=\" “%t”\"/>\n<l:template name=\"section\" text=\" “%t”\"/>\n<l:template name=\"simplesect\" text=\" “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Cavab: %n\"/>\n<l:template name=\"appendix\" text=\"Əlavə %n\"/>\n<l:template name=\"bridgehead\" text=\"Qisim %n\"/>\n<l:template name=\"chapter\" text=\"Bölüm %n\"/>\n<l:template name=\"equation\" text=\"Tənlik %n\"/>\n<l:template name=\"example\" text=\"Nümunə %n\"/>\n<l:template name=\"figure\" text=\"Fiqur %n\"/>\n<l:template name=\"part\" text=\"Hissə %n\"/>\n<l:template name=\"procedure\" text=\"Üsul %n\"/>\n<l:template name=\"productionset\" text=\"Produksiya %n\"/>\n<l:template name=\"qandadiv\" text=\"S və C %n\"/>\n<l:template name=\"qandaentry\" text=\"Sual: %n\"/>\n<l:template name=\"question\" text=\"Sual: %n\"/>\n<l:template name=\"sect1\" text=\"Qisim %n\"/>\n<l:template name=\"sect2\" text=\"Qisim %n\"/>\n<l:template name=\"sect3\" text=\"Qisim %n\"/>\n<l:template name=\"sect4\" text=\"Qisim %n\"/>\n<l:template name=\"sect5\" text=\"Qisim %n\"/>\n<l:template name=\"section\" text=\"Qisim %n\"/>\n<l:template name=\"table\" text=\"Cədvəl %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Əlavə %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Qisim %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Bölüm %n, %t\"/>\n<l:template name=\"equation\" text=\"Tənlik %n, “%t”\"/>\n<l:template name=\"example\" text=\"Nümunə %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Fiqur %n, “%t”\"/>\n<l:template name=\"part\" text=\"Hissə %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Üsul %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Produksiya %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"S və C %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\" “%t”\"/>\n<l:template name=\"refsect2\" text=\" “%t”\"/>\n<l:template name=\"refsect3\" text=\" “%t”\"/>\n<l:template name=\"refsection\" text=\" “%t”\"/>\n<l:template name=\"sect1\" text=\"Qisim %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Qisim %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Qisim %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Qisim %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Qisim %n, “%t”\"/>\n<l:template name=\"section\" text=\"Qisim %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\" “%t”\"/>\n<l:template name=\"table\" text=\"Cədvəl %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" və \"/>\n<l:template name=\"seplast\" text=\", və \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Bax %t.\"/>\n<l:template name=\"seealso\" text=\"Eləcə Də Bax %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Hədəf Oxuyucu: \"/>\n<l:template name=\"MsgLevel\" text=\"Səviyyə: \"/>\n<l:template name=\"MsgOrig\" text=\"Mənbə: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Janvar\"/>\n<l:template name=\"February\" text=\"Fevral\"/>\n<l:template name=\"March\" text=\"Mart\"/>\n<l:template name=\"April\" text=\"Aprel\"/>\n<l:template name=\"May\" text=\"May\"/>\n<l:template name=\"June\" text=\"İyun\"/>\n<l:template name=\"July\" text=\"İyul\"/>\n<l:template name=\"August\" text=\"Avqust\"/>\n<l:template name=\"September\" text=\"Sentyabr\"/>\n<l:template name=\"October\" text=\"Oktyabr\"/>\n<l:template name=\"November\" text=\"Noyabr\"/>\n<l:template name=\"December\" text=\"Dekabr\"/>\n<l:template name=\"Monday\" text=\"Bazar Ertəsi\"/>\n<l:template name=\"Tuesday\" text=\"Çərşənbə Axşamı \"/>\n<l:template name=\"Wednesday\" text=\"Çərşənbə\"/>\n<l:template name=\"Thursday\" text=\"Cümə Axşamı\"/>\n<l:template name=\"Friday\" text=\"Cümə\"/>\n<l:template name=\"Saturday\" text=\"Şənbə\"/>\n<l:template name=\"Sunday\" text=\"Bazar\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Yan\"/>\n<l:template name=\"Feb\" text=\"Fev\"/>\n<l:template name=\"Mar\" text=\"Mar\"/>\n<l:template name=\"Apr\" text=\"Apr\"/>\n<l:template name=\"May\" text=\"May\"/>\n<l:template name=\"Jun\" text=\"İyn\"/>\n<l:template name=\"Jul\" text=\"İyl\"/>\n<l:template name=\"Aug\" text=\"Avq\"/>\n<l:template name=\"Sep\" text=\"Sen\"/>\n<l:template name=\"Oct\" text=\"Okt\"/>\n<l:template name=\"Nov\" text=\"Noy\"/>\n<l:template name=\"Dec\" text=\"Dek\"/>\n<l:template name=\"Mon\" text=\"Ber\"/>\n<l:template name=\"Tue\" text=\"Çax\"/>\n<l:template name=\"Wed\" text=\"Çər\"/>\n<l:template name=\"Thu\" text=\"Cax\"/>\n<l:template name=\"Fri\" text=\"Cüm\"/>\n<l:template name=\"Sat\" text=\"Şnb\"/>\n<l:template name=\"Sun\" text=\"Baz\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x042c Azerbaijani\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">İşarələr</l:l>\n<l:l i=\"1\">A</l:l>\n<l:l i=\"1\">a</l:l>\n<l:l i=\"2\">B</l:l>\n<l:l i=\"2\">b</l:l>\n<l:l i=\"3\">C</l:l>\n<l:l i=\"3\">c</l:l>\n<l:l i=\"4\">Ç</l:l>\n<l:l i=\"5\">ç</l:l>\n<l:l i=\"5\">D</l:l>\n<l:l i=\"5\">d</l:l>\n<l:l i=\"6\">E</l:l>\n<l:l i=\"6\">e</l:l>\n<l:l i=\"7\">e</l:l>\n<l:l i=\"7\">e</l:l>\n<l:l i=\"8\">Ə</l:l>\n<l:l i=\"8\">ə</l:l>\n<l:l i=\"9\">G</l:l>\n<l:l i=\"9\">g</l:l>\n<l:l i=\"10\">Ğ</l:l>\n<l:l i=\"10\">ğ</l:l>\n<l:l i=\"11\">H</l:l>\n<l:l i=\"11\">h</l:l>\n<l:l i=\"12\">X</l:l>\n<l:l i=\"12\">x</l:l>\n<l:l i=\"13\">I</l:l>\n<l:l i=\"13\">ı</l:l>\n<l:l i=\"14\">İ</l:l>\n<l:l i=\"14\">i</l:l>\n<l:l i=\"15\">J</l:l>\n<l:l i=\"15\">j</l:l>\n<l:l i=\"16\">K</l:l>\n<l:l i=\"16\">k</l:l>\n<l:l i=\"17\">Q</l:l>\n<l:l i=\"17\">q</l:l>\n<l:l i=\"18\">L</l:l>\n<l:l i=\"18\">l</l:l>\n<l:l i=\"19\">M</l:l>\n<l:l i=\"19\">m</l:l>\n<l:l i=\"20\">N</l:l>\n<l:l i=\"20\">n</l:l>\n<l:l i=\"21\">O</l:l>\n<l:l i=\"21\">o</l:l>\n<l:l i=\"22\">Ö</l:l>\n<l:l i=\"22\">ö</l:l>\n<l:l i=\"23\">P</l:l>\n<l:l i=\"23\">p</l:l>\n<l:l i=\"24\">R</l:l>\n<l:l i=\"24\">r</l:l>\n<l:l i=\"25\">S</l:l>\n<l:l i=\"25\">s</l:l>\n<l:l i=\"26\">Ş</l:l>\n<l:l i=\"26\">ş</l:l>\n<l:l i=\"27\">T</l:l>\n<l:l i=\"27\">t</l:l>\n<l:l i=\"28\">U</l:l>\n<l:l i=\"28\">u</l:l>\n<l:l i=\"29\">Ü</l:l>\n<l:l i=\"29\">ü</l:l>\n<l:l i=\"30\">V</l:l>\n<l:l i=\"30\">v</l:l>\n<l:l i=\"31\">Y</l:l>\n<l:l i=\"31\">y</l:l>\n<l:l i=\"32\">Z</l:l>\n<l:l i=\"32\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/bg.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"bg\" english-language-name=\"Bulgarian\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/bg.xml -->\n<!-- * -->\n<!-- * E-mail the edited bg.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Анотация\"/>\n<l:gentext key=\"abstract\" text=\"анотация\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Благодарности на\"/>\n<l:gentext key=\"acknowledgements\" text=\"благодарности на\"/>\n<l:gentext key=\"Answer\" text=\"О\"/>\n<l:gentext key=\"answer\" text=\"о\"/>\n<l:gentext key=\"Appendix\" text=\"Приложение\"/>\n<l:gentext key=\"appendix\" text=\"приложение\"/>\n<l:gentext key=\"Article\" text=\"Статия\"/>\n<l:gentext key=\"article\" text=\"статия\"/>\n<l:gentext key=\"Author\" text=\"Автор\"/>\n<l:gentext key=\"Bibliography\" text=\"Литература\"/>\n<l:gentext key=\"bibliography\" text=\"литература\"/>\n<l:gentext key=\"Book\" text=\"Книга\"/>\n<l:gentext key=\"book\" text=\"книга\"/>\n<l:gentext key=\"CAUTION\" text=\"ВНИМАНИЕ\"/>\n<l:gentext key=\"Caution\" text=\"Внимание\"/>\n<l:gentext key=\"caution\" text=\"внимание\"/>\n<l:gentext key=\"Chapter\" text=\"Глава\"/>\n<l:gentext key=\"chapter\" text=\"глава\"/>\n<l:gentext key=\"Colophon\" text=\"Библиографско каре\"/>\n<l:gentext key=\"colophon\" text=\"Библиографско каре\"/>\n<l:gentext key=\"Copyright\" text=\"Авторски права\"/>\n<l:gentext key=\"copyright\" text=\"авторски права\"/>\n<l:gentext key=\"Dedication\" text=\"Посвещение\"/>\n<l:gentext key=\"dedication\" text=\"посвещение\"/>\n<l:gentext key=\"Edition\" text=\"Издание\"/>\n<l:gentext key=\"edition\" text=\"издание\"/>\n<l:gentext key=\"Editor\" text=\"Редактор\"/>\n<l:gentext key=\"Equation\" text=\"Формула\"/>\n<l:gentext key=\"equation\" text=\"формула\"/>\n<l:gentext key=\"Example\" text=\"Пример\"/>\n<l:gentext key=\"example\" text=\"пример\"/>\n<l:gentext key=\"Figure\" text=\"Фигура\"/>\n<l:gentext key=\"figure\" text=\"фигура\"/>\n<l:gentext key=\"Glossary\" text=\"Терминологичен речник\"/>\n<l:gentext key=\"glossary\" text=\"терминологичен речник\"/>\n<l:gentext key=\"GlossSee\" text=\"Вж.\"/>\n<l:gentext key=\"glosssee\" text=\"вж.\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Вж.\"/>\n<l:gentext key=\"glossseealso\" text=\"вж.\"/>\n<l:gentext key=\"IMPORTANT\" text=\"ВАЖНО\"/>\n<l:gentext key=\"important\" text=\"важно\"/>\n<l:gentext key=\"Important\" text=\"Важно\"/>\n<l:gentext key=\"Index\" text=\"Азбучен указател\"/>\n<l:gentext key=\"index\" text=\"азбучен указател\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Авторски права\"/>\n<l:gentext key=\"legalnotice\" text=\"авторски права\"/>\n<l:gentext key=\"MsgAud\" text=\"Насоченост\"/>\n<l:gentext key=\"msgaud\" text=\"насоченост\"/>\n<l:gentext key=\"MsgLevel\" text=\"Ниво\"/>\n<l:gentext key=\"msglevel\" text=\"ниво\"/>\n<l:gentext key=\"MsgOrig\" text=\"Източник\"/>\n<l:gentext key=\"msgorig\" text=\"източник\"/>\n<l:gentext key=\"NOTE\" text=\"ЗАБЕЛЕЖКА\"/>\n<l:gentext key=\"Note\" text=\"Забележка\"/>\n<l:gentext key=\"note\" text=\"забележка\"/>\n<l:gentext key=\"Part\" text=\"Част\"/>\n<l:gentext key=\"part\" text=\"част\"/>\n<l:gentext key=\"Preface\" text=\"Предговор\"/>\n<l:gentext key=\"preface\" text=\"предговор\"/>\n<l:gentext key=\"Procedure\" text=\"Процедура\"/>\n<l:gentext key=\"procedure\" text=\"процедура\"/>\n<l:gentext key=\"ProductionSet\" text=\"Продукция\"/>\n<l:gentext key=\"PubDate\" text=\"Дата на издаване\"/>\n<l:gentext key=\"pubdate\" text=\"дата на издаване\"/>\n<l:gentext key=\"Published\" text=\"Издаден\"/>\n<l:gentext key=\"published\" text=\"издаден\"/>\n<l:gentext key=\"Publisher\" text=\"Издател\"/>\n<l:gentext key=\"Qandadiv\" text=\"Въпроси и отговори\"/>\n<l:gentext key=\"qandadiv\" text=\"въпроси и отговори\"/>\n<l:gentext key=\"QandASet\" text=\"Често задавани въпроси\"/>\n<l:gentext key=\"Question\" text=\"В\"/>\n<l:gentext key=\"question\" text=\"в\"/>\n<l:gentext key=\"RefEntry\" text=\"Страница\"/>\n<l:gentext key=\"refentry\" text=\"страница\"/>\n<l:gentext key=\"Reference\" text=\"Справочник\"/>\n<l:gentext key=\"reference\" text=\"справочник\"/>\n<l:gentext key=\"References\" text=\"Препратки\"/>\n<l:gentext key=\"RefName\" text=\"Название\"/>\n<l:gentext key=\"refname\" text=\"название\"/>\n<l:gentext key=\"RefSection\" text=\"Раздел\"/>\n<l:gentext key=\"refsection\" text=\"раздел\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Синтаксис\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"синтаксис\"/>\n<l:gentext key=\"RevHistory\" text=\"Промени\"/>\n<l:gentext key=\"revhistory\" text=\"промени\"/>\n<l:gentext key=\"revision\" text=\"издание\"/>\n<l:gentext key=\"Revision\" text=\"издание\"/>\n<l:gentext key=\"sect1\" text=\"Раздел\"/>\n<l:gentext key=\"sect2\" text=\"Раздел\"/>\n<l:gentext key=\"sect3\" text=\"Раздел\"/>\n<l:gentext key=\"sect4\" text=\"Раздел\"/>\n<l:gentext key=\"sect5\" text=\"Раздел\"/>\n<l:gentext key=\"section\" text=\"раздел\"/>\n<l:gentext key=\"Section\" text=\"Раздел\"/>\n<l:gentext key=\"see\" text=\"вж.\"/>\n<l:gentext key=\"See\" text=\"Вж.\"/>\n<l:gentext key=\"seealso\" text=\"вж.\"/>\n<l:gentext key=\"Seealso\" text=\"Вж.\"/>\n<l:gentext key=\"SeeAlso\" text=\"Вж.\"/>\n<l:gentext key=\"set\" text=\"група\"/>\n<l:gentext key=\"Set\" text=\"Група\"/>\n<l:gentext key=\"setindex\" text=\"указател\"/>\n<l:gentext key=\"SetIndex\" text=\"Указател\"/>\n<l:gentext key=\"Sidebar\" text=\"Разделител\"/>\n<l:gentext key=\"sidebar\" text=\"разделител\"/>\n<l:gentext key=\"step\" text=\"стъпка\"/>\n<l:gentext key=\"Step\" text=\"Стъпка\"/>\n<l:gentext key=\"table\" text=\"таблица\"/>\n<l:gentext key=\"Table\" text=\"Таблица\"/>\n<l:gentext key=\"task\" text=\"задача\"/>\n<l:gentext key=\"Task\" text=\"Задача\"/>\n<l:gentext key=\"tip\" text=\"подсказка\"/>\n<l:gentext key=\"TIP\" text=\"ПОДСКАЗКА\"/>\n<l:gentext key=\"Tip\" text=\"Подсказка\"/>\n<l:gentext key=\"Warning\" text=\"Внимание\"/>\n<l:gentext key=\"warning\" text=\"внимание\"/>\n<l:gentext key=\"WARNING\" text=\"ВНИМАНИЕ\"/>\n<l:gentext key=\"and\" text=\"и\"/>\n<l:gentext key=\"or\" text=\"или\"/>\n<l:gentext key=\"by\" text=\"от\"/>\n<l:gentext key=\"Edited\" text=\"Редактирано от\"/>\n<l:gentext key=\"edited\" text=\"редактирано от\"/>\n<l:gentext key=\"Editedby\" text=\"Редактирано от\"/>\n<l:gentext key=\"editedby\" text=\"редактирано от\"/>\n<l:gentext key=\"in\" text=\"в\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"забележки\"/>\n<l:gentext key=\"Notes\" text=\"Забележки\"/>\n<l:gentext key=\"Pgs\" text=\"Стр.\"/>\n<l:gentext key=\"pgs\" text=\"стр.\"/>\n<l:gentext key=\"Revisedby\" text=\"Преработено от\"/>\n<l:gentext key=\"revisedby\" text=\"преработено от\"/>\n<l:gentext key=\"TableNotes\" text=\"Забележки\"/>\n<l:gentext key=\"tablenotes\" text=\"забележки\"/>\n<l:gentext key=\"TableofContents\" text=\"Съдържание\"/>\n<l:gentext key=\"tableofcontents\" text=\"съдържание\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"неочакван елемент\"/>\n<l:gentext key=\"unsupported\" text=\"неподдържан елемент\"/>\n<l:gentext key=\"xrefto\" text=\"вж.\"/>\n<l:gentext key=\"Authors\" text=\"Автори\"/>\n<l:gentext key=\"copyeditor\" text=\"Редактор\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Автор на графичното оформление\"/>\n<l:gentext key=\"productioneditor\" text=\"Редактор на изданието\"/>\n<l:gentext key=\"technicaleditor\" text=\"Технически редактор\"/>\n<l:gentext key=\"translator\" text=\"Преводач\"/>\n<l:gentext key=\"listofequations\" text=\"списък на формулите\"/>\n<l:gentext key=\"ListofEquations\" text=\"Списък на формулите\"/>\n<l:gentext key=\"ListofExamples\" text=\"Списък на примерите\"/>\n<l:gentext key=\"listofexamples\" text=\"списък на примерите\"/>\n<l:gentext key=\"ListofFigures\" text=\"Списък на фигурите\"/>\n<l:gentext key=\"listoffigures\" text=\"списък на фигурите\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Списък на процедурите\"/>\n<l:gentext key=\"listofprocedures\" text=\"списък на процедурите\"/>\n<l:gentext key=\"listoftables\" text=\"списък на таблиците\"/>\n<l:gentext key=\"ListofTables\" text=\"Списък на таблиците\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Списък с други неща\"/>\n<l:gentext key=\"listofunknown\" text=\"списък с други неща\"/>\n<l:gentext key=\"nav-home\" text=\"Начало\"/>\n<l:gentext key=\"nav-next\" text=\"Напред\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Прескачане напред\"/>\n<l:gentext key=\"nav-prev\" text=\"Назад\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Прескачане назад\"/>\n<l:gentext key=\"nav-up\" text=\"Ниво нагоре\"/>\n<l:gentext key=\"nav-toc\" text=\"Съдържание\"/>\n<l:gentext key=\"Draft\" text=\"Чернова\"/>\n<l:gentext key=\"above\" text=\"по-горе\"/>\n<l:gentext key=\"below\" text=\"по-долу\"/>\n<l:gentext key=\"sectioncalled\" text=\"разделът със заглавие\"/>\n<l:gentext key=\"index symbols\" text=\"символи\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"абвгдежзийклмнопрстуфхцчшщъыьэюя\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"„\"/>\n<l:dingbat key=\"endquote\" text=\"“\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"„\"/>\n<l:dingbat key=\"nestedendquote\" text=\"“\"/>\n<l:dingbat key=\"singlestartquote\" text=\"«\"/>\n<l:dingbat key=\"singleendquote\" text=\"»\"/>\n<l:dingbat key=\"bullet\" text=\"—\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Приложение %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Глава %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Формула %n. %t\"/>\n<l:template name=\"example\" text=\"Пример %n. %t\"/>\n<l:template name=\"figure\" text=\"Фигура %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Част %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Процедура %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Продукция %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Таблица %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Приложение %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Глава %n. %t\"/>\n<l:template name=\"part\" text=\"Част %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"О. %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"В. %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"В. %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"разделът със заглавие „%t“\"/>\n<l:template name=\"refsection\" text=\"разделът със заглавие „%t“\"/>\n<l:template name=\"refsect1\" text=\"разделът със заглавие „%t“\"/>\n<l:template name=\"refsect2\" text=\"разделът със заглавие „%t“\"/>\n<l:template name=\"refsect3\" text=\"разделът със заглавие „%t“\"/>\n<l:template name=\"sect1\" text=\"разделът със заглавие „%t“\"/>\n<l:template name=\"sect2\" text=\"разделът със заглавие „%t“\"/>\n<l:template name=\"sect3\" text=\"разделът със заглавие „%t“\"/>\n<l:template name=\"sect4\" text=\"разделът със заглавие „%t“\"/>\n<l:template name=\"sect5\" text=\"разделът със заглавие „%t“\"/>\n<l:template name=\"section\" text=\"разделът със заглавие „%t“\"/>\n<l:template name=\"simplesect\" text=\"разделът със заглавие „%t“\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"О. %n\"/>\n<l:template name=\"appendix\" text=\"Приложение %n\"/>\n<l:template name=\"bridgehead\" text=\"Раздел %n\"/>\n<l:template name=\"chapter\" text=\"Глава %n\"/>\n<l:template name=\"equation\" text=\"Формула %n\"/>\n<l:template name=\"example\" text=\"Пример %n\"/>\n<l:template name=\"figure\" text=\"Фигура %n\"/>\n<l:template name=\"part\" text=\"Част %n\"/>\n<l:template name=\"procedure\" text=\"Процедура %n\"/>\n<l:template name=\"productionset\" text=\"Продукция %n\"/>\n<l:template name=\"qandadiv\" text=\"Въпроси и отговори %n\"/>\n<l:template name=\"qandaentry\" text=\"В. %n\"/>\n<l:template name=\"question\" text=\"В. %n\"/>\n<l:template name=\"sect1\" text=\"Раздел %n\"/>\n<l:template name=\"sect2\" text=\"Раздел %n\"/>\n<l:template name=\"sect3\" text=\"Раздел %n\"/>\n<l:template name=\"sect4\" text=\"Раздел %n\"/>\n<l:template name=\"sect5\" text=\"Раздел %n\"/>\n<l:template name=\"section\" text=\"Раздел %n\"/>\n<l:template name=\"table\" text=\"Таблица %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Приложение %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Раздел %n, „%t“\"/>\n<l:template name=\"chapter\" text=\"Глава %n, %t\"/>\n<l:template name=\"equation\" text=\"Формула %n, „%t“\"/>\n<l:template name=\"example\" text=\"Пример %n, „%t“\"/>\n<l:template name=\"figure\" text=\"Фигура %n, „%t“\"/>\n<l:template name=\"part\" text=\"Част %n, „%t“\"/>\n<l:template name=\"procedure\" text=\"Процедура %n, „%t“\"/>\n<l:template name=\"productionset\" text=\"Продукция %n, „%t“\"/>\n<l:template name=\"qandadiv\" text=\"Въпроси и отговори %n, „%t“\"/>\n<l:template name=\"refsect1\" text=\"разделът със заглавие „%t“\"/>\n<l:template name=\"refsect2\" text=\"разделът със заглавие „%t“\"/>\n<l:template name=\"refsect3\" text=\"разделът със заглавие „%t“\"/>\n<l:template name=\"refsection\" text=\"разделът със заглавие „%t“\"/>\n<l:template name=\"sect1\" text=\"Раздел %n, „%t“\"/>\n<l:template name=\"sect2\" text=\"Раздел %n, „%t“\"/>\n<l:template name=\"sect3\" text=\"Раздел %n, „%t“\"/>\n<l:template name=\"sect4\" text=\"Раздел %n, „%t“\"/>\n<l:template name=\"sect5\" text=\"Раздел %n, „%t“\"/>\n<l:template name=\"section\" text=\"Раздел %n, „%t“\"/>\n<l:template name=\"simplesect\" text=\"разделът със заглавие „%t“\"/>\n<l:template name=\"table\" text=\"Таблица %n, „%t“\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" и \"/>\n<l:template name=\"seplast\" text=\" и \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Вж. %t.\"/>\n<l:template name=\"seealso\" text=\"Вж. %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Насоченост: \"/>\n<l:template name=\"MsgLevel\" text=\"Ниво: \"/>\n<l:template name=\"MsgOrig\" text=\"Източник: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d.m.Y г.\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"януари\"/>\n<l:template name=\"February\" text=\"февруари\"/>\n<l:template name=\"March\" text=\"март\"/>\n<l:template name=\"April\" text=\"април\"/>\n<l:template name=\"May\" text=\"май\"/>\n<l:template name=\"June\" text=\"юни\"/>\n<l:template name=\"July\" text=\"юли\"/>\n<l:template name=\"August\" text=\"август\"/>\n<l:template name=\"September\" text=\"септември\"/>\n<l:template name=\"October\" text=\"октомври\"/>\n<l:template name=\"November\" text=\"ноември\"/>\n<l:template name=\"December\" text=\"декември\"/>\n<l:template name=\"Monday\" text=\"понеделник\"/>\n<l:template name=\"Tuesday\" text=\"вторник\"/>\n<l:template name=\"Wednesday\" text=\"сряда\"/>\n<l:template name=\"Thursday\" text=\"четвъртък\"/>\n<l:template name=\"Friday\" text=\"петък\"/>\n<l:template name=\"Saturday\" text=\"събота\"/>\n<l:template name=\"Sunday\" text=\"неделя\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"ян.\"/>\n<l:template name=\"Feb\" text=\"фев.\"/>\n<l:template name=\"Mar\" text=\"март\"/>\n<l:template name=\"Apr\" text=\"апр.\"/>\n<l:template name=\"May\" text=\"май\"/>\n<l:template name=\"Jun\" text=\"юни\"/>\n<l:template name=\"Jul\" text=\"юли\"/>\n<l:template name=\"Aug\" text=\"авг.\"/>\n<l:template name=\"Sep\" text=\"сеп.\"/>\n<l:template name=\"Oct\" text=\"окт.\"/>\n<l:template name=\"Nov\" text=\"ноем.\"/>\n<l:template name=\"Dec\" text=\"дек.\"/>\n<l:template name=\"Mon\" text=\"пон.\"/>\n<l:template name=\"Tue\" text=\"вт.\"/>\n<l:template name=\"Wed\" text=\"ср.\"/>\n<l:template name=\"Thu\" text=\"чет.\"/>\n<l:template name=\"Fri\" text=\"пет.\"/>\n<l:template name=\"Sat\" text=\"съб.\"/>\n<l:template name=\"Sun\" text=\"нед.\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0402 Bulgarian\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"—\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Цифри и знаци</l:l>\n<l:l i=\"10\">А</l:l>\n<l:l i=\"10\">а</l:l>\n<l:l i=\"20\">Б</l:l>\n<l:l i=\"20\">б</l:l>\n<l:l i=\"30\">В</l:l>\n<l:l i=\"30\">в</l:l>\n<l:l i=\"40\">Г</l:l>\n<l:l i=\"40\">г</l:l>\n<l:l i=\"50\">Д</l:l>\n<l:l i=\"50\">д</l:l>\n<l:l i=\"60\">Е</l:l>\n<l:l i=\"60\">е</l:l>\n<l:l i=\"70\">Ж</l:l>\n<l:l i=\"70\">ж</l:l>\n<l:l i=\"80\">З</l:l>\n<l:l i=\"80\">з</l:l>\n<l:l i=\"90\">И</l:l>\n<l:l i=\"90\">и</l:l>\n<l:l i=\"100\">Й</l:l>\n<l:l i=\"100\">й</l:l>\n<l:l i=\"110\">К</l:l>\n<l:l i=\"110\">к</l:l>\n<l:l i=\"120\">Л</l:l>\n<l:l i=\"120\">л</l:l>\n<l:l i=\"130\">М</l:l>\n<l:l i=\"130\">м</l:l>\n<l:l i=\"140\">Н</l:l>\n<l:l i=\"140\">н</l:l>\n<l:l i=\"150\">О</l:l>\n<l:l i=\"150\">о</l:l>\n<l:l i=\"160\">П</l:l>\n<l:l i=\"160\">п</l:l>\n<l:l i=\"170\">Р</l:l>\n<l:l i=\"170\">р</l:l>\n<l:l i=\"180\">С</l:l>\n<l:l i=\"180\">с</l:l>\n<l:l i=\"190\">Т</l:l>\n<l:l i=\"190\">т</l:l>\n<l:l i=\"200\">У</l:l>\n<l:l i=\"200\">у</l:l>\n<l:l i=\"210\">Ф</l:l>\n<l:l i=\"210\">ф</l:l>\n<l:l i=\"220\">Х</l:l>\n<l:l i=\"220\">х</l:l>\n<l:l i=\"230\">Ц</l:l>\n<l:l i=\"230\">ц</l:l>\n<l:l i=\"240\">Ч</l:l>\n<l:l i=\"240\">ч</l:l>\n<l:l i=\"250\">Ш</l:l>\n<l:l i=\"250\">ш</l:l>\n<l:l i=\"260\">Щ</l:l>\n<l:l i=\"260\">щ</l:l>\n<l:l i=\"270\">Ъ</l:l>\n<l:l i=\"270\">ъ</l:l>\n<l:l i=\"280\">Ь</l:l>\n<l:l i=\"280\">ь</l:l>\n<l:l i=\"290\">Ю</l:l>\n<l:l i=\"290\">ю</l:l>\n<l:l i=\"300\">Я</l:l>\n<l:l i=\"300\">я</l:l>\n<l:l i=\"310\">Э</l:l>\n<l:l i=\"310\">э</l:l>\n<l:l i=\"320\">Ы</l:l>\n<l:l i=\"320\">ы</l:l>\n<l:l i=\"410\">A</l:l>\n<l:l i=\"410\">a</l:l>\n<l:l i=\"420\">B</l:l>\n<l:l i=\"420\">b</l:l>\n<l:l i=\"430\">C</l:l>\n<l:l i=\"430\">c</l:l>\n<l:l i=\"440\">D</l:l>\n<l:l i=\"440\">d</l:l>\n<l:l i=\"450\">E</l:l>\n<l:l i=\"450\">e</l:l>\n<l:l i=\"460\">F</l:l>\n<l:l i=\"460\">f</l:l>\n<l:l i=\"470\">G</l:l>\n<l:l i=\"470\">g</l:l>\n<l:l i=\"480\">H</l:l>\n<l:l i=\"480\">h</l:l>\n<l:l i=\"490\">I</l:l>\n<l:l i=\"490\">i</l:l>\n<l:l i=\"500\">J</l:l>\n<l:l i=\"500\">j</l:l>\n<l:l i=\"510\">K</l:l>\n<l:l i=\"510\">k</l:l>\n<l:l i=\"520\">L</l:l>\n<l:l i=\"520\">l</l:l>\n<l:l i=\"530\">M</l:l>\n<l:l i=\"530\">m</l:l>\n<l:l i=\"540\">N</l:l>\n<l:l i=\"540\">n</l:l>\n<l:l i=\"550\">O</l:l>\n<l:l i=\"550\">o</l:l>\n<l:l i=\"560\">P</l:l>\n<l:l i=\"560\">p</l:l>\n<l:l i=\"570\">Q</l:l>\n<l:l i=\"570\">q</l:l>\n<l:l i=\"580\">R</l:l>\n<l:l i=\"580\">r</l:l>\n<l:l i=\"590\">S</l:l>\n<l:l i=\"590\">s</l:l>\n<l:l i=\"600\">T</l:l>\n<l:l i=\"600\">t</l:l>\n<l:l i=\"610\">U</l:l>\n<l:l i=\"610\">u</l:l>\n<l:l i=\"620\">V</l:l>\n<l:l i=\"620\">v</l:l>\n<l:l i=\"630\">W</l:l>\n<l:l i=\"630\">w</l:l>\n<l:l i=\"640\">X</l:l>\n<l:l i=\"640\">x</l:l>\n<l:l i=\"650\">Y</l:l>\n<l:l i=\"650\">y</l:l>\n<l:l i=\"660\">Z</l:l>\n<l:l i=\"660\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/bn.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"bn\" english-language-name=\"Bangla\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/bn.xml -->\n<!-- * -->\n<!-- * E-mail the edited bn.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"সারসংক্ষেপ\"/>\n<l:gentext key=\"abstract\" text=\"সারসংক্ষেপ\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"উত্তর:\"/>\n<l:gentext key=\"answer\" text=\"উত্তর:\"/>\n<l:gentext key=\"Appendix\" text=\"পরিশিষ্ট\"/>\n<l:gentext key=\"appendix\" text=\"পরিশিষ্ট\"/>\n<l:gentext key=\"Article\" text=\"প্রবন্ধ\"/>\n<l:gentext key=\"article\" text=\"প্রবন্ধ\"/>\n<l:gentext key=\"Author\" text=\"Author\" lang=\"en\"/>\n<l:gentext key=\"Bibliography\" text=\"গ্রন্থ তালিকা\"/>\n<l:gentext key=\"bibliography\" text=\"গ্রন্থ তালিকা\"/>\n<l:gentext key=\"Book\" text=\"বই\"/>\n<l:gentext key=\"book\" text=\"বই\"/>\n<l:gentext key=\"CAUTION\" text=\"সতর্কতা\"/>\n<l:gentext key=\"Caution\" text=\"সতর্কতা\"/>\n<l:gentext key=\"caution\" text=\"সতর্কতা\"/>\n<l:gentext key=\"Chapter\" text=\"অধ্যায়\"/>\n<l:gentext key=\"chapter\" text=\"অধ্যায়\"/>\n<l:gentext key=\"Colophon\" text=\"প্রকাশনা তথ্য পৃষ্ঠা\"/>\n<l:gentext key=\"colophon\" text=\"প্রকাশনা তথ্য পৃষ্ঠা\"/>\n<l:gentext key=\"Copyright\" text=\"স্বত্ব\"/>\n<l:gentext key=\"copyright\" text=\"স্বত্ব\"/>\n<l:gentext key=\"Dedication\" text=\"উত্‍সর্গ\"/>\n<l:gentext key=\"dedication\" text=\"উত্‍সর্গ\"/>\n<l:gentext key=\"Edition\" text=\"সংস্করণ\"/>\n<l:gentext key=\"edition\" text=\"সংস্করণ\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"সমীকরণ\"/>\n<l:gentext key=\"equation\" text=\"সমীকরণ\"/>\n<l:gentext key=\"Example\" text=\"উদাহরণ\"/>\n<l:gentext key=\"example\" text=\"উদাহরণ\"/>\n<l:gentext key=\"Figure\" text=\"চিত্র\"/>\n<l:gentext key=\"figure\" text=\"চিত্র\"/>\n<l:gentext key=\"Glossary\" text=\"নির্ঘন্ট\"/>\n<l:gentext key=\"glossary\" text=\"নির্ঘন্ট\"/>\n<l:gentext key=\"GlossSee\" text=\"দেখুন\"/>\n<l:gentext key=\"glosssee\" text=\"দেখুন\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"আরো দেখুন\"/>\n<l:gentext key=\"glossseealso\" text=\"আরো দেখুন\"/>\n<l:gentext key=\"IMPORTANT\" text=\"গুরুত্বপূর্ণ\"/>\n<l:gentext key=\"important\" text=\"গুরুত্বপূর্ণ\"/>\n<l:gentext key=\"Important\" text=\"গুরুত্বপূর্ণ\"/>\n<l:gentext key=\"Index\" text=\"সূচি\"/>\n<l:gentext key=\"index\" text=\"সূচি\"/>\n<l:gentext key=\"ISBN\" text=\"আইএসবিএন (ISBN)\"/>\n<l:gentext key=\"isbn\" text=\"আইএসবিএন (ISBN)\"/>\n<l:gentext key=\"LegalNotice\" text=\"আইনী বিজ্ঞপ্তি\"/>\n<l:gentext key=\"legalnotice\" text=\"আইনী বিজ্ঞপ্তি\"/>\n<l:gentext key=\"MsgAud\" text=\"শ্রোতা\"/>\n<l:gentext key=\"msgaud\" text=\"শ্রোতা\"/>\n<l:gentext key=\"MsgLevel\" text=\"স্তর\"/>\n<l:gentext key=\"msglevel\" text=\"স্তর\"/>\n<l:gentext key=\"MsgOrig\" text=\"উত্‍স\"/>\n<l:gentext key=\"msgorig\" text=\"উত্‍স\"/>\n<l:gentext key=\"NOTE\" text=\"লক্ষণীয়\"/>\n<l:gentext key=\"Note\" text=\"লক্ষণীয়\"/>\n<l:gentext key=\"note\" text=\"লক্ষণীয়\"/>\n<l:gentext key=\"Part\" text=\"খন্ড\"/>\n<l:gentext key=\"part\" text=\"খন্ড\"/>\n<l:gentext key=\"Preface\" text=\"মুখবন্ধ\"/>\n<l:gentext key=\"preface\" text=\"মুখবন্ধ\"/>\n<l:gentext key=\"Procedure\" text=\"পদ্ধতি\"/>\n<l:gentext key=\"procedure\" text=\"পদ্ধতি\"/>\n<l:gentext key=\"ProductionSet\" text=\"উত্‍পাদন\"/>\n<l:gentext key=\"PubDate\" text=\"প্রকাশনার তারিখ\"/>\n<l:gentext key=\"pubdate\" text=\"প্রকাশনার তারিখ\"/>\n<l:gentext key=\"Published\" text=\"প্রকাশিত\"/>\n<l:gentext key=\"published\" text=\"প্রকাশিত\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"প্রশ্নএবংউত্তর\"/>\n<l:gentext key=\"qandadiv\" text=\"প্রশ্নএবংউত্তর\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"প্রশ্ন:\"/>\n<l:gentext key=\"question\" text=\"প্রশ্ন:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"গ্রন্থসূত্র\"/>\n<l:gentext key=\"reference\" text=\"গ্রন্থসূত্র\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"নাম\"/>\n<l:gentext key=\"refname\" text=\"নাম\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"সারাংশ\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"সারাংশ\"/>\n<l:gentext key=\"RevHistory\" text=\"পরিবর্ধন ও পরিবর্তন তালিকা\"/>\n<l:gentext key=\"revhistory\" text=\"পরিবর্ধন ও পরিবর্তন তালিকা\"/>\n<l:gentext key=\"revision\" text=\"সংস্করণ\"/>\n<l:gentext key=\"Revision\" text=\"সংস্করণ\"/>\n<l:gentext key=\"sect1\" text=\"অনুচ্ছেদ\"/>\n<l:gentext key=\"sect2\" text=\"অনুচ্ছেদ\"/>\n<l:gentext key=\"sect3\" text=\"অনুচ্ছেদ\"/>\n<l:gentext key=\"sect4\" text=\"অনুচ্ছেদ\"/>\n<l:gentext key=\"sect5\" text=\"অনুচ্ছেদ\"/>\n<l:gentext key=\"section\" text=\"অনুচ্ছেদ\"/>\n<l:gentext key=\"Section\" text=\"অনুচ্ছেদ\"/>\n<l:gentext key=\"see\" text=\"দেখুন\"/>\n<l:gentext key=\"See\" text=\"দেখুন\"/>\n<l:gentext key=\"seealso\" text=\"আরো দেখুন\"/>\n<l:gentext key=\"Seealso\" text=\"আরো দেখুন\"/>\n<l:gentext key=\"SeeAlso\" text=\"আরো দেখুন\"/>\n<l:gentext key=\"set\" text=\"সমষ্টি\"/>\n<l:gentext key=\"Set\" text=\"সমষ্টি\"/>\n<l:gentext key=\"setindex\" text=\"সূচিসমষ্টি\"/>\n<l:gentext key=\"SetIndex\" text=\"সূচিসমষ্টি\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"সাইডবার\"/>\n<l:gentext key=\"step\" text=\"ধাপ\"/>\n<l:gentext key=\"Step\" text=\"ধাপ\"/>\n<l:gentext key=\"table\" text=\"ছক\"/>\n<l:gentext key=\"Table\" text=\"ছক\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"ইঙ্গিত\"/>\n<l:gentext key=\"TIP\" text=\"ইঙ্গিত\"/>\n<l:gentext key=\"Tip\" text=\"ইঙ্গিত\"/>\n<l:gentext key=\"Warning\" text=\"সতর্কবাণী\"/>\n<l:gentext key=\"warning\" text=\"সতর্কবাণী\"/>\n<l:gentext key=\"WARNING\" text=\"সতর্কবাণী\"/>\n<l:gentext key=\"and\" text=\"এবং\"/>\n<l:gentext key=\"or\" text=\"বা\"/>\n<l:gentext key=\"by\" text=\"দ্বারা\"/>\n<l:gentext key=\"Edited\" text=\"সম্পাদিত\"/>\n<l:gentext key=\"edited\" text=\"সম্পাদিত\"/>\n<l:gentext key=\"Editedby\" text=\"সম্পাদক\"/>\n<l:gentext key=\"editedby\" text=\"সম্পাদক\"/>\n<l:gentext key=\"in\" text=\"মধ্যে\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"নোট\"/>\n<l:gentext key=\"Notes\" text=\"নোট\"/>\n<l:gentext key=\"Pgs\" text=\"পৃষ্ঠা.\"/>\n<l:gentext key=\"pgs\" text=\"পৃষ্ঠা.\"/>\n<l:gentext key=\"Revisedby\" text=\"পরিমার্জনাকারী: \"/>\n<l:gentext key=\"revisedby\" text=\"পরিমার্জনাকারী: \"/>\n<l:gentext key=\"TableNotes\" text=\"নোট\"/>\n<l:gentext key=\"tablenotes\" text=\"নোট\"/>\n<l:gentext key=\"TableofContents\" text=\"সূচিপত্র\"/>\n<l:gentext key=\"tableofcontents\" text=\"সূচিপত্র\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"অপ্রত্যাশিত উপাদানের নাম\"/>\n<l:gentext key=\"unsupported\" text=\"অসমর্থিত\"/>\n<l:gentext key=\"xrefto\" text=\"নির্দেশ করে\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"সমীকরণ তালিকা\"/>\n<l:gentext key=\"ListofEquations\" text=\"সমীকরণ তালিকা\"/>\n<l:gentext key=\"ListofExamples\" text=\"উদাহরণ তালিকা\"/>\n<l:gentext key=\"listofexamples\" text=\"উদাহরণ তালিকা\"/>\n<l:gentext key=\"ListofFigures\" text=\"চিত্রতালিকা\"/>\n<l:gentext key=\"listoffigures\" text=\"চিত্রতালিকা\"/>\n<l:gentext key=\"ListofProcedures\" text=\"পদ্ধতির তালিকা\"/>\n<l:gentext key=\"listofprocedures\" text=\"পদ্ধতির তালিকা\"/>\n<l:gentext key=\"listoftables\" text=\"ছকের তালিকা\"/>\n<l:gentext key=\"ListofTables\" text=\"ছকের তালিকা\"/>\n<l:gentext key=\"ListofUnknown\" text=\"অজ্ঞাত বস্তুর তালিকা\"/>\n<l:gentext key=\"listofunknown\" text=\"অজ্ঞাত বস্তুর তালিকা\"/>\n<l:gentext key=\"nav-home\" text=\"প্রথম অবস্থান (Home)\"/>\n<l:gentext key=\"nav-next\" text=\"পরবর্তী\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"দ্রুত সম্মুখে\"/>\n<l:gentext key=\"nav-prev\" text=\"পূর্ববর্তী\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"দ্রুত পশ্চাতে\"/>\n<l:gentext key=\"nav-up\" text=\"উপর\"/>\n<l:gentext key=\"nav-toc\" text=\"সূচিপত্র\"/>\n<l:gentext key=\"Draft\" text=\"খসড়া\"/>\n<l:gentext key=\"above\" text=\"উপর\"/>\n<l:gentext key=\"below\" text=\"নিচ\"/>\n<l:gentext key=\"sectioncalled\" text=\"অনুচ্ছেদ\"/>\n<l:gentext key=\"index symbols\" text=\"প্রতীক\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"অআইঈউঊএঐওঔঋকখগঘঙচছজঝঞটঠডঢণতথদধনপফবভমযরলশষসহংঃ\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"অআইঈউঊএঐওঔঋকখগঘঙচছজঝঞটঠডঢণতথদধনপফবভমযরলশষসহংঃ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"পরিশিষ্ট %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"অধ্যায় %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"সমীকরণ %n. %t\"/>\n<l:template name=\"example\" text=\"উদাহরণ %n. %t\"/>\n<l:template name=\"figure\" text=\"চিত্র %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"খন্ড %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"পদ্ধতি %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"উত্‍পাদন %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"ছক %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"পরিশিষ্ট %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"অধ্যায় %n. %t\"/>\n<l:template name=\"part\" text=\"খন্ড %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"উত্তর: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"প্রশ্ন: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"প্রশ্ন: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"অনুচ্ছেদ “%t”\"/>\n<l:template name=\"refsection\" text=\"অনুচ্ছেদ “%t”\"/>\n<l:template name=\"refsect1\" text=\"অনুচ্ছেদ “%t”\"/>\n<l:template name=\"refsect2\" text=\"অনুচ্ছেদ “%t”\"/>\n<l:template name=\"refsect3\" text=\"অনুচ্ছেদ “%t”\"/>\n<l:template name=\"sect1\" text=\"অনুচ্ছেদ “%t”\"/>\n<l:template name=\"sect2\" text=\"অনুচ্ছেদ “%t”\"/>\n<l:template name=\"sect3\" text=\"অনুচ্ছেদ “%t”\"/>\n<l:template name=\"sect4\" text=\"অনুচ্ছেদ “%t”\"/>\n<l:template name=\"sect5\" text=\"অনুচ্ছেদ “%t”\"/>\n<l:template name=\"section\" text=\"অনুচ্ছেদ “%t”\"/>\n<l:template name=\"simplesect\" text=\"অনুচ্ছেদ “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"উত্তর: %n\"/>\n<l:template name=\"appendix\" text=\"পরিশিষ্ট %n\"/>\n<l:template name=\"bridgehead\" text=\"অনুচ্ছেদ %n\"/>\n<l:template name=\"chapter\" text=\"অধ্যায় %n\"/>\n<l:template name=\"equation\" text=\"সমীকরণ %n\"/>\n<l:template name=\"example\" text=\"উদাহরণ %n\"/>\n<l:template name=\"figure\" text=\"চিত্র %n\"/>\n<l:template name=\"part\" text=\"খন্ড %n\"/>\n<l:template name=\"procedure\" text=\"পদ্ধতি %n\"/>\n<l:template name=\"productionset\" text=\"উত্‍পাদন %n\"/>\n<l:template name=\"qandadiv\" text=\"প্রশ্নএবংউত্তর %n\"/>\n<l:template name=\"qandaentry\" text=\"প্রশ্ন: %n\"/>\n<l:template name=\"question\" text=\"প্রশ্ন: %n\"/>\n<l:template name=\"sect1\" text=\"অনুচ্ছেদ %n\"/>\n<l:template name=\"sect2\" text=\"অনুচ্ছেদ %n\"/>\n<l:template name=\"sect3\" text=\"অনুচ্ছেদ %n\"/>\n<l:template name=\"sect4\" text=\"অনুচ্ছেদ %n\"/>\n<l:template name=\"sect5\" text=\"অনুচ্ছেদ %n\"/>\n<l:template name=\"section\" text=\"অনুচ্ছেদ %n\"/>\n<l:template name=\"table\" text=\"ছক %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"পরিশিষ্ট %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"অনুচ্ছেদ %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"অধ্যায় %n, %t\"/>\n<l:template name=\"equation\" text=\"সমীকরণ %n, “%t”\"/>\n<l:template name=\"example\" text=\"উদাহরণ %n, “%t”\"/>\n<l:template name=\"figure\" text=\"চিত্র %n, “%t”\"/>\n<l:template name=\"part\" text=\"খন্ড %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"পদ্ধতি %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"উত্‍পাদন %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"প্রশ্নএবংউত্তর %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"অনুচ্ছেদ “%t”\"/>\n<l:template name=\"refsect2\" text=\"অনুচ্ছেদ “%t”\"/>\n<l:template name=\"refsect3\" text=\"অনুচ্ছেদ “%t”\"/>\n<l:template name=\"refsection\" text=\"অনুচ্ছেদ “%t”\"/>\n<l:template name=\"sect1\" text=\"অনুচ্ছেদ %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"অনুচ্ছেদ %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"অনুচ্ছেদ %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"অনুচ্ছেদ %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"অনুচ্ছেদ %n, “%t”\"/>\n<l:template name=\"section\" text=\"অনুচ্ছেদ %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"অনুচ্ছেদ “%t”\"/>\n<l:template name=\"table\" text=\"ছক %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" এবং \"/>\n<l:template name=\"seplast\" text=\", এবং \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"দেখুন %t.\"/>\n<l:template name=\"seealso\" text=\"আরো দেখুন %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"শ্রোতা: \"/>\n<l:template name=\"MsgLevel\" text=\"স্তর: \"/>\n<l:template name=\"MsgOrig\" text=\"উত্‍স: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"জানুয়ারী\"/>\n<l:template name=\"February\" text=\"ফেব্রুয়ারী\"/>\n<l:template name=\"March\" text=\"মার্চ\"/>\n<l:template name=\"April\" text=\"এপ্রিল\"/>\n<l:template name=\"May\" text=\"মে\"/>\n<l:template name=\"June\" text=\"জুন\"/>\n<l:template name=\"July\" text=\"জুলাই\"/>\n<l:template name=\"August\" text=\"আগস্ট\"/>\n<l:template name=\"September\" text=\"সেপ্টেম্বর\"/>\n<l:template name=\"October\" text=\"অক্টোবর\"/>\n<l:template name=\"November\" text=\"নভেম্বর\"/>\n<l:template name=\"December\" text=\"ডিসেম্বর\"/>\n<l:template name=\"Monday\" text=\"সোমবার\"/>\n<l:template name=\"Tuesday\" text=\"মঙ্গলবার\"/>\n<l:template name=\"Wednesday\" text=\"বুধবার\"/>\n<l:template name=\"Thursday\" text=\"বৃহঃস্পতিবার\"/>\n<l:template name=\"Friday\" text=\"শুক্রবার\"/>\n<l:template name=\"Saturday\" text=\"শনিবার\"/>\n<l:template name=\"Sunday\" text=\"রবিবার\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"জানুয়ারী\"/>\n<l:template name=\"Feb\" text=\"ফেব্রুয়ারী\"/>\n<l:template name=\"Mar\" text=\"মার্চ\"/>\n<l:template name=\"Apr\" text=\"এপ্রিল\"/>\n<l:template name=\"May\" text=\"মে\"/>\n<l:template name=\"Jun\" text=\"জুন\"/>\n<l:template name=\"Jul\" text=\"জুলাই\"/>\n<l:template name=\"Aug\" text=\"আগস্ট\"/>\n<l:template name=\"Sep\" text=\"সেপ্টেম্বর\"/>\n<l:template name=\"Oct\" text=\"অক্টোবর\"/>\n<l:template name=\"Nov\" text=\"নভেম্বর\"/>\n<l:template name=\"Dec\" text=\"ডিসেম্বর\"/>\n<l:template name=\"Mon\" text=\"সোম\"/>\n<l:template name=\"Tue\" text=\"মঙ্গল\"/>\n<l:template name=\"Wed\" text=\"বুধ\"/>\n<l:template name=\"Thu\" text=\"বৃহঃস্পতি\"/>\n<l:template name=\"Fri\" text=\"শুক্র\"/>\n<l:template name=\"Sat\" text=\"শনি\"/>\n<l:template name=\"Sun\" text=\"রবি\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0445 Bangla (Bangladesh and India)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters lang=\"en\"><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/bn_in.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"bn_in\" english-language-name=\"Indian Bangla\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/bn_in.xml -->\n<!-- * -->\n<!-- * E-mail the edited bn_in.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"সারসংক্ষেপ\"/>\n<l:gentext key=\"abstract\" text=\"সারসংক্ষেপ\"/>\n<l:gentext key=\"Acknowledgements\" text=\"স্বীকৃতি\"/>\n<l:gentext key=\"acknowledgements\" text=\"স্বীকৃতি\"/>\n<l:gentext key=\"Answer\" text=\"উত্তর:\"/>\n<l:gentext key=\"answer\" text=\"উত্তর:\"/>\n<l:gentext key=\"Appendix\" text=\"পরিশিষ্ট\"/>\n<l:gentext key=\"appendix\" text=\"পরিশিষ্ট\"/>\n<l:gentext key=\"Article\" text=\"প্রবন্ধ\"/>\n<l:gentext key=\"article\" text=\"প্রবন্ধ\"/>\n<l:gentext key=\"Author\" text=\"লেখক\"/>\n<l:gentext key=\"Bibliography\" text=\"গ্রন্থপঞ্জি\"/>\n<l:gentext key=\"bibliography\" text=\"গ্রন্থপঞ্জি\"/>\n<l:gentext key=\"Book\" text=\"বই\"/>\n<l:gentext key=\"book\" text=\"বই\"/>\n<l:gentext key=\"CAUTION\" text=\"সাবধান\"/>\n<l:gentext key=\"Caution\" text=\"সাবধান\"/>\n<l:gentext key=\"caution\" text=\"সাবধান\"/>\n<l:gentext key=\"Chapter\" text=\"অধ্যায়\"/>\n<l:gentext key=\"chapter\" text=\"অধ্যায়\"/>\n<l:gentext key=\"Colophon\" text=\"গ্রন্থপরিচয়\"/>\n<l:gentext key=\"colophon\" text=\"গ্রন্থপরিচয়\"/>\n<l:gentext key=\"Copyright\" text=\"স্বত্বাধিকার\"/>\n<l:gentext key=\"copyright\" text=\"স্বত্বাধিকার\"/>\n<l:gentext key=\"Dedication\" text=\"উৎসর্গপত্র\"/>\n<l:gentext key=\"dedication\" text=\"উৎসর্গপত্র\"/>\n<l:gentext key=\"Edition\" text=\"সংস্করণ\"/>\n<l:gentext key=\"edition\" text=\"সংস্করণ\"/>\n<l:gentext key=\"Editor\" text=\"সম্পাদক\"/>\n<l:gentext key=\"Equation\" text=\"সমীকরণ\"/>\n<l:gentext key=\"equation\" text=\"সমীকরণ\"/>\n<l:gentext key=\"Example\" text=\"উদাহরণ\"/>\n<l:gentext key=\"example\" text=\"উদাহরণ\"/>\n<l:gentext key=\"Figure\" text=\"চিত্র\"/>\n<l:gentext key=\"figure\" text=\"চিত্র\"/>\n<l:gentext key=\"Glossary\" text=\"পরিভাষাকোষ\"/>\n<l:gentext key=\"glossary\" text=\"পরিভাষাকোষ\"/>\n<l:gentext key=\"GlossSee\" text=\"দ্রষ্টব্য\"/>\n<l:gentext key=\"glosssee\" text=\"দ্রষ্টব্য\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"অতিরিক্ত দ্রষ্টব্য\"/>\n<l:gentext key=\"glossseealso\" text=\"অতিরিক্ত দ্রষ্টব্য\"/>\n<l:gentext key=\"IMPORTANT\" text=\"গুরুত্বপূর্ণ\"/>\n<l:gentext key=\"important\" text=\"গুরুত্বপূর্ণ\"/>\n<l:gentext key=\"Important\" text=\"গুরুত্বপূর্ণ\"/>\n<l:gentext key=\"Index\" text=\"বিষয়সূচি\"/>\n<l:gentext key=\"index\" text=\"বিষয়সূচি\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"আইনী বিবৃতি\"/>\n<l:gentext key=\"legalnotice\" text=\"আইনী বিবৃতি\"/>\n<l:gentext key=\"MsgAud\" text=\"উদ্দিষ্ট পাঠকবর্গ\"/>\n<l:gentext key=\"msgaud\" text=\"উদ্দিষ্ট পাঠকবর্গ\"/>\n<l:gentext key=\"MsgLevel\" text=\"স্তর\"/>\n<l:gentext key=\"msglevel\" text=\"স্তর\"/>\n<l:gentext key=\"MsgOrig\" text=\"মূল\"/>\n<l:gentext key=\"msgorig\" text=\"মূল\"/>\n<l:gentext key=\"NOTE\" text=\"উল্লেখ্য\"/>\n<l:gentext key=\"Note\" text=\"উল্লেখ্য\"/>\n<l:gentext key=\"note\" text=\"উল্লেখ্য\"/>\n<l:gentext key=\"Part\" text=\"পরিচ্ছেদ\"/>\n<l:gentext key=\"part\" text=\"পরিচ্ছেদ\"/>\n<l:gentext key=\"Preface\" text=\"মুখবন্ধ\"/>\n<l:gentext key=\"preface\" text=\"মুখবন্ধ\"/>\n<l:gentext key=\"Procedure\" text=\"পদ্ধতি\"/>\n<l:gentext key=\"procedure\" text=\"পদ্ধতি\"/>\n<l:gentext key=\"ProductionSet\" text=\"নির্মাণ\"/>\n<l:gentext key=\"PubDate\" text=\"প্রকাশনার তারিখ\"/>\n<l:gentext key=\"pubdate\" text=\"প্রকাশনার তারিখ\"/>\n<l:gentext key=\"Published\" text=\"প্রকাশিত\"/>\n<l:gentext key=\"published\" text=\"প্রকাশিত\"/>\n<l:gentext key=\"Publisher\" text=\"প্রকাশক\"/>\n<l:gentext key=\"Qandadiv\" text=\"প্রশ্নোত্তর\"/>\n<l:gentext key=\"qandadiv\" text=\"প্রশ্নোত্তর\"/>\n<l:gentext key=\"QandASet\" text=\"সাধারণ কিছু জিজ্ঞাসা\"/>\n<l:gentext key=\"Question\" text=\"প্রশ্ন:\"/>\n<l:gentext key=\"question\" text=\"প্রশ্ন:\"/>\n<l:gentext key=\"RefEntry\" text=\"পৃষ্ঠা\"/>\n<l:gentext key=\"refentry\" text=\"পৃষ্ঠা\"/>\n<l:gentext key=\"Reference\" text=\"প্রসঙ্গ নির্দেশ\"/>\n<l:gentext key=\"reference\" text=\"প্রসঙ্গ নির্দেশ\"/>\n<l:gentext key=\"References\" text=\"প্রসঙ্গ নির্দেশ তালিকা\"/>\n<l:gentext key=\"RefName\" text=\"নাম\"/>\n<l:gentext key=\"refname\" text=\"নাম\"/>\n<l:gentext key=\"RefSection\" text=\"বিভাগ\"/>\n<l:gentext key=\"refsection\" text=\"বিভাগ\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"সারাংশ\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"সারাংশ\"/>\n<l:gentext key=\"RevHistory\" text=\"পরিমার্জনার তথ্য\"/>\n<l:gentext key=\"revhistory\" text=\"পরিমার্জনার তথ্য\"/>\n<l:gentext key=\"revision\" text=\"পরিমার্জনা\"/>\n<l:gentext key=\"Revision\" text=\"পরিমার্জনা\"/>\n<l:gentext key=\"sect1\" text=\"বিভাগ\"/>\n<l:gentext key=\"sect2\" text=\"বিভাগ\"/>\n<l:gentext key=\"sect3\" text=\"বিভাগ\"/>\n<l:gentext key=\"sect4\" text=\"বিভাগ\"/>\n<l:gentext key=\"sect5\" text=\"বিভাগ\"/>\n<l:gentext key=\"section\" text=\"বিভাগ\"/>\n<l:gentext key=\"Section\" text=\"বিভাগ\"/>\n<l:gentext key=\"see\" text=\"দ্রষ্টব্য\"/>\n<l:gentext key=\"See\" text=\"দ্রষ্টব্য\"/>\n<l:gentext key=\"seealso\" text=\"অতিরিক্ত দ্রষ্টব্য\"/>\n<l:gentext key=\"Seealso\" text=\"অতিরিক্ত দ্রষ্টব্য\"/>\n<l:gentext key=\"SeeAlso\" text=\"অতিরিক্ত দ্রষ্টব্য\"/>\n<l:gentext key=\"set\" text=\"সংকলন\"/>\n<l:gentext key=\"Set\" text=\"সংকলন\"/>\n<l:gentext key=\"setindex\" text=\"সংকলন সূচি\"/>\n<l:gentext key=\"SetIndex\" text=\"সংকলন সূচি\"/>\n<l:gentext key=\"Sidebar\" text=\"পার্শ্ববর্তী স্তম্ভ\"/>\n<l:gentext key=\"sidebar\" text=\"পার্শ্ববর্তী স্তম্ভ\"/>\n<l:gentext key=\"step\" text=\"ধাপ\"/>\n<l:gentext key=\"Step\" text=\"ধাপ\"/>\n<l:gentext key=\"table\" text=\"সারণি\"/>\n<l:gentext key=\"Table\" text=\"সারণি\"/>\n<l:gentext key=\"task\" text=\"কর্ম\"/>\n<l:gentext key=\"Task\" text=\"কর্ম\"/>\n<l:gentext key=\"tip\" text=\"সূত্র\"/>\n<l:gentext key=\"TIP\" text=\"সূত্র\"/>\n<l:gentext key=\"Tip\" text=\"সূত্র\"/>\n<l:gentext key=\"Warning\" text=\"সতর্কবার্তা\"/>\n<l:gentext key=\"warning\" text=\"সতর্কবার্তা\"/>\n<l:gentext key=\"WARNING\" text=\"সতর্কবার্তা\"/>\n<l:gentext key=\"and\" text=\"এবং\"/>\n<l:gentext key=\"or\" text=\"বা\"/>\n<l:gentext key=\"by\" text=\"দ্বারা\"/>\n<l:gentext key=\"Edited\" text=\"সম্পাদিত\"/>\n<l:gentext key=\"edited\" text=\"সম্পাদিত\"/>\n<l:gentext key=\"Editedby\" text=\"সম্পাদক\"/>\n<l:gentext key=\"editedby\" text=\"সম্পাদক\"/>\n<l:gentext key=\"in\" text=\"অন্তর্ভুক্ত\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"টিকা টিপ্পনি\"/>\n<l:gentext key=\"Notes\" text=\"টিকা টিপ্পনি\"/>\n<l:gentext key=\"Pgs\" text=\"পৃষ্ঠা\"/>\n<l:gentext key=\"pgs\" text=\"পৃষ্ঠা\"/>\n<l:gentext key=\"Revisedby\" text=\"পরিবর্ধক: \"/>\n<l:gentext key=\"revisedby\" text=\"পরিবর্ধক: \"/>\n<l:gentext key=\"TableNotes\" text=\"টিকা টিপ্পনি\"/>\n<l:gentext key=\"tablenotes\" text=\"টিকা টিপ্পনি\"/>\n<l:gentext key=\"TableofContents\" text=\"সূচিপত্র\"/>\n<l:gentext key=\"tableofcontents\" text=\"সূচিপত্র\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"অপ্রত্যাশিত সত্ত্বার নাম\"/>\n<l:gentext key=\"unsupported\" text=\"অসমর্থিত\"/>\n<l:gentext key=\"xrefto\" text=\"xref নির্দেশিকা\"/>\n<l:gentext key=\"Authors\" text=\"লেখক\"/>\n<l:gentext key=\"copyeditor\" text=\"প্রতিলিপি সম্পাদক\"/>\n<l:gentext key=\"graphicdesigner\" text=\"চিত্র শিল্পী\"/>\n<l:gentext key=\"productioneditor\" text=\"নির্মাণ সম্পাদক\"/>\n<l:gentext key=\"technicaleditor\" text=\"প্রযুক্তিবিষয়ক সম্পাদক\"/>\n<l:gentext key=\"translator\" text=\"অনুবাদক\"/>\n<l:gentext key=\"listofequations\" text=\"সমীকরণের তালিকা\"/>\n<l:gentext key=\"ListofEquations\" text=\"সমীকরণের তালিকা\"/>\n<l:gentext key=\"ListofExamples\" text=\"উদাহরণের তালিকা\"/>\n<l:gentext key=\"listofexamples\" text=\"উদাহরণের তালিকা\"/>\n<l:gentext key=\"ListofFigures\" text=\"ছবির তালিকা\"/>\n<l:gentext key=\"listoffigures\" text=\"ছবির তালিকা\"/>\n<l:gentext key=\"ListofProcedures\" text=\"পদ্ধতির তালিকা\"/>\n<l:gentext key=\"listofprocedures\" text=\"পদ্ধতির তালিকা\"/>\n<l:gentext key=\"listoftables\" text=\"সারণির তালিকা\"/>\n<l:gentext key=\"ListofTables\" text=\"সারণির তালিকা\"/>\n<l:gentext key=\"ListofUnknown\" text=\"অজানা বস্তুর তালিকা\"/>\n<l:gentext key=\"listofunknown\" text=\"অজানা বস্তুর তালিকা\"/>\n<l:gentext key=\"nav-home\" text=\"প্রারম্ভিক পৃষ্ঠা\"/>\n<l:gentext key=\"nav-next\" text=\"পরবর্তী\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"অতিবর্তন\"/>\n<l:gentext key=\"nav-prev\" text=\"পূর্ববর্তী\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"পশ্চাৎদিশায় অতিবর্তন\"/>\n<l:gentext key=\"nav-up\" text=\"উপর\"/>\n<l:gentext key=\"nav-toc\" text=\"সূচিপত্র\"/>\n<l:gentext key=\"Draft\" text=\"খসড়া\"/>\n<l:gentext key=\"above\" text=\"ঊর্ধ্ব\"/>\n<l:gentext key=\"below\" text=\"নিম্ন\"/>\n<l:gentext key=\"sectioncalled\" text=\"উল্লিখিত বিভাগ\"/>\n<l:gentext key=\"index symbols\" text=\"সংকেত\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\" lang=\"en\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"পরিশিষ্ট %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"অধ্যায় %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"সমীকরণ %n. %t\"/>\n<l:template name=\"example\" text=\"উদাহরণ %n. %t\"/>\n<l:template name=\"figure\" text=\"চিত্র %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"পরিচ্ছেদ %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"পদ্ধতি %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"নির্মাণ %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"সারণি %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"পরিশিষ্ট %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"অধ্যায় %n. %t\"/>\n<l:template name=\"part\" text=\"পরিচ্ছেদ %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"উত্তর: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"প্রশ্ন: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"প্রশ্ন: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"উল্লিখিত বিভাগ “%t”\"/>\n<l:template name=\"refsection\" text=\"উল্লিখিত বিভাগ “%t”\"/>\n<l:template name=\"refsect1\" text=\"উল্লিখিত বিভাগ “%t”\"/>\n<l:template name=\"refsect2\" text=\"উল্লিখিত বিভাগ “%t”\"/>\n<l:template name=\"refsect3\" text=\"উল্লিখিত বিভাগ “%t”\"/>\n<l:template name=\"sect1\" text=\"উল্লিখিত বিভাগ “%t”\"/>\n<l:template name=\"sect2\" text=\"উল্লিখিত বিভাগ “%t”\"/>\n<l:template name=\"sect3\" text=\"উল্লিখিত বিভাগ “%t”\"/>\n<l:template name=\"sect4\" text=\"উল্লিখিত বিভাগ “%t”\"/>\n<l:template name=\"sect5\" text=\"উল্লিখিত বিভাগ “%t”\"/>\n<l:template name=\"section\" text=\"উল্লিখিত বিভাগ “%t”\"/>\n<l:template name=\"simplesect\" text=\"উল্লিখিত বিভাগ “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"উত্তর: %n\"/>\n<l:template name=\"appendix\" text=\"পরিশিষ্ট %n\"/>\n<l:template name=\"bridgehead\" text=\"বিভাগ %n\"/>\n<l:template name=\"chapter\" text=\"অধ্যায় %n\"/>\n<l:template name=\"equation\" text=\"সমীকরণ %n\"/>\n<l:template name=\"example\" text=\"উদাহরণ %n\"/>\n<l:template name=\"figure\" text=\"চিত্র %n\"/>\n<l:template name=\"part\" text=\"পরিচ্ছেদ %n\"/>\n<l:template name=\"procedure\" text=\"পদ্ধতি %n\"/>\n<l:template name=\"productionset\" text=\"নির্মাণ %n\"/>\n<l:template name=\"qandadiv\" text=\"প্রশ্নোত্তর %n\"/>\n<l:template name=\"qandaentry\" text=\"প্রশ্ন: %n\"/>\n<l:template name=\"question\" text=\"প্রশ্ন: %n\"/>\n<l:template name=\"sect1\" text=\"বিভাগ %n\"/>\n<l:template name=\"sect2\" text=\"বিভাগ %n\"/>\n<l:template name=\"sect3\" text=\"বিভাগ %n\"/>\n<l:template name=\"sect4\" text=\"বিভাগ %n\"/>\n<l:template name=\"sect5\" text=\"বিভাগ %n\"/>\n<l:template name=\"section\" text=\"বিভাগ %n\"/>\n<l:template name=\"table\" text=\"সারণি %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"পরিশিষ্ট %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"বিভাগ %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"অধ্যায় %n, %t\"/>\n<l:template name=\"equation\" text=\"সমীকরণ %n, “%t”\"/>\n<l:template name=\"example\" text=\"উদাহরণ %n, “%t”\"/>\n<l:template name=\"figure\" text=\"চিত্র %n, “%t”\"/>\n<l:template name=\"part\" text=\"পরিচ্ছেদ %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"পদ্ধতি %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"নির্মাণ %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"প্রশ্নোত্তর %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"উল্লিখিত বিভাগ “%t”\"/>\n<l:template name=\"refsect2\" text=\"উল্লিখিত বিভাগ “%t”\"/>\n<l:template name=\"refsect3\" text=\"উল্লিখিত বিভাগ “%t”\"/>\n<l:template name=\"refsection\" text=\"উল্লিখিত বিভাগ “%t”\"/>\n<l:template name=\"sect1\" text=\"বিভাগ %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"বিভাগ %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"বিভাগ %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"বিভাগ %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"বিভাগ %n, “%t”\"/>\n<l:template name=\"section\" text=\"বিভাগ %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"উল্লিখিত বিভাগ “%t”\"/>\n<l:template name=\"table\" text=\"সারণি %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" এবং \"/>\n<l:template name=\"seplast\" text=\", এবং \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"দ্রষ্টব্য %t.\"/>\n<l:template name=\"seealso\" text=\"অতিরিক্ত দ্রষ্টব্য %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"উদ্দিষ্ট পাঠকবর্গ: \"/>\n<l:template name=\"MsgLevel\" text=\"স্তর: \"/>\n<l:template name=\"MsgOrig\" text=\"মূল: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"জানুয়ারি\"/>\n<l:template name=\"February\" text=\"ফেব্রুয়ারি\"/>\n<l:template name=\"March\" text=\"মার্চ\"/>\n<l:template name=\"April\" text=\"এপ্রিল\"/>\n<l:template name=\"May\" text=\"মে\"/>\n<l:template name=\"June\" text=\"জুন\"/>\n<l:template name=\"July\" text=\"জুলাই\"/>\n<l:template name=\"August\" text=\"অগাস্ট\"/>\n<l:template name=\"September\" text=\"সেপটেম্বর\"/>\n<l:template name=\"October\" text=\"অক্টোবর\"/>\n<l:template name=\"November\" text=\"নভেম্বর\"/>\n<l:template name=\"December\" text=\"ডিসেম্বর\"/>\n<l:template name=\"Monday\" text=\"সোমবার\"/>\n<l:template name=\"Tuesday\" text=\"মঙ্গলবার\"/>\n<l:template name=\"Wednesday\" text=\"বুধবার\"/>\n<l:template name=\"Thursday\" text=\"বৃহস্পতিবার\"/>\n<l:template name=\"Friday\" text=\"শুক্রবার\"/>\n<l:template name=\"Saturday\" text=\"শনিবার\"/>\n<l:template name=\"Sunday\" text=\"রবিবার\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"জানুয়ারি\"/>\n<l:template name=\"Feb\" text=\"ফেব্রুয়ারি\"/>\n<l:template name=\"Mar\" text=\"মার্চ\"/>\n<l:template name=\"Apr\" text=\"এপ্রিল\"/>\n<l:template name=\"May\" text=\"মে\"/>\n<l:template name=\"Jun\" text=\"জুন\"/>\n<l:template name=\"Jul\" text=\"জুলাই\"/>\n<l:template name=\"Aug\" text=\"অগাস্ট\"/>\n<l:template name=\"Sep\" text=\"সেপটেম্বর\"/>\n<l:template name=\"Oct\" text=\"অক্টোবর\"/>\n<l:template name=\"Nov\" text=\"নভেম্বর\"/>\n<l:template name=\"Dec\" text=\"ডিসেম্বর\"/>\n<l:template name=\"Mon\" text=\"সোম\"/>\n<l:template name=\"Tue\" text=\"মঙ্গল\"/>\n<l:template name=\"Wed\" text=\"বুধ\"/>\n<l:template name=\"Thu\" text=\"বৃহঃ\"/>\n<l:template name=\"Fri\" text=\"শুক্র\"/>\n<l:template name=\"Sat\" text=\"শনি\"/>\n<l:template name=\"Sun\" text=\"রবি\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0445 Bangla (Bangladesh and India)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">সংকেত</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/bs.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"bs\" english-language-name=\"Bosnian\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/bs.xml -->\n<!-- * -->\n<!-- * E-mail the edited bs.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Sažetak\"/>\n<l:gentext key=\"abstract\" text=\"sažetak\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Priznanja\"/>\n<l:gentext key=\"acknowledgements\" text=\"priznanja\"/>\n<l:gentext key=\"Answer\" text=\"O:\"/>\n<l:gentext key=\"answer\" text=\"o:\"/>\n<l:gentext key=\"Appendix\" text=\"Dodatak\"/>\n<l:gentext key=\"appendix\" text=\"dodatak\"/>\n<l:gentext key=\"Article\" text=\"Članak\"/>\n<l:gentext key=\"article\" text=\"članak\"/>\n<l:gentext key=\"Author\" text=\"Autor\"/>\n<l:gentext key=\"Bibliography\" text=\"Literatura\"/>\n<l:gentext key=\"bibliography\" text=\"literatura\"/>\n<l:gentext key=\"Book\" text=\"Knjiga\"/>\n<l:gentext key=\"book\" text=\"knjiga\"/>\n<l:gentext key=\"CAUTION\" text=\"PAŽNJA\"/>\n<l:gentext key=\"Caution\" text=\"Pažnja\"/>\n<l:gentext key=\"caution\" text=\"pažnja\"/>\n<l:gentext key=\"Chapter\" text=\"Poglavlje\"/>\n<l:gentext key=\"chapter\" text=\"poglavlje\"/>\n<l:gentext key=\"Colophon\" text=\"Kolofon\"/>\n<l:gentext key=\"colophon\" text=\"kolofon\"/>\n<l:gentext key=\"Copyright\" text=\"Autorska prava\"/>\n<l:gentext key=\"copyright\" text=\"autorska prava\"/>\n<l:gentext key=\"Dedication\" text=\"Posveta\"/>\n<l:gentext key=\"dedication\" text=\"posveta\"/>\n<l:gentext key=\"Edition\" text=\"Izdanje\"/>\n<l:gentext key=\"edition\" text=\"izdanje\"/>\n<l:gentext key=\"Editor\" text=\"Editor\"/>\n<l:gentext key=\"Equation\" text=\"Jednačina\"/>\n<l:gentext key=\"equation\" text=\"jednačina\"/>\n<l:gentext key=\"Example\" text=\"Primjer\"/>\n<l:gentext key=\"example\" text=\"primjer\"/>\n<l:gentext key=\"Figure\" text=\"Slika\"/>\n<l:gentext key=\"figure\" text=\"slika\"/>\n<l:gentext key=\"Glossary\" text=\"Glosar\"/>\n<l:gentext key=\"glossary\" text=\"glosar\"/>\n<l:gentext key=\"GlossSee\" text=\"Vidi\"/>\n<l:gentext key=\"glosssee\" text=\"vidi\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Vidi takođe\"/>\n<l:gentext key=\"glossseealso\" text=\"vidi takođe\"/>\n<l:gentext key=\"IMPORTANT\" text=\"VAŽNO\"/>\n<l:gentext key=\"important\" text=\"važno\"/>\n<l:gentext key=\"Important\" text=\"Važno\"/>\n<l:gentext key=\"Index\" text=\"Indeks\"/>\n<l:gentext key=\"index\" text=\"indeks\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Pravne odredbe\"/>\n<l:gentext key=\"legalnotice\" text=\"pravne odredbe\"/>\n<l:gentext key=\"MsgAud\" text=\"Primatelji\"/>\n<l:gentext key=\"msgaud\" text=\"primatelji\"/>\n<l:gentext key=\"MsgLevel\" text=\"Nivo\"/>\n<l:gentext key=\"msglevel\" text=\"nivo\"/>\n<l:gentext key=\"MsgOrig\" text=\"Izvor\"/>\n<l:gentext key=\"msgorig\" text=\"izvor\"/>\n<l:gentext key=\"NOTE\" text=\"BILJEŠKA\"/>\n<l:gentext key=\"Note\" text=\"Bilješka\"/>\n<l:gentext key=\"note\" text=\"Bilješka\"/>\n<l:gentext key=\"Part\" text=\"Dio\"/>\n<l:gentext key=\"part\" text=\"dio\"/>\n<l:gentext key=\"Preface\" text=\"Predgovor\"/>\n<l:gentext key=\"preface\" text=\"predgovor\"/>\n<l:gentext key=\"Procedure\" text=\"Postupak\"/>\n<l:gentext key=\"procedure\" text=\"postupak\"/>\n<l:gentext key=\"ProductionSet\" text=\"Produkcija\"/>\n<l:gentext key=\"PubDate\" text=\"Objavljeno\"/>\n<l:gentext key=\"pubdate\" text=\"objavljeno\"/>\n<l:gentext key=\"Published\" text=\"Objavljeno\"/>\n<l:gentext key=\"published\" text=\"objavljeno\"/>\n<l:gentext key=\"Publisher\" text=\"Objavljeno\"/>\n<l:gentext key=\"Qandadiv\" text=\"P &amp; O\"/>\n<l:gentext key=\"qandadiv\" text=\"P &amp; O\"/>\n<l:gentext key=\"QandASet\" text=\"Često Pitana Pitanja\"/>\n<l:gentext key=\"Question\" text=\"P:\"/>\n<l:gentext key=\"question\" text=\"P:\"/>\n<l:gentext key=\"RefEntry\" text=\"Stranica\"/>\n<l:gentext key=\"refentry\" text=\"stranica\"/>\n<l:gentext key=\"Reference\" text=\"Referenca\"/>\n<l:gentext key=\"reference\" text=\"referenca\"/>\n<l:gentext key=\"References\" text=\"Referenca\"/>\n<l:gentext key=\"RefName\" text=\"Ime\"/>\n<l:gentext key=\"refname\" text=\"ime\"/>\n<l:gentext key=\"RefSection\" text=\"Odjeljak\"/>\n<l:gentext key=\"refsection\" text=\"odjeljak\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Pregled\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"pregled\"/>\n<l:gentext key=\"RevHistory\" text=\"Historija verzija\"/>\n<l:gentext key=\"revhistory\" text=\"historija verzija\"/>\n<l:gentext key=\"revision\" text=\"verzija\"/>\n<l:gentext key=\"Revision\" text=\"Verzija\"/>\n<l:gentext key=\"sect1\" text=\"Odjeljak\"/>\n<l:gentext key=\"sect2\" text=\"Odjeljak\"/>\n<l:gentext key=\"sect3\" text=\"Odjeljak\"/>\n<l:gentext key=\"sect4\" text=\"Odjeljak\"/>\n<l:gentext key=\"sect5\" text=\"Odjeljak\"/>\n<l:gentext key=\"section\" text=\"odjeljak\"/>\n<l:gentext key=\"Section\" text=\"Odjeljak\"/>\n<l:gentext key=\"see\" text=\"vidi\"/>\n<l:gentext key=\"See\" text=\"Vidi\"/>\n<l:gentext key=\"seealso\" text=\"vidi takođe\"/>\n<l:gentext key=\"Seealso\" text=\"Vidi takođe\"/>\n<l:gentext key=\"SeeAlso\" text=\"Vidi takođe\"/>\n<l:gentext key=\"set\" text=\"set\"/>\n<l:gentext key=\"Set\" text=\"Set\"/>\n<l:gentext key=\"setindex\" text=\"indeks\"/>\n<l:gentext key=\"SetIndex\" text=\"Indeks\"/>\n<l:gentext key=\"Sidebar\" text=\"Postrana kolona\"/>\n<l:gentext key=\"sidebar\" text=\"postrana kolona\"/>\n<l:gentext key=\"step\" text=\"korak\"/>\n<l:gentext key=\"Step\" text=\"Korak\"/>\n<l:gentext key=\"table\" text=\"tabela\"/>\n<l:gentext key=\"Table\" text=\"Tabela\"/>\n<l:gentext key=\"task\" text=\"zadatak\"/>\n<l:gentext key=\"Task\" text=\"Zadatak\"/>\n<l:gentext key=\"tip\" text=\"Savjet\"/>\n<l:gentext key=\"TIP\" text=\"SAVJET\"/>\n<l:gentext key=\"Tip\" text=\"Savjet\"/>\n<l:gentext key=\"Warning\" text=\"Upozorenje\"/>\n<l:gentext key=\"warning\" text=\"Upozorenje\"/>\n<l:gentext key=\"WARNING\" text=\"UPOZORENJE\"/>\n<l:gentext key=\"and\" text=\"i\"/>\n<l:gentext key=\"or\" text=\"or\" lang=\"en\"/>\n<l:gentext key=\"by\" text=\"od\"/>\n<l:gentext key=\"Edited\" text=\"Izdao\"/>\n<l:gentext key=\"edited\" text=\"izdao\"/>\n<l:gentext key=\"Editedby\" text=\"Izdao\"/>\n<l:gentext key=\"editedby\" text=\"izdao\"/>\n<l:gentext key=\"in\" text=\"u\"/>\n<l:gentext key=\"lastlistcomma\" text=\"\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"bilješke\"/>\n<l:gentext key=\"Notes\" text=\"Bilješke\"/>\n<l:gentext key=\"Pgs\" text=\"Str.\"/>\n<l:gentext key=\"pgs\" text=\"ptr.\"/>\n<l:gentext key=\"Revisedby\" text=\"Izmijenjeno od: \"/>\n<l:gentext key=\"revisedby\" text=\"izmijenjeno od: \"/>\n<l:gentext key=\"TableNotes\" text=\"Napomene\"/>\n<l:gentext key=\"tablenotes\" text=\"napomene\"/>\n<l:gentext key=\"TableofContents\" text=\"Sadržaj\"/>\n<l:gentext key=\"tableofcontents\" text=\"sadržaj\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Neočkivano ime elementa\"/>\n<l:gentext key=\"unsupported\" text=\"nepodržano\"/>\n<l:gentext key=\"xrefto\" text=\"xref prema\"/>\n<l:gentext key=\"Authors\" text=\"Autori\"/>\n<l:gentext key=\"copyeditor\" text=\"Autorski Urednik\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graficki Dizajneri\"/>\n<l:gentext key=\"productioneditor\" text=\"Urednik Produkcije\"/>\n<l:gentext key=\"technicaleditor\" text=\"Tehnicki Editor\"/>\n<l:gentext key=\"translator\" text=\"Prevodilac\"/>\n<l:gentext key=\"listofequations\" text=\"spisak jednačina\"/>\n<l:gentext key=\"ListofEquations\" text=\"Spisak jednačina\"/>\n<l:gentext key=\"ListofExamples\" text=\"Spisak primjera\"/>\n<l:gentext key=\"listofexamples\" text=\"spisak primjera\"/>\n<l:gentext key=\"ListofFigures\" text=\"Spisak slika\"/>\n<l:gentext key=\"listoffigures\" text=\"spisak slika\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Spisak postupaka\"/>\n<l:gentext key=\"listofprocedures\" text=\"spisak postupaka\"/>\n<l:gentext key=\"listoftables\" text=\"spisak tabela\"/>\n<l:gentext key=\"ListofTables\" text=\"Spisak tabela\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Spisak ???\"/>\n<l:gentext key=\"listofunknown\" text=\"spisak ???\"/>\n<l:gentext key=\"nav-home\" text=\"Početak\"/>\n<l:gentext key=\"nav-next\" text=\"Naprijed\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Brzo naprijed\"/>\n<l:gentext key=\"nav-prev\" text=\"Nazad\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Brzo nazad\"/>\n<l:gentext key=\"nav-up\" text=\"Gore\"/>\n<l:gentext key=\"nav-toc\" text=\"Sadržaj\"/>\n<l:gentext key=\"Draft\" text=\"Nacrt\"/>\n<l:gentext key=\"above\" text=\"iznad\"/>\n<l:gentext key=\"below\" text=\"ispod\"/>\n<l:gentext key=\"sectioncalled\" text=\"odjeljak sa nazivom\"/>\n<l:gentext key=\"index symbols\" text=\"Simboli\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcčćdđefghijklmnoprsštuvzž\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCČĆDĐEFGHIJKLMNOPRSŠTUVZŽ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"3\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Dodatak %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Poglavlje %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Jednačina %n. %t\"/>\n<l:template name=\"example\" text=\"Primjer %n. %t\"/>\n<l:template name=\"figure\" text=\"Slika %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Dio %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Postupak %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Produkcija %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabela %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Dodatak %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Poglavlje %n. %t\"/>\n<l:template name=\"part\" text=\"Dio %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"O: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"P: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"P: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"odjeljak sa nazivom “%t”\"/>\n<l:template name=\"refsection\" text=\"odjeljak sa nazivom “%t”\"/>\n<l:template name=\"refsect1\" text=\"odjeljak sa nazivom “%t”\"/>\n<l:template name=\"refsect2\" text=\"odjeljak sa nazivom “%t”\"/>\n<l:template name=\"refsect3\" text=\"odjeljak sa nazivom “%t”\"/>\n<l:template name=\"sect1\" text=\"odjeljak sa nazivom “%t”\"/>\n<l:template name=\"sect2\" text=\"odjeljak sa nazivom “%t”\"/>\n<l:template name=\"sect3\" text=\"odjeljak sa nazivom “%t”\"/>\n<l:template name=\"sect4\" text=\"odjeljak sa nazivom “%t”\"/>\n<l:template name=\"sect5\" text=\"odjeljak sa nazivom “%t”\"/>\n<l:template name=\"section\" text=\"odjeljak sa nazivom “%t”\"/>\n<l:template name=\"simplesect\" text=\"odjeljak sa nazivom “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"O: %n\"/>\n<l:template name=\"appendix\" text=\"Dodatak %n\"/>\n<l:template name=\"bridgehead\" text=\"Odjeljak %n\"/>\n<l:template name=\"chapter\" text=\"Poglavlje %n\"/>\n<l:template name=\"equation\" text=\"Jednačina %n\"/>\n<l:template name=\"example\" text=\"Primjer %n\"/>\n<l:template name=\"figure\" text=\"Slika %n\"/>\n<l:template name=\"part\" text=\"Dio %n\"/>\n<l:template name=\"procedure\" text=\"Postupak %n\"/>\n<l:template name=\"productionset\" text=\"Produkcija %n\"/>\n<l:template name=\"qandadiv\" text=\"P &amp; O %n\"/>\n<l:template name=\"qandaentry\" text=\"P: %n\"/>\n<l:template name=\"question\" text=\"P: %n\"/>\n<l:template name=\"sect1\" text=\"Odjeljak %n\"/>\n<l:template name=\"sect2\" text=\"Odjeljak %n\"/>\n<l:template name=\"sect3\" text=\"Odjeljak %n\"/>\n<l:template name=\"sect4\" text=\"Odjeljak %n\"/>\n<l:template name=\"sect5\" text=\"Odjeljak %n\"/>\n<l:template name=\"section\" text=\"Odjeljak %n\"/>\n<l:template name=\"table\" text=\"Tabela %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Dodatak %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Odjeljak %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Poglavlje %n, %t\"/>\n<l:template name=\"equation\" text=\"Jednačina %n, “%t”\"/>\n<l:template name=\"example\" text=\"Primjer %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Slika %n, “%t”\"/>\n<l:template name=\"part\" text=\"Dio %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Postupak %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Produkcija %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"P &amp; O %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"odjeljak sa nazivom “%t”\"/>\n<l:template name=\"refsect2\" text=\"odjeljak sa nazivom “%t”\"/>\n<l:template name=\"refsect3\" text=\"odjeljak sa nazivom “%t”\"/>\n<l:template name=\"refsection\" text=\"odjeljak sa nazivom “%t”\"/>\n<l:template name=\"sect1\" text=\"Odjeljak %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Odjeljak %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Odjeljak %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Odjeljak %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Odjeljak %n, “%t”\"/>\n<l:template name=\"section\" text=\"Odjeljak %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"odjeljak sa nazivom “%t”\"/>\n<l:template name=\"table\" text=\"Tabela %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" i \"/>\n<l:template name=\"seplast\" text=\" i \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Vidi %t.\"/>\n<l:template name=\"seealso\" text=\"Vidi takođe %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Primatelji: \"/>\n<l:template name=\"MsgLevel\" text=\"Nivo: \"/>\n<l:template name=\"MsgOrig\" text=\"Izvor: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d.m.Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definicija: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Januar\"/>\n<l:template name=\"February\" text=\"Februar\"/>\n<l:template name=\"March\" text=\"Mart\"/>\n<l:template name=\"April\" text=\"April\"/>\n<l:template name=\"May\" text=\"Maj\"/>\n<l:template name=\"June\" text=\"Juni\"/>\n<l:template name=\"July\" text=\"Juli\"/>\n<l:template name=\"August\" text=\"August\"/>\n<l:template name=\"September\" text=\"Septembar\"/>\n<l:template name=\"October\" text=\"Oktobar\"/>\n<l:template name=\"November\" text=\"Novembar\"/>\n<l:template name=\"December\" text=\"Decembar\"/>\n<l:template name=\"Monday\" text=\"Ponedeljak\"/>\n<l:template name=\"Tuesday\" text=\"Utorak\"/>\n<l:template name=\"Wednesday\" text=\"Srijeda\"/>\n<l:template name=\"Thursday\" text=\"Četvrtak\"/>\n<l:template name=\"Friday\" text=\"Petak\"/>\n<l:template name=\"Saturday\" text=\"Subota\"/>\n<l:template name=\"Sunday\" text=\"Nedelja\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\"/>\n<l:template name=\"Feb\" text=\"Feb\"/>\n<l:template name=\"Mar\" text=\"Mar\"/>\n<l:template name=\"Apr\" text=\"Apr\"/>\n<l:template name=\"May\" text=\"Maj\"/>\n<l:template name=\"Jun\" text=\"Jun\"/>\n<l:template name=\"Jul\" text=\"Jul\"/>\n<l:template name=\"Aug\" text=\"Aug\"/>\n<l:template name=\"Sep\" text=\"Sep\"/>\n<l:template name=\"Oct\" text=\"Okt\"/>\n<l:template name=\"Nov\" text=\"Nov\"/>\n<l:template name=\"Dec\" text=\"Dec\"/>\n<l:template name=\"Mon\" text=\"Pon\"/>\n<l:template name=\"Tue\" text=\"Uto\"/>\n<l:template name=\"Wed\" text=\"Sri\"/>\n<l:template name=\"Thu\" text=\"Čet\"/>\n<l:template name=\"Fri\" text=\"Pet\"/>\n<l:template name=\"Sat\" text=\"Sub\"/>\n<l:template name=\"Sun\" text=\"Ned\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x141A Bosnian (Bosnia/Herzegovina)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Simboli</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/ca.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"ca\" english-language-name=\"Catalan\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/ca.xml -->\n<!-- * -->\n<!-- * E-mail the edited ca.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Resum\"/>\n<l:gentext key=\"abstract\" text=\"resum\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Agraïments\"/>\n<l:gentext key=\"acknowledgements\" text=\"agraïments\"/>\n<l:gentext key=\"Answer\" text=\"Resposta\"/>\n<l:gentext key=\"answer\" text=\"resposta\"/>\n<l:gentext key=\"Appendix\" text=\"Apèndix\"/>\n<l:gentext key=\"appendix\" text=\"apèndix\"/>\n<l:gentext key=\"Article\" text=\"Article\"/>\n<l:gentext key=\"article\" text=\"article\"/>\n<l:gentext key=\"Author\" text=\"Autor\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografia\"/>\n<l:gentext key=\"bibliography\" text=\"bibliografia\"/>\n<l:gentext key=\"Book\" text=\"Llibre\"/>\n<l:gentext key=\"book\" text=\"llibre\"/>\n<l:gentext key=\"CAUTION\" text=\"ATENCIÓ\"/>\n<l:gentext key=\"Caution\" text=\"Atenció\"/>\n<l:gentext key=\"caution\" text=\"atenció\"/>\n<l:gentext key=\"Chapter\" text=\"Capítol\"/>\n<l:gentext key=\"chapter\" text=\"capítol\"/>\n<l:gentext key=\"Colophon\" text=\"Colofó\"/>\n<l:gentext key=\"colophon\" text=\"colofó\"/>\n<l:gentext key=\"Copyright\" text=\"Dret de reproducció\"/>\n<l:gentext key=\"copyright\" text=\"dret de reproducció\"/>\n<l:gentext key=\"Dedication\" text=\"Dedicatòria\"/>\n<l:gentext key=\"dedication\" text=\"dedicatòria\"/>\n<l:gentext key=\"Edition\" text=\"Edició\"/>\n<l:gentext key=\"edition\" text=\"edició\"/>\n<l:gentext key=\"Editor\" text=\"Editor\"/>\n<l:gentext key=\"Equation\" text=\"Equació\"/>\n<l:gentext key=\"equation\" text=\"equació\"/>\n<l:gentext key=\"Example\" text=\"Exemple\"/>\n<l:gentext key=\"example\" text=\"exemple\"/>\n<l:gentext key=\"Figure\" text=\"Figura\"/>\n<l:gentext key=\"figure\" text=\"figura\"/>\n<l:gentext key=\"Glossary\" text=\"Glossari\"/>\n<l:gentext key=\"glossary\" text=\"glossari\"/>\n<l:gentext key=\"GlossSee\" text=\"Veure\"/>\n<l:gentext key=\"glosssee\" text=\"veure\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Veure també\"/>\n<l:gentext key=\"glossseealso\" text=\"veure també\"/>\n<l:gentext key=\"IMPORTANT\" text=\"IMPORTANT\"/>\n<l:gentext key=\"important\" text=\"important\"/>\n<l:gentext key=\"Important\" text=\"Important\"/>\n<l:gentext key=\"Index\" text=\"Índex alfabètic\"/>\n<l:gentext key=\"index\" text=\"índex alfabètic\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Avís legal\"/>\n<l:gentext key=\"legalnotice\" text=\"avís legal\"/>\n<l:gentext key=\"MsgAud\" text=\"Audiència\"/>\n<l:gentext key=\"msgaud\" text=\"audiència\"/>\n<l:gentext key=\"MsgLevel\" text=\"Nivell\"/>\n<l:gentext key=\"msglevel\" text=\"nivell\"/>\n<l:gentext key=\"MsgOrig\" text=\"Origen\"/>\n<l:gentext key=\"msgorig\" text=\"origen\"/>\n<l:gentext key=\"NOTE\" text=\"NOTA\"/>\n<l:gentext key=\"Note\" text=\"Nota\"/>\n<l:gentext key=\"note\" text=\"nota\"/>\n<l:gentext key=\"Part\" text=\"Part\"/>\n<l:gentext key=\"part\" text=\"part\"/>\n<l:gentext key=\"Preface\" text=\"Prefaci\"/>\n<l:gentext key=\"preface\" text=\"prefaci\"/>\n<l:gentext key=\"Procedure\" text=\"Procediment\"/>\n<l:gentext key=\"procedure\" text=\"procediment\"/>\n<l:gentext key=\"ProductionSet\" text=\"Producció\"/>\n<l:gentext key=\"PubDate\" text=\"Data de publicació\"/>\n<l:gentext key=\"pubdate\" text=\"data de publicació\"/>\n<l:gentext key=\"Published\" text=\"Publicat\"/>\n<l:gentext key=\"published\" text=\"publicat\"/>\n<l:gentext key=\"Publisher\" text=\"Editor\"/>\n<l:gentext key=\"Qandadiv\" text=\"Pregunta i Resposta\"/>\n<l:gentext key=\"qandadiv\" text=\"pregunta i resposta\"/>\n<l:gentext key=\"QandASet\" text=\"Preguntes més freqüents\"/>\n<l:gentext key=\"Question\" text=\"Pregunta\"/>\n<l:gentext key=\"question\" text=\"pregunta\"/>\n<l:gentext key=\"RefEntry\" text=\"Pàgina\"/>\n<l:gentext key=\"refentry\" text=\"pàgina\"/>\n<l:gentext key=\"Reference\" text=\"Referència\"/>\n<l:gentext key=\"reference\" text=\"referència\"/>\n<l:gentext key=\"References\" text=\"Referències\"/>\n<l:gentext key=\"RefName\" text=\"Nom\"/>\n<l:gentext key=\"refname\" text=\"nom\"/>\n<l:gentext key=\"RefSection\" text=\"Secció de referència\"/>\n<l:gentext key=\"refsection\" text=\"secció de referència\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Sinopsi\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"sinopsi\"/>\n<l:gentext key=\"RevHistory\" text=\"Historial de revisions\"/>\n<l:gentext key=\"revhistory\" text=\"historial de revisions\"/>\n<l:gentext key=\"revision\" text=\"revisió\"/>\n<l:gentext key=\"Revision\" text=\"Revisió\"/>\n<l:gentext key=\"sect1\" text=\"Secció\"/>\n<l:gentext key=\"sect2\" text=\"Secció\"/>\n<l:gentext key=\"sect3\" text=\"Secció\"/>\n<l:gentext key=\"sect4\" text=\"Secció\"/>\n<l:gentext key=\"sect5\" text=\"Secció\"/>\n<l:gentext key=\"section\" text=\"secció\"/>\n<l:gentext key=\"Section\" text=\"Secció\"/>\n<l:gentext key=\"see\" text=\"veure\"/>\n<l:gentext key=\"See\" text=\"Veure\"/>\n<l:gentext key=\"seealso\" text=\"veure també\"/>\n<l:gentext key=\"Seealso\" text=\"Veure també\"/>\n<l:gentext key=\"SeeAlso\" text=\"Veure També\"/>\n<l:gentext key=\"set\" text=\"conjunt\"/>\n<l:gentext key=\"Set\" text=\"Conjunt\"/>\n<l:gentext key=\"setindex\" text=\"índex del conjunt\"/>\n<l:gentext key=\"SetIndex\" text=\"Índex del conjunt\"/>\n<l:gentext key=\"Sidebar\" text=\"Barra lateral\"/>\n<l:gentext key=\"sidebar\" text=\"barra lateral\"/>\n<l:gentext key=\"step\" text=\"Pas\"/>\n<l:gentext key=\"Step\" text=\"pas\"/>\n<l:gentext key=\"table\" text=\"taula\"/>\n<l:gentext key=\"Table\" text=\"Taula\"/>\n<l:gentext key=\"task\" text=\"tasca\"/>\n<l:gentext key=\"Task\" text=\"Tasca\"/>\n<l:gentext key=\"tip\" text=\"suggeriment\"/>\n<l:gentext key=\"TIP\" text=\"SUGGERIMENT\"/>\n<l:gentext key=\"Tip\" text=\"Suggeriment\"/>\n<l:gentext key=\"Warning\" text=\"Avís\"/>\n<l:gentext key=\"warning\" text=\"avís\"/>\n<l:gentext key=\"WARNING\" text=\"AVÍS\"/>\n<l:gentext key=\"and\" text=\"i\"/>\n<l:gentext key=\"or\" text=\"o\"/>\n<l:gentext key=\"by\" text=\"per\"/>\n<l:gentext key=\"Edited\" text=\"Editat\"/>\n<l:gentext key=\"edited\" text=\"editat\"/>\n<l:gentext key=\"Editedby\" text=\"Editat per\"/>\n<l:gentext key=\"editedby\" text=\"editat per\"/>\n<l:gentext key=\"in\" text=\"a\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"notes\"/>\n<l:gentext key=\"Notes\" text=\"Notes\"/>\n<l:gentext key=\"Pgs\" text=\"Pàgs.\"/>\n<l:gentext key=\"pgs\" text=\"pàgs.\"/>\n<l:gentext key=\"Revisedby\" text=\"Revisat per: \"/>\n<l:gentext key=\"revisedby\" text=\"revisat per: \"/>\n<l:gentext key=\"TableNotes\" text=\"Notes de taula\"/>\n<l:gentext key=\"tablenotes\" text=\"notes de taula\"/>\n<l:gentext key=\"TableofContents\" text=\"Sumari\"/>\n<l:gentext key=\"tableofcontents\" text=\"sumari\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"nom d'element inesperat\"/>\n<l:gentext key=\"unsupported\" text=\"no reconeguda\"/>\n<l:gentext key=\"xrefto\" text=\"xref a\"/>\n<l:gentext key=\"Authors\" text=\"Autors\"/>\n<l:gentext key=\"copyeditor\" text=\"Editor de copiat\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Dissenyador gràfic\"/>\n<l:gentext key=\"productioneditor\" text=\"Editor de producció\"/>\n<l:gentext key=\"technicaleditor\" text=\"Editor tècnic\"/>\n<l:gentext key=\"translator\" text=\"Traductor\"/>\n<l:gentext key=\"listofequations\" text=\"llistat d'equacions\"/>\n<l:gentext key=\"ListofEquations\" text=\"Llistat d'equacions\"/>\n<l:gentext key=\"ListofExamples\" text=\"Llistat d'exemples\"/>\n<l:gentext key=\"listofexamples\" text=\"llistat d'exemples\"/>\n<l:gentext key=\"ListofFigures\" text=\"Llistat de figures\"/>\n<l:gentext key=\"listoffigures\" text=\"llistat de figures\"/>\n<l:gentext key=\"ListofProcedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listofprocedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listoftables\" text=\"llistat de taules\"/>\n<l:gentext key=\"ListofTables\" text=\"Llistat de taules\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Llistat de desconegut\"/>\n<l:gentext key=\"listofunknown\" text=\"llistat de desconegut\"/>\n<l:gentext key=\"nav-home\" text=\"Inici\"/>\n<l:gentext key=\"nav-next\" text=\"Següent\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Avançar\"/>\n<l:gentext key=\"nav-prev\" text=\"Anterior\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Retrocedir\"/>\n<l:gentext key=\"nav-up\" text=\"Pujar\"/>\n<l:gentext key=\"nav-toc\" text=\"Taula de continguts\"/>\n<l:gentext key=\"Draft\" text=\"Esborrany\"/>\n<l:gentext key=\"above\" text=\"dalt\"/>\n<l:gentext key=\"below\" text=\"baix\"/>\n<l:gentext key=\"sectioncalled\" text=\"secció anomenada\"/>\n<l:gentext key=\"index symbols\" text=\"Símbols\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyzàèéíòóúñç\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZÀÈÉÍÒÓÚÑÇ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"«\"/>\n<l:dingbat key=\"endquote\" text=\"»\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"“\"/>\n<l:dingbat key=\"nestedendquote\" text=\"”\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"last-first\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Apèndix %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Capítol %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Equació %n. %t\"/>\n<l:template name=\"example\" text=\"Exemple %n. %t\"/>\n<l:template name=\"figure\" text=\"Figura %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Part %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Procediment %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Producció %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Taula %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Apèndix %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Capítol %n. %t\"/>\n<l:template name=\"part\" text=\"Part %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"Resposta %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Pregunta %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Pregunta %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\" «%t»\"/>\n<l:template name=\"refsection\" text=\"«%t»\"/>\n<l:template name=\"refsect1\" text=\"«%t»\"/>\n<l:template name=\"refsect2\" text=\"«%t»\"/>\n<l:template name=\"refsect3\" text=\"«%t»\"/>\n<l:template name=\"sect1\" text=\"«%t»\"/>\n<l:template name=\"sect2\" text=\"«%t»\"/>\n<l:template name=\"sect3\" text=\"«%t»\"/>\n<l:template name=\"sect4\" text=\"«%t»\"/>\n<l:template name=\"sect5\" text=\"«%t»\"/>\n<l:template name=\"section\" text=\"«%t»\"/>\n<l:template name=\"simplesect\" text=\"«%t»\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Resposta %n\"/>\n<l:template name=\"appendix\" text=\"Apèndix %n\"/>\n<l:template name=\"bridgehead\" text=\"Secció %n\"/>\n<l:template name=\"chapter\" text=\"Capítol %n\"/>\n<l:template name=\"equation\" text=\"Equació %n\"/>\n<l:template name=\"example\" text=\"Exemple %n\"/>\n<l:template name=\"figure\" text=\"Figura %n\"/>\n<l:template name=\"part\" text=\"Part %n\"/>\n<l:template name=\"procedure\" text=\"Procediment %n\"/>\n<l:template name=\"productionset\" text=\"Producció %n\"/>\n<l:template name=\"qandadiv\" text=\"Pregunta i Resposta %n\"/>\n<l:template name=\"qandaentry\" text=\"Pregunta %n\"/>\n<l:template name=\"question\" text=\"Pregunta %n\"/>\n<l:template name=\"sect1\" text=\"Secció %n\"/>\n<l:template name=\"sect2\" text=\"Secció %n\"/>\n<l:template name=\"sect3\" text=\"Secció %n\"/>\n<l:template name=\"sect4\" text=\"Secció %n\"/>\n<l:template name=\"sect5\" text=\"Secció %n\"/>\n<l:template name=\"section\" text=\"Secció %n\"/>\n<l:template name=\"table\" text=\"Taula %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Apèndix %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Secció %n, «%t»\"/>\n<l:template name=\"chapter\" text=\"Capítol %n, %t\"/>\n<l:template name=\"equation\" text=\"Equació %n, «%t»\"/>\n<l:template name=\"example\" text=\"Exemple %n, «%t»\"/>\n<l:template name=\"figure\" text=\"Figura %n, «%t»\"/>\n<l:template name=\"part\" text=\"Part %n, «%t»\"/>\n<l:template name=\"procedure\" text=\"Procediment %n, «%t»\"/>\n<l:template name=\"productionset\" text=\"Producció %n, «%t»\"/>\n<l:template name=\"qandadiv\" text=\"Pregunta i Resposta %n, «%t»\"/>\n<l:template name=\"refsect1\" text=\"secció anomenada «%t»\"/>\n<l:template name=\"refsect2\" text=\"secció anomenada «%t»\"/>\n<l:template name=\"refsect3\" text=\"secció anomenada «%t»\"/>\n<l:template name=\"refsection\" text=\"secció anomenada «%t»\"/>\n<l:template name=\"sect1\" text=\"Secció %n, «%t»\"/>\n<l:template name=\"sect2\" text=\"Secció %n, «%t»\"/>\n<l:template name=\"sect3\" text=\"Secció %n, «%t»\"/>\n<l:template name=\"sect4\" text=\"Secció %n, «%t»\"/>\n<l:template name=\"sect5\" text=\"Secció %n, «%t»\"/>\n<l:template name=\"section\" text=\"Secció %n, «%t»\"/>\n<l:template name=\"simplesect\" text=\"secció anomenada «%t»\"/>\n<l:template name=\"table\" text=\"Taula %n, «%t»\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" i \"/>\n<l:template name=\"seplast\" text=\", i \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Veure %t.\"/>\n<l:template name=\"seealso\" text=\"Veure també %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Audiència: \"/>\n<l:template name=\"MsgLevel\" text=\"Nivell: \"/>\n<l:template name=\"MsgOrig\" text=\"Origen: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Gener\"/>\n<l:template name=\"February\" text=\"Febrer\"/>\n<l:template name=\"March\" text=\"Març\"/>\n<l:template name=\"April\" text=\"Abril\"/>\n<l:template name=\"May\" text=\"Maig\"/>\n<l:template name=\"June\" text=\"Juny\"/>\n<l:template name=\"July\" text=\"Juliol\"/>\n<l:template name=\"August\" text=\"Agost\"/>\n<l:template name=\"September\" text=\"Setembre\"/>\n<l:template name=\"October\" text=\"Octubre\"/>\n<l:template name=\"November\" text=\"Novembre\"/>\n<l:template name=\"December\" text=\"Desembre\"/>\n<l:template name=\"Monday\" text=\"Dilluns\"/>\n<l:template name=\"Tuesday\" text=\"Dimarts\"/>\n<l:template name=\"Wednesday\" text=\"Dimecres\"/>\n<l:template name=\"Thursday\" text=\"Dijous\"/>\n<l:template name=\"Friday\" text=\"Divendres\"/>\n<l:template name=\"Saturday\" text=\"Dissabte\"/>\n<l:template name=\"Sunday\" text=\"Diumenge\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Gen\"/>\n<l:template name=\"Feb\" text=\"Feb\"/>\n<l:template name=\"Mar\" text=\"Mar\"/>\n<l:template name=\"Apr\" text=\"Abr\"/>\n<l:template name=\"May\" text=\"Maig\"/>\n<l:template name=\"Jun\" text=\"Jun\"/>\n<l:template name=\"Jul\" text=\"Jul\"/>\n<l:template name=\"Aug\" text=\"Ago\"/>\n<l:template name=\"Sep\" text=\"Sep\"/>\n<l:template name=\"Oct\" text=\"Oct\"/>\n<l:template name=\"Nov\" text=\"Nov\"/>\n<l:template name=\"Dec\" text=\"Des\"/>\n<l:template name=\"Mon\" text=\"Dl\"/>\n<l:template name=\"Tue\" text=\"Dt\"/>\n<l:template name=\"Wed\" text=\"Dx\"/>\n<l:template name=\"Thu\" text=\"Dj\"/>\n<l:template name=\"Fri\" text=\"Dv\"/>\n<l:template name=\"Sat\" text=\"Ds\"/>\n<l:template name=\"Sun\" text=\"Dg\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0403 Catalan\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Símbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/charmap.xml",
    "content": "<?xml version=\"1.0\"?>\n\n<reference xml:id=\"charmap\">\n  <info>\n    <title>Common » Character-Map Template Reference</title>\n    <releaseinfo role=\"meta\">\n      $Id: charmap.xsl 7266 2007-08-22 11:58:42Z xmldoc $\n    </releaseinfo>\n  </info>\n  \n  <partintro xml:id=\"partintro\">\n    <title>Introduction</title>\n    \n<para>This is technical reference documentation for the\n      character-map templates in the DocBook XSL Stylesheets.</para>\n\n    <note>\n      \n<para>These templates are defined in a separate file from the set\n        of “common” templates because some of the common templates\n        reference DocBook XSL stylesheet parameters, requiring the\n        entire set of parameters to be imported/included in any\n        stylesheet that imports/includes the common templates.</para>\n\n      \n<para>The character-map templates don’t import or include\n        any DocBook XSL stylesheet parameters, so the\n        character-map templates can be used without importing the\n        whole set of parameters.</para>\n\n    </note>\n    \n<para>This is not intended to be user documentation. It is\n      provided for developers writing customization layers for the\n      stylesheets.</para>\n\n  </partintro>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.apply-character-map\">\n<refnamediv>\n<refname>apply-character-map</refname>\n<refpurpose>Applies an XSLT character map</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"apply-character-map\"&gt;\n&lt;xsl:param name=\"content\"/&gt;\n&lt;xsl:param name=\"map.contents\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>This template applies an <link xlink:href=\"http://www.w3.org/TR/xslt20/#character-maps\">XSLT character map</link>; that is, it causes certain\n      individual characters to be substituted with strings of one\n      or more characters. It is useful mainly for replacing\n      multiple “special” characters or symbols in the same target\n      content. It uses the value of\n      <parameter>map.contents</parameter> to do substitution on\n      <parameter>content</parameter>, and then returns the\n      modified contents.</para>\n\n    <note>\n      \n<para>This template is a very slightly modified version of\n        Jeni Tennison’s <function>replace_strings</function>\n        template in the <link xlink:href=\"http://www.dpawson.co.uk/xsl/sect2/StringReplace.html#d9351e13\">multiple string replacements</link> section of Dave Pawson’s\n        <link xlink:href=\"http://www.dpawson.co.uk/xsl/index.html\">XSLT FAQ</link>.</para>\n\n      \n<para>The <function>apply-string-subst-map</function>\n        template is essentially the same template as the\n        <function>apply-character-map</function> template; the\n        only difference is that in the map that\n        <function>apply-string-subst-map</function> expects, <tag class=\"attribute\">oldstring</tag> and <tag class=\"attribute\">newstring</tag> attributes are used\n        instead of <tag class=\"attribute\">character</tag> and <tag class=\"attribute\">string</tag> attributes.</para>\n\n    </note>\n  </refsect1><refsect1><title>Parameters</title>\n    \n<variablelist>\n      <varlistentry><term>content</term>\n        <listitem>\n          \n<para>The content on which to perform the character-map\n            substitution.</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>map.contents</term>\n        <listitem>\n          \n<para>A node set of elements, with each element having\n            the following attributes:\n            \n<itemizedlist>\n              <listitem>\n                <simpara><tag class=\"attribute\">character</tag>, a\n                  character to be replaced</simpara>\n              </listitem>\n              <listitem>\n                <simpara><tag class=\"attribute\">string</tag>, a\n                  string with which to replace <tag class=\"attribute\">character</tag></simpara>\n              </listitem>\n            </itemizedlist>\n\n          </para>\n\n        </listitem>\n      </varlistentry>\n    </variablelist>\n\n  </refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.read-character-map\">\n<refnamediv>\n<refname>read-character-map</refname>\n<refpurpose>Reads in all or part of an XSLT character map</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"read-character-map\"&gt;\n&lt;xsl:param name=\"use.subset\"/&gt;\n&lt;xsl:param name=\"subset.profile\"/&gt;\n&lt;xsl:param name=\"uri\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>The XSLT 2.0 specification describes <link xlink:href=\"http://www.w3.org/TR/xslt20/#character-maps\">character maps</link> and explains how they may be used\n      to allow a specific character appearing in a text or\n      attribute node in a final result tree to be substituted by\n      a specified string of characters during serialization. The\n      <function>read-character-map</function> template provides a\n      means for reading and using character maps with XSLT\n      1.0-based tools.</para>\n\n    \n<para>This template reads the character-map contents from\n      <parameter>uri</parameter> (in full or in part, depending on\n      the value of the <parameter>use.subset</parameter>\n      parameter), then passes those contents to the\n      <function>apply-character-map</function> template, along with\n      <parameter>content</parameter>, the data on which to perform\n      the character substitution.</para>\n\n    \n<para>Using the character map “in part” means that it uses only\n      those <tag>output-character</tag> elements that match the\n      XPath expression given in the value of the\n      <parameter>subset.profile</parameter> parameter. The current\n      implementation of that capability here relies on the\n      <function>evaluate</function> extension XSLT function.</para>\n\n  </refsect1><refsect1><title>Parameters</title>\n    \n<variablelist>\n      <varlistentry><term>use.subset</term>\n        <listitem>\n          \n<para>Specifies whether to use a subset of the character\n            map instead of the whole map; boolean\n            <literal>0</literal> or <literal>1</literal></para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>subset.profile</term>\n        <listitem>\n          \n<para>XPath expression that specifies what subset of the\n            character map to use</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>uri</term>\n        <listitem>\n          \n<para>URI for a character map</para>\n\n        </listitem>\n      </varlistentry>\n    </variablelist>\n\n  </refsect1></refentry>\n</reference>\n\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/charmap.xsl",
    "content": "<?xml version='1.0'?>\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\"\n                xmlns:dyn=\"http://exslt.org/dynamic\"\n                xmlns:saxon=\"http://icl.com/saxon\"\n                xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n                exclude-result-prefixes=\"doc dyn saxon\"\n                version='1.0'>\n\n<!-- ********************************************************************\n     $Id: charmap.xsl 7266 2007-08-22 11:58:42Z xmldoc $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n<doc:reference xmlns=\"\" xml:id=\"charmap\">\n  <info>\n    <title>Common » Character-Map Template Reference</title>\n    <releaseinfo role=\"meta\">\n      $Id: charmap.xsl 7266 2007-08-22 11:58:42Z xmldoc $\n    </releaseinfo>\n  </info>\n  <!-- * yes, partintro is a valid child of a reference... -->\n  <partintro xml:id=\"partintro\">\n    <title>Introduction</title>\n    <para>This is technical reference documentation for the\n      character-map templates in the DocBook XSL Stylesheets.</para>\n    <note>\n      <para>These templates are defined in a separate file from the set\n        of “common” templates because some of the common templates\n        reference DocBook XSL stylesheet parameters, requiring the\n        entire set of parameters to be imported/included in any\n        stylesheet that imports/includes the common templates.</para>\n      <para>The character-map templates don’t import or include\n        any DocBook XSL stylesheet parameters, so the\n        character-map templates can be used without importing the\n        whole set of parameters.</para>\n    </note>\n    <para>This is not intended to be user documentation. It is\n      provided for developers writing customization layers for the\n      stylesheets.</para>\n  </partintro>\n</doc:reference>\n\n<!-- ===================================== -->\n<doc:template name=\"apply-character-map\" xmlns=\"\">\n  <refpurpose>Applies an XSLT character map</refpurpose>\n  <refdescription id=\"apply-character-map-desc\">\n    <para>This template applies an <link\n      xlink:href=\"http://www.w3.org/TR/xslt20/#character-maps\"\n      >XSLT character map</link>; that is, it causes certain\n      individual characters to be substituted with strings of one\n      or more characters. It is useful mainly for replacing\n      multiple “special” characters or symbols in the same target\n      content. It uses the value of\n      <parameter>map.contents</parameter> to do substitution on\n      <parameter>content</parameter>, and then returns the\n      modified contents.</para>\n    <note>\n      <para>This template is a very slightly modified version of\n        Jeni Tennison’s <function>replace_strings</function>\n        template in the <link\n          xlink:href=\"http://www.dpawson.co.uk/xsl/sect2/StringReplace.html#d9351e13\"\n          >multiple string replacements</link> section of Dave Pawson’s\n        <link xlink:href=\"http://www.dpawson.co.uk/xsl/index.html\"\n          >XSLT FAQ</link>.</para>\n      <para>The <function>apply-string-subst-map</function>\n        template is essentially the same template as the\n        <function>apply-character-map</function> template; the\n        only difference is that in the map that\n        <function>apply-string-subst-map</function> expects, <tag\n          class=\"attribute\">oldstring</tag> and <tag\n          class=\"attribute\">newstring</tag> attributes are used\n        instead of <tag class=\"attribute\">character</tag> and <tag\n          class=\"attribute\">string</tag> attributes.</para>\n    </note>\n  </refdescription>\n  <refparameter id=\"apply-character-map-params\">\n    <variablelist>\n      <varlistentry><term>content</term>\n        <listitem>\n          <para>The content on which to perform the character-map\n            substitution.</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>map.contents</term>\n        <listitem>\n          <para>A node set of elements, with each element having\n            the following attributes:\n            <itemizedlist>\n              <listitem>\n                <simpara><tag class=\"attribute\">character</tag>, a\n                  character to be replaced</simpara>\n              </listitem>\n              <listitem>\n                <simpara><tag class=\"attribute\">string</tag>, a\n                  string with which to replace <tag\n                    class=\"attribute\">character</tag></simpara>\n              </listitem>\n            </itemizedlist>\n          </para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n</doc:template>\n<xsl:template name=\"apply-character-map\">\n  <xsl:param name=\"content\"/>\n  <xsl:param name=\"map.contents\"/>\n  <xsl:variable name=\"replaced_text\">\n    <xsl:call-template name=\"string.subst\">\n      <xsl:with-param name=\"string\" select=\"$content\" />\n      <xsl:with-param name=\"target\" \n        select=\"$map.contents[1]/@character\" />\n      <xsl:with-param name=\"replacement\" \n        select=\"$map.contents[1]/@string\" />\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:choose>\n    <xsl:when test=\"$map.contents[2]\">\n      <xsl:call-template name=\"apply-character-map\">\n        <xsl:with-param name=\"content\" select=\"$replaced_text\" />\n        <xsl:with-param name=\"map.contents\"\n          select=\"$map.contents[position() > 1]\" />\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$replaced_text\" />\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ===================================== -->\n<doc:template name=\"read-character-map\" xmlns=\"\">\n  <refpurpose>Reads in all or part of an XSLT character map</refpurpose>\n  <refdescription id=\"read-character-map-desc\">\n    <para>The XSLT 2.0 specification describes <link\n        xlink:href=\"http://www.w3.org/TR/xslt20/#character-maps\"\n        >character maps</link> and explains how they may be used\n      to allow a specific character appearing in a text or\n      attribute node in a final result tree to be substituted by\n      a specified string of characters during serialization. The\n      <function>read-character-map</function> template provides a\n      means for reading and using character maps with XSLT\n      1.0-based tools.</para>\n    <para>This template reads the character-map contents from\n      <parameter>uri</parameter> (in full or in part, depending on\n      the value of the <parameter>use.subset</parameter>\n      parameter), then passes those contents to the\n      <function>apply-character-map</function> template, along with\n      <parameter>content</parameter>, the data on which to perform\n      the character substitution.</para>\n    <para>Using the character map “in part” means that it uses only\n      those <tag>output-character</tag> elements that match the\n      XPath expression given in the value of the\n      <parameter>subset.profile</parameter> parameter. The current\n      implementation of that capability here relies on the\n      <function>evaluate</function> extension XSLT function.</para>\n  </refdescription>\n  <refparameter id=\"read-character-map-params\">\n    <variablelist>\n      <varlistentry><term>use.subset</term>\n        <listitem>\n          <para>Specifies whether to use a subset of the character\n            map instead of the whole map; boolean\n            <literal>0</literal> or <literal>1</literal></para>\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>subset.profile</term>\n        <listitem>\n          <para>XPath expression that specifies what subset of the\n            character map to use</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>uri</term>\n        <listitem>\n          <para>URI for a character map</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n</doc:template>\n<xsl:template name=\"read-character-map\">\n  <xsl:param name=\"use.subset\"/>\n  <xsl:param name=\"subset.profile\"/>\n  <xsl:param name=\"uri\"/>\n  <xsl:choose>\n    <xsl:when test=\"$use.subset != 0\">\n      <!-- *use a subset of the character map instead of the full map -->\n      <xsl:choose>\n        <!-- * xsltproc and Xalan both support dyn:evaluate() -->\n        <xsl:when test=\"function-available('dyn:evaluate')\">\n          <xsl:copy-of select=\"document($uri)//*[local-name()='output-character']\n            [dyn:evaluate($subset.profile)]\"/>\n        </xsl:when>\n        <!-- * Saxon has its own evaluate() and doesn't support dyn:evaluate() -->\n        <xsl:when test=\"function-available('saxon:evaluate')\">\n          <xsl:copy-of select=\"document($uri)//*[local-name()='output-character']\n            [saxon:evaluate($subset.profile)]\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:message terminate=\"yes\"\n>\nError: To process character-map subsets, you must use an XSLT engine\nthat supports the evaluate() XSLT extension function. Your XSLT engine\ndoes not support it.\n          </xsl:message>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <!-- *value of $use.subset is non-zero, so use the full map -->\n      <xsl:copy-of select=\"document($uri)//*[local-name()='output-character']\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/common.xml",
    "content": "<?xml version=\"1.0\"?>\n\n<reference xml:id=\"base\">\n  <info>\n    <title>Common » Base Template Reference</title>\n    <releaseinfo role=\"meta\">\n      $Id: common.xsl 9347 2012-05-11 03:49:49Z bobstayton $\n    </releaseinfo>\n  </info>\n  \n  <partintro xml:id=\"partintro\">\n    <title>Introduction</title>\n    \n<para>This is technical reference documentation for the “base”\n      set of common templates in the DocBook XSL Stylesheets.</para>\n\n    \n<para>This is not intended to be user documentation. It is\n      provided for developers writing customization layers for the\n      stylesheets.</para>\n\n  </partintro>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.is.component\">\n<refnamediv>\n<refname>is.component</refname>\n<refpurpose>Tests if a given node is a component-level element</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"is.component\"&gt;\n&lt;xsl:param name=\"node\" select=\".\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n\n<para>This template returns '1' if the specified node is a component\n(Chapter, Appendix, etc.), and '0' otherwise.</para>\n\n</refsect1><refsect1><title>Parameters</title>\n\n<variablelist>\n<varlistentry><term>node</term>\n<listitem>\n\n<para>The node which is to be tested.</para>\n\n</listitem>\n</varlistentry>\n</variablelist>\n\n</refsect1><refsect1><title>Returns</title>\n\n<para>This template returns '1' if the specified node is a component\n(Chapter, Appendix, etc.), and '0' otherwise.</para>\n\n</refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.is.section\">\n<refnamediv>\n<refname>is.section</refname>\n<refpurpose>Tests if a given node is a section-level element</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"is.section\"&gt;\n&lt;xsl:param name=\"node\" select=\".\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n\n<para>This template returns '1' if the specified node is a section\n(Section, Sect1, Sect2, etc.), and '0' otherwise.</para>\n\n</refsect1><refsect1><title>Parameters</title>\n\n<variablelist>\n<varlistentry><term>node</term>\n<listitem>\n\n<para>The node which is to be tested.</para>\n\n</listitem>\n</varlistentry>\n</variablelist>\n\n</refsect1><refsect1><title>Returns</title>\n\n<para>This template returns '1' if the specified node is a section\n(Section, Sect1, Sect2, etc.), and '0' otherwise.</para>\n\n</refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.section.level\">\n<refnamediv>\n<refname>section.level</refname>\n<refpurpose>Returns the hierarchical level of a section</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"section.level\"&gt;\n&lt;xsl:param name=\"node\" select=\".\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n\n<para>This template calculates the hierarchical level of a section.\nThe element <tag>sect1</tag> is at level 1, <tag>sect2</tag> is\nat level 2, etc.</para>\n\n\n\n<para>Recursive sections are calculated down to the fifth level.</para>\n\n</refsect1><refsect1><title>Parameters</title>\n\n<variablelist>\n<varlistentry><term>node</term>\n<listitem>\n\n<para>The section node for which the level should be calculated.\nDefaults to the context node.</para>\n\n</listitem>\n</varlistentry>\n</variablelist>\n\n</refsect1><refsect1><title>Returns</title>\n\n<para>The section level, <quote>1</quote>, <quote>2</quote>, etc.\n</para>\n\n</refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.qanda.section.level\">\n<refnamediv>\n<refname>qanda.section.level</refname>\n<refpurpose>Returns the hierarchical level of a QandASet</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"qanda.section.level\"/&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n\n<para>This template calculates the hierarchical level of a QandASet.\n</para>\n\n</refsect1><refsect1><title>Returns</title>\n\n<para>The level, <quote>1</quote>, <quote>2</quote>, etc.\n</para>\n\n</refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.select.mediaobject\">\n<refnamediv>\n<refname>select.mediaobject</refname>\n<refpurpose>Selects and processes an appropriate media object from a list</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"select.mediaobject\"&gt;\n&lt;xsl:param name=\"olist\" select=\"imageobject|imageobjectco                      |videoobject|audioobject|textobject\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n\n<para>This template takes a list of media objects (usually the\nchildren of a mediaobject or inlinemediaobject) and processes\nthe \"right\" object.</para>\n\n\n\n<para>This template relies on a template named \n\"select.mediaobject.index\" to determine which object\nin the list is appropriate.</para>\n\n\n\n<para>If no acceptable object is located, nothing happens.</para>\n\n</refsect1><refsect1><title>Parameters</title>\n\n<variablelist>\n<varlistentry><term>olist</term>\n<listitem>\n\n<para>The node list of potential objects to examine.</para>\n\n</listitem>\n</varlistentry>\n</variablelist>\n\n</refsect1><refsect1><title>Returns</title>\n\n<para>Calls &lt;xsl:apply-templates&gt; on the selected object.</para>\n\n</refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.select.mediaobject.index\">\n<refnamediv>\n<refname>select.mediaobject.index</refname>\n<refpurpose>Selects the position of the appropriate media object from a list</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"select.mediaobject.index\"&gt;\n&lt;xsl:param name=\"olist\" select=\"imageobject|imageobjectco                      |videoobject|audioobject|textobject\"/&gt;\n&lt;xsl:param name=\"count\"&gt;1&lt;/xsl:param&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n\n<para>This template takes a list of media objects (usually the\nchildren of a mediaobject or inlinemediaobject) and determines\nthe \"right\" object. It returns the position of that object\nto be used by the calling template.</para>\n\n\n\n<para>If the parameter <parameter>use.role.for.mediaobject</parameter>\nis nonzero, then it first checks for an object with\na role attribute of the appropriate value.  It takes the first\nof those.  Otherwise, it takes the first acceptable object\nthrough a recursive pass through the list.</para>\n\n\n\n<para>This template relies on a template named \"is.acceptable.mediaobject\"\nto determine if a given object is an acceptable graphic. The semantics\nof media objects is that the first acceptable graphic should be used.\n</para>\n\n\n\n<para>If no acceptable object is located, no index is returned.</para>\n\n</refsect1><refsect1><title>Parameters</title>\n\n<variablelist>\n<varlistentry><term>olist</term>\n<listitem>\n\n<para>The node list of potential objects to examine.</para>\n\n</listitem>\n</varlistentry>\n<varlistentry><term>count</term>\n<listitem>\n\n<para>The position in the list currently being considered by the \nrecursive process.</para>\n\n</listitem>\n</varlistentry>\n</variablelist>\n\n</refsect1><refsect1><title>Returns</title>\n\n<para>Returns the position in the original list of the selected object.</para>\n\n</refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.is.acceptable.mediaobject\">\n<refnamediv>\n<refname>is.acceptable.mediaobject</refname>\n<refpurpose>Returns '1' if the specified media object is recognized</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"is.acceptable.mediaobject\"&gt;\n&lt;xsl:param name=\"object\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n\n<para>This template examines a media object and returns '1' if the\nobject is recognized as a graphic.</para>\n\n</refsect1><refsect1><title>Parameters</title>\n\n<variablelist>\n<varlistentry><term>object</term>\n<listitem>\n\n<para>The media object to consider.</para>\n\n</listitem>\n</varlistentry>\n</variablelist>\n\n</refsect1><refsect1><title>Returns</title>\n\n<para>0 or 1</para>\n\n</refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.check.id.unique\">\n<refnamediv>\n<refname>check.id.unique</refname>\n<refpurpose>Warn users about references to non-unique IDs</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"check.id.unique\"&gt;\n&lt;xsl:param name=\"linkend\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n\n<para>If passed an ID in <varname>linkend</varname>,\n<function>check.id.unique</function> prints\na warning message to the user if either the ID does not exist or\nthe ID is not unique.</para>\n\n</refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.check.idref.targets\">\n<refnamediv>\n<refname>check.idref.targets</refname>\n<refpurpose>Warn users about incorrectly typed references</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"check.idref.targets\"&gt;\n&lt;xsl:param name=\"linkend\"/&gt;\n&lt;xsl:param name=\"element-list\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n\n<para>If passed an ID in <varname>linkend</varname>,\n<function>check.idref.targets</function> makes sure that the element\npointed to by the link is one of the elements listed in\n<varname>element-list</varname> and warns the user otherwise.</para>\n\n</refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.copyright.years\">\n<refnamediv>\n<refname>copyright.years</refname>\n<refpurpose>Print a set of years with collapsed ranges</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"copyright.years\"&gt;\n&lt;xsl:param name=\"years\"/&gt;\n&lt;xsl:param name=\"print.ranges\" select=\"1\"/&gt;\n&lt;xsl:param name=\"single.year.ranges\" select=\"0\"/&gt;\n&lt;xsl:param name=\"firstyear\" select=\"0\"/&gt;\n&lt;xsl:param name=\"nextyear\" select=\"0\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n\n<para>This template prints a list of year elements with consecutive\nyears printed as a range. In other words:</para>\n\n\n<screen>&lt;year&gt;1992&lt;/year&gt;\n&lt;year&gt;1993&lt;/year&gt;\n&lt;year&gt;1994&lt;/year&gt;</screen>\n\n\n<para>is printed <quote>1992-1994</quote>, whereas:</para>\n\n\n<screen>&lt;year&gt;1992&lt;/year&gt;\n&lt;year&gt;1994&lt;/year&gt;</screen>\n\n\n<para>is printed <quote>1992, 1994</quote>.</para>\n\n\n\n<para>This template assumes that all the year elements contain only\ndecimal year numbers, that the elements are sorted in increasing\nnumerical order, that there are no duplicates, and that all the years\nare expressed in full <quote>century+year</quote>\n(<quote>1999</quote> not <quote>99</quote>) notation.</para>\n\n</refsect1><refsect1><title>Parameters</title>\n\n<variablelist>\n<varlistentry><term>years</term>\n<listitem>\n\n<para>The initial set of year elements.</para>\n\n</listitem>\n</varlistentry>\n<varlistentry><term>print.ranges</term>\n<listitem>\n\n<para>If non-zero, multi-year ranges are collapsed. If zero, all years\nare printed discretely.</para>\n\n</listitem>\n</varlistentry>\n<varlistentry><term>single.year.ranges</term>\n<listitem>\n\n<para>If non-zero, two consecutive years will be printed as a range,\notherwise, they will be printed discretely. In other words, a single\nyear range is <quote>1991-1992</quote> but discretely it's\n<quote>1991, 1992</quote>.</para>\n\n</listitem>\n</varlistentry>\n</variablelist>\n\n</refsect1><refsect1><title>Returns</title>\n\n<para>This template returns the formatted list of years.</para>\n\n</refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.find.path.params\">\n<refnamediv>\n<refname>find.path.params</refname>\n<refpurpose>Search in a table for the \"best\" match for the node</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"find.path.params\"&gt;\n&lt;xsl:param name=\"node\" select=\".\"/&gt;\n&lt;xsl:param name=\"table\" select=\"''\"/&gt;\n&lt;xsl:param name=\"location\"&gt;\n    &lt;xsl:call-template name=\"xpath.location\"&gt;\n      &lt;xsl:with-param name=\"node\" select=\"$node\"/&gt;\n    &lt;/xsl:call-template&gt;\n  &lt;/xsl:param&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n\n<para>This template searches in a table for the value that most-closely\n(in the typical best-match sense of XSLT) matches the current (element)\nnode location.</para>\n\n</refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.string.upper\">\n<refnamediv>\n<refname>string.upper</refname>\n<refpurpose>Converts a string to all uppercase letters</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"string.upper\"&gt;\n&lt;xsl:param name=\"string\" select=\"''\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n\n<para>Given a string, this template does a language-aware conversion\nof that string to all uppercase letters, based on the values of the\n<literal>lowercase.alpha</literal> and\n<literal>uppercase.alpha</literal> gentext keys for the current\nlocale. It affects only those characters found in the values of\n<literal>lowercase.alpha</literal> and\n<literal>uppercase.alpha</literal>. All other characters are left\nunchanged.</para>\n\n</refsect1><refsect1><title>Parameters</title>\n\n<variablelist>\n<varlistentry><term>string</term>\n<listitem>\n\n<para>The string to convert to uppercase.</para>\n\n</listitem>\n</varlistentry>\n</variablelist>\n\n</refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.string.lower\">\n<refnamediv>\n<refname>string.lower</refname>\n<refpurpose>Converts a string to all lowercase letters</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"string.lower\"&gt;\n&lt;xsl:param name=\"string\" select=\"''\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n\n<para>Given a string, this template does a language-aware conversion\nof that string to all lowercase letters, based on the values of the\n<literal>uppercase.alpha</literal> and\n<literal>lowercase.alpha</literal> gentext keys for the current\nlocale. It affects only those characters found in the values of\n<literal>uppercase.alpha</literal> and\n<literal>lowercase.alpha</literal>. All other characters are left\nunchanged.</para>\n\n</refsect1><refsect1><title>Parameters</title>\n\n<variablelist>\n<varlistentry><term>string</term>\n<listitem>\n\n<para>The string to convert to lowercase.</para>\n\n</listitem>\n</varlistentry>\n</variablelist>\n\n</refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.select.choice.separator\">\n<refnamediv>\n<refname>select.choice.separator</refname>\n<refpurpose>Returns localized choice separator</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"select.choice.separator\"/&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>This template enables auto-generation of an appropriate\n    localized \"choice\" separator (for example, \"and\" or \"or\") before\n    the final item in an inline list (though it could also be useful\n    for generating choice separators for non-inline lists).</para>\n\n    \n<para>It currently works by evaluating a processing instruction\n    (PI) of the form &lt;?dbchoice choice=\"foo\"?&gt; :\n    \n<itemizedlist>\n      <listitem>\n        <simpara>if the value of the <tag>choice</tag>\n        pseudo-attribute is \"and\" or \"or\", returns a localized \"and\"\n        or \"or\"</simpara>\n      </listitem>\n      <listitem>\n        <simpara>otherwise returns the literal value of the\n        <tag>choice</tag> pseudo-attribute</simpara>\n      </listitem>\n    </itemizedlist>\n\n    The latter is provided only as a temporary workaround because the\n    locale files do not currently have translations for the word\n    <wordasword>or</wordasword>. So if you want to generate a a\n    logical \"or\" separator in French (for example), you currently need\n    to do this:\n    <literallayout>&lt;?dbchoice choice=\"ou\"?&gt;</literallayout>\n    </para>\n\n    <warning>\n      \n<para>The <tag>dbchoice</tag> processing instruction is\n      an unfortunate hack; support for it may disappear in the future\n      (particularly if and when a more appropriate means for marking\n      up \"choice\" lists becomes available in DocBook).</para>\n\n    </warning>\n  </refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.evaluate.info.profile\">\n<refnamediv>\n<refname>evaluate.info.profile</refname>\n<refpurpose>Evaluates an info profile</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"evaluate.info.profile\"&gt;\n&lt;xsl:param name=\"profile\"/&gt;\n&lt;xsl:param name=\"info\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>This template evaluates an \"info profile\" matching the XPath\n    expression given by the <parameter>profile</parameter>\n    parameter. It relies on the XSLT <function>evaluate()</function>\n    extension function.</para>\n\n\n    \n<para>The value of the <parameter>profile</parameter> parameter\n    can include the literal string <literal>$info</literal>. If found\n    in the value of the <parameter>profile</parameter> parameter, the\n    literal string <literal>$info</literal> string is replaced with\n    the value of the <parameter>info</parameter> parameter, which\n    should be a set of <replaceable>*info</replaceable> nodes; the\n    expression is then evaluated using the XSLT\n    <function>evaluate()</function> extension function.</para>\n\n  </refsect1><refsect1><title>Parameters</title>\n    \n<variablelist>\n       <varlistentry>\n        <term>profile</term>\n        <listitem>\n          \n<para>A string representing an XPath expression </para>\n\n        </listitem>\n      </varlistentry>\n       <varlistentry>\n        <term>info</term>\n        <listitem>\n          \n<para>A set of *info nodes</para>\n\n        </listitem>\n      </varlistentry>\n    </variablelist>\n\n  </refsect1><refsect1><title>Returns</title>\n    \n<para>Returns a node (the result of evaluating the\n    <parameter>profile</parameter> parameter)</para>\n\n  </refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.graphic.format.content-type\">\n<refnamediv>\n<refname>graphic.format.content-type</refname>\n<refpurpose>Returns mimetype for media format</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"graphic.format.content-type\"&gt;\n&lt;xsl:param name=\"format\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>This takes as input a 'format' param and returns\n    a mimetype string.  It uses an xsl:choose after first\n    converting the input to all uppercase.</para>\n\n  </refsect1></refentry>\n</reference>\n\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/common.xsl",
    "content": "<?xml version='1.0'?>\n<!DOCTYPE xsl:stylesheet [\n<!ENTITY lowercase \"'abcdefghijklmnopqrstuvwxyz'\">\n<!ENTITY uppercase \"'ABCDEFGHIJKLMNOPQRSTUVWXYZ'\">\n ]>\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\"\n                xmlns:dyn=\"http://exslt.org/dynamic\"\n                xmlns:saxon=\"http://icl.com/saxon\"\n                exclude-result-prefixes=\"doc dyn saxon\"\n                version='1.0'>\n\n<!-- ********************************************************************\n     $Id: common.xsl 9347 2012-05-11 03:49:49Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<doc:reference xmlns=\"\" xml:id=\"base\">\n  <info>\n    <title>Common » Base Template Reference</title>\n    <releaseinfo role=\"meta\">\n      $Id: common.xsl 9347 2012-05-11 03:49:49Z bobstayton $\n    </releaseinfo>\n  </info>\n  <!-- * yes, partintro is a valid child of a reference... -->\n  <partintro xml:id=\"partintro\">\n    <title>Introduction</title>\n    <para>This is technical reference documentation for the “base”\n      set of common templates in the DocBook XSL Stylesheets.</para>\n    <para>This is not intended to be user documentation. It is\n      provided for developers writing customization layers for the\n      stylesheets.</para>\n  </partintro>\n</doc:reference>\n\n<!-- ==================================================================== -->\n<!-- Establish strip/preserve whitespace rules -->\n\n<xsl:preserve-space elements=\"*\"/>\n\n<xsl:strip-space elements=\"\nabstract affiliation anchor answer appendix area areaset areaspec\nartheader article audiodata audioobject author authorblurb authorgroup\nbeginpage bibliodiv biblioentry bibliography biblioset blockquote book\nbookinfo callout calloutlist caption caution chapter\nciterefentry cmdsynopsis co collab colophon colspec confgroup\ncopyright dedication docinfo editor entrytbl epigraph equation\nexample figure footnote footnoteref formalpara funcprototype\nfuncsynopsis glossary glossdef glossdiv glossentry glosslist graphicco\ngroup highlights imagedata imageobject imageobjectco important index\nindexdiv indexentry indexterm info informalequation informalexample\ninformalfigure informaltable inlineequation inlinemediaobject\nitemizedlist itermset keycombo keywordset legalnotice listitem lot\nmediaobject mediaobjectco menuchoice msg msgentry msgexplan msginfo\nmsgmain msgrel msgset msgsub msgtext note objectinfo\norderedlist othercredit part partintro preface printhistory procedure\nprogramlistingco publisher qandadiv qandaentry qandaset question\nrefentry reference refmeta refnamediv refsection refsect1 refsect1info refsect2\nrefsect2info refsect3 refsect3info refsynopsisdiv refsynopsisdivinfo\nrevhistory revision row sbr screenco screenshot sect1 sect1info sect2\nsect2info sect3 sect3info sect4 sect4info sect5 sect5info section\nsectioninfo seglistitem segmentedlist seriesinfo set setindex setinfo\nshortcut sidebar simplelist simplesect spanspec step subject\nsubjectset substeps synopfragment table tbody textobject tfoot tgroup\nthead tip toc tocchap toclevel1 toclevel2 toclevel3 toclevel4\ntoclevel5 tocpart topic varargs variablelist varlistentry videodata\nvideoobject void warning subjectset\n\nclasssynopsis\nconstructorsynopsis\ndestructorsynopsis\nfieldsynopsis\nmethodparam\nmethodsynopsis\nooclass\nooexception\noointerface\nsimplemsgentry\nmanvolnum\n\"/>\n<!-- ====================================================================== -->\n\n<doc:template name=\"is.component\" xmlns=\"\">\n<refpurpose>Tests if a given node is a component-level element</refpurpose>\n\n<refdescription id=\"is.component-desc\">\n<para>This template returns '1' if the specified node is a component\n(Chapter, Appendix, etc.), and '0' otherwise.</para>\n</refdescription>\n\n<refparameter id=\"is.component-params\">\n<variablelist>\n<varlistentry><term>node</term>\n<listitem>\n<para>The node which is to be tested.</para>\n</listitem>\n</varlistentry>\n</variablelist>\n</refparameter>\n\n<refreturn id=\"is.component-returns\">\n<para>This template returns '1' if the specified node is a component\n(Chapter, Appendix, etc.), and '0' otherwise.</para>\n</refreturn>\n</doc:template>\n\n<xsl:template name=\"is.component\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:choose>\n    <xsl:when test=\"local-name($node) = 'appendix'\n                    or local-name($node) = 'article'\n                    or local-name($node) = 'chapter'\n                    or local-name($node) = 'preface'\n                    or local-name($node) = 'bibliography'\n                    or local-name($node) = 'glossary'\n                    or local-name($node) = 'index'\">1</xsl:when>\n    <xsl:otherwise>0</xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ====================================================================== -->\n\n<doc:template name=\"is.section\" xmlns=\"\">\n<refpurpose>Tests if a given node is a section-level element</refpurpose>\n\n<refdescription id=\"is.section-desc\">\n<para>This template returns '1' if the specified node is a section\n(Section, Sect1, Sect2, etc.), and '0' otherwise.</para>\n</refdescription>\n\n<refparameter id=\"is.section-params\">\n<variablelist>\n<varlistentry><term>node</term>\n<listitem>\n<para>The node which is to be tested.</para>\n</listitem>\n</varlistentry>\n</variablelist>\n</refparameter>\n\n<refreturn id=\"is.section-returns\">\n<para>This template returns '1' if the specified node is a section\n(Section, Sect1, Sect2, etc.), and '0' otherwise.</para>\n</refreturn>\n</doc:template>\n\n<xsl:template name=\"is.section\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:choose>\n    <xsl:when test=\"local-name($node) = 'section'\n                    or local-name($node) = 'sect1'\n                    or local-name($node) = 'sect2'\n                    or local-name($node) = 'sect3'\n                    or local-name($node) = 'sect4'\n                    or local-name($node) = 'sect5'\n                    or local-name($node) = 'refsect1'\n                    or local-name($node) = 'refsect2'\n                    or local-name($node) = 'refsect3'\n                    or local-name($node) = 'simplesect'\">1</xsl:when>\n    <xsl:otherwise>0</xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ====================================================================== -->\n\n<doc:template name=\"section.level\" xmlns=\"\">\n<refpurpose>Returns the hierarchical level of a section</refpurpose>\n\n<refdescription id=\"section.level-desc\">\n<para>This template calculates the hierarchical level of a section.\nThe element <tag>sect1</tag> is at level 1, <tag>sect2</tag> is\nat level 2, etc.</para>\n\n<para>Recursive sections are calculated down to the fifth level.</para>\n</refdescription>\n\n<refparameter id=\"section.level-params\">\n<variablelist>\n<varlistentry><term>node</term>\n<listitem>\n<para>The section node for which the level should be calculated.\nDefaults to the context node.</para>\n</listitem>\n</varlistentry>\n</variablelist>\n</refparameter>\n\n<refreturn id=\"section.level-returns\">\n<para>The section level, <quote>1</quote>, <quote>2</quote>, etc.\n</para>\n</refreturn>\n</doc:template>\n\n<xsl:template name=\"section.level\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:choose>\n    <xsl:when test=\"local-name($node)='sect1'\">1</xsl:when>\n    <xsl:when test=\"local-name($node)='sect2'\">2</xsl:when>\n    <xsl:when test=\"local-name($node)='sect3'\">3</xsl:when>\n    <xsl:when test=\"local-name($node)='sect4'\">4</xsl:when>\n    <xsl:when test=\"local-name($node)='sect5'\">5</xsl:when>\n    <xsl:when test=\"local-name($node)='section'\">\n      <xsl:choose>\n        <xsl:when test=\"$node/../../../../../../section\">6</xsl:when>\n        <xsl:when test=\"$node/../../../../../section\">5</xsl:when>\n        <xsl:when test=\"$node/../../../../section\">4</xsl:when>\n        <xsl:when test=\"$node/../../../section\">3</xsl:when>\n        <xsl:when test=\"$node/../../section\">2</xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:when test=\"local-name($node)='refsect1' or\n                    local-name($node)='refsect2' or\n                    local-name($node)='refsect3' or\n                    local-name($node)='refsection' or\n                    local-name($node)='refsynopsisdiv'\">\n      <xsl:call-template name=\"refentry.section.level\">\n        <xsl:with-param name=\"node\" select=\"$node\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"local-name($node)='simplesect'\">\n      <xsl:choose>\n        <xsl:when test=\"$node/../../sect1\">2</xsl:when>\n        <xsl:when test=\"$node/../../sect2\">3</xsl:when>\n        <xsl:when test=\"$node/../../sect3\">4</xsl:when>\n        <xsl:when test=\"$node/../../sect4\">5</xsl:when>\n        <xsl:when test=\"$node/../../sect5\">5</xsl:when>\n        <xsl:when test=\"$node/../../section\">\n          <xsl:choose>\n            <xsl:when test=\"$node/../../../../../section\">5</xsl:when>\n            <xsl:when test=\"$node/../../../../section\">4</xsl:when>\n            <xsl:when test=\"$node/../../../section\">3</xsl:when>\n            <xsl:otherwise>2</xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>1</xsl:otherwise>\n  </xsl:choose>\n</xsl:template><!-- section.level -->\n\n<doc:template name=\"qanda.section.level\" xmlns=\"\">\n<refpurpose>Returns the hierarchical level of a QandASet</refpurpose>\n\n<refdescription id=\"qanda.section.level-desc\">\n<para>This template calculates the hierarchical level of a QandASet.\n</para>\n</refdescription>\n\n<refreturn id=\"qanda.section.level-returns\">\n<para>The level, <quote>1</quote>, <quote>2</quote>, etc.\n</para>\n</refreturn>\n</doc:template>\n\n<xsl:template name=\"qanda.section.level\">\n  <xsl:variable name=\"section\"\n                select=\"(ancestor::section\n                         |ancestor::simplesect\n                         |ancestor::sect5\n                         |ancestor::sect4\n                         |ancestor::sect3\n                         |ancestor::sect2\n                         |ancestor::sect1\n                         |ancestor::refsect3\n                         |ancestor::refsect2\n                         |ancestor::refsect1)[last()]\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"count($section) = '0'\">1</xsl:when>\n    <xsl:otherwise>\n      <xsl:variable name=\"slevel\">\n        <xsl:call-template name=\"section.level\">\n          <xsl:with-param name=\"node\" select=\"$section\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:value-of select=\"$slevel + 1\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- Finds the total section depth of a section in a refentry -->\n<xsl:template name=\"refentry.section.level\">\n  <xsl:param name=\"node\" select=\".\"/>\n\n  <xsl:variable name=\"RElevel\">\n    <xsl:call-template name=\"refentry.level\">\n      <xsl:with-param name=\"node\" select=\"$node/ancestor::refentry[1]\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"levelinRE\">\n    <xsl:choose>\n      <xsl:when test=\"local-name($node)='refsynopsisdiv'\">1</xsl:when>\n      <xsl:when test=\"local-name($node)='refsect1'\">1</xsl:when>\n      <xsl:when test=\"local-name($node)='refsect2'\">2</xsl:when>\n      <xsl:when test=\"local-name($node)='refsect3'\">3</xsl:when>\n      <xsl:when test=\"local-name($node)='refsection'\">\n        <xsl:choose>\n          <xsl:when test=\"$node/../../../../../refsection\">5</xsl:when>\n          <xsl:when test=\"$node/../../../../refsection\">4</xsl:when>\n          <xsl:when test=\"$node/../../../refsection\">3</xsl:when>\n          <xsl:when test=\"$node/../../refsection\">2</xsl:when>\n          <xsl:otherwise>1</xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:value-of select=\"$levelinRE + $RElevel\"/>\n</xsl:template>\n\n<!-- Finds the section depth of a refentry -->\n<xsl:template name=\"refentry.level\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:variable name=\"container\"\n                select=\"($node/ancestor::section |\n                        $node/ancestor::sect1 |\n                        $node/ancestor::sect2 |\n                        $node/ancestor::sect3 |\n                        $node/ancestor::sect4 |\n                        $node/ancestor::sect5)[last()]\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$container\">\n      <xsl:variable name=\"slevel\">\n        <xsl:call-template name=\"section.level\">\n          <xsl:with-param name=\"node\" select=\"$container\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:value-of select=\"$slevel + 1\"/>\n    </xsl:when>\n    <xsl:otherwise>1</xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"qandadiv.section.level\">\n  <xsl:variable name=\"section.level\">\n    <xsl:call-template name=\"qanda.section.level\"/>\n  </xsl:variable>\n  <xsl:variable name=\"anc.divs\" select=\"ancestor::qandadiv\"/>\n\n  <xsl:value-of select=\"count($anc.divs) + number($section.level)\"/>\n</xsl:template>\n\n<xsl:template name=\"question.answer.label\">\n  <xsl:variable name=\"deflabel\">\n    <xsl:choose>\n      <xsl:when test=\"ancestor-or-self::*[@defaultlabel]\">\n        <xsl:value-of select=\"(ancestor-or-self::*[@defaultlabel])[last()]\n                              /@defaultlabel\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$qanda.defaultlabel\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"label\" select=\"@label\"/>\n\n<!--\n (hnr      (hierarchical-number-recursive (normalize \"qandadiv\") node))\n\n         (parsect  (ancestor-member node (section-element-list)))\n\n         (defnum   (if (and %qanda-inherit-numeration% \n                            %section-autolabel%)\n                       (if (node-list-empty? parsect)\n                           (section-autolabel-prefix node)\n                           (section-autolabel parsect))\n                       \"\"))\n\n         (hnumber  (let loop ((numlist hnr) (number defnum) \n                              (sep (if (equal? defnum \"\") \"\" \".\")))\n                     (if (null? numlist)\n                         number\n                         (loop (cdr numlist) \n                               (string-append number\n                                              sep\n                                              (number->string (car numlist)))\n                               \".\"))))\n         (cnumber  (child-number (parent node)))\n         (number   (string-append hnumber \n                                  (if (equal? hnumber \"\")\n                                      \"\"\n                                      \".\")\n                                  (number->string cnumber))))\n-->\n\n  <xsl:choose>\n    <xsl:when test=\"$deflabel = 'qanda'\">\n      <xsl:call-template name=\"gentext\">\n        <xsl:with-param name=\"key\">\n          <xsl:choose>\n            <xsl:when test=\"local-name(.) = 'question'\">question</xsl:when>\n            <xsl:when test=\"local-name(.) = 'answer'\">answer</xsl:when>\n            <xsl:when test=\"local-name(.) = 'qandadiv'\">qandadiv</xsl:when>\n            <xsl:otherwise>qandaset</xsl:otherwise>\n          </xsl:choose>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"$deflabel = 'label'\">\n      <xsl:value-of select=\"$label\"/>\n    </xsl:when>\n    <xsl:when test=\"$deflabel = 'number'\n                    and local-name(.) = 'question'\">\n      <xsl:apply-templates select=\"ancestor::qandaset[1]\"\n                           mode=\"number\"/>\n      <xsl:choose>\n        <xsl:when test=\"ancestor::qandadiv\">\n          <xsl:apply-templates select=\"ancestor::qandadiv[1]\"\n                               mode=\"number\"/>\n          <xsl:apply-templates select=\"ancestor::qandaentry\"\n                               mode=\"number\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates select=\"ancestor::qandaentry\"\n                               mode=\"number\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <!-- nothing -->\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"qandaset\" mode=\"number\">\n  <!-- FIXME: -->\n</xsl:template>\n\n<xsl:template match=\"qandadiv\" mode=\"number\">\n  <xsl:number level=\"multiple\" from=\"qandaset\" format=\"1.\"/>\n</xsl:template>\n\n<xsl:template match=\"qandaentry\" mode=\"number\">\n  <xsl:choose>\n    <xsl:when test=\"ancestor::qandadiv\">\n      <xsl:number level=\"single\" from=\"qandadiv\" format=\"1.\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:number level=\"single\" from=\"qandaset\" format=\"1.\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ====================================================================== -->\n\n<xsl:template name=\"object.id\">\n  <xsl:param name=\"object\" select=\".\"/>\n  <xsl:choose>\n    <xsl:when test=\"$object/@id\">\n      <xsl:value-of select=\"$object/@id\"/>\n    </xsl:when>\n    <xsl:when test=\"$object/@xml:id\">\n      <xsl:value-of select=\"$object/@xml:id\"/>\n    </xsl:when>\n    <xsl:when test=\"$generate.consistent.ids != 0\">\n      <!-- Make $object the current node -->\n      <xsl:for-each select=\"$object\">\n        <xsl:text>id-</xsl:text>\n        <xsl:number level=\"multiple\" count=\"*\"/>\n      </xsl:for-each>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"generate-id($object)\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"person.name\">\n  <!-- Formats a personal name. Handles corpauthor as a special case. -->\n  <xsl:param name=\"node\" select=\".\"/>\n\n  <xsl:variable name=\"style\">\n    <xsl:choose>\n      <xsl:when test=\"$node/@role\">\n        <xsl:value-of select=\"$node/@role\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"gentext.template\">\n          <xsl:with-param name=\"context\" select=\"'styles'\"/>\n          <xsl:with-param name=\"name\" select=\"'person-name'\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:choose>\n    <!-- the personname element is a specialcase -->\n    <xsl:when test=\"$node/personname\">\n      <xsl:call-template name=\"person.name\">\n        <xsl:with-param name=\"node\" select=\"$node/personname\"/>\n      </xsl:call-template>\n    </xsl:when>\n\n    <!-- handle corpauthor as a special case...-->\n    <!-- * MikeSmith 2007-06: I'm wondering if the person.name template -->\n    <!-- * actually ever gets called to handle corpauthor.. maybe -->\n    <!-- * we don't actually need to check for corpauthor here. -->\n    <xsl:when test=\"local-name($node)='corpauthor'\">\n      <xsl:apply-templates select=\"$node\"/>\n    </xsl:when>\n\n    <xsl:otherwise>\n      <xsl:choose>\n        <!-- Handle case when personname contains only general markup (DocBook 5.0) -->\n        <xsl:when test=\"$node/self::personname and not($node/firstname or $node/honorific or $node/lineage or $node/othername or $node/surname)\">\n          <xsl:apply-templates select=\"$node/node()\"/>\n        </xsl:when>\n        <xsl:when test=\"$style = 'family-given'\">\n          <xsl:call-template name=\"person.name.family-given\">\n            <xsl:with-param name=\"node\" select=\"$node\"/>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:when test=\"$style = 'last-first'\">\n          <xsl:call-template name=\"person.name.last-first\">\n            <xsl:with-param name=\"node\" select=\"$node\"/>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"person.name.first-last\">\n            <xsl:with-param name=\"node\" select=\"$node\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"person.name.family-given\">\n  <xsl:param name=\"node\" select=\".\"/>\n\n  <!-- The family-given style applies a convention for identifying given -->\n  <!-- and family names in locales where it may be ambiguous -->\n  <xsl:apply-templates select=\"$node//surname[1]\"/>\n\n  <xsl:if test=\"$node//surname and $node//firstname\">\n    <xsl:text> </xsl:text>\n  </xsl:if>\n\n  <xsl:apply-templates select=\"$node//firstname[1]\"/>\n\n  <xsl:text> [FAMILY Given]</xsl:text>\n</xsl:template>\n\n<xsl:template name=\"person.name.last-first\">\n  <xsl:param name=\"node\" select=\".\"/>\n\n  <xsl:apply-templates select=\"$node//surname[1]\"/>\n\n  <xsl:if test=\"$node//surname and $node//firstname\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n\n  <xsl:apply-templates select=\"$node//firstname[1]\"/>\n</xsl:template>\n\n<xsl:template name=\"person.name.first-last\">\n  <xsl:param name=\"node\" select=\".\"/>\n\n  <xsl:if test=\"$node//honorific\">\n    <xsl:apply-templates select=\"$node//honorific[1]\"/>\n    <xsl:value-of select=\"$punct.honorific\"/>\n  </xsl:if>\n\n  <xsl:if test=\"$node//firstname\">\n    <xsl:if test=\"$node//honorific\">\n      <xsl:text> </xsl:text>\n    </xsl:if>\n    <xsl:apply-templates select=\"$node//firstname[1]\"/>\n  </xsl:if>\n\n  <xsl:if test=\"$node//othername and $author.othername.in.middle != 0\">\n    <xsl:if test=\"$node//honorific or $node//firstname\">\n      <xsl:text> </xsl:text>\n    </xsl:if>\n    <xsl:apply-templates select=\"$node//othername[1]\"/>\n  </xsl:if>\n\n  <xsl:if test=\"$node//surname\">\n    <xsl:if test=\"$node//honorific or $node//firstname\n                  or ($node//othername and $author.othername.in.middle != 0)\">\n      <xsl:text> </xsl:text>\n    </xsl:if>\n    <xsl:apply-templates select=\"$node//surname[1]\"/>\n  </xsl:if>\n\n  <xsl:if test=\"$node//lineage\">\n    <xsl:text>, </xsl:text>\n    <xsl:apply-templates select=\"$node//lineage[1]\"/>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"person.name.list\">\n  <!-- Return a formatted string representation of the contents of\n       the current element. The current element must contain one or\n       more AUTHORs, CORPAUTHORs, OTHERCREDITs, and/or EDITORs.\n\n       John Doe\n     or\n       John Doe and Jane Doe\n     or\n       John Doe, Jane Doe, and A. Nonymous\n  -->\n  <xsl:param name=\"person.list\"\n             select=\"author|corpauthor|othercredit|editor\"/>\n  <xsl:param name=\"person.count\" select=\"count($person.list)\"/>\n  <xsl:param name=\"count\" select=\"1\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$count &gt; $person.count\"></xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"person.name\">\n        <xsl:with-param name=\"node\" select=\"$person.list[position()=$count]\"/>\n      </xsl:call-template>\n\n      <xsl:choose>\n        <xsl:when test=\"$person.count = 2 and $count = 1\">\n          <xsl:call-template name=\"gentext.template\">\n            <xsl:with-param name=\"context\" select=\"'authorgroup'\"/>\n            <xsl:with-param name=\"name\" select=\"'sep2'\"/>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:when test=\"$person.count &gt; 2 and $count+1 = $person.count\">\n          <xsl:call-template name=\"gentext.template\">\n            <xsl:with-param name=\"context\" select=\"'authorgroup'\"/>\n            <xsl:with-param name=\"name\" select=\"'seplast'\"/>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:when test=\"$count &lt; $person.count\">\n          <xsl:call-template name=\"gentext.template\">\n            <xsl:with-param name=\"context\" select=\"'authorgroup'\"/>\n            <xsl:with-param name=\"name\" select=\"'sep'\"/>\n          </xsl:call-template>\n        </xsl:when>\n      </xsl:choose>\n\n      <xsl:call-template name=\"person.name.list\">\n        <xsl:with-param name=\"person.list\" select=\"$person.list\"/>\n        <xsl:with-param name=\"person.count\" select=\"$person.count\"/>\n        <xsl:with-param name=\"count\" select=\"$count+1\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template><!-- person.name.list -->\n\n<!-- === synopsis ======================================================= -->\n<!-- The following definitions match those given in the reference\n     documentation for DocBook V3.0\n-->\n\n<xsl:param name=\"arg.choice.opt.open.str\">[</xsl:param>\n<xsl:param name=\"arg.choice.opt.close.str\">]</xsl:param>\n<xsl:param name=\"arg.choice.req.open.str\">{</xsl:param>\n<xsl:param name=\"arg.choice.req.close.str\">}</xsl:param>\n<xsl:param name=\"arg.choice.plain.open.str\"><xsl:text> </xsl:text></xsl:param>\n<xsl:param name=\"arg.choice.plain.close.str\"><xsl:text> </xsl:text></xsl:param>\n<xsl:param name=\"arg.choice.def.open.str\">[</xsl:param>\n<xsl:param name=\"arg.choice.def.close.str\">]</xsl:param>\n<xsl:param name=\"arg.rep.repeat.str\">...</xsl:param>\n<xsl:param name=\"arg.rep.norepeat.str\"></xsl:param>\n<xsl:param name=\"arg.rep.def.str\"></xsl:param>\n<xsl:param name=\"arg.or.sep\"> | </xsl:param>\n<xsl:param name=\"cmdsynopsis.hanging.indent\">4pi</xsl:param>\n\n<!-- ====================================================================== -->\n\n<!--\n<xsl:template name=\"xref.g.subst\">\n  <xsl:param name=\"string\"></xsl:param>\n  <xsl:param name=\"target\" select=\".\"/>\n  <xsl:variable name=\"subst\">%g</xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"contains($string, $subst)\">\n      <xsl:value-of select=\"substring-before($string, $subst)\"/>\n      <xsl:call-template name=\"gentext.element.name\">\n        <xsl:with-param name=\"element.name\" select=\"local-name($target)\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"xref.g.subst\">\n        <xsl:with-param name=\"string\"\n                        select=\"substring-after($string, $subst)\"/>\n        <xsl:with-param name=\"target\" select=\"$target\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$string\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"xref.t.subst\">\n  <xsl:param name=\"string\"></xsl:param>\n  <xsl:param name=\"target\" select=\".\"/>\n  <xsl:variable name=\"subst\">%t</xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"contains($string, $subst)\">\n      <xsl:call-template name=\"xref.g.subst\">\n        <xsl:with-param name=\"string\"\n                        select=\"substring-before($string, $subst)\"/>\n        <xsl:with-param name=\"target\" select=\"$target\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"title.xref\">\n        <xsl:with-param name=\"target\" select=\"$target\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"xref.t.subst\">\n        <xsl:with-param name=\"string\"\n                        select=\"substring-after($string, $subst)\"/>\n        <xsl:with-param name=\"target\" select=\"$target\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"xref.g.subst\">\n        <xsl:with-param name=\"string\" select=\"$string\"/>\n        <xsl:with-param name=\"target\" select=\"$target\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"xref.n.subst\">\n  <xsl:param name=\"string\"></xsl:param>\n  <xsl:param name=\"target\" select=\".\"/>\n  <xsl:variable name=\"subst\">%n</xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"contains($string, $subst)\">\n      <xsl:call-template name=\"xref.t.subst\">\n        <xsl:with-param name=\"string\"\n                        select=\"substring-before($string, $subst)\"/>\n        <xsl:with-param name=\"target\" select=\"$target\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"number.xref\">\n        <xsl:with-param name=\"target\" select=\"$target\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"xref.t.subst\">\n        <xsl:with-param name=\"string\"\n                        select=\"substring-after($string, $subst)\"/>\n        <xsl:with-param name=\"target\" select=\"$target\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"xref.t.subst\">\n        <xsl:with-param name=\"string\" select=\"$string\"/>\n        <xsl:with-param name=\"target\" select=\"$target\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"subst.xref.text\">\n  <xsl:param name=\"xref.text\"></xsl:param>\n  <xsl:param name=\"target\" select=\".\"/>\n\n  <xsl:call-template name=\"xref.n.subst\">\n    <xsl:with-param name=\"string\" select=\"$xref.text\"/>\n    <xsl:with-param name=\"target\" select=\"$target\"/>\n  </xsl:call-template>\n</xsl:template>\n-->\n\n<!-- ====================================================================== -->\n\n<xsl:template name=\"filename-basename\">\n  <!-- We assume all filenames are really URIs and use \"/\" -->\n  <xsl:param name=\"filename\"></xsl:param>\n  <xsl:param name=\"recurse\" select=\"false()\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"substring-after($filename, '/') != ''\">\n      <xsl:call-template name=\"filename-basename\">\n        <xsl:with-param name=\"filename\"\n                        select=\"substring-after($filename, '/')\"/>\n        <xsl:with-param name=\"recurse\" select=\"true()\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$filename\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"filename-extension\">\n  <xsl:param name=\"filename\"></xsl:param>\n  <xsl:param name=\"recurse\" select=\"false()\"/>\n\n  <!-- Make sure we only look at the base name... -->\n  <xsl:variable name=\"basefn\">\n    <xsl:choose>\n      <xsl:when test=\"$recurse\">\n        <xsl:value-of select=\"$filename\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"filename-basename\">\n          <xsl:with-param name=\"filename\" select=\"$filename\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"substring-after($basefn, '.') != ''\">\n      <xsl:call-template name=\"filename-extension\">\n        <xsl:with-param name=\"filename\"\n                        select=\"substring-after($basefn, '.')\"/>\n        <xsl:with-param name=\"recurse\" select=\"true()\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"$recurse\">\n      <xsl:value-of select=\"$basefn\"/>\n    </xsl:when>\n    <xsl:otherwise></xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ====================================================================== -->\n\n<doc:template name=\"select.mediaobject\" xmlns=\"\">\n<refpurpose>Selects and processes an appropriate media object from a list</refpurpose>\n\n<refdescription id=\"select.mediaobject-desc\">\n<para>This template takes a list of media objects (usually the\nchildren of a mediaobject or inlinemediaobject) and processes\nthe \"right\" object.</para>\n\n<para>This template relies on a template named \n\"select.mediaobject.index\" to determine which object\nin the list is appropriate.</para>\n\n<para>If no acceptable object is located, nothing happens.</para>\n</refdescription>\n\n<refparameter id=\"select.mediaobject-params\">\n<variablelist>\n<varlistentry><term>olist</term>\n<listitem>\n<para>The node list of potential objects to examine.</para>\n</listitem>\n</varlistentry>\n</variablelist>\n</refparameter>\n\n<refreturn id=\"select.mediaobject-returns\">\n<para>Calls &lt;xsl:apply-templates&gt; on the selected object.</para>\n</refreturn>\n</doc:template>\n\n<xsl:template name=\"select.mediaobject\">\n  <xsl:param name=\"olist\"\n             select=\"imageobject|imageobjectco\n                     |videoobject|audioobject|textobject\"/>\n  \n  <xsl:variable name=\"mediaobject.index\">\n    <xsl:call-template name=\"select.mediaobject.index\">\n      <xsl:with-param name=\"olist\" select=\"$olist\"/>\n      <xsl:with-param name=\"count\" select=\"1\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:if test=\"$mediaobject.index != ''\">\n    <xsl:apply-templates select=\"$olist[position() = $mediaobject.index]\"/>\n  </xsl:if>\n</xsl:template>\n\n<!-- ====================================================================== -->\n\n<doc:template name=\"select.mediaobject.index\" xmlns=\"\">\n<refpurpose>Selects the position of the appropriate media object from a list</refpurpose>\n\n<refdescription id=\"select.mediaobject.index-desc\">\n<para>This template takes a list of media objects (usually the\nchildren of a mediaobject or inlinemediaobject) and determines\nthe \"right\" object. It returns the position of that object\nto be used by the calling template.</para>\n\n<para>If the parameter <parameter>use.role.for.mediaobject</parameter>\nis nonzero, then it first checks for an object with\na role attribute of the appropriate value.  It takes the first\nof those.  Otherwise, it takes the first acceptable object\nthrough a recursive pass through the list.</para>\n\n<para>This template relies on a template named \"is.acceptable.mediaobject\"\nto determine if a given object is an acceptable graphic. The semantics\nof media objects is that the first acceptable graphic should be used.\n</para>\n\n<para>If no acceptable object is located, no index is returned.</para>\n</refdescription>\n\n<refparameter id=\"select.mediaobject.index-params\">\n<variablelist>\n<varlistentry><term>olist</term>\n<listitem>\n<para>The node list of potential objects to examine.</para>\n</listitem>\n</varlistentry>\n<varlistentry><term>count</term>\n<listitem>\n<para>The position in the list currently being considered by the \nrecursive process.</para>\n</listitem>\n</varlistentry>\n</variablelist>\n</refparameter>\n\n<refreturn id=\"select.mediaobject.index-returns\">\n<para>Returns the position in the original list of the selected object.</para>\n</refreturn>\n</doc:template>\n\n<xsl:template name=\"select.mediaobject.index\">\n  <xsl:param name=\"olist\"\n             select=\"imageobject|imageobjectco\n                     |videoobject|audioobject|textobject\"/>\n  <xsl:param name=\"count\">1</xsl:param>\n\n  <xsl:choose>\n    <!-- Test for objects preferred by role -->\n    <xsl:when test=\"$use.role.for.mediaobject != 0 \n               and $preferred.mediaobject.role != ''\n               and $olist[@role = $preferred.mediaobject.role]\"> \n      \n      <!-- Get the first hit's position index -->\n      <xsl:for-each select=\"$olist\">\n        <xsl:if test=\"@role = $preferred.mediaobject.role and\n             not(preceding-sibling::*[@role = $preferred.mediaobject.role])\"> \n          <xsl:value-of select=\"position()\"/> \n        </xsl:if>\n      </xsl:for-each>\n    </xsl:when>\n\n    <xsl:when test=\"$use.role.for.mediaobject != 0 \n               and $olist[@role = $stylesheet.result.type]\">\n      <!-- Get the first hit's position index -->\n      <xsl:for-each select=\"$olist\">\n        <xsl:if test=\"@role = $stylesheet.result.type and \n              not(preceding-sibling::*[@role = $stylesheet.result.type])\"> \n          <xsl:value-of select=\"position()\"/> \n        </xsl:if>\n      </xsl:for-each>\n    </xsl:when>\n    <!-- Accept 'html' for $stylesheet.result.type = 'xhtml' -->\n    <xsl:when test=\"$use.role.for.mediaobject != 0 \n               and $stylesheet.result.type = 'xhtml'\n               and $olist[@role = 'html']\">\n      <!-- Get the first hit's position index -->\n      <xsl:for-each select=\"$olist\">\n        <xsl:if test=\"@role = 'html' and \n              not(preceding-sibling::*[@role = 'html'])\"> \n          <xsl:value-of select=\"position()\"/> \n        </xsl:if>\n      </xsl:for-each>\n    </xsl:when>\n\n    <!-- If no selection by role, and there is only one object, use it -->\n    <xsl:when test=\"count($olist) = 1 and $count = 1\">\n      <xsl:value-of select=\"$count\"/> \n    </xsl:when>\n\n    <xsl:otherwise>\n      <!-- Otherwise select first acceptable object -->\n      <xsl:if test=\"$count &lt;= count($olist)\">\n        <xsl:variable name=\"object\" select=\"$olist[position()=$count]\"/>\n    \n        <xsl:variable name=\"useobject\">\n          <xsl:choose>\n            <!-- select videoobject or audioobject before textobject -->\n            <xsl:when test=\"local-name($object) = 'videoobject'\">\n              <xsl:text>1</xsl:text> \n            </xsl:when>\n            <xsl:when test=\"local-name($object) = 'audioobject'\">\n              <xsl:text>1</xsl:text> \n            </xsl:when>\n            <!-- skip textobject if also video, audio, or image out of order -->\n            <xsl:when test=\"local-name($object) = 'textobject' and\n                            ../imageobject or\n                            ../audioobject or\n                            ../videoobject\">\n              <xsl:text>0</xsl:text> \n            </xsl:when>\n            <!-- The phrase is used only when contains TeX Math and output is FO -->\n            <xsl:when test=\"local-name($object)='textobject' and $object/phrase\n                            and $object/@role='tex' and $stylesheet.result.type = 'fo'\n                            and $tex.math.in.alt != ''\">\n              <xsl:text>1</xsl:text> \n            </xsl:when>\n            <!-- The phrase is never used -->\n            <xsl:when test=\"local-name($object)='textobject' and $object/phrase\">\n              <xsl:text>0</xsl:text>\n            </xsl:when>\n            <xsl:when test=\"local-name($object)='textobject'\n                            and $object/ancestor::equation \">\n            <!-- The first textobject is not a reasonable fallback\n                 for equation image -->\n              <xsl:text>0</xsl:text>\n            </xsl:when>\n            <!-- The first textobject is a reasonable fallback -->\n            <xsl:when test=\"local-name($object)='textobject'\n                            and $object[not(@role) or @role!='tex']\">\n              <xsl:text>1</xsl:text>\n            </xsl:when>\n            <!-- don't use graphic when output is FO, TeX Math is used \n                 and there is math in alt element -->\n            <xsl:when test=\"$object/ancestor::equation and \n                            $object/ancestor::equation/alt[@role='tex']\n                            and $stylesheet.result.type = 'fo'\n                            and $tex.math.in.alt != ''\">\n              <xsl:text>0</xsl:text>\n            </xsl:when>\n            <!-- If there's only one object, use it -->\n            <xsl:when test=\"$count = 1 and count($olist) = 1\">\n               <xsl:text>1</xsl:text>\n            </xsl:when>\n            <!-- Otherwise, see if this one is a useable graphic -->\n            <xsl:otherwise>\n              <xsl:choose>\n                <!-- peek inside imageobjectco to simplify the test -->\n                <xsl:when test=\"local-name($object) = 'imageobjectco'\">\n                  <xsl:call-template name=\"is.acceptable.mediaobject\">\n                    <xsl:with-param name=\"object\" select=\"$object/imageobject\"/>\n                  </xsl:call-template>\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:call-template name=\"is.acceptable.mediaobject\">\n                    <xsl:with-param name=\"object\" select=\"$object\"/>\n                  </xsl:call-template>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:variable>\n    \n        <xsl:choose>\n          <xsl:when test=\"$useobject='1'\">\n            <xsl:value-of select=\"$count\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:call-template name=\"select.mediaobject.index\">\n              <xsl:with-param name=\"olist\" select=\"$olist\"/>\n              <xsl:with-param name=\"count\" select=\"$count + 1\"/>\n            </xsl:call-template>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:if>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<doc:template name=\"is.acceptable.mediaobject\" xmlns=\"\">\n<refpurpose>Returns '1' if the specified media object is recognized</refpurpose>\n\n<refdescription id=\"is.acceptable.mediaobject-desc\">\n<para>This template examines a media object and returns '1' if the\nobject is recognized as a graphic.</para>\n</refdescription>\n\n<refparameter id=\"is.acceptable.mediaobject-params\">\n<variablelist>\n<varlistentry><term>object</term>\n<listitem>\n<para>The media object to consider.</para>\n</listitem>\n</varlistentry>\n</variablelist>\n</refparameter>\n\n<refreturn id=\"is.acceptable.mediaobject-returns\">\n<para>0 or 1</para>\n</refreturn>\n</doc:template>\n\n<xsl:template name=\"is.acceptable.mediaobject\">\n  <xsl:param name=\"object\"></xsl:param>\n\n  <xsl:variable name=\"filename\">\n    <xsl:call-template name=\"mediaobject.filename\">\n      <xsl:with-param name=\"object\" select=\"$object\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"ext\">\n    <xsl:call-template name=\"filename-extension\">\n      <xsl:with-param name=\"filename\" select=\"$filename\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <!-- there will only be one -->\n  <xsl:variable name=\"data\" select=\"$object/videodata\n                                    |$object/imagedata\n                                    |$object/audiodata\"/>\n\n  <xsl:variable name=\"format\" select=\"$data/@format\"/>\n\n  <xsl:variable name=\"graphic.format\">\n    <xsl:if test=\"$format\">\n      <xsl:call-template name=\"is.graphic.format\">\n        <xsl:with-param name=\"format\" select=\"$format\"/>\n      </xsl:call-template>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"graphic.ext\">\n    <xsl:if test=\"$ext\">\n      <xsl:call-template name=\"is.graphic.extension\">\n        <xsl:with-param name=\"ext\" select=\"$ext\"/>\n      </xsl:call-template>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$use.svg = 0 and $format = 'SVG'\">0</xsl:when>\n    <xsl:when xmlns:svg=\"http://www.w3.org/2000/svg\"\n              test=\"$use.svg != 0 and $object/svg:*\">1</xsl:when>\n    <xsl:when test=\"$graphic.format = '1'\">1</xsl:when>\n    <xsl:when test=\"$graphic.ext = '1'\">1</xsl:when>\n    <xsl:otherwise>0</xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"mediaobject.filename\">\n  <xsl:param name=\"object\"></xsl:param>\n\n  <xsl:variable name=\"data\" select=\"$object/videodata\n                                    |$object/imagedata\n                                    |$object/audiodata\n                                    |$object\"/>\n\n  <xsl:variable name=\"filename\">\n    <xsl:choose>\n      <xsl:when test=\"$data[@fileref]\">\n        <xsl:apply-templates select=\"$data/@fileref\"/>\n      </xsl:when>\n      <xsl:when test=\"$data[@entityref]\">\n        <xsl:value-of select=\"unparsed-entity-uri($data/@entityref)\"/>\n      </xsl:when>\n      <xsl:otherwise></xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"real.ext\">\n    <xsl:call-template name=\"filename-extension\">\n      <xsl:with-param name=\"filename\" select=\"$filename\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"ext\">\n    <xsl:choose>\n      <xsl:when test=\"$real.ext != ''\">\n        <xsl:value-of select=\"$real.ext\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$graphic.default.extension\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"graphic.ext\">\n    <xsl:call-template name=\"is.graphic.extension\">\n      <xsl:with-param name=\"ext\" select=\"$ext\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$real.ext = ''\">\n      <xsl:choose>\n        <xsl:when test=\"$ext != ''\">\n          <xsl:value-of select=\"$filename\"/>\n          <xsl:text>.</xsl:text>\n          <xsl:value-of select=\"$ext\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"$filename\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:when test=\"not($graphic.ext)\">\n      <xsl:choose>\n        <xsl:when test=\"$graphic.default.extension != ''\">\n          <xsl:value-of select=\"$filename\"/>\n          <xsl:text>.</xsl:text>\n          <xsl:value-of select=\"$graphic.default.extension\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"$filename\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$filename\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ====================================================================== -->\n\n<doc:template name=\"check.id.unique\" xmlns=\"\">\n<refpurpose>Warn users about references to non-unique IDs</refpurpose>\n<refdescription id=\"check.id.unique-desc\">\n<para>If passed an ID in <varname>linkend</varname>,\n<function>check.id.unique</function> prints\na warning message to the user if either the ID does not exist or\nthe ID is not unique.</para>\n</refdescription>\n</doc:template>\n\n<xsl:template name=\"check.id.unique\">\n  <xsl:param name=\"linkend\"></xsl:param>\n  <xsl:if test=\"$linkend != ''\">\n    <xsl:variable name=\"targets\" select=\"key('id',$linkend)\"/>\n    <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n\n    <xsl:if test=\"count($targets)=0\">\n      <xsl:message>\n        <xsl:text>Error: no ID for constraint linkend: </xsl:text>\n        <xsl:value-of select=\"$linkend\"/>\n        <xsl:text>.</xsl:text>\n      </xsl:message>\n      <!--\n      <xsl:message>\n        <xsl:text>If the ID exists in your document, did your </xsl:text>\n        <xsl:text>XSLT Processor load the DTD?</xsl:text>\n      </xsl:message>\n      -->\n    </xsl:if>\n\n    <xsl:if test=\"count($targets)>1\">\n      <xsl:message>\n        <xsl:text>Warning: multiple \"IDs\" for constraint linkend: </xsl:text>\n        <xsl:value-of select=\"$linkend\"/>\n        <xsl:text>.</xsl:text>\n      </xsl:message>\n    </xsl:if>\n  </xsl:if>\n</xsl:template>\n\n<doc:template name=\"check.idref.targets\" xmlns=\"\">\n<refpurpose>Warn users about incorrectly typed references</refpurpose>\n<refdescription id=\"check.idref.targets-desc\">\n<para>If passed an ID in <varname>linkend</varname>,\n<function>check.idref.targets</function> makes sure that the element\npointed to by the link is one of the elements listed in\n<varname>element-list</varname> and warns the user otherwise.</para>\n</refdescription>\n</doc:template>\n\n<xsl:template name=\"check.idref.targets\">\n  <xsl:param name=\"linkend\"></xsl:param>\n  <xsl:param name=\"element-list\"></xsl:param>\n  <xsl:if test=\"$linkend != ''\">\n    <xsl:variable name=\"targets\" select=\"key('id',$linkend)\"/>\n    <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n\n    <xsl:if test=\"count($target) &gt; 0\">\n      <xsl:if test=\"not(contains(concat(' ', $element-list, ' '), local-name($target)))\">\n        <xsl:message>\n          <xsl:text>Error: linkend (</xsl:text>\n          <xsl:value-of select=\"$linkend\"/>\n          <xsl:text>) points to \"</xsl:text>\n          <xsl:value-of select=\"local-name($target)\"/>\n          <xsl:text>\" not (one of): </xsl:text>\n          <xsl:value-of select=\"$element-list\"/>\n        </xsl:message>\n      </xsl:if>\n    </xsl:if>\n  </xsl:if>\n</xsl:template>\n\n<!-- ====================================================================== -->\n<!-- Procedure Step Numeration -->\n\n<xsl:param name=\"procedure.step.numeration.formats\" select=\"'1aiAI'\"/>\n\n<xsl:template name=\"procedure.step.numeration\">\n  <xsl:param name=\"context\" select=\".\"/>\n  <xsl:variable name=\"format.length\"\n                select=\"string-length($procedure.step.numeration.formats)\"/>\n  <xsl:choose>\n    <xsl:when test=\"local-name($context) = 'substeps'\">\n      <xsl:variable name=\"ssdepth\"\n                    select=\"count($context/ancestor::substeps)\"/>\n      <xsl:variable name=\"sstype\" select=\"($ssdepth mod $format.length)+2\"/>\n      <xsl:choose>\n        <xsl:when test=\"$sstype &gt; $format.length\">\n          <xsl:value-of select=\"substring($procedure.step.numeration.formats,1,1)\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"substring($procedure.step.numeration.formats,$sstype,1)\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:when test=\"local-name($context) = 'step'\">\n      <xsl:variable name=\"sdepth\"\n                    select=\"count($context/ancestor::substeps)\"/>\n      <xsl:variable name=\"stype\" select=\"($sdepth mod $format.length)+1\"/>\n      <xsl:value-of select=\"substring($procedure.step.numeration.formats,$stype,1)\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:message>\n        <xsl:text>Unexpected context in procedure.step.numeration: </xsl:text>\n        <xsl:value-of select=\"local-name($context)\"/>\n      </xsl:message>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"step\" mode=\"number\">\n  <xsl:param name=\"rest\" select=\"''\"/>\n  <xsl:param name=\"recursive\" select=\"1\"/>\n  <xsl:variable name=\"format\">\n    <xsl:call-template name=\"procedure.step.numeration\"/>\n  </xsl:variable>\n  <xsl:variable name=\"num\">\n    <xsl:number count=\"step\" format=\"{$format}\"/>\n  </xsl:variable>\n  <xsl:choose>\n    <xsl:when test=\"$recursive != 0 and ancestor::step\">\n      <xsl:apply-templates select=\"ancestor::step[1]\" mode=\"number\">\n        <xsl:with-param name=\"rest\" select=\"concat('.', $num, $rest)\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"concat($num, $rest)\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ====================================================================== -->\n<!-- OrderedList Numeration -->\n<xsl:template name=\"output-orderedlist-starting-number\">\n  <xsl:param name=\"list\"/>\n  <xsl:param name=\"pi-start\"/>\n  <xsl:choose>\n    <xsl:when test=\"not($list/@continuation = 'continues')\">\n      <xsl:choose>\n        <xsl:when test=\"$list/@startingnumber\">\n          <xsl:value-of select=\"$list/@startingnumber\"/>\n        </xsl:when>\n        <xsl:when test=\"$pi-start != ''\">\n          <xsl:value-of select=\"$pi-start\"/>\n        </xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <!-- match on previous list at same nesting level -->\n      <xsl:variable name=\"prevlist\" \n       select=\"$list/preceding::orderedlist\n                [count($list/ancestor::orderedlist) = count(ancestor::orderedlist)][1]\"/>\n      <xsl:choose>\n        <xsl:when test=\"count($prevlist) = 0\">2</xsl:when>\n        <xsl:otherwise>\n          <xsl:variable name=\"prevlength\" select=\"count($prevlist/listitem)\"/>\n          <xsl:variable name=\"prevstart\">\n            <xsl:call-template name=\"orderedlist-starting-number\">\n              <xsl:with-param name=\"list\" select=\"$prevlist\"/>\n            </xsl:call-template>\n          </xsl:variable>\n          <xsl:value-of select=\"$prevstart + $prevlength\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"orderedlist-item-number\">\n  <!-- context node must be a listitem in an orderedlist -->\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:choose>\n    <xsl:when test=\"$node/@override\">\n      <xsl:value-of select=\"$node/@override\"/>\n    </xsl:when>\n    <xsl:when test=\"$node/preceding-sibling::listitem\">\n      <xsl:variable name=\"pnum\">\n        <xsl:call-template name=\"orderedlist-item-number\">\n          <xsl:with-param name=\"node\" select=\"$node/preceding-sibling::listitem[1]\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:value-of select=\"$pnum + 1\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"orderedlist-starting-number\">\n        <xsl:with-param name=\"list\" select=\"parent::*\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"next.numeration\">\n  <xsl:param name=\"numeration\" select=\"'default'\"/>\n  <xsl:choose>\n    <!-- Change this list if you want to change the order of numerations -->\n    <xsl:when test=\"$numeration = 'arabic'\">loweralpha</xsl:when>\n    <xsl:when test=\"$numeration = 'loweralpha'\">lowerroman</xsl:when>\n    <xsl:when test=\"$numeration = 'lowerroman'\">upperalpha</xsl:when>\n    <xsl:when test=\"$numeration = 'upperalpha'\">upperroman</xsl:when>\n    <xsl:when test=\"$numeration = 'upperroman'\">arabic</xsl:when>\n    <xsl:otherwise>arabic</xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"list.numeration\">\n  <xsl:param name=\"node\" select=\".\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$node/@numeration\">\n      <xsl:value-of select=\"$node/@numeration\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"$node/ancestor::orderedlist\">\n          <xsl:call-template name=\"next.numeration\">\n            <xsl:with-param name=\"numeration\">\n              <xsl:call-template name=\"list.numeration\">\n                <xsl:with-param name=\"node\" select=\"$node/ancestor::orderedlist[1]\"/>\n              </xsl:call-template>\n            </xsl:with-param>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"next.numeration\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"orderedlist/listitem\" mode=\"item-number\">\n  <xsl:variable name=\"numeration\">\n    <xsl:call-template name=\"list.numeration\">\n      <xsl:with-param name=\"node\" select=\"parent::orderedlist\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"type\">\n    <xsl:choose>\n      <xsl:when test=\"$numeration='arabic'\">1.</xsl:when>\n      <xsl:when test=\"$numeration='loweralpha'\">a.</xsl:when>\n      <xsl:when test=\"$numeration='lowerroman'\">i.</xsl:when>\n      <xsl:when test=\"$numeration='upperalpha'\">A.</xsl:when>\n      <xsl:when test=\"$numeration='upperroman'\">I.</xsl:when>\n      <!-- What!? This should never happen -->\n      <xsl:otherwise>\n        <xsl:message>\n          <xsl:text>Unexpected numeration: </xsl:text>\n          <xsl:value-of select=\"$numeration\"/>\n        </xsl:message>\n        <xsl:value-of select=\"1.\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"item-number\">\n    <xsl:call-template name=\"orderedlist-item-number\"/>\n  </xsl:variable>\n\n  <xsl:if test=\"parent::orderedlist/@inheritnum='inherit'\n                and ancestor::listitem[parent::orderedlist]\">\n    <xsl:apply-templates select=\"ancestor::listitem[parent::orderedlist][1]\"\n                         mode=\"item-number\"/>\n  </xsl:if>\n\n  <xsl:number value=\"$item-number\" format=\"{$type}\"/>\n</xsl:template>\n\n<!-- ====================================================================== -->\n<!-- ItemizedList \"Numeration\" -->\n\n<xsl:template name=\"next.itemsymbol\">\n  <xsl:param name=\"itemsymbol\" select=\"'default'\"/>\n  <xsl:choose>\n    <!-- Change this list if you want to change the order of symbols -->\n    <xsl:when test=\"$itemsymbol = 'disc'\">circle</xsl:when>\n    <xsl:when test=\"$itemsymbol = 'circle'\">square</xsl:when>\n    <xsl:otherwise>disc</xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"list.itemsymbol\">\n  <xsl:param name=\"node\" select=\".\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"@override\">\n      <xsl:value-of select=\"@override\"/>\n    </xsl:when>\n    <xsl:when test=\"$node/@mark\">\n      <xsl:value-of select=\"$node/@mark\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"$node/ancestor::itemizedlist\">\n          <xsl:call-template name=\"next.itemsymbol\">\n            <xsl:with-param name=\"itemsymbol\">\n              <xsl:call-template name=\"list.itemsymbol\">\n                <xsl:with-param name=\"node\" select=\"$node/ancestor::itemizedlist[1]\"/>\n              </xsl:call-template>\n            </xsl:with-param>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"next.itemsymbol\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ====================================================================== -->\n\n<doc:template name=\"copyright.years\" xmlns=\"\">\n<refpurpose>Print a set of years with collapsed ranges</refpurpose>\n\n<refdescription id=\"copyright.years-desc\">\n<para>This template prints a list of year elements with consecutive\nyears printed as a range. In other words:</para>\n\n<screen><![CDATA[<year>1992</year>\n<year>1993</year>\n<year>1994</year>]]></screen>\n\n<para>is printed <quote>1992-1994</quote>, whereas:</para>\n\n<screen><![CDATA[<year>1992</year>\n<year>1994</year>]]></screen>\n\n<para>is printed <quote>1992, 1994</quote>.</para>\n\n<para>This template assumes that all the year elements contain only\ndecimal year numbers, that the elements are sorted in increasing\nnumerical order, that there are no duplicates, and that all the years\nare expressed in full <quote>century+year</quote>\n(<quote>1999</quote> not <quote>99</quote>) notation.</para>\n</refdescription>\n\n<refparameter id=\"copyright.years-params\">\n<variablelist>\n<varlistentry><term>years</term>\n<listitem>\n<para>The initial set of year elements.</para>\n</listitem>\n</varlistentry>\n<varlistentry><term>print.ranges</term>\n<listitem>\n<para>If non-zero, multi-year ranges are collapsed. If zero, all years\nare printed discretely.</para>\n</listitem>\n</varlistentry>\n<varlistentry><term>single.year.ranges</term>\n<listitem>\n<para>If non-zero, two consecutive years will be printed as a range,\notherwise, they will be printed discretely. In other words, a single\nyear range is <quote>1991-1992</quote> but discretely it's\n<quote>1991, 1992</quote>.</para>\n</listitem>\n</varlistentry>\n</variablelist>\n</refparameter>\n\n<refreturn id=\"copyright.years-returns\">\n<para>This template returns the formatted list of years.</para>\n</refreturn>\n</doc:template>\n\n<xsl:template name=\"copyright.years\">\n  <xsl:param name=\"years\"/>\n  <xsl:param name=\"print.ranges\" select=\"1\"/>\n  <xsl:param name=\"single.year.ranges\" select=\"0\"/>\n  <xsl:param name=\"firstyear\" select=\"0\"/>\n  <xsl:param name=\"nextyear\" select=\"0\"/>\n\n  <!--\n  <xsl:message terminate=\"no\">\n    <xsl:text>CY: </xsl:text>\n    <xsl:value-of select=\"count($years)\"/>\n    <xsl:text>, </xsl:text>\n    <xsl:value-of select=\"$firstyear\"/>\n    <xsl:text>, </xsl:text>\n    <xsl:value-of select=\"$nextyear\"/>\n    <xsl:text>, </xsl:text>\n    <xsl:value-of select=\"$print.ranges\"/>\n    <xsl:text>, </xsl:text>\n    <xsl:value-of select=\"$single.year.ranges\"/>\n    <xsl:text> (</xsl:text>\n    <xsl:value-of select=\"$years[1]\"/>\n    <xsl:text>)</xsl:text>\n  </xsl:message>\n  -->\n    \n  <xsl:choose>\n    <xsl:when test=\"$print.ranges = 0 and count($years) &gt; 0\">\n      <xsl:choose>\n        <xsl:when test=\"count($years) = 1\">\n          <xsl:apply-templates select=\"$years[1]\" mode=\"titlepage.mode\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates select=\"$years[1]\" mode=\"titlepage.mode\"/>\n          <xsl:text>, </xsl:text>\n          <xsl:call-template name=\"copyright.years\">\n            <xsl:with-param name=\"years\"\n                            select=\"$years[position() &gt; 1]\"/>\n            <xsl:with-param name=\"print.ranges\" select=\"$print.ranges\"/>\n            <xsl:with-param name=\"single.year.ranges\"\n                            select=\"$single.year.ranges\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:when test=\"count($years) = 0\">\n      <xsl:variable name=\"lastyear\" select=\"$nextyear - 1\"/>\n      <xsl:choose>\n        <xsl:when test=\"$firstyear = 0\">\n          <!-- there weren't any years at all -->\n        </xsl:when>\n        <!-- Just output a year with range in its text -->\n        <xsl:when test=\"contains($firstyear, '-') or contains($firstyear, ',')\">\n          <xsl:value-of select=\"$firstyear\"/>\n        </xsl:when>\n        <xsl:when test=\"$firstyear = $lastyear\">\n          <xsl:value-of select=\"$firstyear\"/>\n        </xsl:when>\n        <xsl:when test=\"$single.year.ranges = 0\n                        and $lastyear = $firstyear + 1\">\n          <xsl:value-of select=\"$firstyear\"/>\n          <xsl:text>, </xsl:text>\n          <xsl:value-of select=\"$lastyear\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"$firstyear\"/>\n          <xsl:text>-</xsl:text>\n          <xsl:value-of select=\"$lastyear\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:when test=\"contains($firstyear, '-') or contains($firstyear, ',')\">\n      <!-- Just output a year with range in its text -->\n      <xsl:value-of select=\"$firstyear\"/>\n      <xsl:if test=\"count($years) != 0\">\n        <xsl:text>, </xsl:text>\n      </xsl:if>\n      <xsl:call-template name=\"copyright.years\">\n        <xsl:with-param name=\"years\"\n              select=\"$years[position() &gt; 1]\"/>\n        <xsl:with-param name=\"firstyear\" select=\"$years[1]\"/>\n        <xsl:with-param name=\"nextyear\" select=\"$years[1] + 1\"/>\n        <xsl:with-param name=\"print.ranges\" select=\"$print.ranges\"/>\n        <xsl:with-param name=\"single.year.ranges\"\n                select=\"$single.year.ranges\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"$firstyear = 0\">\n      <xsl:call-template name=\"copyright.years\">\n        <xsl:with-param name=\"years\"\n                        select=\"$years[position() &gt; 1]\"/>\n        <xsl:with-param name=\"firstyear\" select=\"$years[1]\"/>\n        <xsl:with-param name=\"nextyear\" select=\"$years[1] + 1\"/>\n        <xsl:with-param name=\"print.ranges\" select=\"$print.ranges\"/>\n        <xsl:with-param name=\"single.year.ranges\"\n                        select=\"$single.year.ranges\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"$nextyear = $years[1]\">\n      <xsl:call-template name=\"copyright.years\">\n        <xsl:with-param name=\"years\"\n                        select=\"$years[position() &gt; 1]\"/>\n        <xsl:with-param name=\"firstyear\" select=\"$firstyear\"/>\n        <xsl:with-param name=\"nextyear\" select=\"$nextyear + 1\"/>\n        <xsl:with-param name=\"print.ranges\" select=\"$print.ranges\"/>\n        <xsl:with-param name=\"single.year.ranges\"\n                        select=\"$single.year.ranges\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <!-- we have years left, but they aren't in the current range -->\n      <xsl:choose>\n        <xsl:when test=\"$nextyear = $firstyear + 1\">\n          <xsl:value-of select=\"$firstyear\"/>\n          <xsl:text>, </xsl:text>\n        </xsl:when>\n        <xsl:when test=\"$single.year.ranges = 0\n                        and $nextyear = $firstyear + 2\">\n          <xsl:value-of select=\"$firstyear\"/>\n          <xsl:text>, </xsl:text>\n          <xsl:value-of select=\"$nextyear - 1\"/>\n          <xsl:text>, </xsl:text>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"$firstyear\"/>\n          <xsl:text>-</xsl:text>\n          <xsl:value-of select=\"$nextyear - 1\"/>\n          <xsl:text>, </xsl:text>\n        </xsl:otherwise>\n      </xsl:choose>\n      <xsl:call-template name=\"copyright.years\">\n        <xsl:with-param name=\"years\"\n                        select=\"$years[position() &gt; 1]\"/>\n        <xsl:with-param name=\"firstyear\" select=\"$years[1]\"/>\n        <xsl:with-param name=\"nextyear\" select=\"$years[1] + 1\"/>\n        <xsl:with-param name=\"print.ranges\" select=\"$print.ranges\"/>\n        <xsl:with-param name=\"single.year.ranges\"\n                        select=\"$single.year.ranges\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ====================================================================== -->\n\n<doc:template name=\"find.path.params\" xmlns=\"\">\n<refpurpose>Search in a table for the \"best\" match for the node</refpurpose>\n\n<refdescription id=\"find.path.params-desc\">\n<para>This template searches in a table for the value that most-closely\n(in the typical best-match sense of XSLT) matches the current (element)\nnode location.</para>\n</refdescription>\n</doc:template>\n\n<xsl:template name=\"find.path.params\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:param name=\"table\" select=\"''\"/>\n  <xsl:param name=\"location\">\n    <xsl:call-template name=\"xpath.location\">\n      <xsl:with-param name=\"node\" select=\"$node\"/>\n    </xsl:call-template>\n  </xsl:param>\n\n  <xsl:variable name=\"value\">\n    <xsl:call-template name=\"lookup.key\">\n      <xsl:with-param name=\"key\" select=\"$location\"/>\n      <xsl:with-param name=\"table\" select=\"$table\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$value != ''\">\n      <xsl:value-of select=\"$value\"/>\n    </xsl:when>\n    <xsl:when test=\"contains($location, '/')\">\n      <xsl:call-template name=\"find.path.params\">\n        <xsl:with-param name=\"node\" select=\"$node\"/>\n        <xsl:with-param name=\"table\" select=\"$table\"/>\n        <xsl:with-param name=\"location\" select=\"substring-after($location, '/')\"/>\n      </xsl:call-template>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"relative-uri\">\n  <xsl:param name=\"filename\" select=\".\"/>\n  <xsl:param name=\"destdir\" select=\"''\"/>\n  \n  <xsl:variable name=\"srcurl\">\n    <xsl:call-template name=\"strippath\">\n      <xsl:with-param name=\"filename\">\n        <xsl:call-template name=\"xml.base.dirs\">\n          <xsl:with-param name=\"base.elem\" \n                          select=\"$filename/ancestor-or-self::*\n                                   [@xml:base != ''][1]\"/>\n        </xsl:call-template>\n        <xsl:value-of select=\"$filename\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"srcurl.trimmed\">\n    <xsl:call-template name=\"trim.common.uri.paths\">\n      <xsl:with-param name=\"uriA\" select=\"$srcurl\"/>\n      <xsl:with-param name=\"uriB\" select=\"$destdir\"/>\n      <xsl:with-param name=\"return\" select=\"'A'\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"destdir.trimmed\">\n    <xsl:call-template name=\"trim.common.uri.paths\">\n      <xsl:with-param name=\"uriA\" select=\"$srcurl\"/>\n      <xsl:with-param name=\"uriB\" select=\"$destdir\"/>\n      <xsl:with-param name=\"return\" select=\"'B'\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"depth\">\n    <xsl:call-template name=\"count.uri.path.depth\">\n      <xsl:with-param name=\"filename\" select=\"$destdir.trimmed\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:call-template name=\"copy-string\">\n    <xsl:with-param name=\"string\" select=\"'../'\"/>\n    <xsl:with-param name=\"count\" select=\"$depth\"/>\n  </xsl:call-template>\n  <xsl:value-of select=\"$srcurl.trimmed\"/>\n\n</xsl:template>\n\n<!-- ===================================== -->\n\n<xsl:template name=\"xml.base.dirs\">\n  <xsl:param name=\"base.elem\" select=\"NONODE\"/>\n\n  <!-- Recursively resolve xml:base attributes, up to a \n       full path with : in uri -->\n  <xsl:if test=\"$base.elem/ancestor::*[@xml:base != ''] and\n                not(contains($base.elem/@xml:base, ':'))\">\n    <xsl:call-template name=\"xml.base.dirs\">\n      <xsl:with-param name=\"base.elem\" \n                      select=\"$base.elem/ancestor::*[@xml:base != ''][1]\"/>\n    </xsl:call-template>\n  </xsl:if>\n  <xsl:call-template name=\"getdir\">\n    <xsl:with-param name=\"filename\" select=\"$base.elem/@xml:base\"/>\n  </xsl:call-template>\n\n</xsl:template>\n\n<!-- ===================================== -->\n\n<xsl:template name=\"strippath\">\n  <xsl:param name=\"filename\" select=\"''\"/>\n  <xsl:choose>\n    <!-- Leading .. are not eliminated -->\n    <xsl:when test=\"starts-with($filename, '../')\">\n      <xsl:value-of select=\"'../'\"/>\n      <xsl:call-template name=\"strippath\">\n        <xsl:with-param name=\"filename\" select=\"substring-after($filename, '../')\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"contains($filename, '/../')\">\n      <xsl:call-template name=\"strippath\">\n        <xsl:with-param name=\"filename\">\n          <xsl:call-template name=\"getdir\">\n            <xsl:with-param name=\"filename\" select=\"substring-before($filename, '/../')\"/>\n          </xsl:call-template>\n          <xsl:value-of select=\"substring-after($filename, '/../')\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$filename\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ===================================== -->\n\n<xsl:template name=\"getdir\">\n  <xsl:param name=\"filename\" select=\"''\"/>\n  <xsl:if test=\"contains($filename, '/')\">\n    <xsl:value-of select=\"substring-before($filename, '/')\"/>\n    <xsl:text>/</xsl:text>\n    <xsl:call-template name=\"getdir\">\n      <xsl:with-param name=\"filename\" select=\"substring-after($filename, '/')\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<!-- ===================================== -->\n\n<doc:template name=\"string.upper\" xmlns=\"\">\n<refpurpose>Converts a string to all uppercase letters</refpurpose>\n\n<refdescription id=\"string.upper-desc\">\n<para>Given a string, this template does a language-aware conversion\nof that string to all uppercase letters, based on the values of the\n<literal>lowercase.alpha</literal> and\n<literal>uppercase.alpha</literal> gentext keys for the current\nlocale. It affects only those characters found in the values of\n<literal>lowercase.alpha</literal> and\n<literal>uppercase.alpha</literal>. All other characters are left\nunchanged.</para>\n</refdescription>\n\n<refparameter id=\"string.upper-params\">\n<variablelist>\n<varlistentry><term>string</term>\n<listitem>\n<para>The string to convert to uppercase.</para>\n</listitem>\n</varlistentry>\n</variablelist>\n</refparameter>\n</doc:template>\n<xsl:template name=\"string.upper\">\n  <xsl:param name=\"string\" select=\"''\"/>\n  <xsl:variable name=\"lowercase.alpha\">\n    <xsl:call-template name=\"gentext\">\n      <xsl:with-param name=\"key\" select=\"'lowercase.alpha'\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:variable name=\"uppercase.alpha\">\n    <xsl:call-template name=\"gentext\">\n      <xsl:with-param name=\"key\" select=\"'uppercase.alpha'\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:value-of select=\"translate($string,$lowercase.alpha,$uppercase.alpha)\"/>\n</xsl:template>\n\n<!-- ===================================== -->\n\n<doc:template name=\"string.lower\" xmlns=\"\">\n<refpurpose>Converts a string to all lowercase letters</refpurpose>\n\n<refdescription id=\"string.lower-desc\">\n<para>Given a string, this template does a language-aware conversion\nof that string to all lowercase letters, based on the values of the\n<literal>uppercase.alpha</literal> and\n<literal>lowercase.alpha</literal> gentext keys for the current\nlocale. It affects only those characters found in the values of\n<literal>uppercase.alpha</literal> and\n<literal>lowercase.alpha</literal>. All other characters are left\nunchanged.</para>\n</refdescription>\n\n<refparameter id=\"string.lower-params\">\n<variablelist>\n<varlistentry><term>string</term>\n<listitem>\n<para>The string to convert to lowercase.</para>\n</listitem>\n</varlistentry>\n</variablelist>\n</refparameter>\n</doc:template>\n<xsl:template name=\"string.lower\">\n  <xsl:param name=\"string\" select=\"''\"/>\n  <xsl:variable name=\"uppercase.alpha\">\n    <xsl:call-template name=\"gentext\">\n      <xsl:with-param name=\"key\" select=\"'uppercase.alpha'\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:variable name=\"lowercase.alpha\">\n    <xsl:call-template name=\"gentext\">\n      <xsl:with-param name=\"key\" select=\"'lowercase.alpha'\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:value-of select=\"translate($string,$uppercase.alpha,$lowercase.alpha)\"/>\n</xsl:template>\n\n<!-- ===================================== -->\n\n<doc:template name=\"select.choice.separator\" xmlns=\"\">\n  <refpurpose>Returns localized choice separator</refpurpose>\n  <refdescription id=\"select.choice.separator-desc\">\n    <para>This template enables auto-generation of an appropriate\n    localized \"choice\" separator (for example, \"and\" or \"or\") before\n    the final item in an inline list (though it could also be useful\n    for generating choice separators for non-inline lists).</para>\n    <para>It currently works by evaluating a processing instruction\n    (PI) of the form &lt;?dbchoice&#xa0;choice=\"foo\"?> :\n    <itemizedlist>\n      <listitem>\n        <simpara>if the value of the <tag>choice</tag>\n        pseudo-attribute is \"and\" or \"or\", returns a localized \"and\"\n        or \"or\"</simpara>\n      </listitem>\n      <listitem>\n        <simpara>otherwise returns the literal value of the\n        <tag>choice</tag> pseudo-attribute</simpara>\n      </listitem>\n    </itemizedlist>\n    The latter is provided only as a temporary workaround because the\n    locale files do not currently have translations for the word\n    <wordasword>or</wordasword>. So if you want to generate a a\n    logical \"or\" separator in French (for example), you currently need\n    to do this:\n    <literallayout>&lt;?dbchoice choice=\"ou\"?></literallayout>\n    </para>\n    <warning>\n      <para>The <tag>dbchoice</tag> processing instruction is\n      an unfortunate hack; support for it may disappear in the future\n      (particularly if and when a more appropriate means for marking\n      up \"choice\" lists becomes available in DocBook).</para>\n    </warning>\n  </refdescription>\n</doc:template>\n<xsl:template name=\"select.choice.separator\">\n  <xsl:variable name=\"choice\">\n    <xsl:call-template name=\"pi.dbchoice_choice\"/>\n  </xsl:variable>\n  <xsl:choose>\n    <!-- if value of $choice is \"and\" or \"or\", translate to equivalent in -->\n    <!-- current locale -->\n    <xsl:when test=\"$choice = 'and' or $choice = 'or'\">\n      <xsl:call-template name=\"gentext\">\n        <xsl:with-param name=\"key\" select=\"$choice\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <!--  otherwise, just output value of $choice, whatever it is -->\n    <xsl:otherwise>\n      <xsl:value-of select=\"$choice\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ===================================== -->\n\n<doc:template name=\"evaluate.info.profile\" xmlns=\"\">\n  <refpurpose>Evaluates an info profile</refpurpose>\n  <refdescription id=\"evaluate.info.profile-desc\">\n    <para>This template evaluates an \"info profile\" matching the XPath\n    expression given by the <parameter>profile</parameter>\n    parameter. It relies on the XSLT <function>evaluate()</function>\n    extension function.</para>\n\n    <para>The value of the <parameter>profile</parameter> parameter\n    can include the literal string <literal>$info</literal>. If found\n    in the value of the <parameter>profile</parameter> parameter, the\n    literal string <literal>$info</literal> string is replaced with\n    the value of the <parameter>info</parameter> parameter, which\n    should be a set of <replaceable>*info</replaceable> nodes; the\n    expression is then evaluated using the XSLT\n    <function>evaluate()</function> extension function.</para>\n  </refdescription>\n  <refparameter id=\"evaluate.info.profile-params\">\n    <variablelist>\n       <varlistentry>\n        <term>profile</term>\n        <listitem>\n          <para>A string representing an XPath expression </para>\n        </listitem>\n      </varlistentry>\n       <varlistentry>\n        <term>info</term>\n        <listitem>\n          <para>A set of *info nodes</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n\n  <refreturn id=\"evaluate.info.profile-returns\">\n    <para>Returns a node (the result of evaluating the\n    <parameter>profile</parameter> parameter)</para>\n  </refreturn>\n</doc:template>\n  <xsl:template name=\"evaluate.info.profile\">\n    <xsl:param name=\"profile\"/>\n    <xsl:param name=\"info\"/>\n    <xsl:choose>\n      <!-- * xsltproc and Xalan both support dyn:evaluate() -->\n      <xsl:when test=\"function-available('dyn:evaluate')\">\n        <xsl:apply-templates\n            select=\"dyn:evaluate($profile)\" mode=\"get.refentry.metadata\"/>\n      </xsl:when>\n      <!-- * Saxon has its own evaluate() & doesn't support dyn:evaluate() -->\n      <xsl:when test=\"function-available('saxon:evaluate')\">\n        <xsl:apply-templates\n            select=\"saxon:evaluate($profile)\" mode=\"get.refentry.metadata\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:message terminate=\"yes\">\nError: The \"info profiling\" mechanism currently requires an XSLT\nengine that supports the evaluate() XSLT extension function. Your XSLT\nengine does not support it.\n</xsl:message>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n\n<doc:template name=\"graphic.format.content-type\" xmlns=\"\">\n  <refpurpose>Returns mimetype for media format</refpurpose>\n  <refdescription id=\"graphic.format.content-type-desc\">\n    <para>This takes as input a 'format' param and returns\n    a mimetype string.  It uses an xsl:choose after first\n    converting the input to all uppercase.</para>\n  </refdescription>\n</doc:template>\n<xsl:template name=\"graphic.format.content-type\">\n  <xsl:param name=\"format\"/>\n  <xsl:variable name=\"upperformat\" select=\"translate($format,&lowercase;,&uppercase;)\"/>\n  <xsl:choose>\n    <xsl:when test=\"$upperformat = ''\"></xsl:when>\n    <xsl:when test=\"$upperformat = 'linespecific'\"></xsl:when>\n    <xsl:when test=\"$upperformat = 'PS'\">application/postscript</xsl:when>\n    <xsl:when test=\"$upperformat = 'PDF'\">application/pdf</xsl:when>\n    <xsl:when test=\"$upperformat = 'PNG'\">image/png</xsl:when>\n    <xsl:when test=\"$upperformat = 'SVG'\">image/svg+xml</xsl:when>\n    <xsl:when test=\"$upperformat = 'JPG'\">image/jpeg</xsl:when>\n    <xsl:when test=\"$upperformat = 'JPEG'\">image/jpeg</xsl:when>\n    <xsl:when test=\"$upperformat = 'GIF'\">image/gif</xsl:when>\n    <xsl:when test=\"$upperformat = 'GIF87A'\">image/gif</xsl:when>\n    <xsl:when test=\"$upperformat = 'GIF89A'\">image/gif</xsl:when>\n    <xsl:when test=\"$upperformat = 'ACC'\">audio/acc</xsl:when>\n    <xsl:when test=\"$upperformat = 'MPG'\">audio/mpeg</xsl:when>\n    <xsl:when test=\"$upperformat = 'MP1'\">audio/mpeg</xsl:when>\n    <xsl:when test=\"$upperformat = 'MP2'\">audio/mpeg</xsl:when>\n    <xsl:when test=\"$upperformat = 'MP3'\">audio/mpeg</xsl:when>\n    <xsl:when test=\"$upperformat = 'M4A'\">audio/mp4</xsl:when>\n    <xsl:when test=\"$upperformat = 'MPEG'\">audio/mpeg</xsl:when>\n    <xsl:when test=\"$upperformat = 'WAV'\">audio/wav</xsl:when>\n    <xsl:when test=\"$upperformat = 'MP4'\">video/mp4</xsl:when>\n    <xsl:when test=\"$upperformat = 'M4V'\">video/mp4</xsl:when>\n    <xsl:when test=\"$upperformat = 'OGV'\">video/ogg</xsl:when>\n    <xsl:when test=\"$upperformat = 'OGG'\">video/ogg</xsl:when>\n    <xsl:when test=\"$upperformat = 'WEBM'\">video/webm</xsl:when>\n    <xsl:otherwise>\n        <xsl:value-of select=\"concat('image/', $upperformat)\"/> \n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/cs.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"cs\" english-language-name=\"Czech\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/cs.xml -->\n<!-- * -->\n<!-- * E-mail the edited cs.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Abstrakt\"/>\n<l:gentext key=\"abstract\" text=\"Abstrakt\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Poděkování\"/>\n<l:gentext key=\"acknowledgements\" text=\"poděkování\"/>\n<l:gentext key=\"Answer\" text=\"Odpověď:\"/>\n<l:gentext key=\"answer\" text=\"Odpověď:\"/>\n<l:gentext key=\"Appendix\" text=\"Příloha\"/>\n<l:gentext key=\"appendix\" text=\"Příloha\"/>\n<l:gentext key=\"Article\" text=\"Článek\"/>\n<l:gentext key=\"article\" text=\"Článek\"/>\n<l:gentext key=\"Author\" text=\"Autor\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografie\"/>\n<l:gentext key=\"bibliography\" text=\"Bibliografie\"/>\n<l:gentext key=\"Book\" text=\"Kniha\"/>\n<l:gentext key=\"book\" text=\"Kniha\"/>\n<l:gentext key=\"CAUTION\" text=\"Výstraha\"/>\n<l:gentext key=\"Caution\" text=\"Výstraha\"/>\n<l:gentext key=\"caution\" text=\"Výstraha\"/>\n<l:gentext key=\"Chapter\" text=\"Kapitola\"/>\n<l:gentext key=\"chapter\" text=\"Kapitola\"/>\n<l:gentext key=\"Colophon\" text=\"Tiráž\"/>\n<l:gentext key=\"colophon\" text=\"Tiráž\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"Copyright\"/>\n<l:gentext key=\"Dedication\" text=\"Věnování\"/>\n<l:gentext key=\"dedication\" text=\"Věnování\"/>\n<l:gentext key=\"Edition\" text=\"Vydání\"/>\n<l:gentext key=\"edition\" text=\"Vydání\"/>\n<l:gentext key=\"Editor\" text=\"Editor\"/>\n<l:gentext key=\"Equation\" text=\"Rovnice\"/>\n<l:gentext key=\"equation\" text=\"Rovnice\"/>\n<l:gentext key=\"Example\" text=\"Příklad\"/>\n<l:gentext key=\"example\" text=\"Příklad\"/>\n<l:gentext key=\"Figure\" text=\"Obrázek\"/>\n<l:gentext key=\"figure\" text=\"Obrázek\"/>\n<l:gentext key=\"Glossary\" text=\"Slovník\"/>\n<l:gentext key=\"glossary\" text=\"Slovník\"/>\n<l:gentext key=\"GlossSee\" text=\"Viz\"/>\n<l:gentext key=\"glosssee\" text=\"Viz\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Viz též\"/>\n<l:gentext key=\"glossseealso\" text=\"Viz též\"/>\n<l:gentext key=\"IMPORTANT\" text=\"Důležité\"/>\n<l:gentext key=\"important\" text=\"Důležité\"/>\n<l:gentext key=\"Important\" text=\"Důležité\"/>\n<l:gentext key=\"Index\" text=\"Rejstřík\"/>\n<l:gentext key=\"index\" text=\"Rejstřík\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Právní doložka\"/>\n<l:gentext key=\"legalnotice\" text=\"Právní doložka\"/>\n<l:gentext key=\"MsgAud\" text=\"Publikum\"/>\n<l:gentext key=\"msgaud\" text=\"Publikum\"/>\n<l:gentext key=\"MsgLevel\" text=\"Úroveň\"/>\n<l:gentext key=\"msglevel\" text=\"Úroveň\"/>\n<l:gentext key=\"MsgOrig\" text=\"Původ\"/>\n<l:gentext key=\"msgorig\" text=\"Původ\"/>\n<l:gentext key=\"NOTE\" text=\"Poznámka\"/>\n<l:gentext key=\"Note\" text=\"Poznámka\"/>\n<l:gentext key=\"note\" text=\"Poznámka\"/>\n<l:gentext key=\"Part\" text=\"Část\"/>\n<l:gentext key=\"part\" text=\"Část\"/>\n<l:gentext key=\"Preface\" text=\"Předmluva\"/>\n<l:gentext key=\"preface\" text=\"Předmluva\"/>\n<l:gentext key=\"Procedure\" text=\"Postup\"/>\n<l:gentext key=\"procedure\" text=\"Postup\"/>\n<l:gentext key=\"ProductionSet\" text=\"Produkce\"/>\n<l:gentext key=\"PubDate\" text=\"Datum vydání\"/>\n<l:gentext key=\"pubdate\" text=\"Datum vydání\"/>\n<l:gentext key=\"Published\" text=\"Vydáno\"/>\n<l:gentext key=\"published\" text=\"Vydáno\"/>\n<l:gentext key=\"Publisher\" text=\"Vydavatel\"/>\n<l:gentext key=\"Qandadiv\" text=\"Otázky a odpovědi\"/>\n<l:gentext key=\"qandadiv\" text=\"Otázky a odpovědi\"/>\n<l:gentext key=\"QandASet\" text=\"Časté dotazy\"/>\n<l:gentext key=\"Question\" text=\"Otázka:\"/>\n<l:gentext key=\"question\" text=\"Otázka:\"/>\n<l:gentext key=\"RefEntry\" text=\"Strana\"/>\n<l:gentext key=\"refentry\" text=\"strana\"/>\n<l:gentext key=\"Reference\" text=\"Odkaz\"/>\n<l:gentext key=\"reference\" text=\"Odkaz\"/>\n<l:gentext key=\"References\" text=\"Odkazy\"/>\n<l:gentext key=\"RefName\" text=\"Jméno\"/>\n<l:gentext key=\"refname\" text=\"Jméno\"/>\n<l:gentext key=\"RefSection\" text=\"Oddíl\"/>\n<l:gentext key=\"refsection\" text=\"oddíl\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Přehled\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Přehled\"/>\n<l:gentext key=\"RevHistory\" text=\"Přehled revizí\"/>\n<l:gentext key=\"revhistory\" text=\"Přehled revizí\"/>\n<l:gentext key=\"revision\" text=\"Revize\"/>\n<l:gentext key=\"Revision\" text=\"Revize\"/>\n<l:gentext key=\"sect1\" text=\"Oddíl\"/>\n<l:gentext key=\"sect2\" text=\"Oddíl\"/>\n<l:gentext key=\"sect3\" text=\"Oddíl\"/>\n<l:gentext key=\"sect4\" text=\"Oddíl\"/>\n<l:gentext key=\"sect5\" text=\"Oddíl\"/>\n<l:gentext key=\"section\" text=\"Oddíl\"/>\n<l:gentext key=\"Section\" text=\"Oddíl\"/>\n<l:gentext key=\"see\" text=\"Viz\"/>\n<l:gentext key=\"See\" text=\"Viz\"/>\n<l:gentext key=\"seealso\" text=\"Viz též\"/>\n<l:gentext key=\"Seealso\" text=\"Viz též\"/>\n<l:gentext key=\"SeeAlso\" text=\"Viz též\"/>\n<l:gentext key=\"set\" text=\"Sada\"/>\n<l:gentext key=\"Set\" text=\"Sada\"/>\n<l:gentext key=\"setindex\" text=\"Rejstřík sady\"/>\n<l:gentext key=\"SetIndex\" text=\"Rejstřík sady\"/>\n<l:gentext key=\"Sidebar\" text=\"Marginálie\"/>\n<l:gentext key=\"sidebar\" text=\"Marginálie\"/>\n<l:gentext key=\"step\" text=\"krok\"/>\n<l:gentext key=\"Step\" text=\"Krok\"/>\n<l:gentext key=\"table\" text=\"Tabulka\"/>\n<l:gentext key=\"Table\" text=\"Tabulka\"/>\n<l:gentext key=\"task\" text=\"úloha\"/>\n<l:gentext key=\"Task\" text=\"Úloha\"/>\n<l:gentext key=\"tip\" text=\"Tip\"/>\n<l:gentext key=\"TIP\" text=\"Tip\"/>\n<l:gentext key=\"Tip\" text=\"Tip\"/>\n<l:gentext key=\"Warning\" text=\"Varování\"/>\n<l:gentext key=\"warning\" text=\"Varování\"/>\n<l:gentext key=\"WARNING\" text=\"Varování\"/>\n<l:gentext key=\"and\" text=\"a\"/>\n<l:gentext key=\"or\" text=\"nebo\"/>\n<l:gentext key=\"by\" text=\"\"/>\n<l:gentext key=\"Edited\" text=\"Vydáno\"/>\n<l:gentext key=\"edited\" text=\"Vydáno\"/>\n<l:gentext key=\"Editedby\" text=\"Sestavil\"/>\n<l:gentext key=\"editedby\" text=\"Sestavil\"/>\n<l:gentext key=\"in\" text=\"v\"/>\n<l:gentext key=\"lastlistcomma\" text=\"\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Poznámky\"/>\n<l:gentext key=\"Notes\" text=\"Poznámky\"/>\n<l:gentext key=\"Pgs\" text=\"Str.\"/>\n<l:gentext key=\"pgs\" text=\"Str.\"/>\n<l:gentext key=\"Revisedby\" text=\"Revidoval: \"/>\n<l:gentext key=\"revisedby\" text=\"Revidoval: \"/>\n<l:gentext key=\"TableNotes\" text=\"Poznámky\"/>\n<l:gentext key=\"tablenotes\" text=\"Poznámky\"/>\n<l:gentext key=\"TableofContents\" text=\"Obsah\"/>\n<l:gentext key=\"tableofcontents\" text=\"Obsah\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Neočekávané jméno prvku\"/>\n<l:gentext key=\"unsupported\" text=\"nepodporovaný\"/>\n<l:gentext key=\"xrefto\" text=\"xref k\"/>\n<l:gentext key=\"Authors\" text=\"Autoři\"/>\n<l:gentext key=\"copyeditor\" text=\"Korektor\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Grafický designér\"/>\n<l:gentext key=\"productioneditor\" text=\"Produkce\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technický editor\"/>\n<l:gentext key=\"translator\" text=\"Překladatel\"/>\n<l:gentext key=\"listofequations\" text=\"Seznam rovnic\"/>\n<l:gentext key=\"ListofEquations\" text=\"Seznam rovnic\"/>\n<l:gentext key=\"ListofExamples\" text=\"Seznam příkladů\"/>\n<l:gentext key=\"listofexamples\" text=\"Seznam příkladů\"/>\n<l:gentext key=\"ListofFigures\" text=\"Seznam obrázků\"/>\n<l:gentext key=\"listoffigures\" text=\"Seznam obrázků\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Seznam postupů\"/>\n<l:gentext key=\"listofprocedures\" text=\"Seznam postupů\"/>\n<l:gentext key=\"listoftables\" text=\"Seznam tabulek\"/>\n<l:gentext key=\"ListofTables\" text=\"Seznam tabulek\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Seznam neznámého\"/>\n<l:gentext key=\"listofunknown\" text=\"Seznam neznámého\"/>\n<l:gentext key=\"nav-home\" text=\"Domů\"/>\n<l:gentext key=\"nav-next\" text=\"Další\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Rychle dopředu\"/>\n<l:gentext key=\"nav-prev\" text=\"Předcházející\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Rychle zpět\"/>\n<l:gentext key=\"nav-up\" text=\"Nahoru\"/>\n<l:gentext key=\"nav-toc\" text=\"Obsah\"/>\n<l:gentext key=\"Draft\" text=\"Návrh\"/>\n<l:gentext key=\"above\" text=\"nad\"/>\n<l:gentext key=\"below\" text=\"pod\"/>\n<l:gentext key=\"sectioncalled\" text=\"oddíl nazvaný\"/>\n<l:gentext key=\"index symbols\" text=\"Symboly\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"aábcčdďeéěfghiíjklmnňoópqrřsštťuúůvwxyýzž\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"AÁBCČDĎEÉĚFGHIÍJKLMNŇOÓPQRŘSŠTŤUÚŮVWXYÝZŽ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"aábcčdďeéěfghiíjklmnňoópqrřsštťuúůvwxyýzž\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AÁBCČDĎEÉĚFGHIÍJKLMNŇOÓPQRŘSŠTŤUÚŮVWXYÝZŽ\"/>\n<l:dingbat key=\"startquote\" text=\"„\"/>\n<l:dingbat key=\"endquote\" text=\"“\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‚\"/>\n<l:dingbat key=\"nestedendquote\" text=\"‘\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‚\"/>\n<l:dingbat key=\"singleendquote\" text=\"‘\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Příloha %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Kapitola %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Rovnice %n. %t\"/>\n<l:template name=\"example\" text=\"Příklad %n. %t\"/>\n<l:template name=\"figure\" text=\"Obrázek %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Část %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Postup %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Produkce %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabulka %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Příloha %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Kapitola %n. %t\"/>\n<l:template name=\"part\" text=\"Část %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\"v %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (strana %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(strana %p)\"/>\n<l:template name=\"docname\" text=\" v %o\"/>\n<l:template name=\"docnamelong\" text=\" v dokumentu nazvaném %o\"/>\n<l:template name=\"pageabbrev\" text=\"(str. %p)\"/>\n<l:template name=\"Page\" text=\"Strana %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"„%t“\"/>\n<l:template name=\"refsection\" text=\"„%t“\"/>\n<l:template name=\"refsect1\" text=\"„%t“\"/>\n<l:template name=\"refsect2\" text=\"„%t“\"/>\n<l:template name=\"refsect3\" text=\"„%t“\"/>\n<l:template name=\"sect1\" text=\"„%t“\"/>\n<l:template name=\"sect2\" text=\"„%t“\"/>\n<l:template name=\"sect3\" text=\"„%t“\"/>\n<l:template name=\"sect4\" text=\"„%t“\"/>\n<l:template name=\"sect5\" text=\"„%t“\"/>\n<l:template name=\"section\" text=\"„%t“\"/>\n<l:template name=\"simplesect\" text=\"„%t“\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"%n\"/>\n<l:template name=\"appendix\" text=\"%n\"/>\n<l:template name=\"bridgehead\" text=\"%n\"/>\n<l:template name=\"chapter\" text=\"%n\"/>\n<l:template name=\"equation\" text=\"%n\"/>\n<l:template name=\"example\" text=\"%n\"/>\n<l:template name=\"figure\" text=\"%n\"/>\n<l:template name=\"part\" text=\"%n\"/>\n<l:template name=\"procedure\" text=\"%n\"/>\n<l:template name=\"productionset\" text=\"%n\"/>\n<l:template name=\"qandadiv\" text=\"%n\"/>\n<l:template name=\"qandaentry\" text=\"%n\"/>\n<l:template name=\"question\" text=\"%n\"/>\n<l:template name=\"sect1\" text=\"%n\"/>\n<l:template name=\"sect2\" text=\"%n\"/>\n<l:template name=\"sect3\" text=\"%n\"/>\n<l:template name=\"sect4\" text=\"%n\"/>\n<l:template name=\"sect5\" text=\"%n\"/>\n<l:template name=\"section\" text=\"%n\"/>\n<l:template name=\"table\" text=\"%n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"%n – „%t“\"/>\n<l:template name=\"bridgehead\" text=\"%n – „%t“\"/>\n<l:template name=\"chapter\" text=\"%n – „%t“\"/>\n<l:template name=\"equation\" text=\"%n – „%t“\"/>\n<l:template name=\"example\" text=\"%n – „%t“\"/>\n<l:template name=\"figure\" text=\"%n – „%t“\"/>\n<l:template name=\"part\" text=\"%n – „%t“\"/>\n<l:template name=\"procedure\" text=\"%n – „%t“\"/>\n<l:template name=\"productionset\" text=\"%n – „%t“\"/>\n<l:template name=\"qandadiv\" text=\"%n – „%t“\"/>\n<l:template name=\"refsect1\" text=\"„%t“\"/>\n<l:template name=\"refsect2\" text=\"„%t“\"/>\n<l:template name=\"refsect3\" text=\"„%t“\"/>\n<l:template name=\"refsection\" text=\"„%t“\"/>\n<l:template name=\"sect1\" text=\"%n – „%t“\"/>\n<l:template name=\"sect2\" text=\"%n – „%t“\"/>\n<l:template name=\"sect3\" text=\"%n – „%t“\"/>\n<l:template name=\"sect4\" text=\"%n – „%t“\"/>\n<l:template name=\"sect5\" text=\"%n – „%t“\"/>\n<l:template name=\"section\" text=\"%n – „%t“\"/>\n<l:template name=\"simplesect\" text=\"%n – „%t“\"/>\n<l:template name=\"table\" text=\"%n – „%t“\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" a \"/>\n<l:template name=\"seplast\" text=\" a \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Viz %t.\"/>\n<l:template name=\"seealso\" text=\"Viz též %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Publikum: \"/>\n<l:template name=\"MsgLevel\" text=\"Úroveň: \"/>\n<l:template name=\"MsgOrig\" text=\"Původ: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d. B Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definice: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"ledna\"/>\n<l:template name=\"February\" text=\"února\"/>\n<l:template name=\"March\" text=\"března\"/>\n<l:template name=\"April\" text=\"dubna\"/>\n<l:template name=\"May\" text=\"května\"/>\n<l:template name=\"June\" text=\"června\"/>\n<l:template name=\"July\" text=\"července\"/>\n<l:template name=\"August\" text=\"srpna\"/>\n<l:template name=\"September\" text=\"září\"/>\n<l:template name=\"October\" text=\"října\"/>\n<l:template name=\"November\" text=\"listopadu\"/>\n<l:template name=\"December\" text=\"prosince\"/>\n<l:template name=\"Monday\" text=\"pondělí\"/>\n<l:template name=\"Tuesday\" text=\"úterý\"/>\n<l:template name=\"Wednesday\" text=\"středa\"/>\n<l:template name=\"Thursday\" text=\"čtvrtek\"/>\n<l:template name=\"Friday\" text=\"pátek\"/>\n<l:template name=\"Saturday\" text=\"sobota\"/>\n<l:template name=\"Sunday\" text=\"neděle\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"led\"/>\n<l:template name=\"Feb\" text=\"úno\"/>\n<l:template name=\"Mar\" text=\"bře\"/>\n<l:template name=\"Apr\" text=\"dub\"/>\n<l:template name=\"May\" text=\"kvě\"/>\n<l:template name=\"Jun\" text=\"čer\"/>\n<l:template name=\"Jul\" text=\"čnc\"/>\n<l:template name=\"Aug\" text=\"srp\"/>\n<l:template name=\"Sep\" text=\"zář\"/>\n<l:template name=\"Oct\" text=\"řij\"/>\n<l:template name=\"Nov\" text=\"lis\"/>\n<l:template name=\"Dec\" text=\"pro\"/>\n<l:template name=\"Mon\" text=\"po\"/>\n<l:template name=\"Tue\" text=\"út\"/>\n<l:template name=\"Wed\" text=\"st\"/>\n<l:template name=\"Thu\" text=\"čt\"/>\n<l:template name=\"Fri\" text=\"pá\"/>\n<l:template name=\"Sat\" text=\"so\"/>\n<l:template name=\"Sun\" text=\"ne\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0405 Czech\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cit. \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Dostupné \"/>\n<l:template name=\"acctoo\" text=\"Dostupné také \"/>\n<l:template name=\"onwww\" text=\"na World Wide Web\"/>\n<l:template name=\"oninet\" text=\"na Internetu\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Symboly</l:l>\n<l:l i=\"1\">A</l:l>\n<l:l i=\"1\">a</l:l>\n<l:l i=\"1\">Á</l:l>\n<l:l i=\"1\">á</l:l>\n<l:l i=\"2\">B</l:l>\n<l:l i=\"2\">b</l:l>\n<l:l i=\"3\">C</l:l>\n<l:l i=\"3\">c</l:l>\n<l:l i=\"4\">Č</l:l>\n<l:l i=\"4\">č</l:l>\n<l:l i=\"5\">D</l:l>\n<l:l i=\"5\">d</l:l>\n<l:l i=\"5\">Ď</l:l>\n<l:l i=\"5\">ď</l:l>\n<l:l i=\"7\">E</l:l>\n<l:l i=\"7\">e</l:l>\n<l:l i=\"7\">É</l:l>\n<l:l i=\"7\">é</l:l>\n<l:l i=\"7\">Ě</l:l>\n<l:l i=\"7\">ě</l:l>\n<l:l i=\"7\">Ë</l:l>\n<l:l i=\"7\">ë</l:l>\n<l:l i=\"8\">F</l:l>\n<l:l i=\"8\">f</l:l>\n<l:l i=\"9\">G</l:l>\n<l:l i=\"9\">g</l:l>\n<l:l i=\"10\">H</l:l>\n<l:l i=\"10\">h</l:l>\n<l:l i=\"11\">Ch</l:l>\n<l:l i=\"11\">ch</l:l>\n<l:l i=\"11\">cH</l:l>\n<l:l i=\"11\">CH</l:l>\n<l:l i=\"12\">I</l:l>\n<l:l i=\"12\">i</l:l>\n<l:l i=\"12\">Í</l:l>\n<l:l i=\"12\">í</l:l>\n<l:l i=\"13\">J</l:l>\n<l:l i=\"13\">j</l:l>\n<l:l i=\"14\">K</l:l>\n<l:l i=\"14\">k</l:l>\n<l:l i=\"15\">L</l:l>\n<l:l i=\"15\">l</l:l>\n<l:l i=\"16\">M</l:l>\n<l:l i=\"16\">m</l:l>\n<l:l i=\"17\">N</l:l>\n<l:l i=\"17\">n</l:l>\n<l:l i=\"17\">Ň</l:l>\n<l:l i=\"17\">ň</l:l>\n<l:l i=\"19\">O</l:l>\n<l:l i=\"19\">o</l:l>\n<l:l i=\"19\">Ó</l:l>\n<l:l i=\"19\">ó</l:l>\n<l:l i=\"19\">Ö</l:l>\n<l:l i=\"19\">ö</l:l>\n<l:l i=\"20\">P</l:l>\n<l:l i=\"20\">p</l:l>\n<l:l i=\"21\">Q</l:l>\n<l:l i=\"21\">q</l:l>\n<l:l i=\"22\">R</l:l>\n<l:l i=\"22\">r</l:l>\n<l:l i=\"23\">Ř</l:l>\n<l:l i=\"23\">ř</l:l>\n<l:l i=\"24\">S</l:l>\n<l:l i=\"24\">s</l:l>\n<l:l i=\"25\">Š</l:l>\n<l:l i=\"25\">š</l:l>\n<l:l i=\"26\">T</l:l>\n<l:l i=\"26\">t</l:l>\n<l:l i=\"26\">Ť</l:l>\n<l:l i=\"26\">ť</l:l>\n<l:l i=\"28\">U</l:l>\n<l:l i=\"28\">u</l:l>\n<l:l i=\"28\">Ú</l:l>\n<l:l i=\"28\">ú</l:l>\n<l:l i=\"28\">Ů</l:l>\n<l:l i=\"28\">ů</l:l>\n<l:l i=\"28\">Ü</l:l>\n<l:l i=\"28\">ü</l:l>\n<l:l i=\"29\">V</l:l>\n<l:l i=\"29\">v</l:l>\n<l:l i=\"30\">W</l:l>\n<l:l i=\"30\">w</l:l>\n<l:l i=\"31\">X</l:l>\n<l:l i=\"31\">x</l:l>\n<l:l i=\"32\">Y</l:l>\n<l:l i=\"32\">y</l:l>\n<l:l i=\"32\">Ý</l:l>\n<l:l i=\"32\">ý</l:l>\n<l:l i=\"33\">Z</l:l>\n<l:l i=\"33\">z</l:l>\n<l:l i=\"34\">Ž</l:l>\n<l:l i=\"34\">ž</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/cy.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"cy\" english-language-name=\"Welsh\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/cy.xml -->\n<!-- * -->\n<!-- * E-mail the edited cy.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Crynodeb\"/>\n<l:gentext key=\"abstract\" text=\"Crynodeb\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"A:\"/>\n<l:gentext key=\"answer\" text=\"A:\"/>\n<l:gentext key=\"Appendix\" text=\"Atodiad\"/>\n<l:gentext key=\"appendix\" text=\"Atodiad\"/>\n<l:gentext key=\"Article\" text=\"Erthygl\"/>\n<l:gentext key=\"article\" text=\"Erthygl\"/>\n<l:gentext key=\"Author\" text=\"Awdur\"/>\n<l:gentext key=\"Bibliography\" text=\"Llyfryddiaeth\"/>\n<l:gentext key=\"bibliography\" text=\"Llyfryddiaeth\"/>\n<l:gentext key=\"Book\" text=\"Llyfr\"/>\n<l:gentext key=\"book\" text=\"Llyfr\"/>\n<l:gentext key=\"CAUTION\" text=\"GOFAL\"/>\n<l:gentext key=\"Caution\" text=\"Gofal\"/>\n<l:gentext key=\"caution\" text=\"Gofal\"/>\n<l:gentext key=\"Chapter\" text=\"Pennod\"/>\n<l:gentext key=\"chapter\" text=\"Pennod\"/>\n<l:gentext key=\"Colophon\" text=\"Coloffon\"/>\n<l:gentext key=\"colophon\" text=\"Coloffon\"/>\n<l:gentext key=\"Copyright\" text=\"Hawlfraint\"/>\n<l:gentext key=\"copyright\" text=\"Hawlfraint\"/>\n<l:gentext key=\"Dedication\" text=\"Cyflwyniad\"/>\n<l:gentext key=\"dedication\" text=\"Cyflwyniad\"/>\n<l:gentext key=\"Edition\" text=\"Argraffiad\"/>\n<l:gentext key=\"edition\" text=\"Argraffiad\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Hafaliad\"/>\n<l:gentext key=\"equation\" text=\"Hafaliad\"/>\n<l:gentext key=\"Example\" text=\"Enghraifft\"/>\n<l:gentext key=\"example\" text=\"Enghraifft\"/>\n<l:gentext key=\"Figure\" text=\"Ffigur\"/>\n<l:gentext key=\"figure\" text=\"Ffigur\"/>\n<l:gentext key=\"Glossary\" text=\"Geirfa\"/>\n<l:gentext key=\"glossary\" text=\"Geirfa\"/>\n<l:gentext key=\"GlossSee\" text=\"Gweler\"/>\n<l:gentext key=\"glosssee\" text=\"Gweler\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Gweler Hefyd\"/>\n<l:gentext key=\"glossseealso\" text=\"Gweler Hefyd\"/>\n<l:gentext key=\"IMPORTANT\" text=\"PWYSIG\"/>\n<l:gentext key=\"important\" text=\"Pwysig\"/>\n<l:gentext key=\"Important\" text=\"Pwysig\"/>\n<l:gentext key=\"Index\" text=\"Mynegai\"/>\n<l:gentext key=\"index\" text=\"Mynegai\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Rhybudd Cyfreithiol\"/>\n<l:gentext key=\"legalnotice\" text=\"Rhybudd Cyfreithiol\"/>\n<l:gentext key=\"MsgAud\" text=\"Cynulleidfa\"/>\n<l:gentext key=\"msgaud\" text=\"Cynulleidfa\"/>\n<l:gentext key=\"MsgLevel\" text=\"Lefel\"/>\n<l:gentext key=\"msglevel\" text=\"Lefel\"/>\n<l:gentext key=\"MsgOrig\" text=\"Tarddiad\"/>\n<l:gentext key=\"msgorig\" text=\"Tarddiad\"/>\n<l:gentext key=\"NOTE\" text=\"NODYN\"/>\n<l:gentext key=\"Note\" text=\"Nodyn\"/>\n<l:gentext key=\"note\" text=\"Nodyn\"/>\n<l:gentext key=\"Part\" text=\"Rhan\"/>\n<l:gentext key=\"part\" text=\"Rhan\"/>\n<l:gentext key=\"Preface\" text=\"Rhagair\"/>\n<l:gentext key=\"preface\" text=\"Rhagair\"/>\n<l:gentext key=\"Procedure\" text=\"Trefn\"/>\n<l:gentext key=\"procedure\" text=\"Trefn\"/>\n<l:gentext key=\"ProductionSet\" text=\"Cynhyrchiad\"/>\n<l:gentext key=\"PubDate\" text=\"Dyddiad Cyhoeddi\"/>\n<l:gentext key=\"pubdate\" text=\"Dyddiad Cyhoeddi\"/>\n<l:gentext key=\"Published\" text=\"Cyhoeddwyd\"/>\n<l:gentext key=\"published\" text=\"Cyhoeddwyd\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"C &amp; A\"/>\n<l:gentext key=\"qandadiv\" text=\"C &amp; A\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"C:\"/>\n<l:gentext key=\"question\" text=\"C:\"/>\n<l:gentext key=\"RefEntry\" text=\"Cyfeirnod\"/>\n<l:gentext key=\"refentry\" text=\"Cyfeirnod\"/>\n<l:gentext key=\"Reference\" text=\"Cyfeiriad\"/>\n<l:gentext key=\"reference\" text=\"Cyfeiriad\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Enw\"/>\n<l:gentext key=\"refname\" text=\"Enw\"/>\n<l:gentext key=\"RefSection\" text=\"Adran Gyfeiriad\"/>\n<l:gentext key=\"refsection\" text=\"Adran Gyfeiriad\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Crynodeb\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Crynodeb\"/>\n<l:gentext key=\"RevHistory\" text=\"Hanes Adolygu\"/>\n<l:gentext key=\"revhistory\" text=\"Hanes Adolygu\"/>\n<l:gentext key=\"revision\" text=\"Adolygiad\"/>\n<l:gentext key=\"Revision\" text=\"Adolygiad\"/>\n<l:gentext key=\"sect1\" text=\"Adran\"/>\n<l:gentext key=\"sect2\" text=\"Adran\"/>\n<l:gentext key=\"sect3\" text=\"Adran\"/>\n<l:gentext key=\"sect4\" text=\"Adran\"/>\n<l:gentext key=\"sect5\" text=\"Adran\"/>\n<l:gentext key=\"section\" text=\"Adran\"/>\n<l:gentext key=\"Section\" text=\"Adran\"/>\n<l:gentext key=\"see\" text=\"gweler\"/>\n<l:gentext key=\"See\" text=\"Gweler\"/>\n<l:gentext key=\"seealso\" text=\"gweler hefyd\"/>\n<l:gentext key=\"Seealso\" text=\"Gweler hefyd\"/>\n<l:gentext key=\"SeeAlso\" text=\"Gweler Hefyd\"/>\n<l:gentext key=\"set\" text=\"Set\"/>\n<l:gentext key=\"Set\" text=\"Set\"/>\n<l:gentext key=\"setindex\" text=\"Mynegai Set\"/>\n<l:gentext key=\"SetIndex\" text=\"Mynegai Set\"/>\n<l:gentext key=\"Sidebar\" text=\"Bar Ochr\"/>\n<l:gentext key=\"sidebar\" text=\"bar ochr\"/>\n<l:gentext key=\"step\" text=\"cam\"/>\n<l:gentext key=\"Step\" text=\"Cam\"/>\n<l:gentext key=\"table\" text=\"Tabl\"/>\n<l:gentext key=\"Table\" text=\"Tabl\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"Cynghoryn\"/>\n<l:gentext key=\"TIP\" text=\"CYNGHORYN\"/>\n<l:gentext key=\"Tip\" text=\"Cynghoryn\"/>\n<l:gentext key=\"Warning\" text=\"Rhybudd\"/>\n<l:gentext key=\"warning\" text=\"Rhybudd\"/>\n<l:gentext key=\"WARNING\" text=\"RHYBUDD\"/>\n<l:gentext key=\"and\" text=\"a(c)\"/>\n<l:gentext key=\"or\" text=\"neu\"/>\n<l:gentext key=\"by\" text=\"gan\"/>\n<l:gentext key=\"Edited\" text=\"Golygwyd\"/>\n<l:gentext key=\"edited\" text=\"Golygwyd\"/>\n<l:gentext key=\"Editedby\" text=\"Golygwyd:\"/>\n<l:gentext key=\"editedby\" text=\"Golygwyd:\"/>\n<l:gentext key=\"in\" text=\"yn\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Nodiadau\"/>\n<l:gentext key=\"Notes\" text=\"Nodiadau\"/>\n<l:gentext key=\"Pgs\" text=\"Tud.\"/>\n<l:gentext key=\"pgs\" text=\"Tud.\"/>\n<l:gentext key=\"Revisedby\" text=\"Adolygwyd: \"/>\n<l:gentext key=\"revisedby\" text=\"Adolygwyd: \"/>\n<l:gentext key=\"TableNotes\" text=\"Nodiadau\"/>\n<l:gentext key=\"tablenotes\" text=\"Nodiadau\"/>\n<l:gentext key=\"TableofContents\" text=\"Cynnwys\"/>\n<l:gentext key=\"tableofcontents\" text=\"Cynnwys\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Enw elfen annisgwyl\"/>\n<l:gentext key=\"unsupported\" text=\"ni chynhelir\"/>\n<l:gentext key=\"xrefto\" text=\"xref i\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"Rhestr Hafaliadau\"/>\n<l:gentext key=\"ListofEquations\" text=\"Rhestr Hafaliadau\"/>\n<l:gentext key=\"ListofExamples\" text=\"Rhestr Hafaliadau\"/>\n<l:gentext key=\"listofexamples\" text=\"Rhestr Hafaliadau\"/>\n<l:gentext key=\"ListofFigures\" text=\"Rhestr Hafaliadau\"/>\n<l:gentext key=\"listoffigures\" text=\"Rhestr Hafaliadau\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Dull Gweithredu\"/>\n<l:gentext key=\"listofprocedures\" text=\"Dull Gweithredu\"/>\n<l:gentext key=\"listoftables\" text=\"Rhestr Tablau\"/>\n<l:gentext key=\"ListofTables\" text=\"Rhestr Tablau\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Rhestr Anhysbysion\"/>\n<l:gentext key=\"listofunknown\" text=\"Rhestr Anhysbysion\"/>\n<l:gentext key=\"nav-home\" text=\"Cartref\"/>\n<l:gentext key=\"nav-next\" text=\"Nesaf\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Ymlaen\"/>\n<l:gentext key=\"nav-prev\" text=\"Cynt\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Yn Ôl\"/>\n<l:gentext key=\"nav-up\" text=\"I Fyny\"/>\n<l:gentext key=\"nav-toc\" text=\"Cynnwys\"/>\n<l:gentext key=\"Draft\" text=\"Drafft\"/>\n<l:gentext key=\"above\" text=\"uchod\"/>\n<l:gentext key=\"below\" text=\"isod\"/>\n<l:gentext key=\"sectioncalled\" text=\"yr adran o'r enw\"/>\n<l:gentext key=\"index symbols\" text=\"Symbolau\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"cyntaf-olaf\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Atodiad %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Pennod %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Hafaliad %n. %t\"/>\n<l:template name=\"example\" text=\"Enghraifft %n. %t\"/>\n<l:template name=\"figure\" text=\"Ffigur %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Rhan %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Trefn %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Cynhyrchiad %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabl %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Atodiad %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Pennod %n. %t\"/>\n<l:template name=\"part\" text=\"Rhan %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"A: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"C: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"C: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" yn %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (tudalen %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(tudalen %p)\"/>\n<l:template name=\"docname\" text=\" yn %o\"/>\n<l:template name=\"docnamelong\" text=\" yn y ddogfen o'r enw %o\"/>\n<l:template name=\"pageabbrev\" text=\"(tud. %p)\"/>\n<l:template name=\"Page\" text=\"Tudalen %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"yr adran o'r enw “%t”\"/>\n<l:template name=\"refsection\" text=\"yr adran o'r enw “%t”\"/>\n<l:template name=\"refsect1\" text=\"yr adran o'r enw “%t”\"/>\n<l:template name=\"refsect2\" text=\"yr adran o'r enw “%t”\"/>\n<l:template name=\"refsect3\" text=\"yr adran o'r enw “%t”\"/>\n<l:template name=\"sect1\" text=\"yr adran o'r enw “%t”\"/>\n<l:template name=\"sect2\" text=\"yr adran o'r enw “%t”\"/>\n<l:template name=\"sect3\" text=\"yr adran o'r enw “%t”\"/>\n<l:template name=\"sect4\" text=\"yr adran o'r enw “%t”\"/>\n<l:template name=\"sect5\" text=\"yr adran o'r enw “%t”\"/>\n<l:template name=\"section\" text=\"yr adran o'r enw “%t”\"/>\n<l:template name=\"simplesect\" text=\"yr adran o'r enw “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"A: %n\"/>\n<l:template name=\"appendix\" text=\"Atodiad %n\"/>\n<l:template name=\"bridgehead\" text=\"Adran %n\"/>\n<l:template name=\"chapter\" text=\"Pennod %n\"/>\n<l:template name=\"equation\" text=\"Hafaliad %n\"/>\n<l:template name=\"example\" text=\"Enghraifft %n\"/>\n<l:template name=\"figure\" text=\"Ffigur %n\"/>\n<l:template name=\"part\" text=\"Rhan %n\"/>\n<l:template name=\"procedure\" text=\"Trefn %n\"/>\n<l:template name=\"productionset\" text=\"Cynhyrchiad %n\"/>\n<l:template name=\"qandadiv\" text=\"C &amp; A %n\"/>\n<l:template name=\"qandaentry\" text=\"C: %n\"/>\n<l:template name=\"question\" text=\"C: %n\"/>\n<l:template name=\"sect1\" text=\"Adran %n\"/>\n<l:template name=\"sect2\" text=\"Adran %n\"/>\n<l:template name=\"sect3\" text=\"Adran %n\"/>\n<l:template name=\"sect4\" text=\"Adran %n\"/>\n<l:template name=\"sect5\" text=\"Adran %n\"/>\n<l:template name=\"section\" text=\"Adran %n\"/>\n<l:template name=\"table\" text=\"Tabl %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Atodiad %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Adran %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Pennod %n, %t\"/>\n<l:template name=\"equation\" text=\"Hafaliad %n, “%t”\"/>\n<l:template name=\"example\" text=\"Enghraifft %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Ffigur %n, “%t”\"/>\n<l:template name=\"part\" text=\"Rhan %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Trefn %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Cynhyrchiad %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"C &amp; A %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"yr adran o'r enw “%t”\"/>\n<l:template name=\"refsect2\" text=\"yr adran o'r enw “%t”\"/>\n<l:template name=\"refsect3\" text=\"yr adran o'r enw “%t”\"/>\n<l:template name=\"refsection\" text=\"yr adran o'r enw “%t”\"/>\n<l:template name=\"sect1\" text=\"Adran %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Adran %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Adran %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Adran %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Adran %n, “%t”\"/>\n<l:template name=\"section\" text=\"Adran %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"yr adran o'r enw “%t”\"/>\n<l:template name=\"table\" text=\"Tabl %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" a(c) \"/>\n<l:template name=\"seplast\" text=\", a(c) \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Gweler %t.\"/>\n<l:template name=\"seealso\" text=\"Gweler Hefyd %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Cynulleidfa: \"/>\n<l:template name=\"MsgLevel\" text=\"Lefel: \"/>\n<l:template name=\"MsgOrig\" text=\"Tarddiad: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/B\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Diffiniad: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Ionawr\"/>\n<l:template name=\"February\" text=\"Chwefror\"/>\n<l:template name=\"March\" text=\"Mawrth\"/>\n<l:template name=\"April\" text=\"Ebrill\"/>\n<l:template name=\"May\" text=\"Mai\"/>\n<l:template name=\"June\" text=\"Mehefin\"/>\n<l:template name=\"July\" text=\"Gorffenaf\"/>\n<l:template name=\"August\" text=\"Awst\"/>\n<l:template name=\"September\" text=\"Medi\"/>\n<l:template name=\"October\" text=\"Hydref\"/>\n<l:template name=\"November\" text=\"Tachwedd\"/>\n<l:template name=\"December\" text=\"Rhagfyr\"/>\n<l:template name=\"Monday\" text=\"Dydd Llun\"/>\n<l:template name=\"Tuesday\" text=\"Dydd Mawrth\"/>\n<l:template name=\"Wednesday\" text=\"Dydd Mercher\"/>\n<l:template name=\"Thursday\" text=\"Dydd Iau\"/>\n<l:template name=\"Friday\" text=\"Dydd Gwener\"/>\n<l:template name=\"Saturday\" text=\"Dydd Sadwrn\"/>\n<l:template name=\"Sunday\" text=\"Dydd Sul\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Ion\"/>\n<l:template name=\"Feb\" text=\"Chwe\"/>\n<l:template name=\"Mar\" text=\"Maw\"/>\n<l:template name=\"Apr\" text=\"Ebr\"/>\n<l:template name=\"May\" text=\"Mai\"/>\n<l:template name=\"Jun\" text=\"Meh\"/>\n<l:template name=\"Jul\" text=\"Gorff\"/>\n<l:template name=\"Aug\" text=\"Awst\"/>\n<l:template name=\"Sep\" text=\"Medi\"/>\n<l:template name=\"Oct\" text=\"Hyd\"/>\n<l:template name=\"Nov\" text=\"Tach\"/>\n<l:template name=\"Dec\" text=\"Rhag\"/>\n<l:template name=\"Mon\" text=\"Llun\"/>\n<l:template name=\"Tue\" text=\"Mawrth\"/>\n<l:template name=\"Wed\" text=\"Mercher\"/>\n<l:template name=\"Thu\" text=\"Iau\"/>\n<l:template name=\"Fri\" text=\"Gwener\"/>\n<l:template name=\"Sat\" text=\"Sadwrn\"/>\n<l:template name=\"Sun\" text=\"Sul\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0409 Welsh (UNITED KINGDOM)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"35\">Ch</l:l>\n<l:l i=\"35\">ch</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"45\">Dd</l:l>\n<l:l i=\"45\">dd</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"65\">Ff</l:l>\n<l:l i=\"65\">ff</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"75\">Ng</l:l>\n<l:l i=\"75\">ng</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"125\">Ll</l:l>\n<l:l i=\"125\">ll</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"165\">Ph</l:l>\n<l:l i=\"165\">ph</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"185\">Rh</l:l>\n<l:l i=\"185\">rh</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"205\">Th</l:l>\n<l:l i=\"205\">th</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/da.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"da\" english-language-name=\"Danish\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/da.xml -->\n<!-- * -->\n<!-- * E-mail the edited da.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Resumé\"/>\n<l:gentext key=\"abstract\" text=\"resumé\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Erkendelser\"/>\n<l:gentext key=\"acknowledgements\" text=\"erkendelser\"/>\n<l:gentext key=\"Answer\" text=\"Svar:\"/>\n<l:gentext key=\"answer\" text=\"svar:\"/>\n<l:gentext key=\"Appendix\" text=\"Appendiks\"/>\n<l:gentext key=\"appendix\" text=\"appendiks\"/>\n<l:gentext key=\"Article\" text=\"Artikel\"/>\n<l:gentext key=\"article\" text=\"artikel\"/>\n<l:gentext key=\"Author\" text=\"Forfatter\"/>\n<l:gentext key=\"Bibliography\" text=\"Litteraturliste\"/>\n<l:gentext key=\"bibliography\" text=\"litteraturliste\"/>\n<l:gentext key=\"Book\" text=\"Bog\"/>\n<l:gentext key=\"book\" text=\"bog\"/>\n<l:gentext key=\"CAUTION\" text=\"PAS PÅ\"/>\n<l:gentext key=\"Caution\" text=\"Pas på\"/>\n<l:gentext key=\"caution\" text=\"pas på\"/>\n<l:gentext key=\"Chapter\" text=\"Kapitel\"/>\n<l:gentext key=\"chapter\" text=\"kapitel\"/>\n<l:gentext key=\"Colophon\" text=\"Kolofon\"/>\n<l:gentext key=\"colophon\" text=\"kolofon\"/>\n<l:gentext key=\"Copyright\" text=\"Ophavsret\"/>\n<l:gentext key=\"copyright\" text=\"ophavsret\"/>\n<l:gentext key=\"Dedication\" text=\"Tilegnet\"/>\n<l:gentext key=\"dedication\" text=\"tilegnet\"/>\n<l:gentext key=\"Edition\" text=\"Udgave\"/>\n<l:gentext key=\"edition\" text=\"udgave\"/>\n<l:gentext key=\"Editor\" text=\"Redaktør\"/>\n<l:gentext key=\"Equation\" text=\"Ligning\"/>\n<l:gentext key=\"equation\" text=\"ligning\"/>\n<l:gentext key=\"Example\" text=\"Eksempel\"/>\n<l:gentext key=\"example\" text=\"eksempel\"/>\n<l:gentext key=\"Figure\" text=\"Figur\"/>\n<l:gentext key=\"figure\" text=\"figur\"/>\n<l:gentext key=\"Glossary\" text=\"Ordliste\"/>\n<l:gentext key=\"glossary\" text=\"ordliste\"/>\n<l:gentext key=\"GlossSee\" text=\"Se\"/>\n<l:gentext key=\"glosssee\" text=\"se\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Se også\"/>\n<l:gentext key=\"glossseealso\" text=\"se også\"/>\n<l:gentext key=\"IMPORTANT\" text=\"VIGTIGT\"/>\n<l:gentext key=\"important\" text=\"vigtigt\"/>\n<l:gentext key=\"Important\" text=\"Vigtigt\"/>\n<l:gentext key=\"Index\" text=\"Stikordsregister\"/>\n<l:gentext key=\"index\" text=\"stikordsregister\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Retslig note\"/>\n<l:gentext key=\"legalnotice\" text=\"retslig note\"/>\n<l:gentext key=\"MsgAud\" text=\"Målgruppe\"/>\n<l:gentext key=\"msgaud\" text=\"målgruppe\"/>\n<l:gentext key=\"MsgLevel\" text=\"Niveau\"/>\n<l:gentext key=\"msglevel\" text=\"niveau\"/>\n<l:gentext key=\"MsgOrig\" text=\"Grundlag\"/>\n<l:gentext key=\"msgorig\" text=\"grundlag\"/>\n<l:gentext key=\"NOTE\" text=\"BEMÆRK\"/>\n<l:gentext key=\"Note\" text=\"Bemærk\"/>\n<l:gentext key=\"note\" text=\"bemærk\"/>\n<l:gentext key=\"Part\" text=\"Del\"/>\n<l:gentext key=\"part\" text=\"del\"/>\n<l:gentext key=\"Preface\" text=\"Forord\"/>\n<l:gentext key=\"preface\" text=\"forord\"/>\n<l:gentext key=\"Procedure\" text=\"Procedure\"/>\n<l:gentext key=\"procedure\" text=\"procedure\"/>\n<l:gentext key=\"ProductionSet\" text=\"Produktion\"/>\n<l:gentext key=\"PubDate\" text=\"Udgivelsesdato\"/>\n<l:gentext key=\"pubdate\" text=\"udgivelsesdato\"/>\n<l:gentext key=\"Published\" text=\"Udgivet\"/>\n<l:gentext key=\"published\" text=\"udgivet\"/>\n<l:gentext key=\"Publisher\" text=\"Udgiver\"/>\n<l:gentext key=\"Qandadiv\" text=\"Spørgsmål og Svar\"/>\n<l:gentext key=\"qandadiv\" text=\"Spørgsmål og Svar\"/>\n<l:gentext key=\"QandASet\" text=\"Ofte stillede spørgsmål\"/>\n<l:gentext key=\"Question\" text=\"Spørgsmål:\"/>\n<l:gentext key=\"question\" text=\"spørgsmål:\"/>\n<l:gentext key=\"RefEntry\" text=\"Side\"/>\n<l:gentext key=\"refentry\" text=\"side\"/>\n<l:gentext key=\"Reference\" text=\"Henvisning\"/>\n<l:gentext key=\"reference\" text=\"henvisning\"/>\n<l:gentext key=\"References\" text=\"Henvisninger\"/>\n<l:gentext key=\"RefName\" text=\"Navn\"/>\n<l:gentext key=\"refname\" text=\"navn\"/>\n<l:gentext key=\"RefSection\" text=\"Afsnit\"/>\n<l:gentext key=\"refsection\" text=\"afsnit\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Synopsis\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"synopsis\"/>\n<l:gentext key=\"RevHistory\" text=\"Revisionshistorie\"/>\n<l:gentext key=\"revhistory\" text=\"revisionshistorie\"/>\n<l:gentext key=\"revision\" text=\"revision\"/>\n<l:gentext key=\"Revision\" text=\"Revision\"/>\n<l:gentext key=\"sect1\" text=\"Afsnit\"/>\n<l:gentext key=\"sect2\" text=\"Afsnit\"/>\n<l:gentext key=\"sect3\" text=\"Afsnit\"/>\n<l:gentext key=\"sect4\" text=\"Afsnit\"/>\n<l:gentext key=\"sect5\" text=\"Afsnit\"/>\n<l:gentext key=\"section\" text=\"afsnit\"/>\n<l:gentext key=\"Section\" text=\"Afsnit\"/>\n<l:gentext key=\"see\" text=\"se\"/>\n<l:gentext key=\"See\" text=\"Se\"/>\n<l:gentext key=\"seealso\" text=\"se også\"/>\n<l:gentext key=\"Seealso\" text=\"Se også\"/>\n<l:gentext key=\"SeeAlso\" text=\"Se Også\"/>\n<l:gentext key=\"set\" text=\"sæt\"/>\n<l:gentext key=\"Set\" text=\"Sæt\"/>\n<l:gentext key=\"setindex\" text=\"sæt indeks\"/>\n<l:gentext key=\"SetIndex\" text=\"Sæt indeks\"/>\n<l:gentext key=\"Sidebar\" text=\"Sidebjælke\"/>\n<l:gentext key=\"sidebar\" text=\"sidebjælke\"/>\n<l:gentext key=\"step\" text=\"trin\"/>\n<l:gentext key=\"Step\" text=\"Trin\"/>\n<l:gentext key=\"table\" text=\"tabel\"/>\n<l:gentext key=\"Table\" text=\"Tabel\"/>\n<l:gentext key=\"task\" text=\"opgave\"/>\n<l:gentext key=\"Task\" text=\"Opgave\"/>\n<l:gentext key=\"tip\" text=\"vink\"/>\n<l:gentext key=\"TIP\" text=\"VINK\"/>\n<l:gentext key=\"Tip\" text=\"Vink\"/>\n<l:gentext key=\"Warning\" text=\"Advarsel\"/>\n<l:gentext key=\"warning\" text=\"advarsel\"/>\n<l:gentext key=\"WARNING\" text=\"ADVARSEL\"/>\n<l:gentext key=\"and\" text=\"og\"/>\n<l:gentext key=\"or\" text=\"eller\"/>\n<l:gentext key=\"by\" text=\"af\"/>\n<l:gentext key=\"Edited\" text=\"Redigeret\"/>\n<l:gentext key=\"edited\" text=\"redigeret\"/>\n<l:gentext key=\"Editedby\" text=\"Redigeret af\"/>\n<l:gentext key=\"editedby\" text=\"redigeret af\"/>\n<l:gentext key=\"in\" text=\"i\"/>\n<l:gentext key=\"lastlistcomma\" text=\"\"/>\n<l:gentext key=\"listcomma\" text=\", \"/>\n<l:gentext key=\"notes\" text=\"slutbemærkning:\"/>\n<l:gentext key=\"Notes\" text=\"Slutbemærkning:\"/>\n<l:gentext key=\"Pgs\" text=\"Siderne\"/>\n<l:gentext key=\"pgs\" text=\"siderne\"/>\n<l:gentext key=\"Revisedby\" text=\"Revideret af: \"/>\n<l:gentext key=\"revisedby\" text=\"revideret af: \"/>\n<l:gentext key=\"TableNotes\" text=\"Noter:\"/>\n<l:gentext key=\"tablenotes\" text=\"noter:\"/>\n<l:gentext key=\"TableofContents\" text=\"Indholdsfortegnelse\"/>\n<l:gentext key=\"tableofcontents\" text=\"indholdsfortegnelse\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"uventet elementnavn\"/>\n<l:gentext key=\"unsupported\" text=\"ikke understøttet\"/>\n<l:gentext key=\"xrefto\" text=\"krydshenvisning til\"/>\n<l:gentext key=\"Authors\" text=\"Forfattere\"/>\n<l:gentext key=\"copyeditor\" text=\"Kopieringsredaktør\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Grafisk designer\"/>\n<l:gentext key=\"productioneditor\" text=\"Produktionsredaktør\"/>\n<l:gentext key=\"technicaleditor\" text=\"Tekniskredaktør\"/>\n<l:gentext key=\"translator\" text=\"Oversætter\"/>\n<l:gentext key=\"listofequations\" text=\"ligningsliste\"/>\n<l:gentext key=\"ListofEquations\" text=\"Ligningsliste\"/>\n<l:gentext key=\"ListofExamples\" text=\"Eksempelliste\"/>\n<l:gentext key=\"listofexamples\" text=\"eksempelliste\"/>\n<l:gentext key=\"ListofFigures\" text=\"Figurliste\"/>\n<l:gentext key=\"listoffigures\" text=\"figurliste\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Procedureliste\"/>\n<l:gentext key=\"listofprocedures\" text=\"lrocedureliste\"/>\n<l:gentext key=\"listoftables\" text=\"tabelliste\"/>\n<l:gentext key=\"ListofTables\" text=\"Tabelliste\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Liste over ukendte\"/>\n<l:gentext key=\"listofunknown\" text=\"liste over ukendte\"/>\n<l:gentext key=\"nav-home\" text=\"hjem\"/>\n<l:gentext key=\"nav-next\" text=\"næste\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"hurtigt fremad\"/>\n<l:gentext key=\"nav-prev\" text=\"forrige\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"hurtigt tilbage\"/>\n<l:gentext key=\"nav-up\" text=\"op\"/>\n<l:gentext key=\"nav-toc\" text=\"Indholdsfortegnelse\"/>\n<l:gentext key=\"Draft\" text=\"Kladde\"/>\n<l:gentext key=\"above\" text=\"over\"/>\n<l:gentext key=\"below\" text=\"under\"/>\n<l:gentext key=\"sectioncalled\" text=\"afsnittet der hedder\"/>\n<l:gentext key=\"index symbols\" text=\"symboler\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyzæøå\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Appendiks %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Kapitel %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Ligning %n. %t\"/>\n<l:template name=\"example\" text=\"Eksempel %n. %t\"/>\n<l:template name=\"figure\" text=\"Figur %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Del %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Procedure %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Produktion %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Spørgsmål: %n\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabel %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Appendiks %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Kapitel %n. %t\"/>\n<l:template name=\"part\" text=\"Del %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"Svar: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Spørgsmål: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Spørgsmål: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"afsnittet der hedder “%t”\"/>\n<l:template name=\"refsection\" text=\"“%t”\"/>\n<l:template name=\"refsect1\" text=\"“%t”\"/>\n<l:template name=\"refsect2\" text=\"“%t”\"/>\n<l:template name=\"refsect3\" text=\"“%t”\"/>\n<l:template name=\"sect1\" text=\"“%t”\"/>\n<l:template name=\"sect2\" text=\"“%t”\"/>\n<l:template name=\"sect3\" text=\"“%t”\"/>\n<l:template name=\"sect4\" text=\"“%t”\"/>\n<l:template name=\"sect5\" text=\"“%t”\"/>\n<l:template name=\"section\" text=\"“%t”\"/>\n<l:template name=\"simplesect\" text=\"“%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Svar: %n\"/>\n<l:template name=\"appendix\" text=\"Appendiks %n\"/>\n<l:template name=\"bridgehead\" text=\"Afsnit %n\"/>\n<l:template name=\"chapter\" text=\"Kapitel %n\"/>\n<l:template name=\"equation\" text=\"Ligning %n\"/>\n<l:template name=\"example\" text=\"Eksempel %n\"/>\n<l:template name=\"figure\" text=\"Figur %n\"/>\n<l:template name=\"part\" text=\"Del %n\"/>\n<l:template name=\"procedure\" text=\"Procedure %n\"/>\n<l:template name=\"productionset\" text=\"Produktion %n\"/>\n<l:template name=\"qandadiv\" text=\"Spørgsmål og Svar %n\"/>\n<l:template name=\"qandaentry\" text=\"Spørgsmål: %n\"/>\n<l:template name=\"question\" text=\"Spørgsmål: %n\"/>\n<l:template name=\"sect1\" text=\"Afsnit %n\"/>\n<l:template name=\"sect2\" text=\"Afsnit %n\"/>\n<l:template name=\"sect3\" text=\"Afsnit %n\"/>\n<l:template name=\"sect4\" text=\"Afsnit %n\"/>\n<l:template name=\"sect5\" text=\"Afsnit %n\"/>\n<l:template name=\"section\" text=\"Afsnit %n\"/>\n<l:template name=\"table\" text=\"Tabel %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Appendiks %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Afsnit %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Kapitel %n, %t\"/>\n<l:template name=\"equation\" text=\"Ligning %n, “%t”\"/>\n<l:template name=\"example\" text=\"Eksempel %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Figur %n, “%t”\"/>\n<l:template name=\"part\" text=\"Del %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Procedure %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Produktion %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"Spørgsmål og Svar %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"afsnittet der hedder “%t”\"/>\n<l:template name=\"refsect2\" text=\"afsnittet der hedder “%t”\"/>\n<l:template name=\"refsect3\" text=\"afsnittet der hedder “%t”\"/>\n<l:template name=\"refsection\" text=\"afsnittet der hedder “%t”\"/>\n<l:template name=\"sect1\" text=\"Afsnit %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Afsnit %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Afsnit %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Afsnit %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Afsnit %n, “%t”\"/>\n<l:template name=\"section\" text=\"Afsnit %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"afsnittet der hedder “%t”\"/>\n<l:template name=\"table\" text=\"Tabel %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\",  \"/>\n<l:template name=\"sep2\" text=\" og \"/>\n<l:template name=\"seplast\" text=\" og \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Se %t.\"/>\n<l:template name=\"seealso\" text=\"Se også %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Målgruppe: \"/>\n<l:template name=\"MsgLevel\" text=\"Niveau: \"/>\n<l:template name=\"MsgOrig\" text=\"Grundlag: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Januar\"/>\n<l:template name=\"February\" text=\"Februar\"/>\n<l:template name=\"March\" text=\"Marts\"/>\n<l:template name=\"April\" text=\"April\"/>\n<l:template name=\"May\" text=\"Maj\"/>\n<l:template name=\"June\" text=\"Juni\"/>\n<l:template name=\"July\" text=\"July\"/>\n<l:template name=\"August\" text=\"August\"/>\n<l:template name=\"September\" text=\"September\"/>\n<l:template name=\"October\" text=\"Oktober\"/>\n<l:template name=\"November\" text=\"November\"/>\n<l:template name=\"December\" text=\"December\"/>\n<l:template name=\"Monday\" text=\"Mandag\"/>\n<l:template name=\"Tuesday\" text=\"Tirsdag\"/>\n<l:template name=\"Wednesday\" text=\"Onsdag\"/>\n<l:template name=\"Thursday\" text=\"Torsdag\"/>\n<l:template name=\"Friday\" text=\"Fredag\"/>\n<l:template name=\"Saturday\" text=\"Lørdag\"/>\n<l:template name=\"Sunday\" text=\"Søndag\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\"/>\n<l:template name=\"Feb\" text=\"Feb\"/>\n<l:template name=\"Mar\" text=\"Mar\"/>\n<l:template name=\"Apr\" text=\"Apr\"/>\n<l:template name=\"May\" text=\"Maj\"/>\n<l:template name=\"Jun\" text=\"Jun\"/>\n<l:template name=\"Jul\" text=\"Jul\"/>\n<l:template name=\"Aug\" text=\"Aug\"/>\n<l:template name=\"Sep\" text=\"Sep\"/>\n<l:template name=\"Oct\" text=\"Okt\"/>\n<l:template name=\"Nov\" text=\"Nov\"/>\n<l:template name=\"Dec\" text=\"Dec\"/>\n<l:template name=\"Mon\" text=\"Man\"/>\n<l:template name=\"Tue\" text=\"Tir\"/>\n<l:template name=\"Wed\" text=\"ins\"/>\n<l:template name=\"Thu\" text=\"Tor\"/>\n<l:template name=\"Fri\" text=\"Fre\"/>\n<l:template name=\"Sat\" text=\"Lør\"/>\n<l:template name=\"Sun\" text=\"Søn\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0406 Danish\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"1\">A</l:l>\n<l:l i=\"1\">a</l:l>\n<l:l i=\"2\">B</l:l>\n<l:l i=\"2\">b</l:l>\n<l:l i=\"3\">C</l:l>\n<l:l i=\"3\">c</l:l>\n<l:l i=\"4\">D</l:l>\n<l:l i=\"4\">d</l:l>\n<l:l i=\"5\">E</l:l>\n<l:l i=\"5\">e</l:l>\n<l:l i=\"6\">F</l:l>\n<l:l i=\"6\">f</l:l>\n<l:l i=\"7\">G</l:l>\n<l:l i=\"7\">g</l:l>\n<l:l i=\"8\">H</l:l>\n<l:l i=\"8\">h</l:l>\n<l:l i=\"9\">I</l:l>\n<l:l i=\"9\">i</l:l>\n<l:l i=\"10\">J</l:l>\n<l:l i=\"10\">j</l:l>\n<l:l i=\"11\">K</l:l>\n<l:l i=\"11\">k</l:l>\n<l:l i=\"12\">L</l:l>\n<l:l i=\"12\">l</l:l>\n<l:l i=\"13\">M</l:l>\n<l:l i=\"13\">m</l:l>\n<l:l i=\"14\">N</l:l>\n<l:l i=\"14\">n</l:l>\n<l:l i=\"15\">O</l:l>\n<l:l i=\"15\">o</l:l>\n<l:l i=\"16\">P</l:l>\n<l:l i=\"16\">p</l:l>\n<l:l i=\"17\">Q</l:l>\n<l:l i=\"17\">q</l:l>\n<l:l i=\"18\">R</l:l>\n<l:l i=\"18\">r</l:l>\n<l:l i=\"19\">S</l:l>\n<l:l i=\"19\">s</l:l>\n<l:l i=\"20\">T</l:l>\n<l:l i=\"20\">t</l:l>\n<l:l i=\"21\">U</l:l>\n<l:l i=\"21\">u</l:l>\n<l:l i=\"22\">V</l:l>\n<l:l i=\"22\">v</l:l>\n<l:l i=\"23\">W</l:l>\n<l:l i=\"23\">w</l:l>\n<l:l i=\"24\">X</l:l>\n<l:l i=\"24\">x</l:l>\n<l:l i=\"25\">Y</l:l>\n<l:l i=\"25\">y</l:l>\n<l:l i=\"26\">Z</l:l>\n<l:l i=\"26\">z</l:l>\n<l:l i=\"27\">Æ</l:l>\n<l:l i=\"27\">æ</l:l>\n<l:l i=\"28\">Ø</l:l>\n<l:l i=\"28\">ø</l:l>\n<l:l i=\"29\">Å</l:l>\n<l:l i=\"29\">å</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/de.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"de\" english-language-name=\"German\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/de.xml -->\n<!-- * -->\n<!-- * E-mail the edited de.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Zusammenfassung\"/>\n<l:gentext key=\"abstract\" text=\"Zusammenfassung\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Danksagungen\"/>\n<l:gentext key=\"acknowledgements\" text=\"Danksagungen\"/>\n<l:gentext key=\"Answer\" text=\"A:\"/>\n<l:gentext key=\"answer\" text=\"A:\"/>\n<l:gentext key=\"Appendix\" text=\"Anhang\"/>\n<l:gentext key=\"appendix\" text=\"Anhang\"/>\n<l:gentext key=\"Article\" text=\"Artikel\"/>\n<l:gentext key=\"article\" text=\"Artikel\"/>\n<l:gentext key=\"Author\" text=\"Autor\"/>\n<l:gentext key=\"Bibliography\" text=\"Literaturverzeichnis\"/>\n<l:gentext key=\"bibliography\" text=\"Literaturverzeichnis\"/>\n<l:gentext key=\"Book\" text=\"Buch\"/>\n<l:gentext key=\"book\" text=\"Buch\"/>\n<l:gentext key=\"CAUTION\" text=\"ACHTUNG\"/>\n<l:gentext key=\"Caution\" text=\"Achtung\"/>\n<l:gentext key=\"caution\" text=\"Achtung\"/>\n<l:gentext key=\"Chapter\" text=\"Kapitel\"/>\n<l:gentext key=\"chapter\" text=\"Kapitel\"/>\n<l:gentext key=\"Colophon\" text=\"Kolophon\"/>\n<l:gentext key=\"colophon\" text=\"Kolophon\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"Copyright\"/>\n<l:gentext key=\"Dedication\" text=\"Widmung\"/>\n<l:gentext key=\"dedication\" text=\"Widmung\"/>\n<l:gentext key=\"Edition\" text=\"Ausgabe\"/>\n<l:gentext key=\"edition\" text=\"Ausgabe\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Gleichung\"/>\n<l:gentext key=\"equation\" text=\"Gleichung\"/>\n<l:gentext key=\"Example\" text=\"Beispiel\"/>\n<l:gentext key=\"example\" text=\"Beispiel\"/>\n<l:gentext key=\"Figure\" text=\"Abbildung\"/>\n<l:gentext key=\"figure\" text=\"Abbildung\"/>\n<l:gentext key=\"Glossary\" text=\"Glossar\"/>\n<l:gentext key=\"glossary\" text=\"Glossar\"/>\n<l:gentext key=\"GlossSee\" text=\"Siehe\"/>\n<l:gentext key=\"glosssee\" text=\"Siehe\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Siehe auch\"/>\n<l:gentext key=\"glossseealso\" text=\"Siehe auch\"/>\n<l:gentext key=\"IMPORTANT\" text=\"WICHTIG\"/>\n<l:gentext key=\"important\" text=\"Wichtig\"/>\n<l:gentext key=\"Important\" text=\"Wichtig\"/>\n<l:gentext key=\"Index\" text=\"Stichwortverzeichnis\"/>\n<l:gentext key=\"index\" text=\"Stichwortverzeichnis\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Rechtlicher Hinweis\"/>\n<l:gentext key=\"legalnotice\" text=\"Rechtlicher Hinweis\"/>\n<l:gentext key=\"MsgAud\" text=\"Zielgruppe\"/>\n<l:gentext key=\"msgaud\" text=\"Zielgruppe\"/>\n<l:gentext key=\"MsgLevel\" text=\"Dringlichkeit\"/>\n<l:gentext key=\"msglevel\" text=\"Dringlichkeit\"/>\n<l:gentext key=\"MsgOrig\" text=\"Ursprung\"/>\n<l:gentext key=\"msgorig\" text=\"Ursprung\"/>\n<l:gentext key=\"NOTE\" text=\"ANMERKUNG\"/>\n<l:gentext key=\"Note\" text=\"Anmerkung\"/>\n<l:gentext key=\"note\" text=\"Anmerkung\"/>\n<l:gentext key=\"Part\" text=\"Teil\"/>\n<l:gentext key=\"part\" text=\"Teil\"/>\n<l:gentext key=\"Preface\" text=\"Vorwort\"/>\n<l:gentext key=\"preface\" text=\"Vorwort\"/>\n<l:gentext key=\"Procedure\" text=\"Prozedur\"/>\n<l:gentext key=\"procedure\" text=\"Prozedur\"/>\n<l:gentext key=\"ProductionSet\" text=\"Produktion\"/>\n<l:gentext key=\"PubDate\" text=\"Veröffentlicht\"/>\n<l:gentext key=\"pubdate\" text=\"Veröffentlicht\"/>\n<l:gentext key=\"Published\" text=\"Veröffentlicht\"/>\n<l:gentext key=\"published\" text=\"Veröffentlicht\"/>\n<l:gentext key=\"Publisher\" text=\"Herausgeber\"/>\n<l:gentext key=\"Qandadiv\" text=\"F &amp; A\"/>\n<l:gentext key=\"qandadiv\" text=\"F &amp; A\"/>\n<l:gentext key=\"QandASet\" text=\"Häufig gestellte Fragen\"/>\n<l:gentext key=\"Question\" text=\"F:\"/>\n<l:gentext key=\"question\" text=\"F:\"/>\n<l:gentext key=\"RefEntry\" text=\"Seite\"/>\n<l:gentext key=\"refentry\" text=\"seite\"/>\n<l:gentext key=\"Reference\" text=\"Verweis\"/>\n<l:gentext key=\"reference\" text=\"Verweis\"/>\n<l:gentext key=\"References\" text=\"Verweise\"/>\n<l:gentext key=\"RefName\" text=\"Name\"/>\n<l:gentext key=\"refname\" text=\"Name\"/>\n<l:gentext key=\"RefSection\" text=\"Abschnitt\"/>\n<l:gentext key=\"refsection\" text=\"Abschnitt\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Übersicht\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Übersicht\"/>\n<l:gentext key=\"RevHistory\" text=\"Versionsgeschichte\"/>\n<l:gentext key=\"revhistory\" text=\"Versionsgeschichte\"/>\n<l:gentext key=\"revision\" text=\"Version\"/>\n<l:gentext key=\"Revision\" text=\"Version\"/>\n<l:gentext key=\"sect1\" text=\"Abschnitt\"/>\n<l:gentext key=\"sect2\" text=\"Abschnitt\"/>\n<l:gentext key=\"sect3\" text=\"Abschnitt\"/>\n<l:gentext key=\"sect4\" text=\"Abschnitt\"/>\n<l:gentext key=\"sect5\" text=\"Abschnitt\"/>\n<l:gentext key=\"section\" text=\"Abschnitt\"/>\n<l:gentext key=\"Section\" text=\"Abschnitt\"/>\n<l:gentext key=\"see\" text=\"Siehe\"/>\n<l:gentext key=\"See\" text=\"Siehe\"/>\n<l:gentext key=\"seealso\" text=\"Siehe auch\"/>\n<l:gentext key=\"Seealso\" text=\"Siehe auch\"/>\n<l:gentext key=\"SeeAlso\" text=\"Siehe auch\"/>\n<l:gentext key=\"set\" text=\"Satz\"/>\n<l:gentext key=\"Set\" text=\"Satz\"/>\n<l:gentext key=\"setindex\" text=\"Stichwortverzeichnis\"/>\n<l:gentext key=\"SetIndex\" text=\"Stichwortverzeichnis\"/>\n<l:gentext key=\"Sidebar\" text=\"Randnotiz\"/>\n<l:gentext key=\"sidebar\" text=\"randnotiz\"/>\n<l:gentext key=\"step\" text=\"Schritt\"/>\n<l:gentext key=\"Step\" text=\"Schritt\"/>\n<l:gentext key=\"table\" text=\"Tabelle\"/>\n<l:gentext key=\"Table\" text=\"Tabelle\"/>\n<l:gentext key=\"task\" text=\"aufgabe\"/>\n<l:gentext key=\"Task\" text=\"Aufgabe\"/>\n<l:gentext key=\"tip\" text=\"Tipp\"/>\n<l:gentext key=\"TIP\" text=\"TIPP\"/>\n<l:gentext key=\"Tip\" text=\"Tipp\"/>\n<l:gentext key=\"Warning\" text=\"Warnung\"/>\n<l:gentext key=\"warning\" text=\"Warnung\"/>\n<l:gentext key=\"WARNING\" text=\"WARNUNG\"/>\n<l:gentext key=\"and\" text=\"und\"/>\n<l:gentext key=\"or\" text=\"oder\"/>\n<l:gentext key=\"by\" text=\"von\"/>\n<l:gentext key=\"Edited\" text=\"Herausgegeben\"/>\n<l:gentext key=\"edited\" text=\"Herausgegeben\"/>\n<l:gentext key=\"Editedby\" text=\"Herausgegeben von\"/>\n<l:gentext key=\"editedby\" text=\"Herausgegeben von\"/>\n<l:gentext key=\"in\" text=\"in\"/>\n<l:gentext key=\"lastlistcomma\" text=\"\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Fußnoten\"/>\n<l:gentext key=\"Notes\" text=\"Fußnoten\"/>\n<l:gentext key=\"Pgs\" text=\"Seiten\"/>\n<l:gentext key=\"pgs\" text=\"Seiten\"/>\n<l:gentext key=\"Revisedby\" text=\"Geändert durch: \"/>\n<l:gentext key=\"revisedby\" text=\"Geändert durch: \"/>\n<l:gentext key=\"TableNotes\" text=\"Bemerkungen\"/>\n<l:gentext key=\"tablenotes\" text=\"Bemerkungen\"/>\n<l:gentext key=\"TableofContents\" text=\"Inhaltsverzeichnis\"/>\n<l:gentext key=\"tableofcontents\" text=\"Inhaltsverzeichnis\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Unerwarteter Elementname\"/>\n<l:gentext key=\"unsupported\" text=\"wird nicht unterstützt\"/>\n<l:gentext key=\"xrefto\" text=\"xref auf\"/>\n<l:gentext key=\"Authors\" text=\"Autoren\"/>\n<l:gentext key=\"copyeditor\" text=\"Korrekteur\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Grafikgestalter\"/>\n<l:gentext key=\"productioneditor\" text=\"Produktions-Verfasser\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technischer Verfasser\"/>\n<l:gentext key=\"translator\" text=\"Übersetzer\"/>\n<l:gentext key=\"listofequations\" text=\"Gleichungen\"/>\n<l:gentext key=\"ListofEquations\" text=\"Gleichungen\"/>\n<l:gentext key=\"ListofExamples\" text=\"Liste der Beispiele\"/>\n<l:gentext key=\"listofexamples\" text=\"Liste der Beispiele\"/>\n<l:gentext key=\"ListofFigures\" text=\"Abbildungsverzeichnis\"/>\n<l:gentext key=\"listoffigures\" text=\"Abbildungsverzeichnis\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Liste der Prozeduren\"/>\n<l:gentext key=\"listofprocedures\" text=\"Liste der Prozeduren\"/>\n<l:gentext key=\"listoftables\" text=\"Tabellenverzeichnis\"/>\n<l:gentext key=\"ListofTables\" text=\"Tabellenverzeichnis\"/>\n<l:gentext key=\"ListofUnknown\" text=\"???-Verzeichnis\"/>\n<l:gentext key=\"listofunknown\" text=\"???-Verzeichnis\"/>\n<l:gentext key=\"nav-home\" text=\"Zum Anfang\"/>\n<l:gentext key=\"nav-next\" text=\"Weiter\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Schnell weiter\"/>\n<l:gentext key=\"nav-prev\" text=\"Zurück\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Schnell zurück\"/>\n<l:gentext key=\"nav-up\" text=\"Nach oben\"/>\n<l:gentext key=\"nav-toc\" text=\"InhV\"/>\n<l:gentext key=\"Draft\" text=\"Entwurf\"/>\n<l:gentext key=\"above\" text=\"oben\"/>\n<l:gentext key=\"below\" text=\"unten\"/>\n<l:gentext key=\"sectioncalled\" text=\"der Abschnitt namens\"/>\n<l:gentext key=\"index symbols\" text=\"Symbole\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyzäöüß\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜß\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"„\"/>\n<l:dingbat key=\"endquote\" text=\"“\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‚\"/>\n<l:dingbat key=\"nestedendquote\" text=\"‘\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‚\"/>\n<l:dingbat key=\"singleendquote\" text=\"‘\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"3\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\"/>\n<l:template name=\"backspace\" text=\"&lt;—\"/>\n<l:template name=\"command\" text=\"⌘\"/>\n<l:template name=\"control\" text=\"Strg\"/>\n<l:template name=\"delete\" text=\"Entf\"/>\n<l:template name=\"down\" text=\"↓\"/>\n<l:template name=\"end\" text=\"Ende\"/>\n<l:template name=\"enter\" text=\"Eingabetaste\"/>\n<l:template name=\"escape\" text=\"Esc\"/>\n<l:template name=\"home\" text=\"Pos1\"/>\n<l:template name=\"insert\" text=\"Einfg\"/>\n<l:template name=\"left\" text=\"←\"/>\n<l:template name=\"meta\" text=\"Meta\"/>\n<l:template name=\"option\" text=\"???\"/>\n<l:template name=\"pagedown\" text=\"Bild ↓\"/>\n<l:template name=\"pageup\" text=\"Bild ↑\"/>\n<l:template name=\"right\" text=\"→\"/>\n<l:template name=\"shift\" text=\"Shift\"/>\n<l:template name=\"space\" text=\"Space\"/>\n<l:template name=\"tab\" text=\"→|\"/>\n<l:template name=\"up\" text=\"↑\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Suchen\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Geben Sie einen Begriff ein und wählen Sie \"/>\n<l:template name=\"Go\" text=\"Go\"/>\n<l:template name=\"to_perform_a_search\" text=\", um eine Suche durchzuführen.\"/>\n<l:template name=\"txt_filesfound\" text=\"Ergebnisse\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"Sie müssen mindestens ein Zeichen eingeben.\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript ist in Ihrem Browser abgeschaltet. Bitte schalten Sie JavaScript an, damit diese Seiten vollständig dargestellt werden.\"/>\n<l:template name=\"txt_please_wait\" text=\"Bitte warten Sie. Die Suche ist im Gange ...\"/>\n<l:template name=\"txt_results_for\" text=\"Ergebnisse für: \"/>\n<l:template name=\"TableofContents\" text=\"Inhalt\"/>\n<l:template name=\"HighlightButton\" text=\"Markierte Suchergebnisse ein/ausschalten\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Ihre Suche erbrachte kein Ergebnis.\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Anhang %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Kapitel %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Gleichung %n. %t\"/>\n<l:template name=\"example\" text=\"Beispiel %n. %t\"/>\n<l:template name=\"figure\" text=\"Abbildung %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Teil %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Prozedur %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Produktion %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"F: %n\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabelle %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Anhang %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Kapitel %n. %t\"/>\n<l:template name=\"part\" text=\"Teil %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"A: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"F: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"F: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(Seite %p)\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(S. %p)\"/>\n<l:template name=\"Page\" text=\"Seite %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"„%t“\"/>\n<l:template name=\"refsection\" text=\"„%t“\"/>\n<l:template name=\"refsect1\" text=\"„%t“\"/>\n<l:template name=\"refsect2\" text=\"„%t“\"/>\n<l:template name=\"refsect3\" text=\"„%t“\"/>\n<l:template name=\"sect1\" text=\"„%t“\"/>\n<l:template name=\"sect2\" text=\"„%t“\"/>\n<l:template name=\"sect3\" text=\"„%t“\"/>\n<l:template name=\"sect4\" text=\"„%t“\"/>\n<l:template name=\"sect5\" text=\"„%t“\"/>\n<l:template name=\"section\" text=\"„%t“\"/>\n<l:template name=\"simplesect\" text=\"„%t“\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"A: %n\"/>\n<l:template name=\"appendix\" text=\"Anhang %n\"/>\n<l:template name=\"bridgehead\" text=\"Abschnitt %n\"/>\n<l:template name=\"chapter\" text=\"Kapitel %n\"/>\n<l:template name=\"equation\" text=\"Gleichung %n\"/>\n<l:template name=\"example\" text=\"Beispiel %n\"/>\n<l:template name=\"figure\" text=\"Abbildung %n\"/>\n<l:template name=\"part\" text=\"Teil %n\"/>\n<l:template name=\"procedure\" text=\"Prozedur %n\"/>\n<l:template name=\"productionset\" text=\"Produktion %n\"/>\n<l:template name=\"qandadiv\" text=\"F &amp; A %n\"/>\n<l:template name=\"qandaentry\" text=\"F: %n\"/>\n<l:template name=\"question\" text=\"F: %n\"/>\n<l:template name=\"sect1\" text=\"Abschnitt %n\"/>\n<l:template name=\"sect2\" text=\"Abschnitt %n\"/>\n<l:template name=\"sect3\" text=\"Abschnitt %n\"/>\n<l:template name=\"sect4\" text=\"Abschnitt %n\"/>\n<l:template name=\"sect5\" text=\"Abschnitt %n\"/>\n<l:template name=\"section\" text=\"Abschnitt %n\"/>\n<l:template name=\"table\" text=\"Tabelle %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Anhang %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Abschnitt %n, „%t“\"/>\n<l:template name=\"chapter\" text=\"Kapitel %n, %t\"/>\n<l:template name=\"equation\" text=\"Gleichung %n, „%t“\"/>\n<l:template name=\"example\" text=\"Beispiel %n, „%t“\"/>\n<l:template name=\"figure\" text=\"Abbildung %n, „%t“\"/>\n<l:template name=\"part\" text=\"Teil %n, „%t“\"/>\n<l:template name=\"procedure\" text=\"Prozedur %n, „%t“\"/>\n<l:template name=\"productionset\" text=\"Produktion %n, „%t“\"/>\n<l:template name=\"qandadiv\" text=\"F &amp; A %n, „%t“\"/>\n<l:template name=\"refsect1\" text=\"der Abschnitt namens „%t“\"/>\n<l:template name=\"refsect2\" text=\"der Abschnitt namens „%t“\"/>\n<l:template name=\"refsect3\" text=\"der Abschnitt namens „%t“\"/>\n<l:template name=\"refsection\" text=\"der Abschnitt namens „%t“\"/>\n<l:template name=\"sect1\" text=\"Abschnitt %n, „%t“\"/>\n<l:template name=\"sect2\" text=\"Abschnitt %n, „%t“\"/>\n<l:template name=\"sect3\" text=\"Abschnitt %n, „%t“\"/>\n<l:template name=\"sect4\" text=\"Abschnitt %n, „%t“\"/>\n<l:template name=\"sect5\" text=\"Abschnitt %n, „%t“\"/>\n<l:template name=\"section\" text=\"Abschnitt %n, „%t“\"/>\n<l:template name=\"simplesect\" text=\"der Abschnitt namens „%t“\"/>\n<l:template name=\"table\" text=\"Tabelle %n, „%t“\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" und \"/>\n<l:template name=\"seplast\" text=\" und \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Siehe %t.\"/>\n<l:template name=\"seealso\" text=\"Siehe auch %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Zielgruppe: \"/>\n<l:template name=\"MsgLevel\" text=\"Dringlichkeit: \"/>\n<l:template name=\"MsgOrig\" text=\"Ursprung: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d.m.Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Januar\"/>\n<l:template name=\"February\" text=\"Februar\"/>\n<l:template name=\"March\" text=\"März\"/>\n<l:template name=\"April\" text=\"April\"/>\n<l:template name=\"May\" text=\"Mai\"/>\n<l:template name=\"June\" text=\"Juni\"/>\n<l:template name=\"July\" text=\"Juli\"/>\n<l:template name=\"August\" text=\"August\"/>\n<l:template name=\"September\" text=\"September\"/>\n<l:template name=\"October\" text=\"Oktober\"/>\n<l:template name=\"November\" text=\"November\"/>\n<l:template name=\"December\" text=\"Dezember\"/>\n<l:template name=\"Monday\" text=\"Montag\"/>\n<l:template name=\"Tuesday\" text=\"Dienstag\"/>\n<l:template name=\"Wednesday\" text=\"Mittwoch\"/>\n<l:template name=\"Thursday\" text=\"Donnerstag\"/>\n<l:template name=\"Friday\" text=\"Freitag\"/>\n<l:template name=\"Saturday\" text=\"Samstag\"/>\n<l:template name=\"Sunday\" text=\"Sonntag\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\"/>\n<l:template name=\"Feb\" text=\"Feb\"/>\n<l:template name=\"Mar\" text=\"Mar\"/>\n<l:template name=\"Apr\" text=\"Apr\"/>\n<l:template name=\"May\" text=\"Mai\"/>\n<l:template name=\"Jun\" text=\"Jun\"/>\n<l:template name=\"Jul\" text=\"Jul\"/>\n<l:template name=\"Aug\" text=\"Aug\"/>\n<l:template name=\"Sep\" text=\"Sep\"/>\n<l:template name=\"Oct\" text=\"Okt\"/>\n<l:template name=\"Nov\" text=\"Nov\"/>\n<l:template name=\"Dec\" text=\"Dez\"/>\n<l:template name=\"Mon\" text=\"Mo\"/>\n<l:template name=\"Tue\" text=\"Di\"/>\n<l:template name=\"Wed\" text=\"Mi\"/>\n<l:template name=\"Thu\" text=\"Do\"/>\n<l:template name=\"Fri\" text=\"Fr\"/>\n<l:template name=\"Sat\" text=\"Sa\"/>\n<l:template name=\"Sun\" text=\"So\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0407 German (GERMANY)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbole</l:l>\n<l:l i=\"1\">A</l:l>\n<l:l i=\"1\">a</l:l>\n<l:l i=\"1\">Ä</l:l>\n<l:l i=\"1\">ä</l:l>\n<l:l i=\"2\">B</l:l>\n<l:l i=\"2\">b</l:l>\n<l:l i=\"3\">C</l:l>\n<l:l i=\"3\">c</l:l>\n<l:l i=\"4\">D</l:l>\n<l:l i=\"4\">d</l:l>\n<l:l i=\"5\">E</l:l>\n<l:l i=\"5\">e</l:l>\n<l:l i=\"6\">F</l:l>\n<l:l i=\"6\">f</l:l>\n<l:l i=\"7\">G</l:l>\n<l:l i=\"7\">g</l:l>\n<l:l i=\"8\">H</l:l>\n<l:l i=\"8\">h</l:l>\n<l:l i=\"9\">I</l:l>\n<l:l i=\"9\">i</l:l>\n<l:l i=\"10\">J</l:l>\n<l:l i=\"10\">j</l:l>\n<l:l i=\"11\">K</l:l>\n<l:l i=\"11\">k</l:l>\n<l:l i=\"12\">L</l:l>\n<l:l i=\"12\">l</l:l>\n<l:l i=\"13\">M</l:l>\n<l:l i=\"13\">m</l:l>\n<l:l i=\"14\">N</l:l>\n<l:l i=\"14\">n</l:l>\n<l:l i=\"15\">O</l:l>\n<l:l i=\"15\">o</l:l>\n<l:l i=\"15\">Ö</l:l>\n<l:l i=\"15\">ö</l:l>\n<l:l i=\"16\">P</l:l>\n<l:l i=\"16\">p</l:l>\n<l:l i=\"17\">Q</l:l>\n<l:l i=\"17\">q</l:l>\n<l:l i=\"18\">R</l:l>\n<l:l i=\"18\">r</l:l>\n<l:l i=\"19\">S</l:l>\n<l:l i=\"19\">s</l:l>\n<l:l i=\"20\">T</l:l>\n<l:l i=\"20\">t</l:l>\n<l:l i=\"21\">U</l:l>\n<l:l i=\"21\">u</l:l>\n<l:l i=\"21\">Ü</l:l>\n<l:l i=\"21\">ü</l:l>\n<l:l i=\"22\">V</l:l>\n<l:l i=\"22\">v</l:l>\n<l:l i=\"23\">W</l:l>\n<l:l i=\"23\">w</l:l>\n<l:l i=\"24\">X</l:l>\n<l:l i=\"24\">x</l:l>\n<l:l i=\"25\">Y</l:l>\n<l:l i=\"25\">y</l:l>\n<l:l i=\"26\">Z</l:l>\n<l:l i=\"26\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/el.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"el\" english-language-name=\"Greek\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/el.xml -->\n<!-- * -->\n<!-- * E-mail the edited el.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Περίληψη\"/>\n<l:gentext key=\"abstract\" text=\"περίληψη\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Αναγνωρίσεις\"/>\n<l:gentext key=\"acknowledgements\" text=\"αναγνωρίσεις\"/>\n<l:gentext key=\"Answer\" text=\"Α:\"/>\n<l:gentext key=\"answer\" text=\"α:\"/>\n<l:gentext key=\"Appendix\" text=\"Παράρτημα\"/>\n<l:gentext key=\"appendix\" text=\"παράρτημα\"/>\n<l:gentext key=\"Article\" text=\"Άρθρο\"/>\n<l:gentext key=\"article\" text=\"άρθρο\"/>\n<l:gentext key=\"Author\" text=\"Συγγραφέας\"/>\n<l:gentext key=\"Bibliography\" text=\"Βιβλιογραφία\"/>\n<l:gentext key=\"bibliography\" text=\"βιβλιογραφία\"/>\n<l:gentext key=\"Book\" text=\"Βιβλίο\"/>\n<l:gentext key=\"book\" text=\"βιβλίο\"/>\n<l:gentext key=\"CAUTION\" text=\"ΠΡΟΣΟΧΗ\"/>\n<l:gentext key=\"Caution\" text=\"Προσοχή\"/>\n<l:gentext key=\"caution\" text=\"προσοχή\"/>\n<l:gentext key=\"Chapter\" text=\"Κεφάλαιο\"/>\n<l:gentext key=\"chapter\" text=\"κεφάλαιο\"/>\n<l:gentext key=\"Colophon\" text=\"Κορωνίδα\"/>\n<l:gentext key=\"colophon\" text=\"κορωνίδα\"/>\n<l:gentext key=\"Copyright\" text=\"Πνευματικά Δικαιώματα\"/>\n<l:gentext key=\"copyright\" text=\"πνευματικά Δικαιώματα\"/>\n<l:gentext key=\"Dedication\" text=\"Αφιέρωση\"/>\n<l:gentext key=\"dedication\" text=\"αφιέρωση\"/>\n<l:gentext key=\"Edition\" text=\"Έκδοση\"/>\n<l:gentext key=\"edition\" text=\"έκδοση\"/>\n<l:gentext key=\"Editor\" text=\"Εκδότης\"/>\n<l:gentext key=\"Equation\" text=\"Εξίσωση\"/>\n<l:gentext key=\"equation\" text=\"εξίσωση\"/>\n<l:gentext key=\"Example\" text=\"Παράδειγμα\"/>\n<l:gentext key=\"example\" text=\"παράδειγμα\"/>\n<l:gentext key=\"Figure\" text=\"Σχήμα\"/>\n<l:gentext key=\"figure\" text=\"σχήμα\"/>\n<l:gentext key=\"Glossary\" text=\"Γλωσσάριο\"/>\n<l:gentext key=\"glossary\" text=\"γλωσσάριο\"/>\n<l:gentext key=\"GlossSee\" text=\"Δείτε\"/>\n<l:gentext key=\"glosssee\" text=\"δείτε\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Δείτε Επίσης\"/>\n<l:gentext key=\"glossseealso\" text=\"δείτε Επίσης\"/>\n<l:gentext key=\"IMPORTANT\" text=\"ΣΗΜΑΝΤΙΚΟ\"/>\n<l:gentext key=\"important\" text=\"σημαντικό\"/>\n<l:gentext key=\"Important\" text=\"Σημαντικό\"/>\n<l:gentext key=\"Index\" text=\"Ευρετήριο\"/>\n<l:gentext key=\"index\" text=\"ευρετήριο\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Νομική Σημείωση\"/>\n<l:gentext key=\"legalnotice\" text=\"νομική σημείωση\"/>\n<l:gentext key=\"MsgAud\" text=\"Ακροατήριο\"/>\n<l:gentext key=\"msgaud\" text=\"ακροατήριο\"/>\n<l:gentext key=\"MsgLevel\" text=\"Επίπεδο\"/>\n<l:gentext key=\"msglevel\" text=\"επίπεδο\"/>\n<l:gentext key=\"MsgOrig\" text=\"Πηγή\"/>\n<l:gentext key=\"msgorig\" text=\"πηγή\"/>\n<l:gentext key=\"NOTE\" text=\"ΣΗΜΕΙΩΣΗ\"/>\n<l:gentext key=\"Note\" text=\"Σημείωση\"/>\n<l:gentext key=\"note\" text=\"σημείωση\"/>\n<l:gentext key=\"Part\" text=\"Μέρος\"/>\n<l:gentext key=\"part\" text=\"μέρος\"/>\n<l:gentext key=\"Preface\" text=\"Εισαγωγή\"/>\n<l:gentext key=\"preface\" text=\"εισαγωγή\"/>\n<l:gentext key=\"Procedure\" text=\"Διαδικασία\"/>\n<l:gentext key=\"procedure\" text=\"διαδικασία\"/>\n<l:gentext key=\"ProductionSet\" text=\"Παραγωγή\"/>\n<l:gentext key=\"PubDate\" text=\"Ημερομηνία Δημοσίευσης\"/>\n<l:gentext key=\"pubdate\" text=\"ημερομηνία Δημοσίευσης\"/>\n<l:gentext key=\"Published\" text=\"Δημοσιευμένο\"/>\n<l:gentext key=\"published\" text=\"δημοσιευμένο\"/>\n<l:gentext key=\"Publisher\" text=\"Εκδότης\"/>\n<l:gentext key=\"Qandadiv\" text=\"Ε και Α\"/>\n<l:gentext key=\"qandadiv\" text=\"ε και α\"/>\n<l:gentext key=\"QandASet\" text=\"Συχνές Ερωτήσεις\"/>\n<l:gentext key=\"Question\" text=\"Ε:\"/>\n<l:gentext key=\"question\" text=\"ε:\"/>\n<l:gentext key=\"RefEntry\" text=\"Σελίδα\"/>\n<l:gentext key=\"refentry\" text=\"σελίδα\"/>\n<l:gentext key=\"Reference\" text=\"Αναφορά\"/>\n<l:gentext key=\"reference\" text=\"αναφορά\"/>\n<l:gentext key=\"References\" text=\"Αναφορές\"/>\n<l:gentext key=\"RefName\" text=\"Όνομα\"/>\n<l:gentext key=\"refname\" text=\"όνομα\"/>\n<l:gentext key=\"RefSection\" text=\"Τμήμα\"/>\n<l:gentext key=\"refsection\" text=\"τμήμα\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Σύνοψη\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"σύνοψη\"/>\n<l:gentext key=\"RevHistory\" text=\"Ιστορικό Αναθεωρήσεων\"/>\n<l:gentext key=\"revhistory\" text=\"ιστορικό αναθεωρήσεων\"/>\n<l:gentext key=\"revision\" text=\"αναθεώρηση\"/>\n<l:gentext key=\"Revision\" text=\"Αναθεώρηση\"/>\n<l:gentext key=\"sect1\" text=\"Τμήμα\"/>\n<l:gentext key=\"sect2\" text=\"Τμήμα\"/>\n<l:gentext key=\"sect3\" text=\"Τμήμα\"/>\n<l:gentext key=\"sect4\" text=\"Τμήμα\"/>\n<l:gentext key=\"sect5\" text=\"Τμήμα\"/>\n<l:gentext key=\"section\" text=\"τμήμα\"/>\n<l:gentext key=\"Section\" text=\"Τμήμα\"/>\n<l:gentext key=\"see\" text=\"δείτε\"/>\n<l:gentext key=\"See\" text=\"Δείτε\"/>\n<l:gentext key=\"seealso\" text=\"δείτε Επίσης\"/>\n<l:gentext key=\"Seealso\" text=\"Δείτε επίσης\"/>\n<l:gentext key=\"SeeAlso\" text=\"Δείτε Επίσης\"/>\n<l:gentext key=\"set\" text=\"σύνολο\"/>\n<l:gentext key=\"Set\" text=\"Σύνολο\"/>\n<l:gentext key=\"setindex\" text=\"ευρετήριο συνόλων\"/>\n<l:gentext key=\"SetIndex\" text=\"Ευρετήριο Συνόλων\"/>\n<l:gentext key=\"Sidebar\" text=\"Πλευρική γραμμή εργαλείων\"/>\n<l:gentext key=\"sidebar\" text=\"πλευρική γραμμή εργαλείων\"/>\n<l:gentext key=\"step\" text=\"φάση\"/>\n<l:gentext key=\"Step\" text=\"Φάση\"/>\n<l:gentext key=\"table\" text=\"πίνακας\"/>\n<l:gentext key=\"Table\" text=\"Πίνακας\"/>\n<l:gentext key=\"task\" text=\"εργασία\"/>\n<l:gentext key=\"Task\" text=\"Εργασία\"/>\n<l:gentext key=\"tip\" text=\"υπόδειξη\"/>\n<l:gentext key=\"TIP\" text=\"ΥΠΟΔΕΙΞΗ\"/>\n<l:gentext key=\"Tip\" text=\"Υπόδειξη\"/>\n<l:gentext key=\"Warning\" text=\"Προειδοποίηση\"/>\n<l:gentext key=\"warning\" text=\"προειδοποίηση\"/>\n<l:gentext key=\"WARNING\" text=\"ΠΡΟΕΙΔΟΠΟΙΗΣΗ\"/>\n<l:gentext key=\"and\" text=\"και\"/>\n<l:gentext key=\"or\" text=\"ή\"/>\n<l:gentext key=\"by\" text=\"από\"/>\n<l:gentext key=\"Edited\" text=\"Επιμέλεια\"/>\n<l:gentext key=\"edited\" text=\"επιμέλεια\"/>\n<l:gentext key=\"Editedby\" text=\"Επιμέλεια από\"/>\n<l:gentext key=\"editedby\" text=\"επιμέλεια από\"/>\n<l:gentext key=\"in\" text=\"σε\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"σημειώσεις\"/>\n<l:gentext key=\"Notes\" text=\"Σημειώσεις\"/>\n<l:gentext key=\"Pgs\" text=\"Σλδς.\"/>\n<l:gentext key=\"pgs\" text=\"σλδς.\"/>\n<l:gentext key=\"Revisedby\" text=\"Επιμέλεια από: \"/>\n<l:gentext key=\"revisedby\" text=\"επιμέλεια από: \"/>\n<l:gentext key=\"TableNotes\" text=\"Σημειώσεις\"/>\n<l:gentext key=\"tablenotes\" text=\"σημειώσεις\"/>\n<l:gentext key=\"TableofContents\" text=\"Πίνακας Περιεχομένων\"/>\n<l:gentext key=\"tableofcontents\" text=\"πίνακας Περιεχομένων\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"μη αναμενόμενο όνομα στοιχείου\"/>\n<l:gentext key=\"unsupported\" text=\"μη υποστηριζόμενο\"/>\n<l:gentext key=\"xrefto\" text=\"αντιπαραπομπή σε\"/>\n<l:gentext key=\"Authors\" text=\"Συγγραφείς\"/>\n<l:gentext key=\"copyeditor\" text=\"Συντάκτης\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Σχεδιαστής γραφικών\"/>\n<l:gentext key=\"productioneditor\" text=\"Εκδότης Παραγωγής\"/>\n<l:gentext key=\"technicaleditor\" text=\"Τεχνικός Εκδότης\"/>\n<l:gentext key=\"translator\" text=\"Μεταφραστής\"/>\n<l:gentext key=\"listofequations\" text=\"κατάλογος εξισώσεων\"/>\n<l:gentext key=\"ListofEquations\" text=\"Κατάλογος Εξισώσεων\"/>\n<l:gentext key=\"ListofExamples\" text=\"Κατάλογος Παραδειγμάτων\"/>\n<l:gentext key=\"listofexamples\" text=\"κατάλογος παραδειγμάτων\"/>\n<l:gentext key=\"ListofFigures\" text=\"Κατάλογος Σχημάτων\"/>\n<l:gentext key=\"listoffigures\" text=\"κατάλογος σχημάτων\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Κατάλογος Σχημάτων\"/>\n<l:gentext key=\"listofprocedures\" text=\"κατάλογος σχημάτων\"/>\n<l:gentext key=\"listoftables\" text=\"κατάλογος πινάκων\"/>\n<l:gentext key=\"ListofTables\" text=\"Κατάλογος Πινάκων\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Κατάλογος Αγνώστων\"/>\n<l:gentext key=\"listofunknown\" text=\"κατάλογος αγνώστων;\"/>\n<l:gentext key=\"nav-home\" text=\"Αρχή\"/>\n<l:gentext key=\"nav-next\" text=\"Επόμενο\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Προς το τέλος\"/>\n<l:gentext key=\"nav-prev\" text=\"Προηγ\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Προς την αρχή\"/>\n<l:gentext key=\"nav-up\" text=\"Πάνω\"/>\n<l:gentext key=\"nav-toc\" text=\"Πίνακας περιεχομένων\"/>\n<l:gentext key=\"Draft\" text=\"Προσχέδιο\"/>\n<l:gentext key=\"above\" text=\"πάνω\"/>\n<l:gentext key=\"below\" text=\"κάτω\"/>\n<l:gentext key=\"sectioncalled\" text=\"το τμήμα ονομάζεται\"/>\n<l:gentext key=\"index symbols\" text=\"Σύμβολα\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"αβγδεζηθικλμνξοπρστυφχψω\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"ΑαΆάΒβΓγΔδΕεΈέΖζΗηΉήΘθΙιΊίΪϊΐΚκΛλΜμΝνΞξΟοΌόΠπΡρΣσςΤτΥυΎύΫϋΰΦφΧχΨψΩωΏώ\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"ΑΑΑΑΒΒΓΓΔΔΕΕΕΕΖΖΗΗΗΗΘΘΙΙΙΙΙΙΙΚΚΛΛΜΜΝΝΞΞΟΟΟΟΠΠΡΡΣΣΣΤΤΥΥΥΥΥΥΥΦΦΧΧΨΨΩΩΩΩ\"/>\n<l:dingbat key=\"startquote\" text=\"«\"/>\n<l:dingbat key=\"endquote\" text=\"»\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Παράρτημα %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Κεφάλαιο %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Εξίσωση %n. %t\"/>\n<l:template name=\"example\" text=\"Παράδειγμα %n. %t\"/>\n<l:template name=\"figure\" text=\"Σχήμα %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Μέρος %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Διαδικασία %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Παραγωγή %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Πίνακας %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Παράρτημα %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Κεφάλαιο %n. %t\"/>\n<l:template name=\"part\" text=\"Μέρος %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"Α: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Ε: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Ε: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"«%t»\"/>\n<l:template name=\"refsection\" text=\"«%t»\"/>\n<l:template name=\"refsect1\" text=\"«%t»\"/>\n<l:template name=\"refsect2\" text=\"«%t»\"/>\n<l:template name=\"refsect3\" text=\"«%t»\"/>\n<l:template name=\"sect1\" text=\"«%t»\"/>\n<l:template name=\"sect2\" text=\"«%t»\"/>\n<l:template name=\"sect3\" text=\"«%t»\"/>\n<l:template name=\"sect4\" text=\"«%t»\"/>\n<l:template name=\"sect5\" text=\"«%t»\"/>\n<l:template name=\"section\" text=\"«%t»\"/>\n<l:template name=\"simplesect\" text=\"«%t»\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Α: %n\"/>\n<l:template name=\"appendix\" text=\"Παράρτημα %n\"/>\n<l:template name=\"bridgehead\" text=\"Τμήμα %n\"/>\n<l:template name=\"chapter\" text=\"Κεφάλαιο %n\"/>\n<l:template name=\"equation\" text=\"Εξίσωση %n\"/>\n<l:template name=\"example\" text=\"Παράδειγμα %n\"/>\n<l:template name=\"figure\" text=\"Σχήμα %n\"/>\n<l:template name=\"part\" text=\"Μέρος %n\"/>\n<l:template name=\"procedure\" text=\"Διαδικασία %n\"/>\n<l:template name=\"productionset\" text=\"Παραγωγή %n\"/>\n<l:template name=\"qandadiv\" text=\"Ε και Α %n\"/>\n<l:template name=\"qandaentry\" text=\"Ε: %n\"/>\n<l:template name=\"question\" text=\"Ε: %n\"/>\n<l:template name=\"sect1\" text=\"Τμήμα %n\"/>\n<l:template name=\"sect2\" text=\"Τμήμα %n\"/>\n<l:template name=\"sect3\" text=\"Τμήμα %n\"/>\n<l:template name=\"sect4\" text=\"Τμήμα %n\"/>\n<l:template name=\"sect5\" text=\"Τμήμα %n\"/>\n<l:template name=\"section\" text=\"Τμήμα %n\"/>\n<l:template name=\"table\" text=\"Πίνακας %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Παράρτημα %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Τμήμα %n, «%t»\"/>\n<l:template name=\"chapter\" text=\"Κεφάλαιο %n, %t\"/>\n<l:template name=\"equation\" text=\"Εξίσωση %n, «%t»\"/>\n<l:template name=\"example\" text=\"Παράδειγμα %n, «%t»\"/>\n<l:template name=\"figure\" text=\"Σχήμα %n, «%t»\"/>\n<l:template name=\"part\" text=\"Μέρος %n, «%t»\"/>\n<l:template name=\"procedure\" text=\"Διαδικασία %n, «%t»\"/>\n<l:template name=\"productionset\" text=\"Παραγωγή %n, «%t»\"/>\n<l:template name=\"qandadiv\" text=\"Ε και Α %n, «%t»\"/>\n<l:template name=\"refsect1\" text=\"το τμήμα ονομάζεται «%t»\"/>\n<l:template name=\"refsect2\" text=\"το τμήμα ονομάζεται «%t»\"/>\n<l:template name=\"refsect3\" text=\"το τμήμα ονομάζεται «%t»\"/>\n<l:template name=\"refsection\" text=\"το τμήμα ονομάζεται «%t»\"/>\n<l:template name=\"sect1\" text=\"Τμήμα %n, «%t»\"/>\n<l:template name=\"sect2\" text=\"Τμήμα %n, «%t»\"/>\n<l:template name=\"sect3\" text=\"Τμήμα %n, «%t»\"/>\n<l:template name=\"sect4\" text=\"Τμήμα %n, «%t»\"/>\n<l:template name=\"sect5\" text=\"Τμήμα %n, «%t»\"/>\n<l:template name=\"section\" text=\"Τμήμα %n, «%t»\"/>\n<l:template name=\"simplesect\" text=\"το τμήμα ονομάζεται «%t»\"/>\n<l:template name=\"table\" text=\"Πίνακας %n, «%t»\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" και \"/>\n<l:template name=\"seplast\" text=\", και \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Δείτε %t.\"/>\n<l:template name=\"seealso\" text=\"Δείτε Επίσης %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Ακροατήριο: \"/>\n<l:template name=\"MsgLevel\" text=\"Επίπεδο: \"/>\n<l:template name=\"MsgOrig\" text=\"Πηγή: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Ιανουάριος\"/>\n<l:template name=\"February\" text=\"Φεβρουάριος\"/>\n<l:template name=\"March\" text=\"Μάρτιος\"/>\n<l:template name=\"April\" text=\"Απρίλιος\"/>\n<l:template name=\"May\" text=\"Μάιος\"/>\n<l:template name=\"June\" text=\"Ιούνιος\"/>\n<l:template name=\"July\" text=\"Ιούλιος\"/>\n<l:template name=\"August\" text=\"Αύγουστος\"/>\n<l:template name=\"September\" text=\"Σεπτέμβριος\"/>\n<l:template name=\"October\" text=\"Οκτώβριος\"/>\n<l:template name=\"November\" text=\"Νοέμβριος\"/>\n<l:template name=\"December\" text=\"Δεκέμβριος\"/>\n<l:template name=\"Monday\" text=\"Δευτέρα\"/>\n<l:template name=\"Tuesday\" text=\"Τρίτη\"/>\n<l:template name=\"Wednesday\" text=\"Τετάρτη\"/>\n<l:template name=\"Thursday\" text=\"Πέμπτη\"/>\n<l:template name=\"Friday\" text=\"Παρασκευή\"/>\n<l:template name=\"Saturday\" text=\"Σάββατο\"/>\n<l:template name=\"Sunday\" text=\"Κυριακή\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Ιαν\"/>\n<l:template name=\"Feb\" text=\"Φλεβ\"/>\n<l:template name=\"Mar\" text=\"Μάρ\"/>\n<l:template name=\"Apr\" text=\"Απρ\"/>\n<l:template name=\"May\" text=\"Μάης\"/>\n<l:template name=\"Jun\" text=\"Ιούν\"/>\n<l:template name=\"Jul\" text=\"Ιούλ\"/>\n<l:template name=\"Aug\" text=\"Αύγ\"/>\n<l:template name=\"Sep\" text=\"Σεπτ\"/>\n<l:template name=\"Oct\" text=\"Οκτ\"/>\n<l:template name=\"Nov\" text=\"Νοεμ\"/>\n<l:template name=\"Dec\" text=\"Δεκ\"/>\n<l:template name=\"Mon\" text=\"Δευτ\"/>\n<l:template name=\"Tue\" text=\"Τρ\"/>\n<l:template name=\"Wed\" text=\"Τετ\"/>\n<l:template name=\"Thu\" text=\"Πεμ\"/>\n<l:template name=\"Fri\" text=\"Παρ\"/>\n<l:template name=\"Sat\" text=\"Σάβ\"/>\n<l:template name=\"Sun\" text=\"Κυρ\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0408 Greek\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Σύμβολα</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"270\">Α</l:l>\n<l:l i=\"270\">α</l:l>\n<l:l i=\"270\">Ά</l:l>\n<l:l i=\"270\">ά</l:l>\n<l:l i=\"280\">Β</l:l>\n<l:l i=\"280\">β</l:l>\n<l:l i=\"290\">Γ</l:l>\n<l:l i=\"290\">γ</l:l>\n<l:l i=\"300\">Δ</l:l>\n<l:l i=\"300\">δ</l:l>\n<l:l i=\"310\">Ε</l:l>\n<l:l i=\"310\">ε</l:l>\n<l:l i=\"310\">Έ</l:l>\n<l:l i=\"310\">έ</l:l>\n<l:l i=\"320\">Ζ</l:l>\n<l:l i=\"320\">ζ</l:l>\n<l:l i=\"330\">Η</l:l>\n<l:l i=\"330\">η</l:l>\n<l:l i=\"330\">Ή</l:l>\n<l:l i=\"330\">ή</l:l>\n<l:l i=\"340\">Θ</l:l>\n<l:l i=\"340\">θ</l:l>\n<l:l i=\"350\">Ι</l:l>\n<l:l i=\"350\">ι</l:l>\n<l:l i=\"350\">Ί</l:l>\n<l:l i=\"350\">ί</l:l>\n<l:l i=\"350\">Ϊ</l:l>\n<l:l i=\"350\">ϊ</l:l>\n<l:l i=\"350\">ΐ</l:l>\n<l:l i=\"360\">Κ</l:l>\n<l:l i=\"360\">κ</l:l>\n<l:l i=\"370\">Λ</l:l>\n<l:l i=\"370\">λ</l:l>\n<l:l i=\"380\">Μ</l:l>\n<l:l i=\"380\">μ</l:l>\n<l:l i=\"390\">Ν</l:l>\n<l:l i=\"390\">ν</l:l>\n<l:l i=\"400\">Ξ</l:l>\n<l:l i=\"400\">ξ</l:l>\n<l:l i=\"410\">Ο</l:l>\n<l:l i=\"410\">ο</l:l>\n<l:l i=\"410\">Ό</l:l>\n<l:l i=\"410\">ό</l:l>\n<l:l i=\"420\">Π</l:l>\n<l:l i=\"420\">π</l:l>\n<l:l i=\"430\">Ρ</l:l>\n<l:l i=\"430\">ρ</l:l>\n<l:l i=\"440\">Σ</l:l>\n<l:l i=\"440\">σ</l:l>\n<l:l i=\"440\">ς</l:l>\n<l:l i=\"450\">Τ</l:l>\n<l:l i=\"450\">τ</l:l>\n<l:l i=\"460\">Υ</l:l>\n<l:l i=\"460\">υ</l:l>\n<l:l i=\"460\">Ύ</l:l>\n<l:l i=\"460\">ύ</l:l>\n<l:l i=\"460\">Ϋ</l:l>\n<l:l i=\"460\">ϋ</l:l>\n<l:l i=\"460\">ΰ</l:l>\n<l:l i=\"470\">Φ</l:l>\n<l:l i=\"470\">φ</l:l>\n<l:l i=\"480\">Χ</l:l>\n<l:l i=\"480\">χ</l:l>\n<l:l i=\"490\">Ψ</l:l>\n<l:l i=\"490\">ψ</l:l>\n<l:l i=\"500\">Ω</l:l>\n<l:l i=\"500\">ω</l:l>\n<l:l i=\"500\">Ώ</l:l>\n<l:l i=\"500\">ώ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/en.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"en\" english-language-name=\"English\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/en.xml -->\n<!-- * -->\n<!-- * E-mail the edited en.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Abstract\"/>\n<l:gentext key=\"abstract\" text=\"Abstract\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\"/>\n<l:gentext key=\"Answer\" text=\"A:\"/>\n<l:gentext key=\"answer\" text=\"A:\"/>\n<l:gentext key=\"Appendix\" text=\"Appendix\"/>\n<l:gentext key=\"appendix\" text=\"Appendix\"/>\n<l:gentext key=\"Article\" text=\"Article\"/>\n<l:gentext key=\"article\" text=\"Article\"/>\n<l:gentext key=\"Author\" text=\"Author\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliography\"/>\n<l:gentext key=\"bibliography\" text=\"Bibliography\"/>\n<l:gentext key=\"Book\" text=\"Book\"/>\n<l:gentext key=\"book\" text=\"Book\"/>\n<l:gentext key=\"CAUTION\" text=\"CAUTION\"/>\n<l:gentext key=\"Caution\" text=\"Caution\"/>\n<l:gentext key=\"caution\" text=\"Caution\"/>\n<l:gentext key=\"Chapter\" text=\"Chapter\"/>\n<l:gentext key=\"chapter\" text=\"Chapter\"/>\n<l:gentext key=\"Colophon\" text=\"Colophon\"/>\n<l:gentext key=\"colophon\" text=\"Colophon\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"Copyright\"/>\n<l:gentext key=\"Dedication\" text=\"Dedication\"/>\n<l:gentext key=\"dedication\" text=\"Dedication\"/>\n<l:gentext key=\"Edition\" text=\"Edition\"/>\n<l:gentext key=\"edition\" text=\"Edition\"/>\n<l:gentext key=\"Editor\" text=\"Editor\"/>\n<l:gentext key=\"Equation\" text=\"Equation\"/>\n<l:gentext key=\"equation\" text=\"Equation\"/>\n<l:gentext key=\"Example\" text=\"Example\"/>\n<l:gentext key=\"example\" text=\"Example\"/>\n<l:gentext key=\"Figure\" text=\"Figure\"/>\n<l:gentext key=\"figure\" text=\"Figure\"/>\n<l:gentext key=\"Glossary\" text=\"Glossary\"/>\n<l:gentext key=\"glossary\" text=\"Glossary\"/>\n<l:gentext key=\"GlossSee\" text=\"See\"/>\n<l:gentext key=\"glosssee\" text=\"See\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"See Also\"/>\n<l:gentext key=\"glossseealso\" text=\"See Also\"/>\n<l:gentext key=\"IMPORTANT\" text=\"IMPORTANT\"/>\n<l:gentext key=\"important\" text=\"Important\"/>\n<l:gentext key=\"Important\" text=\"Important\"/>\n<l:gentext key=\"Index\" text=\"Index\"/>\n<l:gentext key=\"index\" text=\"Index\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Legal Notice\"/>\n<l:gentext key=\"legalnotice\" text=\"Legal Notice\"/>\n<l:gentext key=\"MsgAud\" text=\"Audience\"/>\n<l:gentext key=\"msgaud\" text=\"Audience\"/>\n<l:gentext key=\"MsgLevel\" text=\"Level\"/>\n<l:gentext key=\"msglevel\" text=\"Level\"/>\n<l:gentext key=\"MsgOrig\" text=\"Origin\"/>\n<l:gentext key=\"msgorig\" text=\"Origin\"/>\n<l:gentext key=\"NOTE\" text=\"NOTE\"/>\n<l:gentext key=\"Note\" text=\"Note\"/>\n<l:gentext key=\"note\" text=\"Note\"/>\n<l:gentext key=\"Part\" text=\"Part\"/>\n<l:gentext key=\"part\" text=\"Part\"/>\n<l:gentext key=\"Preface\" text=\"Preface\"/>\n<l:gentext key=\"preface\" text=\"Preface\"/>\n<l:gentext key=\"Procedure\" text=\"Procedure\"/>\n<l:gentext key=\"procedure\" text=\"Procedure\"/>\n<l:gentext key=\"ProductionSet\" text=\"Production\"/>\n<l:gentext key=\"PubDate\" text=\"Publication Date\"/>\n<l:gentext key=\"pubdate\" text=\"Publication date\"/>\n<l:gentext key=\"Published\" text=\"Published\"/>\n<l:gentext key=\"published\" text=\"Published\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\"/>\n<l:gentext key=\"Qandadiv\" text=\"Q &amp; A\"/>\n<l:gentext key=\"qandadiv\" text=\"Q &amp; A\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\"/>\n<l:gentext key=\"Question\" text=\"Q:\"/>\n<l:gentext key=\"question\" text=\"Q:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Reference\"/>\n<l:gentext key=\"reference\" text=\"Reference\"/>\n<l:gentext key=\"References\" text=\"References\"/>\n<l:gentext key=\"RefName\" text=\"Name\"/>\n<l:gentext key=\"refname\" text=\"Name\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Synopsis\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Synopsis\"/>\n<l:gentext key=\"RevHistory\" text=\"Revision History\"/>\n<l:gentext key=\"revhistory\" text=\"Revision History\"/>\n<l:gentext key=\"revision\" text=\"Revision\"/>\n<l:gentext key=\"Revision\" text=\"Revision\"/>\n<l:gentext key=\"sect1\" text=\"Section\"/>\n<l:gentext key=\"sect2\" text=\"Section\"/>\n<l:gentext key=\"sect3\" text=\"Section\"/>\n<l:gentext key=\"sect4\" text=\"Section\"/>\n<l:gentext key=\"sect5\" text=\"Section\"/>\n<l:gentext key=\"section\" text=\"Section\"/>\n<l:gentext key=\"Section\" text=\"Section\"/>\n<l:gentext key=\"see\" text=\"see\"/>\n<l:gentext key=\"See\" text=\"See\"/>\n<l:gentext key=\"seealso\" text=\"see also\"/>\n<l:gentext key=\"Seealso\" text=\"See also\"/>\n<l:gentext key=\"SeeAlso\" text=\"See Also\"/>\n<l:gentext key=\"set\" text=\"Set\"/>\n<l:gentext key=\"Set\" text=\"Set\"/>\n<l:gentext key=\"setindex\" text=\"Set Index\"/>\n<l:gentext key=\"SetIndex\" text=\"Set Index\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"sidebar\"/>\n<l:gentext key=\"step\" text=\"step\"/>\n<l:gentext key=\"Step\" text=\"Step\"/>\n<l:gentext key=\"table\" text=\"Table\"/>\n<l:gentext key=\"Table\" text=\"Table\"/>\n<l:gentext key=\"task\" text=\"Task\"/>\n<l:gentext key=\"Task\" text=\"Task\"/>\n<l:gentext key=\"tip\" text=\"Tip\"/>\n<l:gentext key=\"TIP\" text=\"TIP\"/>\n<l:gentext key=\"Tip\" text=\"Tip\"/>\n<l:gentext key=\"Warning\" text=\"Warning\"/>\n<l:gentext key=\"warning\" text=\"Warning\"/>\n<l:gentext key=\"WARNING\" text=\"WARNING\"/>\n<l:gentext key=\"and\" text=\"and\"/>\n<l:gentext key=\"or\" text=\"or\"/>\n<l:gentext key=\"by\" text=\"by\"/>\n<l:gentext key=\"Edited\" text=\"Edited\"/>\n<l:gentext key=\"edited\" text=\"Edited\"/>\n<l:gentext key=\"Editedby\" text=\"Edited by\"/>\n<l:gentext key=\"editedby\" text=\"Edited by\"/>\n<l:gentext key=\"in\" text=\"in\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Notes\"/>\n<l:gentext key=\"Notes\" text=\"Notes\"/>\n<l:gentext key=\"Pgs\" text=\"Pgs.\"/>\n<l:gentext key=\"pgs\" text=\"Pgs.\"/>\n<l:gentext key=\"Revisedby\" text=\"Revised by: \"/>\n<l:gentext key=\"revisedby\" text=\"Revised by: \"/>\n<l:gentext key=\"TableNotes\" text=\"Notes\"/>\n<l:gentext key=\"tablenotes\" text=\"Notes\"/>\n<l:gentext key=\"TableofContents\" text=\"Table of Contents\"/>\n<l:gentext key=\"tableofcontents\" text=\"Table of Contents\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Unexpected element name\"/>\n<l:gentext key=\"unsupported\" text=\"unsupported\"/>\n<l:gentext key=\"xrefto\" text=\"xref to\"/>\n<l:gentext key=\"Authors\" text=\"Authors\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\"/>\n<l:gentext key=\"translator\" text=\"Translator\"/>\n<l:gentext key=\"listofequations\" text=\"List of Equations\"/>\n<l:gentext key=\"ListofEquations\" text=\"List of Equations\"/>\n<l:gentext key=\"ListofExamples\" text=\"List of Examples\"/>\n<l:gentext key=\"listofexamples\" text=\"List of Examples\"/>\n<l:gentext key=\"ListofFigures\" text=\"List of Figures\"/>\n<l:gentext key=\"listoffigures\" text=\"List of Figures\"/>\n<l:gentext key=\"ListofProcedures\" text=\"List of Procedures\"/>\n<l:gentext key=\"listofprocedures\" text=\"List of Procedures\"/>\n<l:gentext key=\"listoftables\" text=\"List of Tables\"/>\n<l:gentext key=\"ListofTables\" text=\"List of Tables\"/>\n<l:gentext key=\"ListofUnknown\" text=\"List of Unknown\"/>\n<l:gentext key=\"listofunknown\" text=\"List of Unknown\"/>\n<l:gentext key=\"nav-home\" text=\"Home\"/>\n<l:gentext key=\"nav-next\" text=\"Next\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Fast Forward\"/>\n<l:gentext key=\"nav-prev\" text=\"Prev\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Fast Backward\"/>\n<l:gentext key=\"nav-up\" text=\"Up\"/>\n<l:gentext key=\"nav-toc\" text=\"ToC\"/>\n<l:gentext key=\"Draft\" text=\"Draft\"/>\n<l:gentext key=\"above\" text=\"above\"/>\n<l:gentext key=\"below\" text=\"below\"/>\n<l:gentext key=\"sectioncalled\" text=\"the section called\"/>\n<l:gentext key=\"index symbols\" text=\"Symbols\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\"/>\n<l:template name=\"backspace\" text=\"&lt;—\"/>\n<l:template name=\"command\" text=\"⌘\"/>\n<l:template name=\"control\" text=\"Ctrl\"/>\n<l:template name=\"delete\" text=\"Del\"/>\n<l:template name=\"down\" text=\"↓\"/>\n<l:template name=\"end\" text=\"End\"/>\n<l:template name=\"enter\" text=\"Enter\"/>\n<l:template name=\"escape\" text=\"Esc\"/>\n<l:template name=\"home\" text=\"Home\"/>\n<l:template name=\"insert\" text=\"Ins\"/>\n<l:template name=\"left\" text=\"←\"/>\n<l:template name=\"meta\" text=\"Meta\"/>\n<l:template name=\"option\" text=\"???\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\"/>\n<l:template name=\"pageup\" text=\"Page ↑\"/>\n<l:template name=\"right\" text=\"→\"/>\n<l:template name=\"shift\" text=\"Shift\"/>\n<l:template name=\"space\" text=\"Space\"/>\n<l:template name=\"tab\" text=\"→|\"/>\n<l:template name=\"up\" text=\"↑\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \"/>\n<l:template name=\"Go\" text=\"Go\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \"/>\n<l:template name=\"TableofContents\" text=\"Contents\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Appendix %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Chapter %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Equation %n. %t\"/>\n<l:template name=\"example\" text=\"Example %n. %t\"/>\n<l:template name=\"figure\" text=\"Figure %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Part %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Procedure %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Production %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Table %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Appendix %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Chapter %n. %t\"/>\n<l:template name=\"part\" text=\"Part %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"A: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Q: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Q: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"the section called “%t”\"/>\n<l:template name=\"refsection\" text=\"the section called “%t”\"/>\n<l:template name=\"refsect1\" text=\"the section called “%t”\"/>\n<l:template name=\"refsect2\" text=\"the section called “%t”\"/>\n<l:template name=\"refsect3\" text=\"the section called “%t”\"/>\n<l:template name=\"sect1\" text=\"the section called “%t”\"/>\n<l:template name=\"sect2\" text=\"the section called “%t”\"/>\n<l:template name=\"sect3\" text=\"the section called “%t”\"/>\n<l:template name=\"sect4\" text=\"the section called “%t”\"/>\n<l:template name=\"sect5\" text=\"the section called “%t”\"/>\n<l:template name=\"section\" text=\"the section called “%t”\"/>\n<l:template name=\"simplesect\" text=\"the section called “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"A: %n\"/>\n<l:template name=\"appendix\" text=\"Appendix %n\"/>\n<l:template name=\"bridgehead\" text=\"Section %n\"/>\n<l:template name=\"chapter\" text=\"Chapter %n\"/>\n<l:template name=\"equation\" text=\"Equation %n\"/>\n<l:template name=\"example\" text=\"Example %n\"/>\n<l:template name=\"figure\" text=\"Figure %n\"/>\n<l:template name=\"part\" text=\"Part %n\"/>\n<l:template name=\"procedure\" text=\"Procedure %n\"/>\n<l:template name=\"productionset\" text=\"Production %n\"/>\n<l:template name=\"qandadiv\" text=\"Q &amp; A %n\"/>\n<l:template name=\"qandaentry\" text=\"Q: %n\"/>\n<l:template name=\"question\" text=\"Q: %n\"/>\n<l:template name=\"sect1\" text=\"Section %n\"/>\n<l:template name=\"sect2\" text=\"Section %n\"/>\n<l:template name=\"sect3\" text=\"Section %n\"/>\n<l:template name=\"sect4\" text=\"Section %n\"/>\n<l:template name=\"sect5\" text=\"Section %n\"/>\n<l:template name=\"section\" text=\"Section %n\"/>\n<l:template name=\"table\" text=\"Table %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Appendix %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Section %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Chapter %n, %t\"/>\n<l:template name=\"equation\" text=\"Equation %n, “%t”\"/>\n<l:template name=\"example\" text=\"Example %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Figure %n, “%t”\"/>\n<l:template name=\"part\" text=\"Part %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Procedure %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Production %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"Q &amp; A %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"the section called “%t”\"/>\n<l:template name=\"refsect2\" text=\"the section called “%t”\"/>\n<l:template name=\"refsect3\" text=\"the section called “%t”\"/>\n<l:template name=\"refsection\" text=\"the section called “%t”\"/>\n<l:template name=\"sect1\" text=\"Section %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Section %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Section %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Section %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Section %n, “%t”\"/>\n<l:template name=\"section\" text=\"Section %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"the section called “%t”\"/>\n<l:template name=\"table\" text=\"Table %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" and \"/>\n<l:template name=\"seplast\" text=\", and \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"See %t.\"/>\n<l:template name=\"seealso\" text=\"See Also %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Audience: \"/>\n<l:template name=\"MsgLevel\" text=\"Level: \"/>\n<l:template name=\"MsgOrig\" text=\"Origin: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"January\"/>\n<l:template name=\"February\" text=\"February\"/>\n<l:template name=\"March\" text=\"March\"/>\n<l:template name=\"April\" text=\"April\"/>\n<l:template name=\"May\" text=\"May\"/>\n<l:template name=\"June\" text=\"June\"/>\n<l:template name=\"July\" text=\"July\"/>\n<l:template name=\"August\" text=\"August\"/>\n<l:template name=\"September\" text=\"September\"/>\n<l:template name=\"October\" text=\"October\"/>\n<l:template name=\"November\" text=\"November\"/>\n<l:template name=\"December\" text=\"December\"/>\n<l:template name=\"Monday\" text=\"Monday\"/>\n<l:template name=\"Tuesday\" text=\"Tuesday\"/>\n<l:template name=\"Wednesday\" text=\"Wednesday\"/>\n<l:template name=\"Thursday\" text=\"Thursday\"/>\n<l:template name=\"Friday\" text=\"Friday\"/>\n<l:template name=\"Saturday\" text=\"Saturday\"/>\n<l:template name=\"Sunday\" text=\"Sunday\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\"/>\n<l:template name=\"Feb\" text=\"Feb\"/>\n<l:template name=\"Mar\" text=\"Mar\"/>\n<l:template name=\"Apr\" text=\"Apr\"/>\n<l:template name=\"May\" text=\"May\"/>\n<l:template name=\"Jun\" text=\"Jun\"/>\n<l:template name=\"Jul\" text=\"Jul\"/>\n<l:template name=\"Aug\" text=\"Aug\"/>\n<l:template name=\"Sep\" text=\"Sep\"/>\n<l:template name=\"Oct\" text=\"Oct\"/>\n<l:template name=\"Nov\" text=\"Nov\"/>\n<l:template name=\"Dec\" text=\"Dec\"/>\n<l:template name=\"Mon\" text=\"Mon\"/>\n<l:template name=\"Tue\" text=\"Tue\"/>\n<l:template name=\"Wed\" text=\"Wed\"/>\n<l:template name=\"Thu\" text=\"Thu\"/>\n<l:template name=\"Fri\" text=\"Fri\"/>\n<l:template name=\"Sat\" text=\"Sat\"/>\n<l:template name=\"Sun\" text=\"Sun\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0409 English (UNITED STATES)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/entities.ent",
    "content": "<!-- ********************************************************************\n     $Id: entities.ent 9286 2012-04-19 10:10:58Z bobstayton $\n     ********************************************************************\n     \n     This file contains common entity declarations used for\n     sorting (and other things) by various templates.\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<!ENTITY lowercase \"'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;'\">\n<!ENTITY uppercase \"'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'\">\n\n<!-- The following three entities are used for sorting and grouping\n     indexterms, not in presentation of them. -->\n<!-- If @sortas is present, sort and group by combination of\n     @sortas, space and entry to keep it separate from other entries\n     with the same @sortas.\n     If @sortas is not present, the first item is empty, and the added space\n     is removed when normalize-space is applied, leaving just the entry -->\n\n<!ENTITY primary   'normalize-space(concat(primary/@sortas, \" \", primary))'>\n<!ENTITY secondary 'normalize-space(concat(secondary/@sortas, \" \", secondary))'>\n<!ENTITY tertiary  'normalize-space(concat(tertiary/@sortas, \" \", tertiary))'>\n\n<!ENTITY section   '(ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage|ancestor-or-self::topic)[last()]'>\n\n<!ENTITY section.id 'generate-id(&section;)'>\n<!ENTITY sep '\" \"'>\n\n<!ENTITY scope 'count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))'>\n\n<!ENTITY setup-language-variable '\n<xsl:variable name=\"language\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">\n  <xsl:call-template name=\"l10n.language\"/>\n</xsl:variable>\n\n<xsl:variable name=\"lowercase\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\">normalize.sort.input</xsl:with-param>\n  </xsl:call-template>\n</xsl:variable>\n\n<xsl:variable name=\"uppercase\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\">normalize.sort.output</xsl:with-param>\n  </xsl:call-template>\n</xsl:variable>\n'>\n\n<!-- Entity used in html/inline.xsl and fo/inline.xsl -->\n<!ENTITY comment.block.parents \"parent::answer|parent::appendix|parent::article|parent::bibliodiv|\n                                parent::bibliography|parent::blockquote|parent::caution|parent::chapter|\n                                parent::glossary|parent::glossdiv|parent::important|parent::index|\n                                parent::indexdiv|parent::listitem|parent::note|parent::orderedlist|\n                                parent::partintro|parent::preface|parent::procedure|parent::qandadiv|\n                                parent::qandaset|parent::question|parent::refentry|parent::refnamediv|\n                                parent::refsect1|parent::refsect2|parent::refsect3|parent::refsection|\n                                parent::refsynopsisdiv|parent::sect1|parent::sect2|parent::sect3|parent::sect4|\n                                parent::sect5|parent::section|parent::setindex|parent::sidebar|\n                                parent::simplesect|parent::taskprerequisites|parent::taskrelated|\n                                parent::tasksummary|parent::warning|parent::topic\">\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/eo.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"eo\" english-language-name=\"Esperanto\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/eo.xml -->\n<!-- * -->\n<!-- * E-mail the edited eo.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Resumo\"/>\n<l:gentext key=\"abstract\" text=\"Resumo\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"R:\"/>\n<l:gentext key=\"answer\" text=\"R:\"/>\n<l:gentext key=\"Appendix\" text=\"Apendico\"/>\n<l:gentext key=\"appendix\" text=\"Apendico\"/>\n<l:gentext key=\"Article\" text=\"Artikolo\"/>\n<l:gentext key=\"article\" text=\"Artikolo\"/>\n<l:gentext key=\"Author\" text=\"Aŭtoro\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografio\"/>\n<l:gentext key=\"bibliography\" text=\"Bibliografio\"/>\n<l:gentext key=\"Book\" text=\"Libro\"/>\n<l:gentext key=\"book\" text=\"Libro\"/>\n<l:gentext key=\"CAUTION\" text=\"ATENTU\"/>\n<l:gentext key=\"Caution\" text=\"Atentu\"/>\n<l:gentext key=\"caution\" text=\"Atentu\"/>\n<l:gentext key=\"Chapter\" text=\"Ĉapitro\"/>\n<l:gentext key=\"chapter\" text=\"Ĉapitro\"/>\n<l:gentext key=\"Colophon\" text=\"Kolofono\"/>\n<l:gentext key=\"colophon\" text=\"Kolofono\"/>\n<l:gentext key=\"Copyright\" text=\"Kopirajto\"/>\n<l:gentext key=\"copyright\" text=\"Kopirajto\"/>\n<l:gentext key=\"Dedication\" text=\"Dediĉo\"/>\n<l:gentext key=\"dedication\" text=\"Dediĉo\"/>\n<l:gentext key=\"Edition\" text=\"Eldono\"/>\n<l:gentext key=\"edition\" text=\"Eldono\"/>\n<l:gentext key=\"Editor\" text=\"Redaktoro\"/>\n<l:gentext key=\"Equation\" text=\"Ekvacio\"/>\n<l:gentext key=\"equation\" text=\"Ekvacio\"/>\n<l:gentext key=\"Example\" text=\"Ekzemplo\"/>\n<l:gentext key=\"example\" text=\"Ekzemplo\"/>\n<l:gentext key=\"Figure\" text=\"Figuro\"/>\n<l:gentext key=\"figure\" text=\"Figuro\"/>\n<l:gentext key=\"Glossary\" text=\"Glosaro\"/>\n<l:gentext key=\"glossary\" text=\"Glosaro\"/>\n<l:gentext key=\"GlossSee\" text=\"Vidu\"/>\n<l:gentext key=\"glosssee\" text=\"Vidu\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Vidu ankaŭ\"/>\n<l:gentext key=\"glossseealso\" text=\"Vidu ankaŭ\"/>\n<l:gentext key=\"IMPORTANT\" text=\"GRAVA\"/>\n<l:gentext key=\"important\" text=\"Grava\"/>\n<l:gentext key=\"Important\" text=\"Grava\"/>\n<l:gentext key=\"Index\" text=\"Indekso\"/>\n<l:gentext key=\"index\" text=\"Indekso\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Leĝa Avizo\"/>\n<l:gentext key=\"legalnotice\" text=\"Leĝa Avizo\"/>\n<l:gentext key=\"MsgAud\" text=\"Cela legantaro\"/>\n<l:gentext key=\"msgaud\" text=\"Cela legantaro\"/>\n<l:gentext key=\"MsgLevel\" text=\"Nivelo\"/>\n<l:gentext key=\"msglevel\" text=\"Nivelo\"/>\n<l:gentext key=\"MsgOrig\" text=\"Origino\"/>\n<l:gentext key=\"msgorig\" text=\"Origino\"/>\n<l:gentext key=\"NOTE\" text=\"RIMARKO\"/>\n<l:gentext key=\"Note\" text=\"Rimarko\"/>\n<l:gentext key=\"note\" text=\"Rimarko\"/>\n<l:gentext key=\"Part\" text=\"Parto\"/>\n<l:gentext key=\"part\" text=\"Parto\"/>\n<l:gentext key=\"Preface\" text=\"Antaŭparolo\"/>\n<l:gentext key=\"preface\" text=\"Antaŭparolo\"/>\n<l:gentext key=\"Procedure\" text=\"Procezo\"/>\n<l:gentext key=\"procedure\" text=\"Procezo\"/>\n<l:gentext key=\"ProductionSet\" text=\"Produktaĵo\"/>\n<l:gentext key=\"PubDate\" text=\"Eldona Dato\"/>\n<l:gentext key=\"pubdate\" text=\"Eldona Dato\"/>\n<l:gentext key=\"Published\" text=\"Eldonita \"/>\n<l:gentext key=\"published\" text=\"Eldonita\"/>\n<l:gentext key=\"Publisher\" text=\"Eldonita\"/>\n<l:gentext key=\"Qandadiv\" text=\"Demandoj &amp; Respondoj\"/>\n<l:gentext key=\"qandadiv\" text=\"Demandoj &amp; Respondoj\"/>\n<l:gentext key=\"QandASet\" text=\"Oftaj Demandoj\"/>\n<l:gentext key=\"Question\" text=\"D:\"/>\n<l:gentext key=\"question\" text=\"D:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Referenco\"/>\n<l:gentext key=\"reference\" text=\"Referenco\"/>\n<l:gentext key=\"References\" text=\"Referencoj\"/>\n<l:gentext key=\"RefName\" text=\"Nomo\"/>\n<l:gentext key=\"refname\" text=\"Nomo\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Resumo\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Resumo\"/>\n<l:gentext key=\"RevHistory\" text=\"Historio de Versioj\"/>\n<l:gentext key=\"revhistory\" text=\"Historio de Versioj\"/>\n<l:gentext key=\"revision\" text=\"Versio\"/>\n<l:gentext key=\"Revision\" text=\"Versio\"/>\n<l:gentext key=\"sect1\" text=\"Sekcio\"/>\n<l:gentext key=\"sect2\" text=\"Sekcio\"/>\n<l:gentext key=\"sect3\" text=\"Sekcio\"/>\n<l:gentext key=\"sect4\" text=\"Sekcio\"/>\n<l:gentext key=\"sect5\" text=\"Sekcio\"/>\n<l:gentext key=\"section\" text=\"Sekcio\"/>\n<l:gentext key=\"Section\" text=\"Sekcio\"/>\n<l:gentext key=\"see\" text=\"vidu\"/>\n<l:gentext key=\"See\" text=\"Vidu\"/>\n<l:gentext key=\"seealso\" text=\"vidu ankaŭ\"/>\n<l:gentext key=\"Seealso\" text=\"Vidu ankaŭ\"/>\n<l:gentext key=\"SeeAlso\" text=\"Vidu Ankaŭ\"/>\n<l:gentext key=\"set\" text=\"Libraro\"/>\n<l:gentext key=\"Set\" text=\"Libraro\"/>\n<l:gentext key=\"setindex\" text=\"Indekso de Libraro\"/>\n<l:gentext key=\"SetIndex\" text=\"Indesko de Libraro\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"flankaĵo\"/>\n<l:gentext key=\"step\" text=\"ŝtupo\"/>\n<l:gentext key=\"Step\" text=\"Ŝtupo\"/>\n<l:gentext key=\"table\" text=\"Tabelo\"/>\n<l:gentext key=\"Table\" text=\"Tabelo\"/>\n<l:gentext key=\"task\" text=\"Tasko\"/>\n<l:gentext key=\"Task\" text=\"Tasko\"/>\n<l:gentext key=\"tip\" text=\"Sugesto\"/>\n<l:gentext key=\"TIP\" text=\"SUGESTO\"/>\n<l:gentext key=\"Tip\" text=\"Sugesto\"/>\n<l:gentext key=\"Warning\" text=\"Averto\"/>\n<l:gentext key=\"warning\" text=\"Averto\"/>\n<l:gentext key=\"WARNING\" text=\"AVERTO\"/>\n<l:gentext key=\"and\" text=\"kaj\"/>\n<l:gentext key=\"or\" text=\"or\" lang=\"en\"/>\n<l:gentext key=\"by\" text=\"fare de\"/>\n<l:gentext key=\"Edited\" text=\"Redaktita\"/>\n<l:gentext key=\"edited\" text=\"Redaktita\"/>\n<l:gentext key=\"Editedby\" text=\"Redaktita de\"/>\n<l:gentext key=\"editedby\" text=\"Redaktita de\"/>\n<l:gentext key=\"in\" text=\"en\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Notoj\"/>\n<l:gentext key=\"Notes\" text=\"Notoj\"/>\n<l:gentext key=\"Pgs\" text=\"p.\"/>\n<l:gentext key=\"pgs\" text=\"p.\"/>\n<l:gentext key=\"Revisedby\" text=\"Reviziita de: \"/>\n<l:gentext key=\"revisedby\" text=\"Reviziita de: \"/>\n<l:gentext key=\"TableNotes\" text=\"Notoj\"/>\n<l:gentext key=\"tablenotes\" text=\"Notoj\"/>\n<l:gentext key=\"TableofContents\" text=\"Enhavo\"/>\n<l:gentext key=\"tableofcontents\" text=\"Enhavo\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Neantaŭvidita nomo de elemento\"/>\n<l:gentext key=\"unsupported\" text=\"netraktebla\"/>\n<l:gentext key=\"xrefto\" text=\"aludo al\"/>\n<l:gentext key=\"Authors\" text=\"Aŭtoroj\"/>\n<l:gentext key=\"copyeditor\" text=\"Provredaktinto\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Grafikisto\"/>\n<l:gentext key=\"productioneditor\" text=\"Produkta Redaktoro\"/>\n<l:gentext key=\"technicaleditor\" text=\"Teknika Redaktoro\"/>\n<l:gentext key=\"translator\" text=\"Tradukisto\"/>\n<l:gentext key=\"listofequations\" text=\"Listo de Ekvacioj\"/>\n<l:gentext key=\"ListofEquations\" text=\"Listo de Ekvacioj\"/>\n<l:gentext key=\"ListofExamples\" text=\"Listo de Ekzemploj\"/>\n<l:gentext key=\"listofexamples\" text=\"Listo de Ekzemploj\"/>\n<l:gentext key=\"ListofFigures\" text=\"Listo de Figuroj\"/>\n<l:gentext key=\"listoffigures\" text=\"Listo de Figuroj\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Listo de Procedoj\"/>\n<l:gentext key=\"listofprocedures\" text=\"Listo de Procedoj\"/>\n<l:gentext key=\"listoftables\" text=\"Listo de Tabeloj\"/>\n<l:gentext key=\"ListofTables\" text=\"Listo de Tabeloj\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Listo de Nesciatoj\"/>\n<l:gentext key=\"listofunknown\" text=\"Listo de Nesciatoj\"/>\n<l:gentext key=\"nav-home\" text=\"Hejmen\"/>\n<l:gentext key=\"nav-next\" text=\"Sekven\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Pli sekven\"/>\n<l:gentext key=\"nav-prev\" text=\"Antaŭen\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Pli antaŭen\"/>\n<l:gentext key=\"nav-up\" text=\"Supren\"/>\n<l:gentext key=\"nav-toc\" text=\"Enhavlisten\"/>\n<l:gentext key=\"Draft\" text=\"Malneto\"/>\n<l:gentext key=\"above\" text=\"supra\"/>\n<l:gentext key=\"below\" text=\"suba\"/>\n<l:gentext key=\"sectioncalled\" text=\"la sekcio nomata\"/>\n<l:gentext key=\"index symbols\" text=\"Simboloj\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcĉdefgĝhĥijĵklmnopqrsŝtuŭvyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCĈDEFGĜHĤIJĴKLMNOPQRSŜTUŬVYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Apendico %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Ĉapitro %n. %t&quot;\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Ekvacio %n. %t\"/>\n<l:template name=\"example\" text=\"Ekzemplo %n. %t\"/>\n<l:template name=\"figure\" text=\"Figuro %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Parto %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Procezo %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Produktaĵo %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabelo %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Apendico %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Ĉapitro %n. %t\"/>\n<l:template name=\"part\" text=\"Parto %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"R: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Demando %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Demando %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (paĝo %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(paĝo %p)\"/>\n<l:template name=\"docname\" text=\" en %o\"/>\n<l:template name=\"docnamelong\" text=\" en la dokumento titolata %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Paĝo %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"la sekcio nomata “%t”\"/>\n<l:template name=\"refsection\" text=\"la sekcio nomata “%t”\"/>\n<l:template name=\"refsect1\" text=\"la sekcio nomata “%t”\"/>\n<l:template name=\"refsect2\" text=\"la sekcio nomata “%t”\"/>\n<l:template name=\"refsect3\" text=\"la sekcio nomata “%t”\"/>\n<l:template name=\"sect1\" text=\"la sekcio nomata “%t”\"/>\n<l:template name=\"sect2\" text=\"la sekcio nomata “%t”\"/>\n<l:template name=\"sect3\" text=\"la sekcio nomata “%t”\"/>\n<l:template name=\"sect4\" text=\"la sekcio nomata “%t”\"/>\n<l:template name=\"sect5\" text=\"la sekcio nomata “%t”\"/>\n<l:template name=\"section\" text=\"la sekcio nomata “%t”\"/>\n<l:template name=\"simplesect\" text=\"la sekcio nomata “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"R: %n\"/>\n<l:template name=\"appendix\" text=\"Apendico %n\"/>\n<l:template name=\"bridgehead\" text=\"Sekcio %n\"/>\n<l:template name=\"chapter\" text=\"Ĉapitro %n\"/>\n<l:template name=\"equation\" text=\"Ekvacio %n\"/>\n<l:template name=\"example\" text=\"Ekzemplo %n\"/>\n<l:template name=\"figure\" text=\"Figuro %n\"/>\n<l:template name=\"part\" text=\"Parto %n\"/>\n<l:template name=\"procedure\" text=\"Procezo %n\"/>\n<l:template name=\"productionset\" text=\"Produktaĵo %n\"/>\n<l:template name=\"qandadiv\" text=\"Demandoj &amp; Respondoj %n\"/>\n<l:template name=\"qandaentry\" text=\"D: %n\"/>\n<l:template name=\"question\" text=\"D: %n\"/>\n<l:template name=\"sect1\" text=\"Sekcio %n\"/>\n<l:template name=\"sect2\" text=\"Sekcio %n\"/>\n<l:template name=\"sect3\" text=\"Sekcio %n\"/>\n<l:template name=\"sect4\" text=\"Sekcio %n\"/>\n<l:template name=\"sect5\" text=\"Sekcio %n\"/>\n<l:template name=\"section\" text=\"Sekcio %n\"/>\n<l:template name=\"table\" text=\"Tabelo %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Apendico %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Sekcio %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Ĉapitro %n, %t\"/>\n<l:template name=\"equation\" text=\"Ekvacio %n, “%t”\"/>\n<l:template name=\"example\" text=\"Ekzemplo %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Figuro %n, “%t”\"/>\n<l:template name=\"part\" text=\"Parto %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Procezo %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Produktaĵo %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"Demandoj &amp; Respondoj %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"la sekcio nomata “%t”\"/>\n<l:template name=\"refsect2\" text=\"la sekcio nomata “%t”\"/>\n<l:template name=\"refsect3\" text=\"la sekcio nomata “%t”\"/>\n<l:template name=\"refsection\" text=\"la sekcio nomata “%t”\"/>\n<l:template name=\"sect1\" text=\"Sekcio %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Sekcio %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Sekcio %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Sekcio %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Sekcio %n, “%t”\"/>\n<l:template name=\"section\" text=\"Sekcio %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"la sekcio nomata “%t”\"/>\n<l:template name=\"table\" text=\"Tabelo %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" kaj \"/>\n<l:template name=\"seplast\" text=\", kaj \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Vidu %t.\"/>\n<l:template name=\"seealso\" text=\"Vidu ankaŭ %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Cela legantaro: \"/>\n<l:template name=\"MsgLevel\" text=\"Nivelo: \"/>\n<l:template name=\"MsgOrig\" text=\"Origino: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Difino: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"januaro\"/>\n<l:template name=\"February\" text=\"februaro\"/>\n<l:template name=\"March\" text=\"marto\"/>\n<l:template name=\"April\" text=\"aprilo\"/>\n<l:template name=\"May\" text=\"majo\"/>\n<l:template name=\"June\" text=\"junio\"/>\n<l:template name=\"July\" text=\"julio\"/>\n<l:template name=\"August\" text=\"aŭgusto\"/>\n<l:template name=\"September\" text=\"septembro\"/>\n<l:template name=\"October\" text=\"oktobro\"/>\n<l:template name=\"November\" text=\"novembro\"/>\n<l:template name=\"December\" text=\"decembro\"/>\n<l:template name=\"Monday\" text=\"lundo\"/>\n<l:template name=\"Tuesday\" text=\"mardo\"/>\n<l:template name=\"Wednesday\" text=\"merkredo\"/>\n<l:template name=\"Thursday\" text=\"ĵaudo\"/>\n<l:template name=\"Friday\" text=\"vendredo\"/>\n<l:template name=\"Saturday\" text=\"sabato\"/>\n<l:template name=\"Sunday\" text=\"dimanĉo\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"jan\"/>\n<l:template name=\"Feb\" text=\"feb\"/>\n<l:template name=\"Mar\" text=\"mar\"/>\n<l:template name=\"Apr\" text=\"apr\"/>\n<l:template name=\"May\" text=\"maj\"/>\n<l:template name=\"Jun\" text=\"jun\"/>\n<l:template name=\"Jul\" text=\"jul\"/>\n<l:template name=\"Aug\" text=\"aŭg\"/>\n<l:template name=\"Sep\" text=\"sep\"/>\n<l:template name=\"Oct\" text=\"okt\"/>\n<l:template name=\"Nov\" text=\"nov\"/>\n<l:template name=\"Dec\" text=\"dec\"/>\n<l:template name=\"Mon\" text=\"lun\"/>\n<l:template name=\"Tue\" text=\"mar\"/>\n<l:template name=\"Wed\" text=\"mer\"/>\n<l:template name=\"Thu\" text=\"ĵau\"/>\n<l:template name=\"Fri\" text=\"ven\"/>\n<l:template name=\"Sat\" text=\"sab\"/>\n<l:template name=\"Sun\" text=\"dim\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0409 Esperanto\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (red.)\"/>\n<l:template name=\"primary.many\" text=\", k.a.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [referencita \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Havebla \"/>\n<l:template name=\"acctoo\" text=\"Ankaŭ havebla \"/>\n<l:template name=\"onwww\" text=\"de la Tut-Tera Teksaĵo\"/>\n<l:template name=\"oninet\" text=\"de la Interreto\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/es.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"es\" english-language-name=\"Spanish\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/es.xml -->\n<!-- * -->\n<!-- * E-mail the edited es.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Resumen\"/>\n<l:gentext key=\"abstract\" text=\"resumen\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Agradecimientos\"/>\n<l:gentext key=\"acknowledgements\" text=\"agradecimientos\"/>\n<l:gentext key=\"Answer\" text=\"R:\"/>\n<l:gentext key=\"answer\" text=\"r:\"/>\n<l:gentext key=\"Appendix\" text=\"Apéndice\"/>\n<l:gentext key=\"appendix\" text=\"apéndice\"/>\n<l:gentext key=\"Article\" text=\"Artículo\"/>\n<l:gentext key=\"article\" text=\"artículo\"/>\n<l:gentext key=\"Author\" text=\"Autor\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografía\"/>\n<l:gentext key=\"bibliography\" text=\"bibliografía\"/>\n<l:gentext key=\"Book\" text=\"Libro\"/>\n<l:gentext key=\"book\" text=\"libro\"/>\n<l:gentext key=\"CAUTION\" text=\"ATENCIÓN\"/>\n<l:gentext key=\"Caution\" text=\"Atención\"/>\n<l:gentext key=\"caution\" text=\"atención\"/>\n<l:gentext key=\"Chapter\" text=\"Capítulo\"/>\n<l:gentext key=\"chapter\" text=\"capítulo\"/>\n<l:gentext key=\"Colophon\" text=\"Colofón\"/>\n<l:gentext key=\"colophon\" text=\"colofón\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"copyright\"/>\n<l:gentext key=\"Dedication\" text=\"Dedicatoria\"/>\n<l:gentext key=\"dedication\" text=\"dedicatoria\"/>\n<l:gentext key=\"Edition\" text=\"Edición\"/>\n<l:gentext key=\"edition\" text=\"edición\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Ecuación\"/>\n<l:gentext key=\"equation\" text=\"ecuación\"/>\n<l:gentext key=\"Example\" text=\"Ejemplo\"/>\n<l:gentext key=\"example\" text=\"ejemplo\"/>\n<l:gentext key=\"Figure\" text=\"Figura\"/>\n<l:gentext key=\"figure\" text=\"figura\"/>\n<l:gentext key=\"Glossary\" text=\"Glosario\"/>\n<l:gentext key=\"glossary\" text=\"glosario\"/>\n<l:gentext key=\"GlossSee\" text=\"Ver\"/>\n<l:gentext key=\"glosssee\" text=\"ver\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Ver también\"/>\n<l:gentext key=\"glossseealso\" text=\"ver también\"/>\n<l:gentext key=\"IMPORTANT\" text=\"IMPORTANTE\"/>\n<l:gentext key=\"important\" text=\"importante\"/>\n<l:gentext key=\"Important\" text=\"Importante\"/>\n<l:gentext key=\"Index\" text=\"Índice\"/>\n<l:gentext key=\"index\" text=\"índice\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"isbn\"/>\n<l:gentext key=\"LegalNotice\" text=\"Aviso Legal\"/>\n<l:gentext key=\"legalnotice\" text=\"aviso legal\"/>\n<l:gentext key=\"MsgAud\" text=\"Audiencia\"/>\n<l:gentext key=\"msgaud\" text=\"audiencia\"/>\n<l:gentext key=\"MsgLevel\" text=\"Nivel\"/>\n<l:gentext key=\"msglevel\" text=\"nivel\"/>\n<l:gentext key=\"MsgOrig\" text=\"Origen\"/>\n<l:gentext key=\"msgorig\" text=\"origen\"/>\n<l:gentext key=\"NOTE\" text=\"NOTA\"/>\n<l:gentext key=\"Note\" text=\"Nota\"/>\n<l:gentext key=\"note\" text=\"nota\"/>\n<l:gentext key=\"Part\" text=\"Parte\"/>\n<l:gentext key=\"part\" text=\"parte\"/>\n<l:gentext key=\"Preface\" text=\"Prefacio\"/>\n<l:gentext key=\"preface\" text=\"prefacio\"/>\n<l:gentext key=\"Procedure\" text=\"Procedimiento\"/>\n<l:gentext key=\"procedure\" text=\"procedimiento\"/>\n<l:gentext key=\"ProductionSet\" text=\"Producción\"/>\n<l:gentext key=\"PubDate\" text=\"Fecha de publicación\"/>\n<l:gentext key=\"pubdate\" text=\"fecha de publicación\"/>\n<l:gentext key=\"Published\" text=\"Publicado\"/>\n<l:gentext key=\"published\" text=\"publicado\"/>\n<l:gentext key=\"Publisher\" text=\"Editor\"/>\n<l:gentext key=\"Qandadiv\" text=\"P y R\"/>\n<l:gentext key=\"qandadiv\" text=\"P y R\"/>\n<l:gentext key=\"QandASet\" text=\"Preguntas más frecuentes\"/>\n<l:gentext key=\"Question\" text=\"P:\"/>\n<l:gentext key=\"question\" text=\"p:\"/>\n<l:gentext key=\"RefEntry\" text=\"Página\"/>\n<l:gentext key=\"refentry\" text=\"página\"/>\n<l:gentext key=\"Reference\" text=\"Referencia\"/>\n<l:gentext key=\"reference\" text=\"referencia\"/>\n<l:gentext key=\"References\" text=\"Referencias\"/>\n<l:gentext key=\"RefName\" text=\"Nombre\"/>\n<l:gentext key=\"refname\" text=\"nombre\"/>\n<l:gentext key=\"RefSection\" text=\"Sección de referencia\"/>\n<l:gentext key=\"refsection\" text=\"sección de referencia\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Sinopsis\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"sinopsis\"/>\n<l:gentext key=\"RevHistory\" text=\"Historial de revisiones\"/>\n<l:gentext key=\"revhistory\" text=\"Historial de revisiones\"/>\n<l:gentext key=\"revision\" text=\"revisión\"/>\n<l:gentext key=\"Revision\" text=\"Revisión\"/>\n<l:gentext key=\"sect1\" text=\"Sección\"/>\n<l:gentext key=\"sect2\" text=\"Sección\"/>\n<l:gentext key=\"sect3\" text=\"Sección\"/>\n<l:gentext key=\"sect4\" text=\"Sección\"/>\n<l:gentext key=\"sect5\" text=\"Sección\"/>\n<l:gentext key=\"section\" text=\"sección\"/>\n<l:gentext key=\"Section\" text=\"Sección\"/>\n<l:gentext key=\"see\" text=\"ver\"/>\n<l:gentext key=\"See\" text=\"Ver\"/>\n<l:gentext key=\"seealso\" text=\"ver también\"/>\n<l:gentext key=\"Seealso\" text=\"Ver también\"/>\n<l:gentext key=\"SeeAlso\" text=\"Ver También\"/>\n<l:gentext key=\"set\" text=\"conjunto\"/>\n<l:gentext key=\"Set\" text=\"Conjunto\"/>\n<l:gentext key=\"setindex\" text=\"índice del conjunto\"/>\n<l:gentext key=\"SetIndex\" text=\"Índice del Conjunto\"/>\n<l:gentext key=\"Sidebar\" text=\"Barra lateral\"/>\n<l:gentext key=\"sidebar\" text=\"barra lateral\"/>\n<l:gentext key=\"step\" text=\"paso\"/>\n<l:gentext key=\"Step\" text=\"Paso\"/>\n<l:gentext key=\"table\" text=\"tabla\"/>\n<l:gentext key=\"Table\" text=\"Tabla\"/>\n<l:gentext key=\"task\" text=\"tarea\"/>\n<l:gentext key=\"Task\" text=\"Tarea\"/>\n<l:gentext key=\"tip\" text=\"sugerencia\"/>\n<l:gentext key=\"TIP\" text=\"SUGERENCIA\"/>\n<l:gentext key=\"Tip\" text=\"Sugerencia\"/>\n<l:gentext key=\"Warning\" text=\"Aviso\"/>\n<l:gentext key=\"warning\" text=\"aviso\"/>\n<l:gentext key=\"WARNING\" text=\"AVISO\"/>\n<l:gentext key=\"and\" text=\"y\"/>\n<l:gentext key=\"or\" text=\"o\"/>\n<l:gentext key=\"by\" text=\"por\"/>\n<l:gentext key=\"Edited\" text=\"Editado\"/>\n<l:gentext key=\"edited\" text=\"editado\"/>\n<l:gentext key=\"Editedby\" text=\"Editado por\"/>\n<l:gentext key=\"editedby\" text=\"editado por\"/>\n<l:gentext key=\"in\" text=\"en\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"notas\"/>\n<l:gentext key=\"Notes\" text=\"Notas\"/>\n<l:gentext key=\"Pgs\" text=\"Págs.\"/>\n<l:gentext key=\"pgs\" text=\"págs.\"/>\n<l:gentext key=\"Revisedby\" text=\"Revisado por: \"/>\n<l:gentext key=\"revisedby\" text=\"revisado por: \"/>\n<l:gentext key=\"TableNotes\" text=\"Notas de tabla\"/>\n<l:gentext key=\"tablenotes\" text=\"notas de tabla\"/>\n<l:gentext key=\"TableofContents\" text=\"Tabla de contenidos\"/>\n<l:gentext key=\"tableofcontents\" text=\"tabla de contenidos\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"nombre de elemento inesperado\"/>\n<l:gentext key=\"unsupported\" text=\"no soportado\"/>\n<l:gentext key=\"xrefto\" text=\"referencia a\"/>\n<l:gentext key=\"Authors\" text=\"Autores\"/>\n<l:gentext key=\"copyeditor\" text=\"Editor de copiado\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Diseñador gráfico\"/>\n<l:gentext key=\"productioneditor\" text=\"Editor de producción\"/>\n<l:gentext key=\"technicaleditor\" text=\"Editor técnico\"/>\n<l:gentext key=\"translator\" text=\"Traductor\"/>\n<l:gentext key=\"listofequations\" text=\"lista de ecuaciones\"/>\n<l:gentext key=\"ListofEquations\" text=\"Lista de ecuaciones\"/>\n<l:gentext key=\"ListofExamples\" text=\"Lista de ejemplos\"/>\n<l:gentext key=\"listofexamples\" text=\"lista de ejemplos\"/>\n<l:gentext key=\"ListofFigures\" text=\"Lista de figuras\"/>\n<l:gentext key=\"listoffigures\" text=\"lista de figuras\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Lista de procedimientos\"/>\n<l:gentext key=\"listofprocedures\" text=\"lista de procedimientos\"/>\n<l:gentext key=\"listoftables\" text=\"lista de tablas\"/>\n<l:gentext key=\"ListofTables\" text=\"Lista de tablas\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Lista de desconocido\"/>\n<l:gentext key=\"listofunknown\" text=\"lista de desconocido\"/>\n<l:gentext key=\"nav-home\" text=\"Inicio\"/>\n<l:gentext key=\"nav-next\" text=\"Siguiente\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Avanzar\"/>\n<l:gentext key=\"nav-prev\" text=\"Anterior\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Retroceder\"/>\n<l:gentext key=\"nav-up\" text=\"Subir\"/>\n<l:gentext key=\"nav-toc\" text=\"TdC\"/>\n<l:gentext key=\"Draft\" text=\"Borrador\"/>\n<l:gentext key=\"above\" text=\"arriba\"/>\n<l:gentext key=\"below\" text=\"abajo\"/>\n<l:gentext key=\"sectioncalled\" text=\"sección llamada\"/>\n<l:gentext key=\"index symbols\" text=\"Símbolos\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyzáéíóúñ\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚÑ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Apéndice %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Capítulo %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Ecuación %n. %t\"/>\n<l:template name=\"example\" text=\"Ejemplo %n. %t\"/>\n<l:template name=\"figure\" text=\"Figura %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Parte %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Procedimiento %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Producción %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabla %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Apéndice %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Capítulo %n. %t\"/>\n<l:template name=\"part\" text=\"Parte %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"R: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"P: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"P: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"“%t”\"/>\n<l:template name=\"refsection\" text=\"“%t”\"/>\n<l:template name=\"refsect1\" text=\"“%t”\"/>\n<l:template name=\"refsect2\" text=\"“%t”\"/>\n<l:template name=\"refsect3\" text=\"“%t”\"/>\n<l:template name=\"sect1\" text=\"“%t”\"/>\n<l:template name=\"sect2\" text=\"“%t”\"/>\n<l:template name=\"sect3\" text=\"“%t”\"/>\n<l:template name=\"sect4\" text=\"“%t”\"/>\n<l:template name=\"sect5\" text=\"“%t”\"/>\n<l:template name=\"section\" text=\"“%t”\"/>\n<l:template name=\"simplesect\" text=\"“%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"R: %n\"/>\n<l:template name=\"appendix\" text=\"Apéndice %n\"/>\n<l:template name=\"bridgehead\" text=\"Sección %n\"/>\n<l:template name=\"chapter\" text=\"Capítulo %n\"/>\n<l:template name=\"equation\" text=\"Ecuación %n\"/>\n<l:template name=\"example\" text=\"Ejemplo %n\"/>\n<l:template name=\"figure\" text=\"Figura %n\"/>\n<l:template name=\"part\" text=\"Parte %n\"/>\n<l:template name=\"procedure\" text=\"Procedimiento %n\"/>\n<l:template name=\"productionset\" text=\"Producción %n\"/>\n<l:template name=\"qandadiv\" text=\"P y R %n\"/>\n<l:template name=\"qandaentry\" text=\"P: %n\"/>\n<l:template name=\"question\" text=\"P: %n\"/>\n<l:template name=\"sect1\" text=\"Sección %n\"/>\n<l:template name=\"sect2\" text=\"Sección %n\"/>\n<l:template name=\"sect3\" text=\"Sección %n\"/>\n<l:template name=\"sect4\" text=\"Sección %n\"/>\n<l:template name=\"sect5\" text=\"Sección %n\"/>\n<l:template name=\"section\" text=\"Sección %n\"/>\n<l:template name=\"table\" text=\"Tabla %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Apéndice %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Sección %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Capítulo %n, %t\"/>\n<l:template name=\"equation\" text=\"Ecuación %n, “%t”\"/>\n<l:template name=\"example\" text=\"Ejemplo %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Figura %n, “%t”\"/>\n<l:template name=\"part\" text=\"Parte %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Procedimiento %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Producción %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"P y R %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"sección llamada “%t”\"/>\n<l:template name=\"refsect2\" text=\"sección llamada “%t”\"/>\n<l:template name=\"refsect3\" text=\"sección llamada “%t”\"/>\n<l:template name=\"refsection\" text=\"sección llamada “%t”\"/>\n<l:template name=\"sect1\" text=\"Sección %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Sección %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Sección %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Sección %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Sección %n, “%t”\"/>\n<l:template name=\"section\" text=\"Sección %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"sección llamada “%t”\"/>\n<l:template name=\"table\" text=\"Tabla %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" y \"/>\n<l:template name=\"seplast\" text=\", y \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Ver %t.\"/>\n<l:template name=\"seealso\" text=\"Ver también %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Audiencia: \"/>\n<l:template name=\"MsgLevel\" text=\"Nivel: \"/>\n<l:template name=\"MsgOrig\" text=\"Origen: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definición: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Enero\"/>\n<l:template name=\"February\" text=\"Febrero\"/>\n<l:template name=\"March\" text=\"Marzo\"/>\n<l:template name=\"April\" text=\"Abril\"/>\n<l:template name=\"May\" text=\"Mayo\"/>\n<l:template name=\"June\" text=\"Junio\"/>\n<l:template name=\"July\" text=\"Julio\"/>\n<l:template name=\"August\" text=\"Agosto\"/>\n<l:template name=\"September\" text=\"Septiembre\"/>\n<l:template name=\"October\" text=\"Octubre\"/>\n<l:template name=\"November\" text=\"Noviembre\"/>\n<l:template name=\"December\" text=\"Diciembre\"/>\n<l:template name=\"Monday\" text=\"Lunes\"/>\n<l:template name=\"Tuesday\" text=\"Martes\"/>\n<l:template name=\"Wednesday\" text=\"Miércoles\"/>\n<l:template name=\"Thursday\" text=\"Jueves\"/>\n<l:template name=\"Friday\" text=\"Viernes\"/>\n<l:template name=\"Saturday\" text=\"Sábado\"/>\n<l:template name=\"Sunday\" text=\"Domingo\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Ene\"/>\n<l:template name=\"Feb\" text=\"Feb\"/>\n<l:template name=\"Mar\" text=\"Mar\"/>\n<l:template name=\"Apr\" text=\"Apr\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\"/>\n<l:template name=\"Jun\" text=\"Jun\"/>\n<l:template name=\"Jul\" text=\"Jul\"/>\n<l:template name=\"Aug\" text=\"Ago\"/>\n<l:template name=\"Sep\" text=\"Sep\"/>\n<l:template name=\"Oct\" text=\"Oct\"/>\n<l:template name=\"Nov\" text=\"Nov\"/>\n<l:template name=\"Dec\" text=\"Dic\"/>\n<l:template name=\"Mon\" text=\"Lun\"/>\n<l:template name=\"Tue\" text=\"Mar\"/>\n<l:template name=\"Wed\" text=\"Mie\"/>\n<l:template name=\"Thu\" text=\"Jue\"/>\n<l:template name=\"Fri\" text=\"Vie\"/>\n<l:template name=\"Sat\" text=\"Sab\"/>\n<l:template name=\"Sun\" text=\"Dom\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x040a Spanish (Traditional Sort)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Símbolos</l:l>\n<l:l i=\"1\">A</l:l>\n<l:l i=\"1\">a</l:l>\n<l:l i=\"1\">á</l:l>\n<l:l i=\"1\">Á</l:l>\n<l:l i=\"2\">B</l:l>\n<l:l i=\"2\">b</l:l>\n<l:l i=\"3\">C</l:l>\n<l:l i=\"3\">c</l:l>\n<l:l i=\"4\">CH</l:l>\n<l:l i=\"4\">ch</l:l>\n<l:l i=\"5\">D</l:l>\n<l:l i=\"5\">d</l:l>\n<l:l i=\"6\">E</l:l>\n<l:l i=\"6\">e</l:l>\n<l:l i=\"6\">É</l:l>\n<l:l i=\"6\">é</l:l>\n<l:l i=\"7\">F</l:l>\n<l:l i=\"7\">f</l:l>\n<l:l i=\"8\">G</l:l>\n<l:l i=\"8\">g</l:l>\n<l:l i=\"9\">H</l:l>\n<l:l i=\"9\">h</l:l>\n<l:l i=\"10\">I</l:l>\n<l:l i=\"10\">i</l:l>\n<l:l i=\"10\">Í</l:l>\n<l:l i=\"10\">í</l:l>\n<l:l i=\"11\">J</l:l>\n<l:l i=\"11\">j</l:l>\n<l:l i=\"12\">K</l:l>\n<l:l i=\"12\">k</l:l>\n<l:l i=\"13\">L</l:l>\n<l:l i=\"13\">l</l:l>\n<l:l i=\"14\">LL</l:l>\n<l:l i=\"14\">ll</l:l>\n<l:l i=\"15\">M</l:l>\n<l:l i=\"15\">m</l:l>\n<l:l i=\"16\">N</l:l>\n<l:l i=\"16\">n</l:l>\n<l:l i=\"17\">Ñ</l:l>\n<l:l i=\"17\">ñ</l:l>\n<l:l i=\"18\">O</l:l>\n<l:l i=\"18\">o</l:l>\n<l:l i=\"18\">Ó</l:l>\n<l:l i=\"18\">ó</l:l>\n<l:l i=\"19\">P</l:l>\n<l:l i=\"19\">p</l:l>\n<l:l i=\"20\">Q</l:l>\n<l:l i=\"20\">q</l:l>\n<l:l i=\"21\">R</l:l>\n<l:l i=\"21\">r</l:l>\n<l:l i=\"22\">S</l:l>\n<l:l i=\"22\">s</l:l>\n<l:l i=\"23\">T</l:l>\n<l:l i=\"23\">t</l:l>\n<l:l i=\"24\">U</l:l>\n<l:l i=\"24\">u</l:l>\n<l:l i=\"24\">Ú</l:l>\n<l:l i=\"24\">ú</l:l>\n<l:l i=\"25\">V</l:l>\n<l:l i=\"25\">v</l:l>\n<l:l i=\"26\">W</l:l>\n<l:l i=\"26\">w</l:l>\n<l:l i=\"27\">X</l:l>\n<l:l i=\"27\">x</l:l>\n<l:l i=\"28\">Y</l:l>\n<l:l i=\"28\">y</l:l>\n<l:l i=\"29\">Z</l:l>\n<l:l i=\"29\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/et.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"et\" english-language-name=\"Estonian\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/et.xml -->\n<!-- * -->\n<!-- * E-mail the edited et.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Ülevaade\"/>\n<l:gentext key=\"abstract\" text=\"Ülevaade\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"V:\"/>\n<l:gentext key=\"answer\" text=\"V:\"/>\n<l:gentext key=\"Appendix\" text=\"Lisa\"/>\n<l:gentext key=\"appendix\" text=\"lisa\"/>\n<l:gentext key=\"Article\" text=\"Artikkel\"/>\n<l:gentext key=\"article\" text=\"Artikkel\"/>\n<l:gentext key=\"Author\" text=\"Author\" lang=\"en\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliograafia\"/>\n<l:gentext key=\"bibliography\" text=\"Bibliograafia\"/>\n<l:gentext key=\"Book\" text=\"Raamat\"/>\n<l:gentext key=\"book\" text=\"Raamat\"/>\n<l:gentext key=\"CAUTION\" text=\"ETTEVAATUST\"/>\n<l:gentext key=\"Caution\" text=\"Ettevaatust\"/>\n<l:gentext key=\"caution\" text=\"Ettevaatust\"/>\n<l:gentext key=\"Chapter\" text=\"Peatükk\"/>\n<l:gentext key=\"chapter\" text=\"peatükk\"/>\n<l:gentext key=\"Colophon\" text=\"Lõpumärgis\"/>\n<l:gentext key=\"colophon\" text=\"Lõpumärgis\"/>\n<l:gentext key=\"Copyright\" text=\"Autoriõigus\"/>\n<l:gentext key=\"copyright\" text=\"Autoriõigus\"/>\n<l:gentext key=\"Dedication\" text=\"Pühendus\"/>\n<l:gentext key=\"dedication\" text=\"Pühendus\"/>\n<l:gentext key=\"Edition\" text=\"Väljaanne\"/>\n<l:gentext key=\"edition\" text=\"Väljaanne\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Valem\"/>\n<l:gentext key=\"equation\" text=\"Valem\"/>\n<l:gentext key=\"Example\" text=\"Näide\"/>\n<l:gentext key=\"example\" text=\"Näide\"/>\n<l:gentext key=\"Figure\" text=\"Joonis\"/>\n<l:gentext key=\"figure\" text=\"Joonis\"/>\n<l:gentext key=\"Glossary\" text=\"Sõnastik\"/>\n<l:gentext key=\"glossary\" text=\"Sõnastik\"/>\n<l:gentext key=\"GlossSee\" text=\"Vt.\"/>\n<l:gentext key=\"glosssee\" text=\"Vt.\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Vt. ka\"/>\n<l:gentext key=\"glossseealso\" text=\"Vt. ka\"/>\n<l:gentext key=\"IMPORTANT\" text=\"OLULINE\"/>\n<l:gentext key=\"important\" text=\"Oluline\"/>\n<l:gentext key=\"Important\" text=\"Oluline\"/>\n<l:gentext key=\"Index\" text=\"Aineregister\"/>\n<l:gentext key=\"index\" text=\"Aineregister\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Autoriõiguse märge\"/>\n<l:gentext key=\"legalnotice\" text=\"Autoriõiguse märge\"/>\n<l:gentext key=\"MsgAud\" text=\"Auditoorium\"/>\n<l:gentext key=\"msgaud\" text=\"Auditoorium\"/>\n<l:gentext key=\"MsgLevel\" text=\"Tase\"/>\n<l:gentext key=\"msglevel\" text=\"Tase\"/>\n<l:gentext key=\"MsgOrig\" text=\"Algallikas\"/>\n<l:gentext key=\"msgorig\" text=\"Algallikas\"/>\n<l:gentext key=\"NOTE\" text=\"MÄRKUS\"/>\n<l:gentext key=\"Note\" text=\"Märkus\"/>\n<l:gentext key=\"note\" text=\"Märkus\"/>\n<l:gentext key=\"Part\" text=\"Osa\"/>\n<l:gentext key=\"part\" text=\"Osa\"/>\n<l:gentext key=\"Preface\" text=\"Eessõna\"/>\n<l:gentext key=\"preface\" text=\"Eessõna\"/>\n<l:gentext key=\"Procedure\" text=\"Protseduur\"/>\n<l:gentext key=\"procedure\" text=\"Protseduur\"/>\n<l:gentext key=\"ProductionSet\" text=\"Production\"/>\n<l:gentext key=\"PubDate\" text=\"Publication Date\" lang=\"en\"/>\n<l:gentext key=\"pubdate\" text=\"Publication date\" lang=\"en\"/>\n<l:gentext key=\"Published\" text=\"Avaldatud\"/>\n<l:gentext key=\"published\" text=\"Avaldatud\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"K ja V\"/>\n<l:gentext key=\"qandadiv\" text=\"K ja V\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"K:\"/>\n<l:gentext key=\"question\" text=\"K:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Viide\"/>\n<l:gentext key=\"reference\" text=\"Viide\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Nimi\"/>\n<l:gentext key=\"refname\" text=\"Nimi\"/>\n<l:gentext key=\"RefSection\" text=\"Lõik\"/>\n<l:gentext key=\"refsection\" text=\"Lõik\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Sünopsis\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Sünopsis\"/>\n<l:gentext key=\"RevHistory\" text=\"Vigade paranduste ajalugu\"/>\n<l:gentext key=\"revhistory\" text=\"Vigade paranduste ajalugu\"/>\n<l:gentext key=\"revision\" text=\"Vigade parandus\"/>\n<l:gentext key=\"Revision\" text=\"Vigade parandus\"/>\n<l:gentext key=\"sect1\" text=\"Section\"/>\n<l:gentext key=\"sect2\" text=\"Section\"/>\n<l:gentext key=\"sect3\" text=\"Section\"/>\n<l:gentext key=\"sect4\" text=\"Section\"/>\n<l:gentext key=\"sect5\" text=\"Section\"/>\n<l:gentext key=\"section\" text=\"lõik\"/>\n<l:gentext key=\"Section\" text=\"Sektsioon\"/>\n<l:gentext key=\"see\" text=\"Vt.\"/>\n<l:gentext key=\"See\" text=\"Vt.\"/>\n<l:gentext key=\"seealso\" text=\"Vt. ka\"/>\n<l:gentext key=\"Seealso\" text=\"Vt. ka\"/>\n<l:gentext key=\"SeeAlso\" text=\"Vt. ka\"/>\n<l:gentext key=\"set\" text=\"Sea\"/>\n<l:gentext key=\"Set\" text=\"Sea\"/>\n<l:gentext key=\"setindex\" text=\"Sea indeks\"/>\n<l:gentext key=\"SetIndex\" text=\"Sea indeks\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"külgriba\"/>\n<l:gentext key=\"step\" text=\"samm\"/>\n<l:gentext key=\"Step\" text=\"Samm\"/>\n<l:gentext key=\"table\" text=\"Tabel\"/>\n<l:gentext key=\"Table\" text=\"Tabel\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"Vihje\"/>\n<l:gentext key=\"TIP\" text=\"VIHJE\"/>\n<l:gentext key=\"Tip\" text=\"Vihje\"/>\n<l:gentext key=\"Warning\" text=\"Hoiatus\"/>\n<l:gentext key=\"warning\" text=\"Hoiatus\"/>\n<l:gentext key=\"WARNING\" text=\"HOIATUS\"/>\n<l:gentext key=\"and\" text=\"ja\"/>\n<l:gentext key=\"or\" text=\"või\"/>\n<l:gentext key=\"by\" text=\"\"/>\n<l:gentext key=\"Edited\" text=\"Redaktsioon\"/>\n<l:gentext key=\"edited\" text=\"Redaktsioon\"/>\n<l:gentext key=\"Editedby\" text=\"Redaktsiooni autor(id)\"/>\n<l:gentext key=\"editedby\" text=\"Redaktsiooni autor(id)\"/>\n<l:gentext key=\"in\" text=\"\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Märkused\"/>\n<l:gentext key=\"Notes\" text=\"Märkused\"/>\n<l:gentext key=\"Pgs\" text=\"Lk.\"/>\n<l:gentext key=\"pgs\" text=\"Lk.\"/>\n<l:gentext key=\"Revisedby\" text=\"Üle vaadanud: \"/>\n<l:gentext key=\"revisedby\" text=\"Üle vaadanud: \"/>\n<l:gentext key=\"TableNotes\" text=\"Märkused\"/>\n<l:gentext key=\"tablenotes\" text=\"Märkused\"/>\n<l:gentext key=\"TableofContents\" text=\"Sisukord\"/>\n<l:gentext key=\"tableofcontents\" text=\"Sisukord\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Ootamatu elemendi nimi\"/>\n<l:gentext key=\"unsupported\" text=\"toetuseta\"/>\n<l:gentext key=\"xrefto\" text=\"viide\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"Valemite nimekiri\"/>\n<l:gentext key=\"ListofEquations\" text=\"Valemite nimekiri\"/>\n<l:gentext key=\"ListofExamples\" text=\"Näidete nimekiri\"/>\n<l:gentext key=\"listofexamples\" text=\"Näidete nimekiri\"/>\n<l:gentext key=\"ListofFigures\" text=\"Jooniste nimekiri\"/>\n<l:gentext key=\"listoffigures\" text=\"Jooniste nimekiri\"/>\n<l:gentext key=\"ListofProcedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listofprocedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listoftables\" text=\"Tabelite nimekiri\"/>\n<l:gentext key=\"ListofTables\" text=\"Tabelite nimekiri\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Tundmatute nimekiri\"/>\n<l:gentext key=\"listofunknown\" text=\"Tundmatute nimekiri\"/>\n<l:gentext key=\"nav-home\" text=\"Koju\"/>\n<l:gentext key=\"nav-next\" text=\"Järgmine\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Kiiresti edasi\"/>\n<l:gentext key=\"nav-prev\" text=\"Eelmine\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Kiiresti tagasi\"/>\n<l:gentext key=\"nav-up\" text=\"Üles\"/>\n<l:gentext key=\"nav-toc\" text=\"ToC\" lang=\"en\"/>\n<l:gentext key=\"Draft\" text=\"Draft\"/>\n<l:gentext key=\"above\" text=\"above\"/>\n<l:gentext key=\"below\" text=\"below\"/>\n<l:gentext key=\"sectioncalled\" text=\"the section called\"/>\n<l:gentext key=\"index symbols\" text=\"Symbols\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Lisa %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Peatükk %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Valem %n. %t\"/>\n<l:template name=\"example\" text=\"Näide %n. %t\"/>\n<l:template name=\"figure\" text=\"Joonis %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Osa %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Protseduur %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Production %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabel %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Lisa %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Peatükk %n. %t\"/>\n<l:template name=\"part\" text=\"Osa %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"V: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"K: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"K: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"“%t”\"/>\n<l:template name=\"refsection\" text=\"“%t”\"/>\n<l:template name=\"refsect1\" text=\"“%t”\"/>\n<l:template name=\"refsect2\" text=\"“%t”\"/>\n<l:template name=\"refsect3\" text=\"“%t”\"/>\n<l:template name=\"sect1\" text=\"“%t”\"/>\n<l:template name=\"sect2\" text=\"“%t”\"/>\n<l:template name=\"sect3\" text=\"“%t”\"/>\n<l:template name=\"sect4\" text=\"“%t”\"/>\n<l:template name=\"sect5\" text=\"“%t”\"/>\n<l:template name=\"section\" text=\"“%t”\"/>\n<l:template name=\"simplesect\" text=\"“%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"V: %n\"/>\n<l:template name=\"appendix\" text=\"Lisa %n\"/>\n<l:template name=\"bridgehead\" text=\"Sektsioon %n\"/>\n<l:template name=\"chapter\" text=\"Peatükk %n\"/>\n<l:template name=\"equation\" text=\"Valem %n\"/>\n<l:template name=\"example\" text=\"Näide %n\"/>\n<l:template name=\"figure\" text=\"Joonis %n\"/>\n<l:template name=\"part\" text=\"Osa %n\"/>\n<l:template name=\"procedure\" text=\"Protseduur %n\"/>\n<l:template name=\"productionset\" text=\"Production %n\"/>\n<l:template name=\"qandadiv\" text=\"K ja V %n\"/>\n<l:template name=\"qandaentry\" text=\"K: %n\"/>\n<l:template name=\"question\" text=\"K: %n\"/>\n<l:template name=\"sect1\" text=\"Sektsioon %n\"/>\n<l:template name=\"sect2\" text=\"Sektsioon %n\"/>\n<l:template name=\"sect3\" text=\"Sektsioon %n\"/>\n<l:template name=\"sect4\" text=\"Sektsioon %n\"/>\n<l:template name=\"sect5\" text=\"Sektsioon %n\"/>\n<l:template name=\"section\" text=\"Sektsioon %n\"/>\n<l:template name=\"table\" text=\"Tabel %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Lisa %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Sektsioon %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Peatükk %n, %t\"/>\n<l:template name=\"equation\" text=\"Valem %n, “%t”\"/>\n<l:template name=\"example\" text=\"Näide %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Joonis %n, “%t”\"/>\n<l:template name=\"part\" text=\"Osa %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Protseduur %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Production %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"K ja V %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"the section called “%t”\"/>\n<l:template name=\"refsect2\" text=\"the section called “%t”\"/>\n<l:template name=\"refsect3\" text=\"the section called “%t”\"/>\n<l:template name=\"refsection\" text=\"the section called “%t”\"/>\n<l:template name=\"sect1\" text=\"Sektsioon %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Sektsioon %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Sektsioon %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Sektsioon %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Sektsioon %n, “%t”\"/>\n<l:template name=\"section\" text=\"Sektsioon %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"the section called “%t”\"/>\n<l:template name=\"table\" text=\"Tabel %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" ja \"/>\n<l:template name=\"seplast\" text=\", ja \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Vt. %t.\"/>\n<l:template name=\"seealso\" text=\"Vt. ka %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Auditoorium: \"/>\n<l:template name=\"MsgLevel\" text=\"Tase: \"/>\n<l:template name=\"MsgOrig\" text=\"Algallikas: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\" lang=\"en\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"January\" lang=\"en\"/>\n<l:template name=\"February\" text=\"February\" lang=\"en\"/>\n<l:template name=\"March\" text=\"March\" lang=\"en\"/>\n<l:template name=\"April\" text=\"April\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"June\" text=\"June\" lang=\"en\"/>\n<l:template name=\"July\" text=\"July\" lang=\"en\"/>\n<l:template name=\"August\" text=\"August\" lang=\"en\"/>\n<l:template name=\"September\" text=\"September\" lang=\"en\"/>\n<l:template name=\"October\" text=\"October\" lang=\"en\"/>\n<l:template name=\"November\" text=\"November\" lang=\"en\"/>\n<l:template name=\"December\" text=\"December\" lang=\"en\"/>\n<l:template name=\"Monday\" text=\"Monday\" lang=\"en\"/>\n<l:template name=\"Tuesday\" text=\"Tuesday\" lang=\"en\"/>\n<l:template name=\"Wednesday\" text=\"Wednesday\" lang=\"en\"/>\n<l:template name=\"Thursday\" text=\"Thursday\" lang=\"en\"/>\n<l:template name=\"Friday\" text=\"Friday\" lang=\"en\"/>\n<l:template name=\"Saturday\" text=\"Saturday\" lang=\"en\"/>\n<l:template name=\"Sunday\" text=\"Sunday\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\" lang=\"en\"/>\n<l:template name=\"Feb\" text=\"Feb\" lang=\"en\"/>\n<l:template name=\"Mar\" text=\"Mar\" lang=\"en\"/>\n<l:template name=\"Apr\" text=\"Apr\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"Jun\" text=\"Jun\" lang=\"en\"/>\n<l:template name=\"Jul\" text=\"Jul\" lang=\"en\"/>\n<l:template name=\"Aug\" text=\"Aug\" lang=\"en\"/>\n<l:template name=\"Sep\" text=\"Sep\" lang=\"en\"/>\n<l:template name=\"Oct\" text=\"Oct\" lang=\"en\"/>\n<l:template name=\"Nov\" text=\"Nov\" lang=\"en\"/>\n<l:template name=\"Dec\" text=\"Dec\" lang=\"en\"/>\n<l:template name=\"Mon\" text=\"Mon\" lang=\"en\"/>\n<l:template name=\"Tue\" text=\"Tue\" lang=\"en\"/>\n<l:template name=\"Wed\" text=\"Wed\" lang=\"en\"/>\n<l:template name=\"Thu\" text=\"Thu\" lang=\"en\"/>\n<l:template name=\"Fri\" text=\"Fri\" lang=\"en\"/>\n<l:template name=\"Sat\" text=\"Sat\" lang=\"en\"/>\n<l:template name=\"Sun\" text=\"Sun\" lang=\"en\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0425 Estonian\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters lang=\"en\"><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/eu.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"eu\" english-language-name=\"Basque\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/eu.xml -->\n<!-- * -->\n<!-- * E-mail the edited eu.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Laburpena\"/>\n<l:gentext key=\"abstract\" text=\"Laburpena\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"E:\"/>\n<l:gentext key=\"answer\" text=\"E:\"/>\n<l:gentext key=\"Appendix\" text=\"Eranskina\"/>\n<l:gentext key=\"appendix\" text=\"eranskina\"/>\n<l:gentext key=\"Article\" text=\"Artikulua\"/>\n<l:gentext key=\"article\" text=\"Artikulua\"/>\n<l:gentext key=\"Author\" text=\"Author\" lang=\"en\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografia\"/>\n<l:gentext key=\"bibliography\" text=\"Bibliografia\"/>\n<l:gentext key=\"Book\" text=\"Liburua\"/>\n<l:gentext key=\"book\" text=\"Liburua\"/>\n<l:gentext key=\"CAUTION\" text=\"KONTUZ\"/>\n<l:gentext key=\"Caution\" text=\"Kontuz\"/>\n<l:gentext key=\"caution\" text=\"Kontuz\"/>\n<l:gentext key=\"Chapter\" text=\"Atala\"/>\n<l:gentext key=\"chapter\" text=\"atala\"/>\n<l:gentext key=\"Colophon\" text=\"Azken ohar\"/>\n<l:gentext key=\"colophon\" text=\"Azken ohar\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"Copyright\"/>\n<l:gentext key=\"Dedication\" text=\"Eskaintza\"/>\n<l:gentext key=\"dedication\" text=\"Eskaintza\"/>\n<l:gentext key=\"Edition\" text=\"Edizioa\"/>\n<l:gentext key=\"edition\" text=\"Edizioa\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Ekuazioa\"/>\n<l:gentext key=\"equation\" text=\"Ekuazioa\"/>\n<l:gentext key=\"Example\" text=\"Adibidea\"/>\n<l:gentext key=\"example\" text=\"Adibidea\"/>\n<l:gentext key=\"Figure\" text=\"Irudia\"/>\n<l:gentext key=\"figure\" text=\"Irudia\"/>\n<l:gentext key=\"Glossary\" text=\"Glosarioa\"/>\n<l:gentext key=\"glossary\" text=\"Glosarioa\"/>\n<l:gentext key=\"GlossSee\" text=\"Ikus\"/>\n<l:gentext key=\"glosssee\" text=\"Ikus\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Ikus baita ere\"/>\n<l:gentext key=\"glossseealso\" text=\"Ikus baita ere\"/>\n<l:gentext key=\"IMPORTANT\" text=\"GARRANTZITSUA\"/>\n<l:gentext key=\"important\" text=\"Garrantzitsua\"/>\n<l:gentext key=\"Important\" text=\"Garrantzitsua\"/>\n<l:gentext key=\"Index\" text=\"Indizea\"/>\n<l:gentext key=\"index\" text=\"Indizea\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Legezko abisua\"/>\n<l:gentext key=\"legalnotice\" text=\"Legezko abisua\"/>\n<l:gentext key=\"MsgAud\" text=\"Audientzia\"/>\n<l:gentext key=\"msgaud\" text=\"Audientzia\"/>\n<l:gentext key=\"MsgLevel\" text=\"Maila\"/>\n<l:gentext key=\"msglevel\" text=\"Maila\"/>\n<l:gentext key=\"MsgOrig\" text=\"Jatorria\"/>\n<l:gentext key=\"msgorig\" text=\"Jatorria\"/>\n<l:gentext key=\"NOTE\" text=\"OHARRA\"/>\n<l:gentext key=\"Note\" text=\"Oharra\"/>\n<l:gentext key=\"note\" text=\"Oharra\"/>\n<l:gentext key=\"Part\" text=\"Zatia\"/>\n<l:gentext key=\"part\" text=\"Zatia\"/>\n<l:gentext key=\"Preface\" text=\"Hitzaurrea\"/>\n<l:gentext key=\"preface\" text=\"Hitzaurrea\"/>\n<l:gentext key=\"Procedure\" text=\"Prozedura\"/>\n<l:gentext key=\"procedure\" text=\"Prozedura\"/>\n<l:gentext key=\"ProductionSet\" text=\"Ekoizpena\"/>\n<l:gentext key=\"PubDate\" text=\"Publication Date\" lang=\"en\"/>\n<l:gentext key=\"pubdate\" text=\"Publication date\" lang=\"en\"/>\n<l:gentext key=\"Published\" text=\"Argitaratua\"/>\n<l:gentext key=\"published\" text=\"Argitaratua\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"Galdera eta E\"/>\n<l:gentext key=\"qandadiv\" text=\"Galdera eta E\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"Galdera\"/>\n<l:gentext key=\"question\" text=\"galdera\"/>\n<l:gentext key=\"RefEntry\" text=\"Sarrera\"/>\n<l:gentext key=\"refentry\" text=\"Sarrera\"/>\n<l:gentext key=\"Reference\" text=\"Erreferentzia\"/>\n<l:gentext key=\"reference\" text=\"Erreferentzia\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Izena\"/>\n<l:gentext key=\"refname\" text=\"Izena\"/>\n<l:gentext key=\"RefSection\" text=\"Sekzioa\"/>\n<l:gentext key=\"refsection\" text=\"sekzioa\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Laburpena\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Laburpena\"/>\n<l:gentext key=\"RevHistory\" text=\"Berrikuspenaren historia\"/>\n<l:gentext key=\"revhistory\" text=\"Berrikuspenaren historia\"/>\n<l:gentext key=\"revision\" text=\"Berrikuspena\"/>\n<l:gentext key=\"Revision\" text=\"Berrikuspena\"/>\n<l:gentext key=\"sect1\" text=\"Atala\"/>\n<l:gentext key=\"sect2\" text=\"Atala\"/>\n<l:gentext key=\"sect3\" text=\"Atala\"/>\n<l:gentext key=\"sect4\" text=\"Atala\"/>\n<l:gentext key=\"sect5\" text=\"Atala\"/>\n<l:gentext key=\"section\" text=\"Atala\"/>\n<l:gentext key=\"Section\" text=\"Atala\"/>\n<l:gentext key=\"see\" text=\"Ikus\"/>\n<l:gentext key=\"See\" text=\"Ikus\"/>\n<l:gentext key=\"seealso\" text=\"Ikus baita ere\"/>\n<l:gentext key=\"Seealso\" text=\"Ikus baita ere\"/>\n<l:gentext key=\"SeeAlso\" text=\"Ikus baita ere\"/>\n<l:gentext key=\"set\" text=\"Konfiguratu\"/>\n<l:gentext key=\"Set\" text=\"Konfiguratu\"/>\n<l:gentext key=\"setindex\" text=\"Konfiguratu indizea\"/>\n<l:gentext key=\"SetIndex\" text=\"Konfiguratu indizea\"/>\n<l:gentext key=\"Sidebar\" text=\"Alboko barra\"/>\n<l:gentext key=\"sidebar\" text=\"alboko barra\"/>\n<l:gentext key=\"step\" text=\"urratsa\"/>\n<l:gentext key=\"Step\" text=\"Urratsa\"/>\n<l:gentext key=\"table\" text=\"Taula\"/>\n<l:gentext key=\"Table\" text=\"Taula\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"Iradokizuna\"/>\n<l:gentext key=\"TIP\" text=\"IRADOKIZUNA\"/>\n<l:gentext key=\"Tip\" text=\"Iradokizuna\"/>\n<l:gentext key=\"Warning\" text=\"Abisua\"/>\n<l:gentext key=\"warning\" text=\"Abisua\"/>\n<l:gentext key=\"WARNING\" text=\"ABISUA\"/>\n<l:gentext key=\"and\" text=\"eta\"/>\n<l:gentext key=\"or\" text=\"edo\"/>\n<l:gentext key=\"by\" text=\"Honek\"/>\n<l:gentext key=\"Edited\" text=\"editatua\"/>\n<l:gentext key=\"edited\" text=\"editatua\"/>\n<l:gentext key=\"Editedby\" text=\"Honek editatua\"/>\n<l:gentext key=\"editedby\" text=\"Honek editatua\"/>\n<l:gentext key=\"in\" text=\"non\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Oharrak\"/>\n<l:gentext key=\"Notes\" text=\"Oharrak\"/>\n<l:gentext key=\"Pgs\" text=\"Orr.\"/>\n<l:gentext key=\"pgs\" text=\"Orr.\"/>\n<l:gentext key=\"Revisedby\" text=\"Berrikuspena: \"/>\n<l:gentext key=\"revisedby\" text=\"Berrikuspena: \"/>\n<l:gentext key=\"TableNotes\" text=\"Oharrak\"/>\n<l:gentext key=\"tablenotes\" text=\"Oharrak\"/>\n<l:gentext key=\"TableofContents\" text=\"Edukien aurkibidea\"/>\n<l:gentext key=\"tableofcontents\" text=\"Edukien aurkibidea\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Ustekabeko elemetu-izena\"/>\n<l:gentext key=\"unsupported\" text=\"onartzen ez den\"/>\n<l:gentext key=\"xrefto\" text=\"xref honi\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"Ekuazioen zerrenda\"/>\n<l:gentext key=\"ListofEquations\" text=\"Ekuazioen zerrenda\"/>\n<l:gentext key=\"ListofExamples\" text=\"Adibideen zerrenda\"/>\n<l:gentext key=\"listofexamples\" text=\"Adibideen zerrenda\"/>\n<l:gentext key=\"ListofFigures\" text=\"Irudien zerrenda\"/>\n<l:gentext key=\"listoffigures\" text=\"Irudien zerrenda\"/>\n<l:gentext key=\"ListofProcedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listofprocedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listoftables\" text=\"Taulen zerrenda\"/>\n<l:gentext key=\"ListofTables\" text=\"Taulen zerrenda\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Ezezagunen zerrenda\"/>\n<l:gentext key=\"listofunknown\" text=\"Ezazagunen zerrenda\"/>\n<l:gentext key=\"nav-home\" text=\"Etxea\"/>\n<l:gentext key=\"nav-next\" text=\"Hurrengoa\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Aurreratze azkarra\"/>\n<l:gentext key=\"nav-prev\" text=\"Aurrekoa\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Atzeratze azkarra\"/>\n<l:gentext key=\"nav-up\" text=\"Gora\"/>\n<l:gentext key=\"nav-toc\" text=\"ToC\" lang=\"en\"/>\n<l:gentext key=\"Draft\" text=\"Zirriborroa\"/>\n<l:gentext key=\"above\" text=\"goian\"/>\n<l:gentext key=\"below\" text=\"behean\"/>\n<l:gentext key=\"sectioncalled\" text=\"honela deritzon atala\"/>\n<l:gentext key=\"index symbols\" text=\"Ikurrak\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Eranskina %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Atala %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Ekuazioa %n. %t\"/>\n<l:template name=\"example\" text=\"Adibidea %n. %t\"/>\n<l:template name=\"figure\" text=\"Irudia %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Zatia %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Prozedura %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Ekoizpena %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Taula %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Eranskina %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Atala %n. %t\"/>\n<l:template name=\"part\" text=\"Zatia %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"E: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Galdera %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Galdera %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"honela deritzon atala “%t”\"/>\n<l:template name=\"refsection\" text=\"honela deritzon atala “%t”\"/>\n<l:template name=\"refsect1\" text=\"honela deritzon atala “%t”\"/>\n<l:template name=\"refsect2\" text=\"honela deritzon atala “%t”\"/>\n<l:template name=\"refsect3\" text=\"honela deritzon atala “%t”\"/>\n<l:template name=\"sect1\" text=\"honela deritzon atala “%t”\"/>\n<l:template name=\"sect2\" text=\"honela deritzon atala “%t”\"/>\n<l:template name=\"sect3\" text=\"honela deritzon atala “%t”\"/>\n<l:template name=\"sect4\" text=\"honela deritzon atala “%t”\"/>\n<l:template name=\"sect5\" text=\"honela deritzon atala “%t”\"/>\n<l:template name=\"section\" text=\"honela deritzon atala “%t”\"/>\n<l:template name=\"simplesect\" text=\"honela deritzon atala “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"E: %n\"/>\n<l:template name=\"appendix\" text=\"Eranskina %n\"/>\n<l:template name=\"bridgehead\" text=\"Atala %n\"/>\n<l:template name=\"chapter\" text=\"Atala %n\"/>\n<l:template name=\"equation\" text=\"Ekuazioa %n\"/>\n<l:template name=\"example\" text=\"Adibidea %n\"/>\n<l:template name=\"figure\" text=\"Irudia %n\"/>\n<l:template name=\"part\" text=\"Zatia %n\"/>\n<l:template name=\"procedure\" text=\"Prozedura %n\"/>\n<l:template name=\"productionset\" text=\"Ekoizpena %n\"/>\n<l:template name=\"qandadiv\" text=\"Galdera eta E %n\"/>\n<l:template name=\"qandaentry\" text=\"Galdera %n\"/>\n<l:template name=\"question\" text=\"Galdera %n\"/>\n<l:template name=\"sect1\" text=\"Atala %n\"/>\n<l:template name=\"sect2\" text=\"Atala %n\"/>\n<l:template name=\"sect3\" text=\"Atala %n\"/>\n<l:template name=\"sect4\" text=\"Atala %n\"/>\n<l:template name=\"sect5\" text=\"Atala %n\"/>\n<l:template name=\"section\" text=\"Atala %n\"/>\n<l:template name=\"table\" text=\"Taula %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Eranskina %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Atala %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Atala %n, %t\"/>\n<l:template name=\"equation\" text=\"Ekuazioa %n, “%t”\"/>\n<l:template name=\"example\" text=\"Adibidea %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Irudia %n, “%t”\"/>\n<l:template name=\"part\" text=\"Zatia %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Prozedura %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Ekoizpena %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"Galdera eta E %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"honela deritzon atala “%t”\"/>\n<l:template name=\"refsect2\" text=\"honela deritzon atala “%t”\"/>\n<l:template name=\"refsect3\" text=\"honela deritzon atala “%t”\"/>\n<l:template name=\"refsection\" text=\"honela deritzon atala “%t”\"/>\n<l:template name=\"sect1\" text=\"Atala %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Atala %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Atala %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Atala %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Atala %n, “%t”\"/>\n<l:template name=\"section\" text=\"Atala %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"honela deritzon atala “%t”\"/>\n<l:template name=\"table\" text=\"Taula %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" eta \"/>\n<l:template name=\"seplast\" text=\", eta \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Ikus %t.\"/>\n<l:template name=\"seealso\" text=\"Ikus baita ere %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Audientzia: \"/>\n<l:template name=\"MsgLevel\" text=\"Maila: \"/>\n<l:template name=\"MsgOrig\" text=\"Jatorria: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\" lang=\"en\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"January\" lang=\"en\"/>\n<l:template name=\"February\" text=\"February\" lang=\"en\"/>\n<l:template name=\"March\" text=\"March\" lang=\"en\"/>\n<l:template name=\"April\" text=\"April\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"June\" text=\"June\" lang=\"en\"/>\n<l:template name=\"July\" text=\"July\" lang=\"en\"/>\n<l:template name=\"August\" text=\"August\" lang=\"en\"/>\n<l:template name=\"September\" text=\"September\" lang=\"en\"/>\n<l:template name=\"October\" text=\"October\" lang=\"en\"/>\n<l:template name=\"November\" text=\"November\" lang=\"en\"/>\n<l:template name=\"December\" text=\"December\" lang=\"en\"/>\n<l:template name=\"Monday\" text=\"Monday\" lang=\"en\"/>\n<l:template name=\"Tuesday\" text=\"Tuesday\" lang=\"en\"/>\n<l:template name=\"Wednesday\" text=\"Wednesday\" lang=\"en\"/>\n<l:template name=\"Thursday\" text=\"Thursday\" lang=\"en\"/>\n<l:template name=\"Friday\" text=\"Friday\" lang=\"en\"/>\n<l:template name=\"Saturday\" text=\"Saturday\" lang=\"en\"/>\n<l:template name=\"Sunday\" text=\"Sunday\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\" lang=\"en\"/>\n<l:template name=\"Feb\" text=\"Feb\" lang=\"en\"/>\n<l:template name=\"Mar\" text=\"Mar\" lang=\"en\"/>\n<l:template name=\"Apr\" text=\"Apr\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"Jun\" text=\"Jun\" lang=\"en\"/>\n<l:template name=\"Jul\" text=\"Jul\" lang=\"en\"/>\n<l:template name=\"Aug\" text=\"Aug\" lang=\"en\"/>\n<l:template name=\"Sep\" text=\"Sep\" lang=\"en\"/>\n<l:template name=\"Oct\" text=\"Oct\" lang=\"en\"/>\n<l:template name=\"Nov\" text=\"Nov\" lang=\"en\"/>\n<l:template name=\"Dec\" text=\"Dec\" lang=\"en\"/>\n<l:template name=\"Mon\" text=\"Mon\" lang=\"en\"/>\n<l:template name=\"Tue\" text=\"Tue\" lang=\"en\"/>\n<l:template name=\"Wed\" text=\"Wed\" lang=\"en\"/>\n<l:template name=\"Thu\" text=\"Thu\" lang=\"en\"/>\n<l:template name=\"Fri\" text=\"Fri\" lang=\"en\"/>\n<l:template name=\"Sat\" text=\"Sat\" lang=\"en\"/>\n<l:template name=\"Sun\" text=\"Sun\" lang=\"en\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x042d Basque\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters lang=\"en\"><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/fa.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"fa\" english-language-name=\"Farsi\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/fa.xml -->\n<!-- * -->\n<!-- * E-mail the edited fa.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"چكيده\"/>\n<l:gentext key=\"abstract\" text=\"چكيده\"/>\n<l:gentext key=\"Acknowledgements\" text=\"تقدیرنامه ها\"/>\n<l:gentext key=\"acknowledgements\" text=\"تقدیرنامه ها\"/>\n<l:gentext key=\"Answer\" text=\"ج:\"/>\n<l:gentext key=\"answer\" text=\"ج:\"/>\n<l:gentext key=\"Appendix\" text=\"پيوست\"/>\n<l:gentext key=\"appendix\" text=\"پيوست\"/>\n<l:gentext key=\"Article\" text=\"مقاله\"/>\n<l:gentext key=\"article\" text=\"مقاله\"/>\n<l:gentext key=\"Author\" text=\"نویسنده\"/>\n<l:gentext key=\"Bibliography\" text=\"كتاب‌شناسی\"/>\n<l:gentext key=\"bibliography\" text=\"كتاب‌شناسی\"/>\n<l:gentext key=\"Book\" text=\"كتاب\"/>\n<l:gentext key=\"book\" text=\"كتاب\"/>\n<l:gentext key=\"CAUTION\" text=\"احتياط\"/>\n<l:gentext key=\"Caution\" text=\"احتياط\"/>\n<l:gentext key=\"caution\" text=\"احتياط\"/>\n<l:gentext key=\"Chapter\" text=\"فصل\"/>\n<l:gentext key=\"chapter\" text=\"فصل\"/>\n<l:gentext key=\"Colophon\" text=\"درباره‌ی نشريه\"/>\n<l:gentext key=\"colophon\" text=\"درباره‌ی نشريه\"/>\n<l:gentext key=\"Copyright\" text=\"حق طبع ونشر\"/>\n<l:gentext key=\"copyright\" text=\"حق طبع ونشر\"/>\n<l:gentext key=\"Dedication\" text=\"اهداء\"/>\n<l:gentext key=\"dedication\" text=\"اهداء\"/>\n<l:gentext key=\"Edition\" text=\"ويرايش\"/>\n<l:gentext key=\"edition\" text=\"ويرايش\"/>\n<l:gentext key=\"Editor\" text=\"ويرايش\"/>\n<l:gentext key=\"Equation\" text=\"معادله\"/>\n<l:gentext key=\"equation\" text=\"معادله\"/>\n<l:gentext key=\"Example\" text=\"مثال\"/>\n<l:gentext key=\"example\" text=\"مثال\"/>\n<l:gentext key=\"Figure\" text=\"شكل\"/>\n<l:gentext key=\"figure\" text=\"شكل\"/>\n<l:gentext key=\"Glossary\" text=\"واژه‌نامه\"/>\n<l:gentext key=\"glossary\" text=\"واژه‌نامه\"/>\n<l:gentext key=\"GlossSee\" text=\"ببیند\"/>\n<l:gentext key=\"glosssee\" text=\"ببیند\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"همچنین ببیند\"/>\n<l:gentext key=\"glossseealso\" text=\"همچنین ببیند\"/>\n<l:gentext key=\"IMPORTANT\" text=\"مهم\"/>\n<l:gentext key=\"important\" text=\"مهم\"/>\n<l:gentext key=\"Important\" text=\"مهم\"/>\n<l:gentext key=\"Index\" text=\"راهنما\"/>\n<l:gentext key=\"index\" text=\"راهنما\"/>\n<l:gentext key=\"ISBN\" text=\"شابک\"/>\n<l:gentext key=\"isbn\" text=\"شابک\"/>\n<l:gentext key=\"LegalNotice\" text=\"اخطار قانونی\"/>\n<l:gentext key=\"legalnotice\" text=\"اخطار قانونی\"/>\n<l:gentext key=\"MsgAud\" text=\"شنودگان\"/>\n<l:gentext key=\"msgaud\" text=\"شنودگان\"/>\n<l:gentext key=\"MsgLevel\" text=\"سطح پیام\"/>\n<l:gentext key=\"msglevel\" text=\"سطح پیام\"/>\n<l:gentext key=\"MsgOrig\" text=\"اصل\"/>\n<l:gentext key=\"msgorig\" text=\"اصل\"/>\n<l:gentext key=\"NOTE\" text=\"ياداشت\"/>\n<l:gentext key=\"Note\" text=\"ياداشت\"/>\n<l:gentext key=\"note\" text=\"ياداشت\"/>\n<l:gentext key=\"Part\" text=\"بخش\"/>\n<l:gentext key=\"part\" text=\"بخش\"/>\n<l:gentext key=\"Preface\" text=\"ديباچه\"/>\n<l:gentext key=\"preface\" text=\"ديباچه\"/>\n<l:gentext key=\"Procedure\" text=\"رويه\"/>\n<l:gentext key=\"procedure\" text=\"رويه\"/>\n<l:gentext key=\"ProductionSet\" text=\"توليد\"/>\n<l:gentext key=\"PubDate\" text=\"تاریخ انتشار\"/>\n<l:gentext key=\"pubdate\" text=\"تاریخ انتشار\"/>\n<l:gentext key=\"Published\" text=\"منتشر‌شده\"/>\n<l:gentext key=\"published\" text=\"منتشر‌شده\"/>\n<l:gentext key=\"Publisher\" text=\"منتشر‌شده\"/>\n<l:gentext key=\"Qandadiv\" text=\"پرسش و‌ پاسخ\"/>\n<l:gentext key=\"qandadiv\" text=\"پرسش و پاسخ\"/>\n<l:gentext key=\"QandASet\" text=\"سوالات متداول\"/>\n<l:gentext key=\"Question\" text=\":پرسش\"/>\n<l:gentext key=\"question\" text=\":پرسش\"/>\n<l:gentext key=\"RefEntry\" text=\"فقره\"/>\n<l:gentext key=\"refentry\" text=\"فقره\"/>\n<l:gentext key=\"Reference\" text=\"ارجاع\"/>\n<l:gentext key=\"reference\" text=\"ارجاع\"/>\n<l:gentext key=\"References\" text=\"ارجاع\"/>\n<l:gentext key=\"RefName\" text=\"نام\"/>\n<l:gentext key=\"refname\" text=\"نام\"/>\n<l:gentext key=\"RefSection\" text=\"قسمت\"/>\n<l:gentext key=\"refsection\" text=\"قسمت\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"مختصر\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"مختصر\"/>\n<l:gentext key=\"RevHistory\" text=\"تاريخ بازبينی\"/>\n<l:gentext key=\"revhistory\" text=\"تاريخ بازبينی\"/>\n<l:gentext key=\"revision\" text=\"بازبينی\"/>\n<l:gentext key=\"Revision\" text=\"باز بينی\"/>\n<l:gentext key=\"sect1\" text=\"قسمت\"/>\n<l:gentext key=\"sect2\" text=\"قسمت\"/>\n<l:gentext key=\"sect3\" text=\"قسمت\"/>\n<l:gentext key=\"sect4\" text=\"قسمت\"/>\n<l:gentext key=\"sect5\" text=\"قسمت\"/>\n<l:gentext key=\"section\" text=\"قسمت\"/>\n<l:gentext key=\"Section\" text=\"قسمت\"/>\n<l:gentext key=\"see\" text=\"ببیند\"/>\n<l:gentext key=\"See\" text=\"ببیند\"/>\n<l:gentext key=\"seealso\" text=\"همچنین ببیند\"/>\n<l:gentext key=\"Seealso\" text=\"همچنین ببیند\"/>\n<l:gentext key=\"SeeAlso\" text=\"همچنین ببیند\"/>\n<l:gentext key=\"set\" text=\"مجموعه\"/>\n<l:gentext key=\"Set\" text=\"مجموعه\"/>\n<l:gentext key=\"setindex\" text=\"راهنمای مجموعه\"/>\n<l:gentext key=\"SetIndex\" text=\"راهنمای مجموعه\"/>\n<l:gentext key=\"Sidebar\" text=\"نوار کناری\"/>\n<l:gentext key=\"sidebar\" text=\"نوار کناری\"/>\n<l:gentext key=\"step\" text=\"گام\"/>\n<l:gentext key=\"Step\" text=\"گام\"/>\n<l:gentext key=\"table\" text=\"جدول\"/>\n<l:gentext key=\"Table\" text=\"جدول\"/>\n<l:gentext key=\"task\" text=\"وظیفه\"/>\n<l:gentext key=\"Task\" text=\"وظیفه\"/>\n<l:gentext key=\"tip\" text=\"نکته\"/>\n<l:gentext key=\"TIP\" text=\"نکته\"/>\n<l:gentext key=\"Tip\" text=\"نکته\"/>\n<l:gentext key=\"Warning\" text=\"هشدار\"/>\n<l:gentext key=\"warning\" text=\"هشدار\"/>\n<l:gentext key=\"WARNING\" text=\"هشدار\"/>\n<l:gentext key=\"and\" text=\"و\"/>\n<l:gentext key=\"or\" text=\"or\" lang=\"en\"/>\n<l:gentext key=\"by\" text=\"توسط\"/>\n<l:gentext key=\"Edited\" text=\"ویرایش شده\"/>\n<l:gentext key=\"edited\" text=\"ویرایش شده\"/>\n<l:gentext key=\"Editedby\" text=\"ویرایستار\"/>\n<l:gentext key=\"editedby\" text=\"ویرایستار\"/>\n<l:gentext key=\"in\" text=\"در\"/>\n<l:gentext key=\"lastlistcomma\" text=\"،\"/>\n<l:gentext key=\"listcomma\" text=\"،\"/>\n<l:gentext key=\"notes\" text=\"ياداشت‌ها\"/>\n<l:gentext key=\"Notes\" text=\"ياداشت‌ها\"/>\n<l:gentext key=\"Pgs\" text=\"صفحه\"/>\n<l:gentext key=\"pgs\" text=\"صفحه\"/>\n<l:gentext key=\"Revisedby\" text=\" :بازبينی شده بوسیله‌ی\"/>\n<l:gentext key=\"revisedby\" text=\" :بازبينس شده بوسیله‌ی\"/>\n<l:gentext key=\"TableNotes\" text=\"ياداشت‌ها\"/>\n<l:gentext key=\"tablenotes\" text=\"ياداشت‌ها\"/>\n<l:gentext key=\"TableofContents\" text=\"فهرست\"/>\n<l:gentext key=\"tableofcontents\" text=\"فهرست\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"نام عنصرغيرمنتظره\"/>\n<l:gentext key=\"unsupported\" text=\"پشتيبانی نشده\"/>\n<l:gentext key=\"xrefto\" text=\"ارجاع به\"/>\n<l:gentext key=\"Authors\" text=\"نویسندگان\"/>\n<l:gentext key=\"copyeditor\" text=\"اصلاح کننده کپی\"/>\n<l:gentext key=\"graphicdesigner\" text=\"طراحی گرافیکی\"/>\n<l:gentext key=\"productioneditor\" text=\"اصلاح کننده محصول\"/>\n<l:gentext key=\"technicaleditor\" text=\"اصلاح کننده تکنیکی\"/>\n<l:gentext key=\"translator\" text=\"مترجم\"/>\n<l:gentext key=\"listofequations\" text=\"فهرست معادلات\"/>\n<l:gentext key=\"ListofEquations\" text=\"فهرست معادلات\"/>\n<l:gentext key=\"ListofExamples\" text=\"فهرست امثال\"/>\n<l:gentext key=\"listofexamples\" text=\"فهرست امثال\"/>\n<l:gentext key=\"ListofFigures\" text=\"فهرست اشکال\"/>\n<l:gentext key=\"listoffigures\" text=\"فهرست اشکال\"/>\n<l:gentext key=\"ListofProcedures\" text=\"فهرست روند‌ها\"/>\n<l:gentext key=\"listofprocedures\" text=\"فهرست روند‌ها\"/>\n<l:gentext key=\"listoftables\" text=\"فهرست جدول‌ها\"/>\n<l:gentext key=\"ListofTables\" text=\"فهرست جدول‌ها\"/>\n<l:gentext key=\"ListofUnknown\" text=\"فهرست نادانسته‌ها\"/>\n<l:gentext key=\"listofunknown\" text=\"فهرست نادانسته‌ها\"/>\n<l:gentext key=\"nav-home\" text=\"خانه\"/>\n<l:gentext key=\"nav-next\" text=\"بعدی\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"هم‌نيای بعدی\"/>\n<l:gentext key=\"nav-prev\" text=\"قبلی\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"هم‌نيای قبلی\"/>\n<l:gentext key=\"nav-up\" text=\"بالا\"/>\n<l:gentext key=\"nav-toc\" text=\"فهرست\"/>\n<l:gentext key=\"Draft\" text=\"پيش‌نويس\"/>\n<l:gentext key=\"above\" text=\"در‌بالا\"/>\n<l:gentext key=\"below\" text=\"در‌پایین\"/>\n<l:gentext key=\"sectioncalled\" text=\"بخشی بنام\"/>\n<l:gentext key=\"index symbols\" text=\"سمبل‌های راهنما\"/>\n<l:gentext key=\"writing-mode\" text=\"rl-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"ا ب پ ت ث ج چ ح خ د ذ ر ز ژس ش ص ض ع غ ف ق ک گ ل م ن و ه ی\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ا ب پ ت ث ج چ ح خ د ذ ر ز ژس ش ص ض ع غ ف ق ک گ ل م ن و ه ی\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"&#10;      پيوست %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"&#10;      فصل %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"&#10;      معادله %n. %t\"/>\n<l:template name=\"example\" text=\"&#10;      مثال %n. %t\"/>\n<l:template name=\"figure\" text=\"&#10;      شكل %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"&#10;      بخش %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"&#10;      رويه %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"&#10;      توليد %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"&#10;      جدول %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"&#10;      پيوست %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"&#10;      فصل %n. %t\"/>\n<l:template name=\"part\" text=\"&#10;      بخش %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"&#10;      ج: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"&#10;      :پرسش %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"&#10;      :پرسش %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (%p صفحه‌ی)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(%p صفحه‌ی)\"/>\n<l:template name=\"docname\" text=\" %oدر \"/>\n<l:template name=\"docnamelong\" text=\"%o در مستندی بنام \"/>\n<l:template name=\"pageabbrev\" text=\"(%p ص)\"/>\n<l:template name=\"Page\" text=\"%p صفحه‌ی\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"&#10;      بخشی بنام&#10;      “%t”&#10;    \"/>\n<l:template name=\"refsection\" text=\"&#10;      بخشی بنام&#10;      “%t”&#10;    \"/>\n<l:template name=\"refsect1\" text=\"&#10;      بخشی بنام&#10;      “%t”&#10;    \"/>\n<l:template name=\"refsect2\" text=\"&#10;      بخشی بنام&#10;      “%t”&#10;    \"/>\n<l:template name=\"refsect3\" text=\"&#10;      بخشی بنام&#10;      “%t”&#10;    \"/>\n<l:template name=\"sect1\" text=\"&#10;      بخشی بنام&#10;      “%t”&#10;    \"/>\n<l:template name=\"sect2\" text=\"&#10;      بخشی بنام&#10;      “%t”&#10;    \"/>\n<l:template name=\"sect3\" text=\"&#10;      بخشی بنام&#10;      “%t”&#10;    \"/>\n<l:template name=\"sect4\" text=\"&#10;      بخشی بنام&#10;      “%t”&#10;    \"/>\n<l:template name=\"sect5\" text=\"&#10;      بخشی بنام&#10;      “%t”&#10;    \"/>\n<l:template name=\"section\" text=\"&#10;      بخشی بنام&#10;      “%t”&#10;    \"/>\n<l:template name=\"simplesect\" text=\"&#10;      بخشی بنام&#10;      “%t”&#10;    \"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"&#10;      ج: %n\"/>\n<l:template name=\"appendix\" text=\"&#10;      پيوست %n\"/>\n<l:template name=\"bridgehead\" text=\"&#10;      قسمت %n\"/>\n<l:template name=\"chapter\" text=\"&#10;      فصل %n\"/>\n<l:template name=\"equation\" text=\"&#10;      معادله %n\"/>\n<l:template name=\"example\" text=\"&#10;      مثال %n\"/>\n<l:template name=\"figure\" text=\"&#10;      شكل %n\"/>\n<l:template name=\"part\" text=\"&#10;      بخش %n\"/>\n<l:template name=\"procedure\" text=\"&#10;      رويه %n\"/>\n<l:template name=\"productionset\" text=\"&#10;      توليد %n\"/>\n<l:template name=\"qandadiv\" text=\"&#10;      پرسش و‌ پاسخ %n\"/>\n<l:template name=\"qandaentry\" text=\"&#10;      :پرسش %n\"/>\n<l:template name=\"question\" text=\"&#10;      :پرسش %n\"/>\n<l:template name=\"sect1\" text=\"&#10;      قسمت %n\"/>\n<l:template name=\"sect2\" text=\"&#10;      قسمت %n\"/>\n<l:template name=\"sect3\" text=\"&#10;      قسمت %n\"/>\n<l:template name=\"sect4\" text=\"&#10;      قسمت %n\"/>\n<l:template name=\"sect5\" text=\"&#10;      قسمت %n\"/>\n<l:template name=\"section\" text=\"&#10;      قسمت %n\"/>\n<l:template name=\"table\" text=\"&#10;      جدول %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"&#10;      پيوست %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"&#10;      قسمت %n, “%t”&#10;    \"/>\n<l:template name=\"chapter\" text=\"&#10;      فصل %n, %t\"/>\n<l:template name=\"equation\" text=\"&#10;      معادله %n, “%t”&#10;    \"/>\n<l:template name=\"example\" text=\"&#10;      مثال %n, “%t”&#10;    \"/>\n<l:template name=\"figure\" text=\"&#10;      شكل %n, “%t”&#10;    \"/>\n<l:template name=\"part\" text=\"&#10;      بخش %n, “%t”&#10;    \"/>\n<l:template name=\"procedure\" text=\"&#10;      رويه %n, “%t”&#10;    \"/>\n<l:template name=\"productionset\" text=\"&#10;      توليد %n, “%t”&#10;    \"/>\n<l:template name=\"qandadiv\" text=\"&#10;      پرسش و‌ پاسخ %n, “%t”&#10;    \"/>\n<l:template name=\"refsect1\" text=\"&#10;      بخشی بنام&#10;      “%t”&#10;    \"/>\n<l:template name=\"refsect2\" text=\"&#10;      بخشی بنام&#10;      “%t”&#10;    \"/>\n<l:template name=\"refsect3\" text=\"&#10;      بخشی بنام&#10;      “%t”&#10;    \"/>\n<l:template name=\"refsection\" text=\"&#10;      بخشی بنام&#10;      “%t”&#10;    \"/>\n<l:template name=\"sect1\" text=\"&#10;      قسمت %n, “%t”&#10;    \"/>\n<l:template name=\"sect2\" text=\"&#10;      قسمت %n, “%t”&#10;    \"/>\n<l:template name=\"sect3\" text=\"&#10;      قسمت %n, “%t”&#10;    \"/>\n<l:template name=\"sect4\" text=\"&#10;      قسمت %n, “%t”&#10;    \"/>\n<l:template name=\"sect5\" text=\"&#10;      قسمت %n, “%t”&#10;    \"/>\n<l:template name=\"section\" text=\"&#10;      قسمت %n, “%t”&#10;    \"/>\n<l:template name=\"simplesect\" text=\"&#10;      بخشی بنام&#10;      “%t”&#10;    \"/>\n<l:template name=\"table\" text=\"&#10;      جدول %n, “%t”&#10;    \"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\"&#10;      ،&#10;    \"/>\n<l:template name=\"sep2\" text=\"&#10;      و&#10;    \"/>\n<l:template name=\"seplast\" text=\"&#10;      ،&#10;      و&#10;    \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\" %t ببیند.\"/>\n<l:template name=\"seealso\" text=\"%t همچنین ببیند.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"&#10;      شنودگان: \"/>\n<l:template name=\"MsgLevel\" text=\"&#10;      سطح پیام: \"/>\n<l:template name=\"MsgOrig\" text=\"&#10;      اصل: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[تعریف \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"ژانويه\"/>\n<l:template name=\"February\" text=\"فوريه\"/>\n<l:template name=\"March\" text=\"مارس\"/>\n<l:template name=\"April\" text=\"اوريل\"/>\n<l:template name=\"May\" text=\"مه\"/>\n<l:template name=\"June\" text=\"ژوئن\"/>\n<l:template name=\"July\" text=\"ژوئیه\"/>\n<l:template name=\"August\" text=\"اوت\"/>\n<l:template name=\"September\" text=\"سپتامبر\"/>\n<l:template name=\"October\" text=\"اكتبر\"/>\n<l:template name=\"November\" text=\"نوامبر\"/>\n<l:template name=\"December\" text=\"دسامبر\"/>\n<l:template name=\"Monday\" text=\"دوشنبه\"/>\n<l:template name=\"Tuesday\" text=\"سه شنبه\"/>\n<l:template name=\"Wednesday\" text=\"چهار‌شنبه\"/>\n<l:template name=\"Thursday\" text=\"پنج‌شنبه\"/>\n<l:template name=\"Friday\" text=\"جمعه\"/>\n<l:template name=\"Saturday\" text=\"شنبه\"/>\n<l:template name=\"Sunday\" text=\"يك‌شنبه\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"ژانويه\"/>\n<l:template name=\"Feb\" text=\"فوريه\"/>\n<l:template name=\"Mar\" text=\"مارس\"/>\n<l:template name=\"Apr\" text=\"اوريل\"/>\n<l:template name=\"May\" text=\"مه\"/>\n<l:template name=\"Jun\" text=\"ژوئن\"/>\n<l:template name=\"Jul\" text=\"ژوئيه\"/>\n<l:template name=\"Aug\" text=\"اوت\"/>\n<l:template name=\"Sep\" text=\"سپتامبر\"/>\n<l:template name=\"Oct\" text=\"اكتبر\"/>\n<l:template name=\"Nov\" text=\"نوامبر\"/>\n<l:template name=\"Dec\" text=\"دسامبر\"/>\n<l:template name=\"Mon\" text=\"دو‌شنبه\"/>\n<l:template name=\"Tue\" text=\"سه‌شنبه\"/>\n<l:template name=\"Wed\" text=\"چهار‌شنبه\"/>\n<l:template name=\"Thu\" text=\"پنج‌شنبه\"/>\n<l:template name=\"Fri\" text=\"جمعه\"/>\n<l:template name=\"Sat\" text=\"شنبه\"/>\n<l:template name=\"Sun\" text=\"يك‌شنبه\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0429 Farsi\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">سمبل‌های راهنم</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/fi.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"fi\" english-language-name=\"Finnish\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/fi.xml -->\n<!-- * -->\n<!-- * E-mail the edited fi.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Tiivistelmä\"/>\n<l:gentext key=\"abstract\" text=\"tiivistelmä\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Kiitokset\"/>\n<l:gentext key=\"acknowledgements\" text=\"kiitokset\"/>\n<l:gentext key=\"Answer\" text=\"V:\"/>\n<l:gentext key=\"answer\" text=\"v:\"/>\n<l:gentext key=\"Appendix\" text=\"Liite\"/>\n<l:gentext key=\"appendix\" text=\"liite\"/>\n<l:gentext key=\"Article\" text=\"Artikkeli\"/>\n<l:gentext key=\"article\" text=\"artikkeli\"/>\n<l:gentext key=\"Author\" text=\"Tekijä\"/>\n<l:gentext key=\"Bibliography\" text=\"Lähteet\"/>\n<l:gentext key=\"bibliography\" text=\"lähteet\"/>\n<l:gentext key=\"Book\" text=\"Kirja\"/>\n<l:gentext key=\"book\" text=\"kirja\"/>\n<l:gentext key=\"CAUTION\" text=\"VARO\"/>\n<l:gentext key=\"Caution\" text=\"Varo\"/>\n<l:gentext key=\"caution\" text=\"varo\"/>\n<l:gentext key=\"Chapter\" text=\"Luku\"/>\n<l:gentext key=\"chapter\" text=\"luku\"/>\n<l:gentext key=\"Colophon\" text=\"Tuontantotavat\"/>\n<l:gentext key=\"colophon\" text=\"tuontantotavat\"/>\n<l:gentext key=\"Copyright\" text=\"Tekijänoikeudet\"/>\n<l:gentext key=\"copyright\" text=\"tekijänoikeudet\"/>\n<l:gentext key=\"Dedication\" text=\"Omistus\"/>\n<l:gentext key=\"dedication\" text=\"omistus\"/>\n<l:gentext key=\"Edition\" text=\"Edition\"/>\n<l:gentext key=\"edition\" text=\"edition\"/>\n<l:gentext key=\"Editor\" text=\"Toimittaja\"/>\n<l:gentext key=\"Equation\" text=\"Kaava\"/>\n<l:gentext key=\"equation\" text=\"kaava\"/>\n<l:gentext key=\"Example\" text=\"Esimerkki\"/>\n<l:gentext key=\"example\" text=\"esimerkki\"/>\n<l:gentext key=\"Figure\" text=\"Kuva\"/>\n<l:gentext key=\"figure\" text=\"kuva\"/>\n<l:gentext key=\"Glossary\" text=\"Sanasto\"/>\n<l:gentext key=\"glossary\" text=\"sanasto\"/>\n<l:gentext key=\"GlossSee\" text=\"Katso\"/>\n<l:gentext key=\"glosssee\" text=\"katso\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Katso myös\"/>\n<l:gentext key=\"glossseealso\" text=\"katso myös\"/>\n<l:gentext key=\"IMPORTANT\" text=\"TÄRKEÄÄ\"/>\n<l:gentext key=\"important\" text=\"tärkeää\"/>\n<l:gentext key=\"Important\" text=\"Tärkeää\"/>\n<l:gentext key=\"Index\" text=\"Indeksi\"/>\n<l:gentext key=\"index\" text=\"indeksi\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Oikeudellinen ilmoitus\"/>\n<l:gentext key=\"legalnotice\" text=\"oikeudellinen ilmoitus\"/>\n<l:gentext key=\"MsgAud\" text=\"Yleisö\"/>\n<l:gentext key=\"msgaud\" text=\"yleisö\"/>\n<l:gentext key=\"MsgLevel\" text=\"Taso\"/>\n<l:gentext key=\"msglevel\" text=\"taso\"/>\n<l:gentext key=\"MsgOrig\" text=\"Alkuperä\"/>\n<l:gentext key=\"msgorig\" text=\"alkuperä\"/>\n<l:gentext key=\"NOTE\" text=\"HUOMAA\"/>\n<l:gentext key=\"Note\" text=\"Huomaa\"/>\n<l:gentext key=\"note\" text=\"huomaa\"/>\n<l:gentext key=\"Part\" text=\"Osa\"/>\n<l:gentext key=\"part\" text=\"osa\"/>\n<l:gentext key=\"Preface\" text=\"Esipuhe\"/>\n<l:gentext key=\"preface\" text=\"esipuhe\"/>\n<l:gentext key=\"Procedure\" text=\"Aliohjelma\"/>\n<l:gentext key=\"procedure\" text=\"aliohjelma\"/>\n<l:gentext key=\"ProductionSet\" text=\"Tuotanto\"/>\n<l:gentext key=\"PubDate\" text=\"Julkaisupäivä\"/>\n<l:gentext key=\"pubdate\" text=\"julkaisupäivä\"/>\n<l:gentext key=\"Published\" text=\"Julkaistu\"/>\n<l:gentext key=\"published\" text=\"julkaistu\"/>\n<l:gentext key=\"Publisher\" text=\"Julkaisija\"/>\n<l:gentext key=\"Qandadiv\" text=\"K ja V\"/>\n<l:gentext key=\"qandadiv\" text=\"k ja v\"/>\n<l:gentext key=\"QandASet\" text=\"Usein kysytyt kysymykset\"/>\n<l:gentext key=\"Question\" text=\"K:\"/>\n<l:gentext key=\"question\" text=\"k:\"/>\n<l:gentext key=\"RefEntry\" text=\"Sivu\"/>\n<l:gentext key=\"refentry\" text=\"sivu\"/>\n<l:gentext key=\"Reference\" text=\"Lähdeluettelo\"/>\n<l:gentext key=\"reference\" text=\"lähdeluettelo\"/>\n<l:gentext key=\"References\" text=\"References\"/>\n<l:gentext key=\"RefName\" text=\"Nimi\"/>\n<l:gentext key=\"refname\" text=\"nimi\"/>\n<l:gentext key=\"RefSection\" text=\"Kohta\"/>\n<l:gentext key=\"refsection\" text=\"kohta\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Yhteenveto\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"yhteenveto\"/>\n<l:gentext key=\"RevHistory\" text=\"Versiohistoria\"/>\n<l:gentext key=\"revhistory\" text=\"versiohistoria\"/>\n<l:gentext key=\"revision\" text=\"versio\"/>\n<l:gentext key=\"Revision\" text=\"Versio\"/>\n<l:gentext key=\"sect1\" text=\"Kohta\"/>\n<l:gentext key=\"sect2\" text=\"Kohta\"/>\n<l:gentext key=\"sect3\" text=\"Kohta\"/>\n<l:gentext key=\"sect4\" text=\"Kohta\"/>\n<l:gentext key=\"sect5\" text=\"Kohta\"/>\n<l:gentext key=\"section\" text=\"kohta\"/>\n<l:gentext key=\"Section\" text=\"Kohta\"/>\n<l:gentext key=\"see\" text=\"katso\"/>\n<l:gentext key=\"See\" text=\"Katso\"/>\n<l:gentext key=\"seealso\" text=\"katso myös\"/>\n<l:gentext key=\"Seealso\" text=\"Katso myös\"/>\n<l:gentext key=\"SeeAlso\" text=\"Katso myös\"/>\n<l:gentext key=\"set\" text=\"Kokoelma\"/>\n<l:gentext key=\"Set\" text=\"Kokoelma\"/>\n<l:gentext key=\"setindex\" text=\"kokoelman indeksi\"/>\n<l:gentext key=\"SetIndex\" text=\"Kokoelman indeksi\"/>\n<l:gentext key=\"Sidebar\" text=\"Sivupalkki\"/>\n<l:gentext key=\"sidebar\" text=\"sivupalkki\"/>\n<l:gentext key=\"step\" text=\"toimenpide\"/>\n<l:gentext key=\"Step\" text=\"Toimenpide\"/>\n<l:gentext key=\"table\" text=\"taulu\"/>\n<l:gentext key=\"Table\" text=\"Taulu\"/>\n<l:gentext key=\"task\" text=\"tehtävä\"/>\n<l:gentext key=\"Task\" text=\"Tehtävä\"/>\n<l:gentext key=\"tip\" text=\"vihje\"/>\n<l:gentext key=\"TIP\" text=\"VIHJE\"/>\n<l:gentext key=\"Tip\" text=\"Vihje\"/>\n<l:gentext key=\"Warning\" text=\"Varoitus\"/>\n<l:gentext key=\"warning\" text=\"varoitus\"/>\n<l:gentext key=\"WARNING\" text=\"VAROITUS\"/>\n<l:gentext key=\"and\" text=\"ja\"/>\n<l:gentext key=\"or\" text=\"tai\"/>\n<l:gentext key=\"by\" text=\"\"/>\n<l:gentext key=\"Edited\" text=\"Toim.\"/>\n<l:gentext key=\"edited\" text=\"toim.\"/>\n<l:gentext key=\"Editedby\" text=\"Toimittanut\"/>\n<l:gentext key=\"editedby\" text=\"toimittanut\"/>\n<l:gentext key=\"in\" text=\"teoksessa\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"viitteet\"/>\n<l:gentext key=\"Notes\" text=\"Viitteet\"/>\n<l:gentext key=\"Pgs\" text=\"Sivut\"/>\n<l:gentext key=\"pgs\" text=\"sivut\"/>\n<l:gentext key=\"Revisedby\" text=\"Muokannut: \"/>\n<l:gentext key=\"revisedby\" text=\"muokannut: \"/>\n<l:gentext key=\"TableNotes\" text=\"Viitteet\"/>\n<l:gentext key=\"tablenotes\" text=\"viitteet\"/>\n<l:gentext key=\"TableofContents\" text=\"Sisällys\"/>\n<l:gentext key=\"tableofcontents\" text=\"sisällys\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Odottamaton elementin nimi\"/>\n<l:gentext key=\"unsupported\" text=\"ei tueta\"/>\n<l:gentext key=\"xrefto\" text=\"xref johonkin\"/>\n<l:gentext key=\"Authors\" text=\"Tekijät\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graafinen suunnittelija\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\"/>\n<l:gentext key=\"technicaleditor\" text=\"Tekninen toimittaja\"/>\n<l:gentext key=\"translator\" text=\"Kääntäjä\"/>\n<l:gentext key=\"listofequations\" text=\"luettelo esimerkeistä\"/>\n<l:gentext key=\"ListofEquations\" text=\"Luettelo esimerkeistä\"/>\n<l:gentext key=\"ListofExamples\" text=\"Luettelo esimerkeistä\"/>\n<l:gentext key=\"listofexamples\" text=\"luettelo esimerkeistä\"/>\n<l:gentext key=\"ListofFigures\" text=\"Luettelo kuvista\"/>\n<l:gentext key=\"listoffigures\" text=\"luettelo kuvista\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Luettelo aliohjelmista\"/>\n<l:gentext key=\"listofprocedures\" text=\"luettelo aliohjelmista\"/>\n<l:gentext key=\"listoftables\" text=\"luettelo tauluista\"/>\n<l:gentext key=\"ListofTables\" text=\"Luettelo tauluista\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Luettelo tuntemattomista\"/>\n<l:gentext key=\"listofunknown\" text=\"luettelo tuntemattomista\"/>\n<l:gentext key=\"nav-home\" text=\"Alkuun\"/>\n<l:gentext key=\"nav-next\" text=\"Seuraava\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Nopeasti eteenpäin\"/>\n<l:gentext key=\"nav-prev\" text=\"Edellinen\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Nopeasti taaksepäin\"/>\n<l:gentext key=\"nav-up\" text=\"Ylös\"/>\n<l:gentext key=\"nav-toc\" text=\"Sisällysluettelo\"/>\n<l:gentext key=\"Draft\" text=\"Luonnos\"/>\n<l:gentext key=\"above\" text=\"yllä\"/>\n<l:gentext key=\"below\" text=\"alla\"/>\n<l:gentext key=\"sectioncalled\" text=\"kohta nimeltä\"/>\n<l:gentext key=\"index symbols\" text=\"Symbolit\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyzåäöšž\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖŠŽ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"”\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"’\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Liite %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Luku %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Kaava %n. %t\"/>\n<l:template name=\"example\" text=\"Esimerkki %n. %t\"/>\n<l:template name=\"figure\" text=\"Kuva %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Osa %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Aliohjelma %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Tuotanto %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Taulu %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Liite %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Luku %n. %t\"/>\n<l:template name=\"part\" text=\"Osa %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"V: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"K: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"K: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(sivu %p)\"/>\n<l:template name=\"docname\" text=\" kirjoitelmassa %o\"/>\n<l:template name=\"docnamelong\" text=\" kirjoitelmassa otsikoltaan %o\"/>\n<l:template name=\"pageabbrev\" text=\"(s. %p)\"/>\n<l:template name=\"Page\" text=\"Sivu %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"”%t”\"/>\n<l:template name=\"refsection\" text=\"”%t”\"/>\n<l:template name=\"refsect1\" text=\"”%t”\"/>\n<l:template name=\"refsect2\" text=\"”%t”\"/>\n<l:template name=\"refsect3\" text=\"”%t”\"/>\n<l:template name=\"sect1\" text=\"”%t”\"/>\n<l:template name=\"sect2\" text=\"”%t”\"/>\n<l:template name=\"sect3\" text=\"”%t”\"/>\n<l:template name=\"sect4\" text=\"”%t”\"/>\n<l:template name=\"sect5\" text=\"”%t”\"/>\n<l:template name=\"section\" text=\"”%t”\"/>\n<l:template name=\"simplesect\" text=\"”%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"V: %n\"/>\n<l:template name=\"appendix\" text=\"Liite %n\"/>\n<l:template name=\"bridgehead\" text=\"Kohta %n\"/>\n<l:template name=\"chapter\" text=\"Luku %n\"/>\n<l:template name=\"equation\" text=\"Kaava %n\"/>\n<l:template name=\"example\" text=\"Esimerkki %n\"/>\n<l:template name=\"figure\" text=\"Kuva %n\"/>\n<l:template name=\"part\" text=\"Osa %n\"/>\n<l:template name=\"procedure\" text=\"Aliohjelma %n\"/>\n<l:template name=\"productionset\" text=\"Tuotanto %n\"/>\n<l:template name=\"qandadiv\" text=\"K ja V %n\"/>\n<l:template name=\"qandaentry\" text=\"K: %n\"/>\n<l:template name=\"question\" text=\"K: %n\"/>\n<l:template name=\"sect1\" text=\"Kohta %n\"/>\n<l:template name=\"sect2\" text=\"Kohta %n\"/>\n<l:template name=\"sect3\" text=\"Kohta %n\"/>\n<l:template name=\"sect4\" text=\"Kohta %n\"/>\n<l:template name=\"sect5\" text=\"Kohta %n\"/>\n<l:template name=\"section\" text=\"Kohta %n\"/>\n<l:template name=\"table\" text=\"Taulu %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Liite %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Kohta %n, ”%t”\"/>\n<l:template name=\"chapter\" text=\"Luku %n, %t\"/>\n<l:template name=\"equation\" text=\"Kaava %n, ”%t”\"/>\n<l:template name=\"example\" text=\"Esimerkki %n, ”%t”\"/>\n<l:template name=\"figure\" text=\"Kuva %n, ”%t”\"/>\n<l:template name=\"part\" text=\"Osa %n, ”%t”\"/>\n<l:template name=\"procedure\" text=\"Aliohjelma %n, ”%t”\"/>\n<l:template name=\"productionset\" text=\"Tuotanto %n, ”%t”\"/>\n<l:template name=\"qandadiv\" text=\"K ja V %n, ”%t”\"/>\n<l:template name=\"refsect1\" text=\"kohta nimeltä ”%t”\"/>\n<l:template name=\"refsect2\" text=\"kohta nimeltä ”%t”\"/>\n<l:template name=\"refsect3\" text=\"kohta nimeltä ”%t”\"/>\n<l:template name=\"refsection\" text=\"kohta nimeltä ”%t”\"/>\n<l:template name=\"sect1\" text=\"Kohta %n, ”%t”\"/>\n<l:template name=\"sect2\" text=\"Kohta %n, ”%t”\"/>\n<l:template name=\"sect3\" text=\"Kohta %n, ”%t”\"/>\n<l:template name=\"sect4\" text=\"Kohta %n, ”%t”\"/>\n<l:template name=\"sect5\" text=\"Kohta %n, ”%t”\"/>\n<l:template name=\"section\" text=\"Kohta %n, ”%t”\"/>\n<l:template name=\"simplesect\" text=\"kohta nimeltä ”%t”\"/>\n<l:template name=\"table\" text=\"Taulu %n, ”%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" ja \"/>\n<l:template name=\"seplast\" text=\", ja \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Katso %t.\"/>\n<l:template name=\"seealso\" text=\"Katso myös %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Yleisö: \"/>\n<l:template name=\"MsgLevel\" text=\"Taso: \"/>\n<l:template name=\"MsgOrig\" text=\"Alkuperä: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"\"/>\n<l:template name=\"February\" text=\"\"/>\n<l:template name=\"March\" text=\"\"/>\n<l:template name=\"April\" text=\"\"/>\n<l:template name=\"May\" text=\"\"/>\n<l:template name=\"June\" text=\"\"/>\n<l:template name=\"July\" text=\"\"/>\n<l:template name=\"August\" text=\"\"/>\n<l:template name=\"September\" text=\"\"/>\n<l:template name=\"October\" text=\"\"/>\n<l:template name=\"November\" text=\"\"/>\n<l:template name=\"December\" text=\"\"/>\n<l:template name=\"Monday\" text=\"\"/>\n<l:template name=\"Tuesday\" text=\"\"/>\n<l:template name=\"Wednesday\" text=\"\"/>\n<l:template name=\"Thursday\" text=\"\"/>\n<l:template name=\"Friday\" text=\"\"/>\n<l:template name=\"Saturday\" text=\"\"/>\n<l:template name=\"Sunday\" text=\"\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"\"/>\n<l:template name=\"Feb\" text=\"\"/>\n<l:template name=\"Mar\" text=\"\"/>\n<l:template name=\"Apr\" text=\"\"/>\n<l:template name=\"May\" text=\"\"/>\n<l:template name=\"Jun\" text=\"\"/>\n<l:template name=\"Jul\" text=\"\"/>\n<l:template name=\"Aug\" text=\"\"/>\n<l:template name=\"Sep\" text=\"\"/>\n<l:template name=\"Oct\" text=\"\"/>\n<l:template name=\"Nov\" text=\"\"/>\n<l:template name=\"Dec\" text=\"\"/>\n<l:template name=\"Mon\" text=\"\"/>\n<l:template name=\"Tue\" text=\"\"/>\n<l:template name=\"Wed\" text=\"\"/>\n<l:template name=\"Thu\" text=\"\"/>\n<l:template name=\"Fri\" text=\"\"/>\n<l:template name=\"Sat\" text=\"\"/>\n<l:template name=\"Sun\" text=\"\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x040b Finnish\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbole</l:l>\n<l:l i=\"1\">A</l:l>\n<l:l i=\"1\">a</l:l>\n<l:l i=\"2\">B</l:l>\n<l:l i=\"2\">b</l:l>\n<l:l i=\"3\">C</l:l>\n<l:l i=\"3\">c</l:l>\n<l:l i=\"4\">D</l:l>\n<l:l i=\"4\">d</l:l>\n<l:l i=\"5\">E</l:l>\n<l:l i=\"5\">e</l:l>\n<l:l i=\"6\">F</l:l>\n<l:l i=\"6\">f</l:l>\n<l:l i=\"7\">G</l:l>\n<l:l i=\"7\">g</l:l>\n<l:l i=\"8\">H</l:l>\n<l:l i=\"8\">h</l:l>\n<l:l i=\"9\">I</l:l>\n<l:l i=\"9\">i</l:l>\n<l:l i=\"10\">J</l:l>\n<l:l i=\"10\">j</l:l>\n<l:l i=\"11\">K</l:l>\n<l:l i=\"11\">k</l:l>\n<l:l i=\"12\">L</l:l>\n<l:l i=\"12\">l</l:l>\n<l:l i=\"13\">M</l:l>\n<l:l i=\"13\">m</l:l>\n<l:l i=\"14\">N</l:l>\n<l:l i=\"14\">n</l:l>\n<l:l i=\"15\">O</l:l>\n<l:l i=\"15\">o</l:l>\n<l:l i=\"16\">P</l:l>\n<l:l i=\"16\">p</l:l>\n<l:l i=\"17\">Q</l:l>\n<l:l i=\"17\">q</l:l>\n<l:l i=\"18\">R</l:l>\n<l:l i=\"18\">r</l:l>\n<l:l i=\"19\">S</l:l>\n<l:l i=\"19\">s</l:l>\n<l:l i=\"20\">Š</l:l>\n<l:l i=\"20\">š</l:l>\n<l:l i=\"21\">T</l:l>\n<l:l i=\"21\">t</l:l>\n<l:l i=\"22\">U</l:l>\n<l:l i=\"22\">u</l:l>\n<l:l i=\"23\">V</l:l>\n<l:l i=\"23\">v</l:l>\n<l:l i=\"24\">W</l:l>\n<l:l i=\"24\">w</l:l>\n<l:l i=\"25\">X</l:l>\n<l:l i=\"25\">x</l:l>\n<l:l i=\"26\">Y</l:l>\n<l:l i=\"26\">y</l:l>\n<l:l i=\"27\">Z</l:l>\n<l:l i=\"27\">z</l:l>\n<l:l i=\"28\">Ž</l:l>\n<l:l i=\"28\">ž</l:l>\n<l:l i=\"29\">Å</l:l>\n<l:l i=\"29\">å</l:l>\n<l:l i=\"30\">Ä</l:l>\n<l:l i=\"30\">ä</l:l>\n<l:l i=\"31\">Ö</l:l>\n<l:l i=\"31\">ö</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/fr.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"fr\" english-language-name=\"French\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/fr.xml -->\n<!-- * -->\n<!-- * E-mail the edited fr.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Résumé\"/>\n<l:gentext key=\"abstract\" text=\"Résumé\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Remerciements\"/>\n<l:gentext key=\"acknowledgements\" text=\"Remerciements\"/>\n<l:gentext key=\"Answer\" text=\"R :\"/>\n<l:gentext key=\"answer\" text=\"R :\"/>\n<l:gentext key=\"Appendix\" text=\"Annexe\"/>\n<l:gentext key=\"appendix\" text=\"annexe\"/>\n<l:gentext key=\"Article\" text=\"Article\"/>\n<l:gentext key=\"article\" text=\"Article\"/>\n<l:gentext key=\"Author\" text=\"Auteur\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliographie\"/>\n<l:gentext key=\"bibliography\" text=\"Bibliographie\"/>\n<l:gentext key=\"Book\" text=\"Livre\"/>\n<l:gentext key=\"book\" text=\"Livre\"/>\n<l:gentext key=\"CAUTION\" text=\"ATTENTION\"/>\n<l:gentext key=\"Caution\" text=\"Attention\"/>\n<l:gentext key=\"caution\" text=\"Attention\"/>\n<l:gentext key=\"Chapter\" text=\"Chapitre\"/>\n<l:gentext key=\"chapter\" text=\"chapitre\"/>\n<l:gentext key=\"Colophon\" text=\"Achevé d'imprimer\"/>\n<l:gentext key=\"colophon\" text=\"Achevé d'imprimer\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"Copyright\"/>\n<l:gentext key=\"Dedication\" text=\"Dédicace\"/>\n<l:gentext key=\"dedication\" text=\"Dédicace\"/>\n<l:gentext key=\"Edition\" text=\"Édition\"/>\n<l:gentext key=\"edition\" text=\"Édition\"/>\n<l:gentext key=\"Editor\" text=\"Éditeur\"/>\n<l:gentext key=\"Equation\" text=\"Équation\"/>\n<l:gentext key=\"equation\" text=\"Équation\"/>\n<l:gentext key=\"Example\" text=\"Exemple\"/>\n<l:gentext key=\"example\" text=\"Exemple\"/>\n<l:gentext key=\"Figure\" text=\"Figure\"/>\n<l:gentext key=\"figure\" text=\"Figure\"/>\n<l:gentext key=\"Glossary\" text=\"Glossaire\"/>\n<l:gentext key=\"glossary\" text=\"Glossaire\"/>\n<l:gentext key=\"GlossSee\" text=\"Voir\"/>\n<l:gentext key=\"glosssee\" text=\"Voir\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Voir aussi\"/>\n<l:gentext key=\"glossseealso\" text=\"Voir aussi\"/>\n<l:gentext key=\"IMPORTANT\" text=\"IMPORTANT\"/>\n<l:gentext key=\"important\" text=\"Important\"/>\n<l:gentext key=\"Important\" text=\"Important\"/>\n<l:gentext key=\"Index\" text=\"Index\"/>\n<l:gentext key=\"index\" text=\"Index\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Note légale\"/>\n<l:gentext key=\"legalnotice\" text=\"Note légale\"/>\n<l:gentext key=\"MsgAud\" text=\"Public visé\"/>\n<l:gentext key=\"msgaud\" text=\"Public visé\"/>\n<l:gentext key=\"MsgLevel\" text=\"Niveau\"/>\n<l:gentext key=\"msglevel\" text=\"Niveau\"/>\n<l:gentext key=\"MsgOrig\" text=\"Origine\"/>\n<l:gentext key=\"msgorig\" text=\"Origine\"/>\n<l:gentext key=\"NOTE\" text=\"NOTE\"/>\n<l:gentext key=\"Note\" text=\"Note\"/>\n<l:gentext key=\"note\" text=\"Note\"/>\n<l:gentext key=\"Part\" text=\"Partie\"/>\n<l:gentext key=\"part\" text=\"Partie\"/>\n<l:gentext key=\"Preface\" text=\"Préface\"/>\n<l:gentext key=\"preface\" text=\"Préface\"/>\n<l:gentext key=\"Procedure\" text=\"Procédure\"/>\n<l:gentext key=\"procedure\" text=\"Procédure\"/>\n<l:gentext key=\"ProductionSet\" text=\"Production\"/>\n<l:gentext key=\"PubDate\" text=\"Date de publication\"/>\n<l:gentext key=\"pubdate\" text=\"Date de publication\"/>\n<l:gentext key=\"Published\" text=\"Publié le\"/>\n<l:gentext key=\"published\" text=\"Publié le\"/>\n<l:gentext key=\"Publisher\" text=\"Éditeur\"/>\n<l:gentext key=\"Qandadiv\" text=\"Q &amp; R\"/>\n<l:gentext key=\"qandadiv\" text=\"Q &amp; R\"/>\n<l:gentext key=\"QandASet\" text=\"Questions fréquemment posées\"/>\n<l:gentext key=\"Question\" text=\"Q :\"/>\n<l:gentext key=\"question\" text=\"Q :\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Référence\"/>\n<l:gentext key=\"reference\" text=\"Référence\"/>\n<l:gentext key=\"References\" text=\"Références\"/>\n<l:gentext key=\"RefName\" text=\"Nom\"/>\n<l:gentext key=\"refname\" text=\"Nom\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Synopsis\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Synopsis\"/>\n<l:gentext key=\"RevHistory\" text=\"Historique des versions\"/>\n<l:gentext key=\"revhistory\" text=\"Historique des versions\"/>\n<l:gentext key=\"revision\" text=\"Version\"/>\n<l:gentext key=\"Revision\" text=\"Version\"/>\n<l:gentext key=\"sect1\" text=\"Section\"/>\n<l:gentext key=\"sect2\" text=\"Section\"/>\n<l:gentext key=\"sect3\" text=\"Section\"/>\n<l:gentext key=\"sect4\" text=\"Section\"/>\n<l:gentext key=\"sect5\" text=\"Section\"/>\n<l:gentext key=\"section\" text=\"section\"/>\n<l:gentext key=\"Section\" text=\"Section\"/>\n<l:gentext key=\"see\" text=\"voir\"/>\n<l:gentext key=\"See\" text=\"Voir\"/>\n<l:gentext key=\"seealso\" text=\"voir aussi\"/>\n<l:gentext key=\"Seealso\" text=\"Voir aussi\"/>\n<l:gentext key=\"SeeAlso\" text=\"Voir Aussi\"/>\n<l:gentext key=\"set\" text=\"Ensemble\"/>\n<l:gentext key=\"Set\" text=\"Ensemble\"/>\n<l:gentext key=\"setindex\" text=\"Index\"/>\n<l:gentext key=\"SetIndex\" text=\"Index\"/>\n<l:gentext key=\"Sidebar\" text=\"Filet vertical\"/>\n<l:gentext key=\"sidebar\" text=\"Filet vertical\"/>\n<l:gentext key=\"step\" text=\"étape\"/>\n<l:gentext key=\"Step\" text=\"Étape\"/>\n<l:gentext key=\"table\" text=\"Tableau\"/>\n<l:gentext key=\"Table\" text=\"Tableau\"/>\n<l:gentext key=\"task\" text=\"Tâche\"/>\n<l:gentext key=\"Task\" text=\"Tâche\"/>\n<l:gentext key=\"tip\" text=\"Astuce\"/>\n<l:gentext key=\"TIP\" text=\"ASTUCE\"/>\n<l:gentext key=\"Tip\" text=\"Astuce\"/>\n<l:gentext key=\"Warning\" text=\"Avertissement\"/>\n<l:gentext key=\"warning\" text=\"Avertissement\"/>\n<l:gentext key=\"WARNING\" text=\"AVERTISSEMENT\"/>\n<l:gentext key=\"and\" text=\"et\"/>\n<l:gentext key=\"or\" text=\"ou\"/>\n<l:gentext key=\"by\" text=\"par\"/>\n<l:gentext key=\"Edited\" text=\"Publié\"/>\n<l:gentext key=\"edited\" text=\"Publié\"/>\n<l:gentext key=\"Editedby\" text=\"Publié par\"/>\n<l:gentext key=\"editedby\" text=\"Publié par\"/>\n<l:gentext key=\"in\" text=\"dans\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Notes\"/>\n<l:gentext key=\"Notes\" text=\"Notes\"/>\n<l:gentext key=\"Pgs\" text=\"Pages\"/>\n<l:gentext key=\"pgs\" text=\"Pages\"/>\n<l:gentext key=\"Revisedby\" text=\"Revu et corrigé par : \"/>\n<l:gentext key=\"revisedby\" text=\"Revu et corrigé par : \"/>\n<l:gentext key=\"TableNotes\" text=\"Remarques\"/>\n<l:gentext key=\"tablenotes\" text=\"Remarques\"/>\n<l:gentext key=\"TableofContents\" text=\"Table des matières\"/>\n<l:gentext key=\"tableofcontents\" text=\"Table des matières\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Nom d'élément inattendu\"/>\n<l:gentext key=\"unsupported\" text=\"Non reconnu par le système\"/>\n<l:gentext key=\"xrefto\" text=\"Référence vers\"/>\n<l:gentext key=\"Authors\" text=\"Auteurs\"/>\n<l:gentext key=\"copyeditor\" text=\"Relecteur\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphiste\"/>\n<l:gentext key=\"productioneditor\" text=\"Directeur de la production\"/>\n<l:gentext key=\"technicaleditor\" text=\"Rédacteur technique\"/>\n<l:gentext key=\"translator\" text=\"Traducteur\"/>\n<l:gentext key=\"listofequations\" text=\"Liste des équations\"/>\n<l:gentext key=\"ListofEquations\" text=\"Liste des équations\"/>\n<l:gentext key=\"ListofExamples\" text=\"Liste des exemples\"/>\n<l:gentext key=\"listofexamples\" text=\"Liste des exemples\"/>\n<l:gentext key=\"ListofFigures\" text=\"Liste des illustrations\"/>\n<l:gentext key=\"listoffigures\" text=\"Liste des illustrations\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Liste des procédures\"/>\n<l:gentext key=\"listofprocedures\" text=\"Liste des procédures\"/>\n<l:gentext key=\"listoftables\" text=\"Liste des tableaux\"/>\n<l:gentext key=\"ListofTables\" text=\"Liste des tableaux\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Liste inconnue\"/>\n<l:gentext key=\"listofunknown\" text=\"Liste inconnue\"/>\n<l:gentext key=\"nav-home\" text=\"Sommaire\"/>\n<l:gentext key=\"nav-next\" text=\"Suivant\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Avance rapide\"/>\n<l:gentext key=\"nav-prev\" text=\"Précédent\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Arrière rapide\"/>\n<l:gentext key=\"nav-up\" text=\"Niveau supérieur\"/>\n<l:gentext key=\"nav-toc\" text=\"TdM\"/>\n<l:gentext key=\"Draft\" text=\"Brouillon\"/>\n<l:gentext key=\"above\" text=\"au-dessus\"/>\n<l:gentext key=\"below\" text=\"au-dessous\"/>\n<l:gentext key=\"sectioncalled\" text=\"la section intitulée\"/>\n<l:gentext key=\"index symbols\" text=\"Symboles\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyzâêîôûëïüàèùéçæœ\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZÂÊÎÔÛËÏÜÀÈÙÉÇÆŒ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\"/>\n<l:dingbat key=\"startquote\" text=\"« \"/>\n<l:dingbat key=\"endquote\" text=\" »\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"“\"/>\n<l:dingbat key=\"nestedendquote\" text=\"”\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‹\"/>\n<l:dingbat key=\"singleendquote\" text=\"›\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Rechercher\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Saisissez un terme et cliquer \"/>\n<l:template name=\"Go\" text=\"Go\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\"/>\n<l:template name=\"txt_filesfound\" text=\"Résultats\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"Vous devez entrer au moins un caractère.x\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\"/>\n<l:template name=\"txt_please_wait\" text=\"S'il vous plaît attendre. La recherche est en cours ...\"/>\n<l:template name=\"txt_results_for\" text=\"Résultats pour: \"/>\n<l:template name=\"TableofContents\" text=\"Contents\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Annexe %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Chapitre %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Équation %n. %t\"/>\n<l:template name=\"example\" text=\"Exemple %n. %t\"/>\n<l:template name=\"figure\" text=\"Figure %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Procédure %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Production %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tableau %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Annexe %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Chapitre %n. %t\"/>\n<l:template name=\"part\" text=\"Partie %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"R : %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Q : %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Q : %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" dans %o\"/>\n<l:template name=\"docnamelong\" text=\" dans le document intitulé %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"la section intitulée « %t »\"/>\n<l:template name=\"refsection\" text=\"la section intitulée « %t »\"/>\n<l:template name=\"refsect1\" text=\"la section intitulée « %t »\"/>\n<l:template name=\"refsect2\" text=\"la section intitulée « %t »\"/>\n<l:template name=\"refsect3\" text=\"la section intitulée « %t »\"/>\n<l:template name=\"sect1\" text=\"la section intitulée « %t »\"/>\n<l:template name=\"sect2\" text=\"la section intitulée « %t »\"/>\n<l:template name=\"sect3\" text=\"la section intitulée « %t »\"/>\n<l:template name=\"sect4\" text=\"la section intitulée « %t »\"/>\n<l:template name=\"sect5\" text=\"la section intitulée « %t »\"/>\n<l:template name=\"section\" text=\"la section intitulée « %t »\"/>\n<l:template name=\"simplesect\" text=\"la section intitulée « %t »\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"R : %n\"/>\n<l:template name=\"appendix\" text=\"Annexe %n\"/>\n<l:template name=\"bridgehead\" text=\"Section %n\"/>\n<l:template name=\"chapter\" text=\"Chapitre %n\"/>\n<l:template name=\"equation\" text=\"Équation %n\"/>\n<l:template name=\"example\" text=\"Exemple %n\"/>\n<l:template name=\"figure\" text=\"Figure %n\"/>\n<l:template name=\"part\" text=\"Partie %n\"/>\n<l:template name=\"procedure\" text=\"Procédure %n\"/>\n<l:template name=\"productionset\" text=\"Production %n\"/>\n<l:template name=\"qandadiv\" text=\"Q &amp; R %n\"/>\n<l:template name=\"qandaentry\" text=\"Q : %n\"/>\n<l:template name=\"question\" text=\"Q : %n\"/>\n<l:template name=\"sect1\" text=\"Section %n\"/>\n<l:template name=\"sect2\" text=\"Section %n\"/>\n<l:template name=\"sect3\" text=\"Section %n\"/>\n<l:template name=\"sect4\" text=\"Section %n\"/>\n<l:template name=\"sect5\" text=\"Section %n\"/>\n<l:template name=\"section\" text=\"Section %n\"/>\n<l:template name=\"table\" text=\"Tableau %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Annexe %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Section %n, « %t »\"/>\n<l:template name=\"chapter\" text=\"Chapitre %n, %t\"/>\n<l:template name=\"equation\" text=\"Équation %n, « %t »\"/>\n<l:template name=\"example\" text=\"Exemple %n, « %t »\"/>\n<l:template name=\"figure\" text=\"Figure %n, « %t »\"/>\n<l:template name=\"part\" text=\"Partie %n, « %t »\"/>\n<l:template name=\"procedure\" text=\"Procédure %n, « %t »\"/>\n<l:template name=\"productionset\" text=\"Production %n, « %t »\"/>\n<l:template name=\"qandadiv\" text=\"Q &amp; R %n, « %t »\"/>\n<l:template name=\"refsect1\" text=\"la section intitulée « %t »\"/>\n<l:template name=\"refsect2\" text=\"la section intitulée « %t »\"/>\n<l:template name=\"refsect3\" text=\"la section intitulée « %t »\"/>\n<l:template name=\"refsection\" text=\"la section intitulée « %t »\"/>\n<l:template name=\"sect1\" text=\"Section %n, « %t »\"/>\n<l:template name=\"sect2\" text=\"Section %n, « %t »\"/>\n<l:template name=\"sect3\" text=\"Section %n, « %t »\"/>\n<l:template name=\"sect4\" text=\"Section %n, « %t »\"/>\n<l:template name=\"sect5\" text=\"Section %n, « %t »\"/>\n<l:template name=\"section\" text=\"Section %n, « %t »\"/>\n<l:template name=\"simplesect\" text=\"la section intitulée « %t »\"/>\n<l:template name=\"table\" text=\"Tableau %n, « %t »\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" et \"/>\n<l:template name=\"seplast\" text=\", et \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Voir %t.\"/>\n<l:template name=\"seealso\" text=\"Voir aussi %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Public visé: \"/>\n<l:template name=\"MsgLevel\" text=\"Niveau: \"/>\n<l:template name=\"MsgOrig\" text=\"Origine: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Définition : \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"janvier\"/>\n<l:template name=\"February\" text=\"février\"/>\n<l:template name=\"March\" text=\"mars\"/>\n<l:template name=\"April\" text=\"avril\"/>\n<l:template name=\"May\" text=\"mai\"/>\n<l:template name=\"June\" text=\"juin\"/>\n<l:template name=\"July\" text=\"juillet\"/>\n<l:template name=\"August\" text=\"août\"/>\n<l:template name=\"September\" text=\"septembre\"/>\n<l:template name=\"October\" text=\"octobre\"/>\n<l:template name=\"November\" text=\"novembre\"/>\n<l:template name=\"December\" text=\"décembre\"/>\n<l:template name=\"Monday\" text=\"lundi\"/>\n<l:template name=\"Tuesday\" text=\"mardi\"/>\n<l:template name=\"Wednesday\" text=\"mercredi\"/>\n<l:template name=\"Thursday\" text=\"jeudi\"/>\n<l:template name=\"Friday\" text=\"vendredi\"/>\n<l:template name=\"Saturday\" text=\"samedi\"/>\n<l:template name=\"Sunday\" text=\"dimanche\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"jan\"/>\n<l:template name=\"Feb\" text=\"fév\"/>\n<l:template name=\"Mar\" text=\"mar\"/>\n<l:template name=\"Apr\" text=\"avr\"/>\n<l:template name=\"May\" text=\"mai\"/>\n<l:template name=\"Jun\" text=\"jun\"/>\n<l:template name=\"Jul\" text=\"jui\"/>\n<l:template name=\"Aug\" text=\"aoû\"/>\n<l:template name=\"Sep\" text=\"sep\"/>\n<l:template name=\"Oct\" text=\"oct\"/>\n<l:template name=\"Nov\" text=\"nov\"/>\n<l:template name=\"Dec\" text=\"déc\"/>\n<l:template name=\"Mon\" text=\"lun\"/>\n<l:template name=\"Tue\" text=\"mar\"/>\n<l:template name=\"Wed\" text=\"mer\"/>\n<l:template name=\"Thu\" text=\"jeu\"/>\n<l:template name=\"Fri\" text=\"ven\"/>\n<l:template name=\"Sat\" text=\"sam\"/>\n<l:template name=\"Sun\" text=\"dim\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x040c French (FRANCE)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (éd.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Disponible \"/>\n<l:template name=\"acctoo\" text=\"Également disponible \"/>\n<l:template name=\"onwww\" text=\"sur World Wide Web\"/>\n<l:template name=\"oninet\" text=\"sur Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Symboles</l:l>\n<l:l i=\"1\">A</l:l>\n<l:l i=\"1\">a</l:l>\n<l:l i=\"1\">à</l:l>\n<l:l i=\"1\">À</l:l>\n<l:l i=\"1\">â</l:l>\n<l:l i=\"1\">Â</l:l>\n<l:l i=\"1\">Æ</l:l>\n<l:l i=\"1\">æ</l:l>\n<l:l i=\"2\">B</l:l>\n<l:l i=\"2\">b</l:l>\n<l:l i=\"3\">C</l:l>\n<l:l i=\"3\">c</l:l>\n<l:l i=\"3\">ç</l:l>\n<l:l i=\"4\">D</l:l>\n<l:l i=\"4\">d</l:l>\n<l:l i=\"5\">E</l:l>\n<l:l i=\"5\">e</l:l>\n<l:l i=\"5\">ê</l:l>\n<l:l i=\"5\">Ê</l:l>\n<l:l i=\"5\">é</l:l>\n<l:l i=\"5\">É</l:l>\n<l:l i=\"5\">è</l:l>\n<l:l i=\"5\">È</l:l>\n<l:l i=\"5\">ë</l:l>\n<l:l i=\"5\">Ë</l:l>\n<l:l i=\"5\">€</l:l>\n<l:l i=\"6\">F</l:l>\n<l:l i=\"6\">f</l:l>\n<l:l i=\"7\">G</l:l>\n<l:l i=\"7\">g</l:l>\n<l:l i=\"8\">H</l:l>\n<l:l i=\"8\">h</l:l>\n<l:l i=\"9\">I</l:l>\n<l:l i=\"9\">i</l:l>\n<l:l i=\"9\">Î</l:l>\n<l:l i=\"9\">î</l:l>\n<l:l i=\"9\">Ï</l:l>\n<l:l i=\"9\">ï</l:l>\n<l:l i=\"10\">J</l:l>\n<l:l i=\"10\">j</l:l>\n<l:l i=\"11\">K</l:l>\n<l:l i=\"11\">k</l:l>\n<l:l i=\"12\">L</l:l>\n<l:l i=\"12\">l</l:l>\n<l:l i=\"13\">M</l:l>\n<l:l i=\"13\">m</l:l>\n<l:l i=\"14\">N</l:l>\n<l:l i=\"14\">n</l:l>\n<l:l i=\"15\">O</l:l>\n<l:l i=\"15\">o</l:l>\n<l:l i=\"15\">Ö</l:l>\n<l:l i=\"15\">ö</l:l>\n<l:l i=\"15\">Œ</l:l>\n<l:l i=\"15\">œ</l:l>\n<l:l i=\"16\">P</l:l>\n<l:l i=\"16\">p</l:l>\n<l:l i=\"17\">Q</l:l>\n<l:l i=\"17\">q</l:l>\n<l:l i=\"18\">R</l:l>\n<l:l i=\"18\">r</l:l>\n<l:l i=\"19\">S</l:l>\n<l:l i=\"19\">s</l:l>\n<l:l i=\"20\">T</l:l>\n<l:l i=\"20\">t</l:l>\n<l:l i=\"21\">U</l:l>\n<l:l i=\"21\">u</l:l>\n<l:l i=\"21\">Ù</l:l>\n<l:l i=\"21\">ù</l:l>\n<l:l i=\"21\">Û</l:l>\n<l:l i=\"21\">û</l:l>\n<l:l i=\"21\">Ü</l:l>\n<l:l i=\"21\">ü</l:l>\n<l:l i=\"22\">V</l:l>\n<l:l i=\"22\">v</l:l>\n<l:l i=\"23\">W</l:l>\n<l:l i=\"23\">w</l:l>\n<l:l i=\"24\">X</l:l>\n<l:l i=\"24\">x</l:l>\n<l:l i=\"25\">Y</l:l>\n<l:l i=\"25\">y</l:l>\n<l:l i=\"26\">Z</l:l>\n<l:l i=\"26\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/ga.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"ga\" english-language-name=\"Irish\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/ga.xml -->\n<!-- * -->\n<!-- * E-mail the edited ga.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Achoimre\"/>\n<l:gentext key=\"abstract\" text=\"Achoimre\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"F:\"/>\n<l:gentext key=\"answer\" text=\"F:\"/>\n<l:gentext key=\"Appendix\" text=\"Aguisín\"/>\n<l:gentext key=\"appendix\" text=\"Aguisín\"/>\n<l:gentext key=\"Article\" text=\"Alt\"/>\n<l:gentext key=\"article\" text=\"Alt\"/>\n<l:gentext key=\"Author\" text=\"Údar\"/>\n<l:gentext key=\"Bibliography\" text=\"Leabharliosta\"/>\n<l:gentext key=\"bibliography\" text=\"Leabharliosta\"/>\n<l:gentext key=\"Book\" text=\"Leabhar\"/>\n<l:gentext key=\"book\" text=\"Leabhar\"/>\n<l:gentext key=\"CAUTION\" text=\"FAINIC\"/>\n<l:gentext key=\"Caution\" text=\"Fainic\"/>\n<l:gentext key=\"caution\" text=\"Fainic\"/>\n<l:gentext key=\"Chapter\" text=\"Caibidil\"/>\n<l:gentext key=\"chapter\" text=\"Caibidil\"/>\n<l:gentext key=\"Colophon\" text=\"Colafan\"/>\n<l:gentext key=\"colophon\" text=\"Colafan\"/>\n<l:gentext key=\"Copyright\" text=\"Cóipcheart\"/>\n<l:gentext key=\"copyright\" text=\"Cóipcheart\"/>\n<l:gentext key=\"Dedication\" text=\"Tíolacadh\"/>\n<l:gentext key=\"dedication\" text=\"Tíolacadh\"/>\n<l:gentext key=\"Edition\" text=\"Eagrán\"/>\n<l:gentext key=\"edition\" text=\"Eagrán\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Cothromóid\"/>\n<l:gentext key=\"equation\" text=\"Cothromóid\"/>\n<l:gentext key=\"Example\" text=\"Sampla\"/>\n<l:gentext key=\"example\" text=\"Sampla\"/>\n<l:gentext key=\"Figure\" text=\"Léaráid\"/>\n<l:gentext key=\"figure\" text=\"Léaráid\"/>\n<l:gentext key=\"Glossary\" text=\"Gluais\"/>\n<l:gentext key=\"glossary\" text=\"Gluais\"/>\n<l:gentext key=\"GlossSee\" text=\"Féach\"/>\n<l:gentext key=\"glosssee\" text=\"Féach\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Féach Freisin\"/>\n<l:gentext key=\"glossseealso\" text=\"Féach Freisin\"/>\n<l:gentext key=\"IMPORTANT\" text=\"TÁBHACHTACH\"/>\n<l:gentext key=\"important\" text=\"Tábhachtach\"/>\n<l:gentext key=\"Important\" text=\"Tábhachtach\"/>\n<l:gentext key=\"Index\" text=\"Innéacs\"/>\n<l:gentext key=\"index\" text=\"Innéacs\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Fógra Dlí\"/>\n<l:gentext key=\"legalnotice\" text=\"Fógra Dlí\"/>\n<l:gentext key=\"MsgAud\" text=\"Sprioclucht\"/>\n<l:gentext key=\"msgaud\" text=\"Sprioclucht\"/>\n<l:gentext key=\"MsgLevel\" text=\"Leibhéal\"/>\n<l:gentext key=\"msglevel\" text=\"Leibhéal\"/>\n<l:gentext key=\"MsgOrig\" text=\"Foinse\"/>\n<l:gentext key=\"msgorig\" text=\"Foinse\"/>\n<l:gentext key=\"NOTE\" text=\"NÓTA\"/>\n<l:gentext key=\"Note\" text=\"Nóta\"/>\n<l:gentext key=\"note\" text=\"Nóta\"/>\n<l:gentext key=\"Part\" text=\"Cuid\"/>\n<l:gentext key=\"part\" text=\"Cuid\"/>\n<l:gentext key=\"Preface\" text=\"Réamhrá\"/>\n<l:gentext key=\"preface\" text=\"Réamhrá\"/>\n<l:gentext key=\"Procedure\" text=\"Gnás\"/>\n<l:gentext key=\"procedure\" text=\"Gnás\"/>\n<l:gentext key=\"ProductionSet\" text=\"Rialacha Táirgthe\"/>\n<l:gentext key=\"PubDate\" text=\"Dáta Foilsithe\"/>\n<l:gentext key=\"pubdate\" text=\"Dáta foilsithe\"/>\n<l:gentext key=\"Published\" text=\"Foilsithe\"/>\n<l:gentext key=\"published\" text=\"Foilsithe\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"C &amp; F\"/>\n<l:gentext key=\"qandadiv\" text=\"C &amp; F\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"C:\"/>\n<l:gentext key=\"question\" text=\"C:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Tagairt\"/>\n<l:gentext key=\"reference\" text=\"Tagairt\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Ainm\"/>\n<l:gentext key=\"refname\" text=\"Ainm\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Achoimre\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Achoimre\"/>\n<l:gentext key=\"RevHistory\" text=\"Stair Leasaithe\"/>\n<l:gentext key=\"revhistory\" text=\"Stair Leasaithe\"/>\n<l:gentext key=\"revision\" text=\"Leasú\"/>\n<l:gentext key=\"Revision\" text=\"Leasú\"/>\n<l:gentext key=\"sect1\" text=\"Rannán\"/>\n<l:gentext key=\"sect2\" text=\"Rannán\"/>\n<l:gentext key=\"sect3\" text=\"Rannán\"/>\n<l:gentext key=\"sect4\" text=\"Rannán\"/>\n<l:gentext key=\"sect5\" text=\"Rannán\"/>\n<l:gentext key=\"section\" text=\"Rannán\"/>\n<l:gentext key=\"Section\" text=\"Rannán\"/>\n<l:gentext key=\"see\" text=\"féach\"/>\n<l:gentext key=\"See\" text=\"Féach\"/>\n<l:gentext key=\"seealso\" text=\"féach freisin\"/>\n<l:gentext key=\"Seealso\" text=\"Féach freisin\"/>\n<l:gentext key=\"SeeAlso\" text=\"Féach Freisin\"/>\n<l:gentext key=\"set\" text=\"Tacar\"/>\n<l:gentext key=\"Set\" text=\"Tacar\"/>\n<l:gentext key=\"setindex\" text=\"Innéacs\"/>\n<l:gentext key=\"SetIndex\" text=\"Innéacs\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"taobhbharra\"/>\n<l:gentext key=\"step\" text=\"céim\"/>\n<l:gentext key=\"Step\" text=\"Céim\"/>\n<l:gentext key=\"table\" text=\"Tábla\"/>\n<l:gentext key=\"Table\" text=\"Tábla\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"Leid\"/>\n<l:gentext key=\"TIP\" text=\"LEID\"/>\n<l:gentext key=\"Tip\" text=\"Leid\"/>\n<l:gentext key=\"Warning\" text=\"Rabhadh\"/>\n<l:gentext key=\"warning\" text=\"Rabhadh\"/>\n<l:gentext key=\"WARNING\" text=\"RABHADH\"/>\n<l:gentext key=\"and\" text=\"agus\"/>\n<l:gentext key=\"or\" text=\"nó\"/>\n<l:gentext key=\"by\" text=\"le\"/>\n<l:gentext key=\"Edited\" text=\"Curtha in eagar\"/>\n<l:gentext key=\"edited\" text=\"Curtha in eagar\"/>\n<l:gentext key=\"Editedby\" text=\"Curtha in eagar ag\"/>\n<l:gentext key=\"editedby\" text=\"Curtha in eagar ag\"/>\n<l:gentext key=\"in\" text=\"i\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Nótaí\"/>\n<l:gentext key=\"Notes\" text=\"Nótaí\"/>\n<l:gentext key=\"Pgs\" text=\"Lgh.\"/>\n<l:gentext key=\"pgs\" text=\"Lgh.\"/>\n<l:gentext key=\"Revisedby\" text=\"Leasaithe ag: \"/>\n<l:gentext key=\"revisedby\" text=\"Leasaithe ag: \"/>\n<l:gentext key=\"TableNotes\" text=\"Nótaí\"/>\n<l:gentext key=\"tablenotes\" text=\"Nótaí\"/>\n<l:gentext key=\"TableofContents\" text=\"Clár Ábhair\"/>\n<l:gentext key=\"tableofcontents\" text=\"Clár Ábhair\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Ainm eiliminte gan choinne\"/>\n<l:gentext key=\"unsupported\" text=\"gan tacaíocht\"/>\n<l:gentext key=\"xrefto\" text=\"xref go\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"Liosta Cothromóidí\"/>\n<l:gentext key=\"ListofEquations\" text=\"Liosta Cothromóidí\"/>\n<l:gentext key=\"ListofExamples\" text=\"Liosta Samplaí\"/>\n<l:gentext key=\"listofexamples\" text=\"Liosta Samplaí\"/>\n<l:gentext key=\"ListofFigures\" text=\"Liosta Léaráidí\"/>\n<l:gentext key=\"listoffigures\" text=\"Liosta Léaráidí\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Liosta Gnás\"/>\n<l:gentext key=\"listofprocedures\" text=\"Liosta Gnás\"/>\n<l:gentext key=\"listoftables\" text=\"Liosta Táblaí\"/>\n<l:gentext key=\"ListofTables\" text=\"Liosta Táblaí\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Liosta Rudaí Anaithnide\"/>\n<l:gentext key=\"listofunknown\" text=\"Liosta Rudaí Anaithnide\"/>\n<l:gentext key=\"nav-home\" text=\"Baile\"/>\n<l:gentext key=\"nav-next\" text=\"Ar Aghaidh\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Ar Aghaidh Go Tapa\"/>\n<l:gentext key=\"nav-prev\" text=\"Ar Ais\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Ar Ais Go Tapa\"/>\n<l:gentext key=\"nav-up\" text=\"Suas\"/>\n<l:gentext key=\"nav-toc\" text=\"CÁ\"/>\n<l:gentext key=\"Draft\" text=\"Dréacht\"/>\n<l:gentext key=\"above\" text=\"thuas\"/>\n<l:gentext key=\"below\" text=\"thíos\"/>\n<l:gentext key=\"sectioncalled\" text=\"an rannán dar teideal\"/>\n<l:gentext key=\"index symbols\" text=\"Siombailí\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyzáéíóú\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Aguisín %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Caibidil %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Cothromóid %n. %t\"/>\n<l:template name=\"example\" text=\"Sampla %n. %t\"/>\n<l:template name=\"figure\" text=\"Léaráid %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Cuid %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Gnás %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Rialacha Táirgthe %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tábla %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Aguisín %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Caibidil %n. %t\"/>\n<l:template name=\"part\" text=\"Cuid %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"F: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"C: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"C: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" i %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (leathanach %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(leathanach %p)\"/>\n<l:template name=\"docname\" text=\" i %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(lch. %p)\"/>\n<l:template name=\"Page\" text=\"Leathanach %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"an rannán dar teideal “%t”\"/>\n<l:template name=\"refsection\" text=\"an rannán dar teideal “%t”\"/>\n<l:template name=\"refsect1\" text=\"an rannán dar teideal “%t”\"/>\n<l:template name=\"refsect2\" text=\"an rannán dar teideal “%t”\"/>\n<l:template name=\"refsect3\" text=\"an rannán dar teideal “%t”\"/>\n<l:template name=\"sect1\" text=\"an rannán dar teideal “%t”\"/>\n<l:template name=\"sect2\" text=\"an rannán dar teideal “%t”\"/>\n<l:template name=\"sect3\" text=\"an rannán dar teideal “%t”\"/>\n<l:template name=\"sect4\" text=\"an rannán dar teideal “%t”\"/>\n<l:template name=\"sect5\" text=\"an rannán dar teideal “%t”\"/>\n<l:template name=\"section\" text=\"an rannán dar teideal “%t”\"/>\n<l:template name=\"simplesect\" text=\"an rannán dar teideal “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"F: %n\"/>\n<l:template name=\"appendix\" text=\"Aguisín %n\"/>\n<l:template name=\"bridgehead\" text=\"Rannán %n\"/>\n<l:template name=\"chapter\" text=\"Caibidil %n\"/>\n<l:template name=\"equation\" text=\"Cothromóid %n\"/>\n<l:template name=\"example\" text=\"Sampla %n\"/>\n<l:template name=\"figure\" text=\"Léaráid %n\"/>\n<l:template name=\"part\" text=\"Cuid %n\"/>\n<l:template name=\"procedure\" text=\"Gnás %n\"/>\n<l:template name=\"productionset\" text=\"Rialacha Táirgthe %n\"/>\n<l:template name=\"qandadiv\" text=\"C &amp; F %n\"/>\n<l:template name=\"qandaentry\" text=\"C: %n\"/>\n<l:template name=\"question\" text=\"C: %n\"/>\n<l:template name=\"sect1\" text=\"Rannán %n\"/>\n<l:template name=\"sect2\" text=\"Rannán %n\"/>\n<l:template name=\"sect3\" text=\"Rannán %n\"/>\n<l:template name=\"sect4\" text=\"Rannán %n\"/>\n<l:template name=\"sect5\" text=\"Rannán %n\"/>\n<l:template name=\"section\" text=\"Rannán %n\"/>\n<l:template name=\"table\" text=\"Tábla %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Aguisín %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Rannán %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Caibidil %n, %t\"/>\n<l:template name=\"equation\" text=\"Cothromóid %n, “%t”\"/>\n<l:template name=\"example\" text=\"Sampla %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Léaráid %n, “%t”\"/>\n<l:template name=\"part\" text=\"Cuid %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Gnás %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Rialacha Táirgthe %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"C &amp; F %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"an rannán dar teideal “%t”\"/>\n<l:template name=\"refsect2\" text=\"an rannán dar teideal “%t”\"/>\n<l:template name=\"refsect3\" text=\"an rannán dar teideal “%t”\"/>\n<l:template name=\"refsection\" text=\"an rannán dar teideal “%t”\"/>\n<l:template name=\"sect1\" text=\"Rannán %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Rannán %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Rannán %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Rannán %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Rannán %n, “%t”\"/>\n<l:template name=\"section\" text=\"Rannán %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"an rannán dar teideal “%t”\"/>\n<l:template name=\"table\" text=\"Tábla %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" agus \"/>\n<l:template name=\"seplast\" text=\", agus \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Féach %t.\"/>\n<l:template name=\"seealso\" text=\"Féach Freisin %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Sprioclucht: \"/>\n<l:template name=\"MsgLevel\" text=\"Leibhéal: \"/>\n<l:template name=\"MsgOrig\" text=\"Foinse: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Sainmhíniú: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Eanáir\"/>\n<l:template name=\"February\" text=\"Feabhra\"/>\n<l:template name=\"March\" text=\"Márta\"/>\n<l:template name=\"April\" text=\"Aibreán\"/>\n<l:template name=\"May\" text=\"Bealtaine\"/>\n<l:template name=\"June\" text=\"Meitheamh\"/>\n<l:template name=\"July\" text=\"Iúil\"/>\n<l:template name=\"August\" text=\"Lúnasa\"/>\n<l:template name=\"September\" text=\"Meán Fómhair\"/>\n<l:template name=\"October\" text=\"Deireadh Fómhair\"/>\n<l:template name=\"November\" text=\"Samhain\"/>\n<l:template name=\"December\" text=\"Nollaig\"/>\n<l:template name=\"Monday\" text=\"Dé Luain\"/>\n<l:template name=\"Tuesday\" text=\"Dé Máirt\"/>\n<l:template name=\"Wednesday\" text=\"Dé Céadaoin\"/>\n<l:template name=\"Thursday\" text=\"Déardaoin\"/>\n<l:template name=\"Friday\" text=\"Dé hAoine\"/>\n<l:template name=\"Saturday\" text=\"Dé Sathairn\"/>\n<l:template name=\"Sunday\" text=\"Dé Domhnaigh\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Ean\"/>\n<l:template name=\"Feb\" text=\"Feabh\"/>\n<l:template name=\"Mar\" text=\"Márta\"/>\n<l:template name=\"Apr\" text=\"Aib\"/>\n<l:template name=\"May\" text=\"Beal\"/>\n<l:template name=\"Jun\" text=\"Meith\"/>\n<l:template name=\"Jul\" text=\"Iúil\"/>\n<l:template name=\"Aug\" text=\"Lún\"/>\n<l:template name=\"Sep\" text=\"MFómh\"/>\n<l:template name=\"Oct\" text=\"DFómh\"/>\n<l:template name=\"Nov\" text=\"Samh\"/>\n<l:template name=\"Dec\" text=\"Noll\"/>\n<l:template name=\"Mon\" text=\"Luan\"/>\n<l:template name=\"Tue\" text=\"Máirt\"/>\n<l:template name=\"Wed\" text=\"Céad\"/>\n<l:template name=\"Thu\" text=\"Déar\"/>\n<l:template name=\"Fri\" text=\"Aoine\"/>\n<l:template name=\"Sat\" text=\"Sath\"/>\n<l:template name=\"Sun\" text=\"Domh\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x083C Gaelic (IRELAND)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Siombailí</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/gentext.xsl",
    "content": "<?xml version='1.0'?>\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\"\n                exclude-result-prefixes=\"doc\"\n                version='1.0'>\n\n<!-- ********************************************************************\n     $Id: gentext.xsl 9713 2013-01-22 22:08:30Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n\n<xsl:template match=\"*\" mode=\"object.title.template\">\n  <xsl:call-template name=\"gentext.template\">\n    <xsl:with-param name=\"context\" select=\"'title'\"/>\n    <xsl:with-param name=\"name\">\n      <xsl:call-template name=\"xpath.location\"/>\n    </xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"chapter\" mode=\"object.title.template\">\n  <xsl:choose>\n    <xsl:when test=\"string($chapter.autolabel) != 0\">\n      <xsl:call-template name=\"gentext.template\">\n        <xsl:with-param name=\"context\" select=\"'title-numbered'\"/>\n        <xsl:with-param name=\"name\">\n          <xsl:call-template name=\"xpath.location\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"gentext.template\">\n        <xsl:with-param name=\"context\" select=\"'title-unnumbered'\"/>\n        <xsl:with-param name=\"name\">\n          <xsl:call-template name=\"xpath.location\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"appendix\" mode=\"object.title.template\">\n  <xsl:choose>\n    <xsl:when test=\"string($appendix.autolabel) != 0\">\n      <xsl:call-template name=\"gentext.template\">\n        <xsl:with-param name=\"context\" select=\"'title-numbered'\"/>\n        <xsl:with-param name=\"name\">\n          <xsl:call-template name=\"xpath.location\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"gentext.template\">\n        <xsl:with-param name=\"context\" select=\"'title-unnumbered'\"/>\n        <xsl:with-param name=\"name\">\n          <xsl:call-template name=\"xpath.location\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"part\" mode=\"object.title.template\">\n  <xsl:choose>\n    <xsl:when test=\"string($part.autolabel) != 0\">\n      <xsl:call-template name=\"gentext.template\">\n        <xsl:with-param name=\"context\" select=\"'title-numbered'\"/>\n        <xsl:with-param name=\"name\">\n          <xsl:call-template name=\"xpath.location\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"gentext.template\">\n        <xsl:with-param name=\"context\" select=\"'title-unnumbered'\"/>\n        <xsl:with-param name=\"name\">\n          <xsl:call-template name=\"xpath.location\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"section|sect1|sect2|sect3|sect4|sect5|simplesect\n                     |bridgehead|topic\"\n              mode=\"object.title.template\">\n  <xsl:variable name=\"is.numbered\">\n    <xsl:call-template name=\"label.this.section\"/>\n  </xsl:variable>\n  <xsl:choose>\n    <xsl:when test=\"$is.numbered != 0\">\n      <xsl:call-template name=\"gentext.template\">\n        <xsl:with-param name=\"context\" select=\"'title-numbered'\"/>\n        <xsl:with-param name=\"name\">\n          <xsl:call-template name=\"xpath.location\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"gentext.template\">\n        <xsl:with-param name=\"context\" select=\"'title-unnumbered'\"/>\n        <xsl:with-param name=\"name\">\n          <xsl:call-template name=\"xpath.location\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"procedure\" mode=\"object.title.template\">\n  <xsl:choose>\n    <xsl:when test=\"$formal.procedures != 0 and title\">\n      <xsl:call-template name=\"gentext.template\">\n        <xsl:with-param name=\"context\" select=\"'title'\"/>\n        <xsl:with-param name=\"name\">\n          <xsl:call-template name=\"xpath.location\"/>\n          <xsl:text>.formal</xsl:text>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"gentext.template\">\n        <xsl:with-param name=\"context\" select=\"'title'\"/>\n        <xsl:with-param name=\"name\">\n          <xsl:call-template name=\"xpath.location\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ============================================================ -->\n\n<xsl:template match=\"*\" mode=\"object.subtitle.template\">\n  <xsl:call-template name=\"gentext.template\">\n    <xsl:with-param name=\"context\" select=\"'subtitle'\"/>\n    <xsl:with-param name=\"name\">\n      <xsl:call-template name=\"xpath.location\"/>\n    </xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<!-- ============================================================ -->\n\n<xsl:template match=\"*\" mode=\"is.autonumber\">\n  <xsl:value-of select=\"'0'\"/>\n</xsl:template>\n\n<xsl:template match=\"section|sect1|sect2|sect3|sect4|sect5\" \n              mode=\"is.autonumber\">\n  <xsl:call-template name=\"label.this.section\"/>\n</xsl:template>\n\n<xsl:template match=\"figure|example|table|equation\" mode=\"is.autonumber\">\n  <xsl:value-of select=\"'1'\"/>\n</xsl:template>\n\n<xsl:template match=\"appendix\" mode=\"is.autonumber\">\n  <xsl:value-of select=\"$appendix.autolabel\"/>\n</xsl:template>\n\n<xsl:template match=\"chapter\" mode=\"is.autonumber\">\n  <xsl:value-of select=\"$chapter.autolabel\"/>\n</xsl:template>\n\n<xsl:template match=\"part\" mode=\"is.autonumber\">\n  <xsl:value-of select=\"$part.autolabel\"/>\n</xsl:template>\n\n<xsl:template match=\"preface\" mode=\"is.autonumber\">\n  <xsl:value-of select=\"$preface.autolabel\"/>\n</xsl:template>\n\n<xsl:template match=\"question|answer\" mode=\"is.autonumber\">\n  <xsl:choose>\n    <xsl:when test=\"$qanda.defaultlabel = 'number'\n                    and not(label)\">\n      <xsl:value-of select=\"'1'\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"'0'\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"qandadiv\" mode=\"is.autonumber\">\n  <xsl:value-of select=\"$qandadiv.autolabel\"/>\n</xsl:template>\n\n<xsl:template match=\"bridgehead\" mode=\"is.autonumber\">\n  <!-- bridgeheads are not numbered -->\n  <xsl:text>0</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"procedure\" mode=\"is.autonumber\">\n  <xsl:value-of select=\"$formal.procedures\"/>\n</xsl:template>\n\n\n<xsl:template match=\"*\" mode=\"object.xref.template\">\n  <xsl:param name=\"purpose\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"referrer\"/>\n\n  <!-- Is autonumbering on? -->\n  <xsl:variable name=\"autonumber\">\n    <xsl:apply-templates select=\".\" mode=\"is.autonumber\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"number-and-title-template\">\n    <xsl:call-template name=\"gentext.template.exists\">\n      <xsl:with-param name=\"context\" select=\"'xref-number-and-title'\"/>\n      <xsl:with-param name=\"name\">\n        <xsl:call-template name=\"xpath.location\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"number-template\">\n    <xsl:call-template name=\"gentext.template.exists\">\n      <xsl:with-param name=\"context\" select=\"'xref-number'\"/>\n      <xsl:with-param name=\"name\">\n        <xsl:call-template name=\"xpath.location\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"context\">\n    <xsl:choose>\n      <xsl:when test=\"self::equation and not(title) and not(info/title)\">\n         <xsl:value-of select=\"'xref-number'\"/>\n      </xsl:when>\n      <xsl:when test=\"string($autonumber) != 0 \n                      and $number-and-title-template != 0\n                      and $xref.with.number.and.title != 0\">\n         <xsl:value-of select=\"'xref-number-and-title'\"/>\n      </xsl:when>\n      <xsl:when test=\"string($autonumber) != 0 \n                      and $number-template != 0\">\n         <xsl:value-of select=\"'xref-number'\"/>\n      </xsl:when>\n      <xsl:otherwise>\n         <xsl:value-of select=\"'xref'\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:call-template name=\"gentext.template\">\n    <xsl:with-param name=\"context\" select=\"$context\"/>\n    <xsl:with-param name=\"name\">\n      <xsl:call-template name=\"xpath.location\"/>\n    </xsl:with-param>\n    <xsl:with-param name=\"purpose\" select=\"$purpose\"/>\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n  </xsl:call-template>\n\n</xsl:template>\n\n\n<!-- ============================================================ -->\n\n<xsl:template match=\"*\" mode=\"object.title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:variable name=\"template\">\n    <xsl:apply-templates select=\".\" mode=\"object.title.template\"/>\n  </xsl:variable>\n\n<!--\n  <xsl:message>\n    <xsl:text>object.title.markup: </xsl:text>\n    <xsl:value-of select=\"local-name(.)\"/>\n    <xsl:text>: </xsl:text>\n    <xsl:value-of select=\"$template\"/>\n  </xsl:message>\n-->\n\n  <xsl:call-template name=\"substitute-markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n    <xsl:with-param name=\"template\" select=\"$template\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"object.title.markup.textonly\">\n  <xsl:variable name=\"title\">\n    <xsl:apply-templates select=\".\" mode=\"object.title.markup\"/>\n  </xsl:variable>\n  <xsl:value-of select=\"normalize-space($title)\"/>\n</xsl:template>\n\n<!-- ============================================================ -->\n\n<xsl:template match=\"*\" mode=\"object.titleabbrev.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n\n  <!-- Just for consistency in template naming -->\n\n  <xsl:apply-templates select=\".\" mode=\"titleabbrev.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<!-- ============================================================ -->\n\n<xsl:template match=\"*\" mode=\"object.subtitle.markup\">\n  <xsl:variable name=\"template\">\n    <xsl:apply-templates select=\".\" mode=\"object.subtitle.template\"/>\n  </xsl:variable>\n\n  <xsl:call-template name=\"substitute-markup\">\n    <xsl:with-param name=\"template\" select=\"$template\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<!-- ============================================================ -->\n\n<xsl:template match=\"*\" mode=\"object.xref.markup\">\n  <xsl:param name=\"purpose\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:variable name=\"template\">\n    <xsl:choose>\n      <xsl:when test=\"starts-with(normalize-space($xrefstyle), 'select:')\">\n        <xsl:call-template name=\"make.gentext.template\">\n          <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n          <xsl:with-param name=\"purpose\" select=\"$purpose\"/>\n          <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:when test=\"starts-with(normalize-space($xrefstyle), 'template:')\">\n        <xsl:value-of select=\"substring-after(normalize-space($xrefstyle), 'template:')\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:apply-templates select=\".\" mode=\"object.xref.template\">\n          <xsl:with-param name=\"purpose\" select=\"$purpose\"/>\n          <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n          <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n        </xsl:apply-templates>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n<!-- \n  <xsl:message>\n    <xsl:text>object.xref.markup: </xsl:text>\n    <xsl:value-of select=\"local-name(.)\"/>\n    <xsl:text>(</xsl:text>\n    <xsl:value-of select=\"$xrefstyle\"/>\n    <xsl:text>, </xsl:text>\n    <xsl:value-of select=\"$purpose\"/>\n    <xsl:text>)</xsl:text>\n    <xsl:text>: [</xsl:text>\n    <xsl:value-of select=\"$template\"/>\n    <xsl:text>]</xsl:text>\n  </xsl:message>\n-->\n\n  <xsl:if test=\"$template = '' and $verbose != 0\">\n    <xsl:message>\n      <xsl:text>object.xref.markup: empty xref template</xsl:text>\n      <xsl:text> for linkend=\"</xsl:text>\n      <xsl:value-of select=\"@id|@xml:id\"/>\n      <xsl:text>\" and @xrefstyle=\"</xsl:text>\n      <xsl:value-of select=\"$xrefstyle\"/>\n      <xsl:text>\"</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n  <xsl:call-template name=\"substitute-markup\">\n    <xsl:with-param name=\"purpose\" select=\"$purpose\"/>\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"template\" select=\"$template\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"listitem\" mode=\"object.xref.markup\">\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"parent::orderedlist\">\n      <xsl:variable name=\"template\">\n        <xsl:apply-templates select=\".\" mode=\"object.xref.template\"/>\n      </xsl:variable>\n      <xsl:call-template name=\"substitute-markup\">\n        <xsl:with-param name=\"template\" select=\"$template\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"$verbose != 0\">\n      <xsl:message>\n        <xsl:text>Xref is only supported to listitems in an</xsl:text>\n        <xsl:text> orderedlist: </xsl:text>\n        <xsl:value-of select=\".//@id|.//@xml:id\"/>\n      </xsl:message>\n      <xsl:text>???</xsl:text>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"question\" mode=\"object.xref.markup\">\n  <xsl:param name=\"purpose\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"referrer\"/>\n\n  <xsl:variable name=\"deflabel\">\n    <xsl:choose>\n      <xsl:when test=\"ancestor-or-self::*[@defaultlabel]\">\n        <xsl:value-of select=\"(ancestor-or-self::*[@defaultlabel])[last()]\n                              /@defaultlabel\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$qanda.defaultlabel\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"template\">\n    <xsl:choose>\n      <!-- This avoids double Q: Q: in xref when defaultlabel=qanda -->\n      <xsl:when test=\"$deflabel = 'qanda' and not(label)\">%n</xsl:when>\n      <xsl:otherwise>\n        <xsl:apply-templates select=\".\" mode=\"object.xref.template\">\n          <xsl:with-param name=\"purpose\" select=\"$purpose\"/>\n          <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n          <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n        </xsl:apply-templates>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:call-template name=\"substitute-markup\">\n    <xsl:with-param name=\"purpose\" select=\"$purpose\"/>\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"template\" select=\"$template\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<!-- ============================================================ -->\n\n<xsl:template name=\"substitute-markup\">\n  <xsl:param name=\"template\" select=\"''\"/>\n  <xsl:param name=\"allow-anchors\" select=\"'0'\"/>\n  <xsl:param name=\"title\" select=\"''\"/>\n  <xsl:param name=\"subtitle\" select=\"''\"/>\n  <xsl:param name=\"docname\" select=\"''\"/>\n  <xsl:param name=\"label\" select=\"''\"/>\n  <xsl:param name=\"pagenumber\" select=\"''\"/>\n  <xsl:param name=\"purpose\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"verbose\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"contains($template, '%')\">\n      <xsl:value-of select=\"substring-before($template, '%')\"/>\n      <xsl:variable name=\"candidate\"\n             select=\"substring(substring-after($template, '%'), 1, 1)\"/>\n      <xsl:choose>\n        <xsl:when test=\"$candidate = 't'\">\n          <xsl:apply-templates select=\".\" mode=\"insert.title.markup\">\n            <xsl:with-param name=\"purpose\" select=\"$purpose\"/>\n            <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n            <xsl:with-param name=\"title\">\n              <xsl:choose>\n                <xsl:when test=\"$title != ''\">\n                  <xsl:copy-of select=\"$title\"/>\n                </xsl:when>\n                <xsl:when test=\"$purpose = 'xref'\">\n                  <xsl:apply-templates select=\".\" mode=\"titleabbrev.markup\">\n                    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n                    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n                  </xsl:apply-templates>\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:apply-templates select=\".\" mode=\"title.markup\">\n                    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n                    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n                  </xsl:apply-templates>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:with-param>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:when test=\"$candidate = 's'\">\n          <xsl:apply-templates select=\".\" mode=\"insert.subtitle.markup\">\n            <xsl:with-param name=\"purpose\" select=\"$purpose\"/>\n            <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n            <xsl:with-param name=\"subtitle\">\n              <xsl:choose>\n                <xsl:when test=\"$subtitle != ''\">\n                  <xsl:copy-of select=\"$subtitle\"/>\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:apply-templates select=\".\" mode=\"subtitle.markup\">\n                    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n                  </xsl:apply-templates>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:with-param>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:when test=\"$candidate = 'n'\">\n          <xsl:apply-templates select=\".\" mode=\"insert.label.markup\">\n            <xsl:with-param name=\"purpose\" select=\"$purpose\"/>\n            <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n            <xsl:with-param name=\"label\">\n              <xsl:choose>\n                <xsl:when test=\"$label != ''\">\n                  <xsl:copy-of select=\"$label\"/>\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:apply-templates select=\".\" mode=\"label.markup\"/>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:with-param>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:when test=\"$candidate = 'p'\">\n          <xsl:apply-templates select=\".\" mode=\"insert.pagenumber.markup\">\n            <xsl:with-param name=\"purpose\" select=\"$purpose\"/>\n            <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n            <xsl:with-param name=\"pagenumber\">\n              <xsl:choose>\n                <xsl:when test=\"$pagenumber != ''\">\n                  <xsl:copy-of select=\"$pagenumber\"/>\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:apply-templates select=\".\" mode=\"pagenumber.markup\"/>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:with-param>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:when test=\"$candidate = 'o'\">\n          <!-- olink target document title -->\n          <xsl:apply-templates select=\".\" mode=\"insert.olink.docname.markup\">\n            <xsl:with-param name=\"purpose\" select=\"$purpose\"/>\n            <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n            <xsl:with-param name=\"docname\">\n              <xsl:choose>\n                <xsl:when test=\"$docname != ''\">\n                  <xsl:copy-of select=\"$docname\"/>\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:apply-templates select=\".\" mode=\"olink.docname.markup\"/>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:with-param>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:when test=\"$candidate = 'd'\">\n          <xsl:apply-templates select=\".\" mode=\"insert.direction.markup\">\n            <xsl:with-param name=\"purpose\" select=\"$purpose\"/>\n            <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n            <xsl:with-param name=\"direction\">\n              <xsl:choose>\n                <xsl:when test=\"$referrer\">\n                  <xsl:variable name=\"referent-is-below\">\n                    <xsl:for-each select=\"preceding::xref\">\n                      <xsl:if test=\"generate-id(.) = generate-id($referrer)\">1</xsl:if>\n                    </xsl:for-each>\n                  </xsl:variable>\n                  <xsl:choose>\n                    <xsl:when test=\"$referent-is-below = ''\">\n                      <xsl:call-template name=\"gentext\">\n                        <xsl:with-param name=\"key\" select=\"'above'\"/>\n                      </xsl:call-template>\n                    </xsl:when>\n                    <xsl:otherwise>\n                      <xsl:call-template name=\"gentext\">\n                        <xsl:with-param name=\"key\" select=\"'below'\"/>\n                      </xsl:call-template>\n                    </xsl:otherwise>\n                  </xsl:choose>\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:message>Attempt to use %d in gentext with no referrer!</xsl:message>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:with-param>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:when test=\"$candidate = '%' \">\n          <xsl:text>%</xsl:text>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:text>%</xsl:text><xsl:value-of select=\"$candidate\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n      <!-- recurse with the rest of the template string -->\n      <xsl:variable name=\"rest\"\n            select=\"substring($template,\n            string-length(substring-before($template, '%'))+3)\"/>\n      <xsl:call-template name=\"substitute-markup\">\n        <xsl:with-param name=\"template\" select=\"$rest\"/>\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n        <xsl:with-param name=\"title\" select=\"$title\"/>\n        <xsl:with-param name=\"subtitle\" select=\"$subtitle\"/>\n        <xsl:with-param name=\"docname\" select=\"$docname\"/>\n        <xsl:with-param name=\"label\" select=\"$label\"/>\n        <xsl:with-param name=\"pagenumber\" select=\"$pagenumber\"/>\n        <xsl:with-param name=\"purpose\" select=\"$purpose\"/>\n        <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n        <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n        <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$template\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ============================================================ -->\n\n<xsl:template name=\"make.gentext.template\">\n  <xsl:param name=\"xrefstyle\" select=\"''\"/>\n  <xsl:param name=\"purpose\"/>\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"lang\">\n    <xsl:call-template name=\"l10n.language\"/>\n  </xsl:param>\n  <xsl:param name=\"target.elem\" select=\"local-name(.)\"/>\n\n  <!-- parse xrefstyle to get parts -->\n  <xsl:variable name=\"parts\"\n      select=\"substring-after(normalize-space($xrefstyle), 'select:')\"/>\n\n  <xsl:variable name=\"labeltype\">\n    <xsl:choose>\n      <xsl:when test=\"contains($parts, 'labelnumber')\">\n         <xsl:text>labelnumber</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"contains($parts, 'labelname')\">\n         <xsl:text>labelname</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"contains($parts, 'label')\">\n         <xsl:text>label</xsl:text>\n      </xsl:when>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"titletype\">\n    <xsl:choose>\n      <xsl:when test=\"contains($parts, 'quotedtitle')\">\n         <xsl:text>quotedtitle</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"contains($parts, 'title')\">\n         <xsl:text>title</xsl:text>\n      </xsl:when>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"pagetype\">\n    <xsl:choose>\n      <xsl:when test=\"$insert.olink.page.number = 'no' and\n                      local-name($referrer) = 'olink'\">\n        <!-- suppress page numbers -->\n      </xsl:when>\n      <xsl:when test=\"$insert.xref.page.number = 'no' and\n                      local-name($referrer) != 'olink'\">\n        <!-- suppress page numbers -->\n      </xsl:when>\n      <xsl:when test=\"contains($parts, 'nopage')\">\n         <xsl:text>nopage</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"contains($parts, 'pagenumber')\">\n         <xsl:text>pagenumber</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"contains($parts, 'pageabbrev')\">\n         <xsl:text>pageabbrev</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"contains($parts, 'Page')\">\n         <xsl:text>Page</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"contains($parts, 'page')\">\n         <xsl:text>page</xsl:text>\n      </xsl:when>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"docnametype\">\n    <xsl:choose>\n      <xsl:when test=\"($olink.doctitle = 0 or\n                       $olink.doctitle = 'no') and\n                      local-name($referrer) = 'olink'\">\n        <!-- suppress docname -->\n      </xsl:when>\n      <xsl:when test=\"contains($parts, 'nodocname')\">\n         <xsl:text>nodocname</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"contains($parts, 'docnamelong')\">\n         <xsl:text>docnamelong</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"contains($parts, 'docname')\">\n         <xsl:text>docname</xsl:text>\n      </xsl:when>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:if test=\"$labeltype != ''\">\n    <xsl:choose>\n      <xsl:when test=\"$labeltype = 'labelname'\">\n        <xsl:call-template name=\"gentext\">\n          <xsl:with-param name=\"key\">\n            <xsl:choose>\n              <xsl:when test=\"local-name($referrer) = 'olink'\">\n                <xsl:value-of select=\"$target.elem\"/>\n              </xsl:when>\n              <xsl:otherwise>\n                <xsl:value-of select=\"local-name(.)\"/>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:with-param>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:when test=\"$labeltype = 'labelnumber'\">\n        <xsl:text>%n</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"$labeltype = 'label'\">\n        <xsl:call-template name=\"gentext.template\">\n          <xsl:with-param name=\"context\" select=\"'xref-number'\"/>\n          <xsl:with-param name=\"name\">\n            <xsl:choose>\n              <xsl:when test=\"local-name($referrer) = 'olink'\">\n                <xsl:value-of select=\"$target.elem\"/>\n              </xsl:when>\n              <xsl:otherwise>\n                <xsl:call-template name=\"xpath.location\"/>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:with-param>\n          <xsl:with-param name=\"purpose\" select=\"$purpose\"/>\n          <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n          <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n        </xsl:call-template>\n      </xsl:when>\n    </xsl:choose>\n\n    <xsl:choose>\n      <xsl:when test=\"$titletype != ''\">\n        <xsl:value-of select=\"$xref.label-title.separator\"/>\n      </xsl:when>\n      <xsl:when test=\"$pagetype != '' and $pagetype != 'nopage'\">\n        <xsl:value-of select=\"$xref.label-page.separator\"/>\n      </xsl:when>\n    </xsl:choose>\n  </xsl:if>\n\n  <xsl:if test=\"$titletype != ''\">\n    <xsl:choose>\n      <xsl:when test=\"$titletype = 'title'\">\n        <xsl:text>%t</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"$titletype = 'quotedtitle'\">\n        <xsl:call-template name=\"gentext.dingbat\">\n          <xsl:with-param name=\"dingbat\" select=\"'startquote'\"/>\n        </xsl:call-template>\n        <xsl:text>%t</xsl:text>\n        <xsl:call-template name=\"gentext.dingbat\">\n          <xsl:with-param name=\"dingbat\" select=\"'endquote'\"/>\n        </xsl:call-template>\n      </xsl:when>\n    </xsl:choose>\n\n    <xsl:choose>\n      <xsl:when test=\"$pagetype != '' and $pagetype != 'nopage'\">\n        <xsl:value-of select=\"$xref.title-page.separator\"/>\n      </xsl:when>\n    </xsl:choose>\n  </xsl:if>\n  \n  <!-- special case: use regular xref template if just turning off page -->\n  <xsl:if test=\"($pagetype = 'nopage' or $docnametype = 'nodocname')\n                  and local-name($referrer) != 'olink'\n                  and $labeltype = '' \n                  and $titletype = ''\">\n    <xsl:apply-templates select=\".\" mode=\"object.xref.template\">\n      <xsl:with-param name=\"purpose\" select=\"$purpose\"/>\n      <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n      <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    </xsl:apply-templates>\n  </xsl:if>\n\n  <xsl:if test=\"$pagetype != ''\">\n    <xsl:choose>\n      <xsl:when test=\"$pagetype = 'page'\">\n        <xsl:call-template name=\"gentext.template\">\n          <xsl:with-param name=\"context\" select=\"'xref'\"/>\n          <xsl:with-param name=\"name\" select=\"'page'\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:when test=\"$pagetype = 'Page'\">\n        <xsl:call-template name=\"gentext.template\">\n          <xsl:with-param name=\"context\" select=\"'xref'\"/>\n          <xsl:with-param name=\"name\" select=\"'Page'\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:when test=\"$pagetype = 'pageabbrev'\">\n        <xsl:call-template name=\"gentext.template\">\n          <xsl:with-param name=\"context\" select=\"'xref'\"/>\n          <xsl:with-param name=\"name\" select=\"'pageabbrev'\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:when test=\"$pagetype = 'pagenumber'\">\n        <xsl:text>%p</xsl:text>\n      </xsl:when>\n    </xsl:choose>\n\n  </xsl:if>\n\n  <!-- Add reference to other document title -->\n  <xsl:if test=\"$docnametype != '' and local-name($referrer) = 'olink'\">\n    <!-- Any separator should be in the gentext template -->\n    <xsl:choose>\n      <xsl:when test=\"$docnametype = 'docnamelong'\">\n        <xsl:call-template name=\"gentext.template\">\n          <xsl:with-param name=\"context\" select=\"'xref'\"/>\n          <xsl:with-param name=\"name\" select=\"'docnamelong'\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:when test=\"$docnametype = 'docname'\">\n        <xsl:call-template name=\"gentext.template\">\n          <xsl:with-param name=\"context\" select=\"'xref'\"/>\n          <xsl:with-param name=\"name\" select=\"'docname'\"/>\n        </xsl:call-template>\n      </xsl:when>\n    </xsl:choose>\n\n  </xsl:if>\n  \n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/gl.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"gl\" english-language-name=\"Galician\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/gl.xml -->\n<!-- * -->\n<!-- * E-mail the edited gl.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Resumo\"/>\n<l:gentext key=\"abstract\" text=\"Resumo\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"R:\"/>\n<l:gentext key=\"answer\" text=\"R:\"/>\n<l:gentext key=\"Appendix\" text=\"Apêndice\"/>\n<l:gentext key=\"appendix\" text=\"Apêndice\"/>\n<l:gentext key=\"Article\" text=\"Artigo\"/>\n<l:gentext key=\"article\" text=\"Artigo\"/>\n<l:gentext key=\"Author\" text=\"Autor\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografía\"/>\n<l:gentext key=\"bibliography\" text=\"Bibliografía\"/>\n<l:gentext key=\"Book\" text=\"Libro\"/>\n<l:gentext key=\"book\" text=\"Libro\"/>\n<l:gentext key=\"CAUTION\" text=\"CUIDADO\"/>\n<l:gentext key=\"Caution\" text=\"Cuidado\"/>\n<l:gentext key=\"caution\" text=\"Cuidado\"/>\n<l:gentext key=\"Chapter\" text=\"Capítulo\"/>\n<l:gentext key=\"chapter\" text=\"capítulo\"/>\n<l:gentext key=\"Colophon\" text=\"Colofón\"/>\n<l:gentext key=\"colophon\" text=\"Colofón\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"Copyright\"/>\n<l:gentext key=\"Dedication\" text=\"Dedicatoria\"/>\n<l:gentext key=\"dedication\" text=\"Dedicatoria\"/>\n<l:gentext key=\"Edition\" text=\"Edición\"/>\n<l:gentext key=\"edition\" text=\"Edición\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Ecuación\"/>\n<l:gentext key=\"equation\" text=\"Ecuación\"/>\n<l:gentext key=\"Example\" text=\"Exemplo\"/>\n<l:gentext key=\"example\" text=\"Exemplo\"/>\n<l:gentext key=\"Figure\" text=\"Figura\"/>\n<l:gentext key=\"figure\" text=\"Figura\"/>\n<l:gentext key=\"Glossary\" text=\"Glosario\"/>\n<l:gentext key=\"glossary\" text=\"Glosario\"/>\n<l:gentext key=\"GlossSee\" text=\"Consulte\"/>\n<l:gentext key=\"glosssee\" text=\"Consulte\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Vexa Tamén\"/>\n<l:gentext key=\"glossseealso\" text=\"Vexa Tamén\"/>\n<l:gentext key=\"IMPORTANT\" text=\"IMPORTANTE\"/>\n<l:gentext key=\"important\" text=\"Importante\"/>\n<l:gentext key=\"Important\" text=\"Importante\"/>\n<l:gentext key=\"Index\" text=\"Índice\"/>\n<l:gentext key=\"index\" text=\"Índice\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Aviso Legal\"/>\n<l:gentext key=\"legalnotice\" text=\"Aviso Legal\"/>\n<l:gentext key=\"MsgAud\" text=\"Audiencia\"/>\n<l:gentext key=\"msgaud\" text=\"Audiencia\"/>\n<l:gentext key=\"MsgLevel\" text=\"Nível\"/>\n<l:gentext key=\"msglevel\" text=\"Nível\"/>\n<l:gentext key=\"MsgOrig\" text=\"Orixen\"/>\n<l:gentext key=\"msgorig\" text=\"Orixen\"/>\n<l:gentext key=\"NOTE\" text=\"NOTA\"/>\n<l:gentext key=\"Note\" text=\"Nota\"/>\n<l:gentext key=\"note\" text=\"Nota\"/>\n<l:gentext key=\"Part\" text=\"Parte\"/>\n<l:gentext key=\"part\" text=\"Parte\"/>\n<l:gentext key=\"Preface\" text=\"Prefacio\"/>\n<l:gentext key=\"preface\" text=\"Prefacio\"/>\n<l:gentext key=\"Procedure\" text=\"Procedimento\"/>\n<l:gentext key=\"procedure\" text=\"Procedimento\"/>\n<l:gentext key=\"ProductionSet\" text=\"Produción\"/>\n<l:gentext key=\"PubDate\" text=\"Data de Publicación\"/>\n<l:gentext key=\"pubdate\" text=\"Data de Publicación\"/>\n<l:gentext key=\"Published\" text=\"Publicado\"/>\n<l:gentext key=\"published\" text=\"Publicado\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"P &amp; R\"/>\n<l:gentext key=\"qandadiv\" text=\"P &amp; R\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"P:\"/>\n<l:gentext key=\"question\" text=\"P:\"/>\n<l:gentext key=\"RefEntry\" text=\"Entrada de Referencia\"/>\n<l:gentext key=\"refentry\" text=\"Entrada de Referencia\"/>\n<l:gentext key=\"Reference\" text=\"Referencia\"/>\n<l:gentext key=\"reference\" text=\"Referencia\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Nome\"/>\n<l:gentext key=\"refname\" text=\"Nome\"/>\n<l:gentext key=\"RefSection\" text=\"Sección\"/>\n<l:gentext key=\"refsection\" text=\"sección\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Sinopse\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Sinopse\"/>\n<l:gentext key=\"RevHistory\" text=\"Historial de Revisións\"/>\n<l:gentext key=\"revhistory\" text=\"Historial de Revisións\"/>\n<l:gentext key=\"revision\" text=\"Revisión\"/>\n<l:gentext key=\"Revision\" text=\"Revisión\"/>\n<l:gentext key=\"sect1\" text=\"Sección\"/>\n<l:gentext key=\"sect2\" text=\"Sección\"/>\n<l:gentext key=\"sect3\" text=\"Sección\"/>\n<l:gentext key=\"sect4\" text=\"Sección\"/>\n<l:gentext key=\"sect5\" text=\"Sección\"/>\n<l:gentext key=\"section\" text=\"sección\"/>\n<l:gentext key=\"Section\" text=\"Sección\"/>\n<l:gentext key=\"see\" text=\"vexa\"/>\n<l:gentext key=\"See\" text=\"Vexa\"/>\n<l:gentext key=\"seealso\" text=\"Consulte Tamén\"/>\n<l:gentext key=\"Seealso\" text=\"Consulte tamén\"/>\n<l:gentext key=\"SeeAlso\" text=\"Consulte Tamén\"/>\n<l:gentext key=\"set\" text=\"Conxunto\"/>\n<l:gentext key=\"Set\" text=\"Conxunto\"/>\n<l:gentext key=\"setindex\" text=\"Índice de Conxuntos\"/>\n<l:gentext key=\"SetIndex\" text=\"Índice de Conxuntos\"/>\n<l:gentext key=\"Sidebar\" text=\"Barra Lateral\"/>\n<l:gentext key=\"sidebar\" text=\"barra lateral\"/>\n<l:gentext key=\"step\" text=\"paso\"/>\n<l:gentext key=\"Step\" text=\"Paso\"/>\n<l:gentext key=\"table\" text=\"Táboa\"/>\n<l:gentext key=\"Table\" text=\"Táboa\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"Axuda\"/>\n<l:gentext key=\"TIP\" text=\"AXUDA\"/>\n<l:gentext key=\"Tip\" text=\"Axuda\"/>\n<l:gentext key=\"Warning\" text=\"Atención\"/>\n<l:gentext key=\"warning\" text=\"Atención\"/>\n<l:gentext key=\"WARNING\" text=\"ATENCIÓn\"/>\n<l:gentext key=\"and\" text=\"e\"/>\n<l:gentext key=\"or\" text=\"ou\"/>\n<l:gentext key=\"by\" text=\"por\"/>\n<l:gentext key=\"Edited\" text=\"Editado\"/>\n<l:gentext key=\"edited\" text=\"Editado\"/>\n<l:gentext key=\"Editedby\" text=\"Editado por\"/>\n<l:gentext key=\"editedby\" text=\"Editado por\"/>\n<l:gentext key=\"in\" text=\"en\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Notas\"/>\n<l:gentext key=\"Notes\" text=\"Notas\"/>\n<l:gentext key=\"Pgs\" text=\"Páxinas\"/>\n<l:gentext key=\"pgs\" text=\"Páxinas\"/>\n<l:gentext key=\"Revisedby\" text=\"Revisado por: \"/>\n<l:gentext key=\"revisedby\" text=\"Revisado por: \"/>\n<l:gentext key=\"TableNotes\" text=\"Notas\"/>\n<l:gentext key=\"tablenotes\" text=\"Notas\"/>\n<l:gentext key=\"TableofContents\" text=\"Índice\"/>\n<l:gentext key=\"tableofcontents\" text=\"Índice\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Nome de ítem inesperado\"/>\n<l:gentext key=\"unsupported\" text=\"non soportado\"/>\n<l:gentext key=\"xrefto\" text=\"referencia para\"/>\n<l:gentext key=\"Authors\" text=\"Autores\"/>\n<l:gentext key=\"copyeditor\" text=\"Editor de Cópia\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Deseñador Gráfico\"/>\n<l:gentext key=\"productioneditor\" text=\"Editor de Produción\"/>\n<l:gentext key=\"technicaleditor\" text=\"Editor Técnico\"/>\n<l:gentext key=\"translator\" text=\"Trandutor\"/>\n<l:gentext key=\"listofequations\" text=\"Lista de Ecuacións\"/>\n<l:gentext key=\"ListofEquations\" text=\"Lista de Ecuacións\"/>\n<l:gentext key=\"ListofExamples\" text=\"Lista de Exemplos\"/>\n<l:gentext key=\"listofexamples\" text=\"Lista de Exemplos\"/>\n<l:gentext key=\"ListofFigures\" text=\"Lista de Figuras\"/>\n<l:gentext key=\"listoffigures\" text=\"Lista de Figuras\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Lista de Procedimentos\"/>\n<l:gentext key=\"listofprocedures\" text=\"Lista de Procedimentos\"/>\n<l:gentext key=\"listoftables\" text=\"Lista de Táboas\"/>\n<l:gentext key=\"ListofTables\" text=\"Lista de Táboas\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Lista de Descoñecido\"/>\n<l:gentext key=\"listofunknown\" text=\"Lista de Descoñecido\"/>\n<l:gentext key=\"nav-home\" text=\"Inicio\"/>\n<l:gentext key=\"nav-next\" text=\"Próximo\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Próxima Parte\"/>\n<l:gentext key=\"nav-prev\" text=\"Anterior\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Parte Anterior\"/>\n<l:gentext key=\"nav-up\" text=\"Subir\"/>\n<l:gentext key=\"nav-toc\" text=\"Índice\"/>\n<l:gentext key=\"Draft\" text=\"Borrador\"/>\n<l:gentext key=\"above\" text=\"acima\"/>\n<l:gentext key=\"below\" text=\"abaixo\"/>\n<l:gentext key=\"sectioncalled\" text=\"a sección chamada\"/>\n<l:gentext key=\"index symbols\" text=\"Símbolos\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyzáéíóúñ\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚÑ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"« \"/>\n<l:dingbat key=\"endquote\" text=\" »\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"« \"/>\n<l:dingbat key=\"nestedendquote\" text=\" »\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‹\"/>\n<l:dingbat key=\"singleendquote\" text=\"›\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Apêndice %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Capítulo %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Ecuación %n. %t\"/>\n<l:template name=\"example\" text=\"Exemplo %n. %t\"/>\n<l:template name=\"figure\" text=\"Figura %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Parte %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Procedimento %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Produción %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Pergunta %n\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"TáboaTáboa %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Apêndice %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Capítulo %n. %t\"/>\n<l:template name=\"part\" text=\"Parte %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"R: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"P: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"P: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"« %t »\"/>\n<l:template name=\"refsection\" text=\"« %t »\"/>\n<l:template name=\"refsect1\" text=\"« %t »\"/>\n<l:template name=\"refsect2\" text=\"« %t »\"/>\n<l:template name=\"refsect3\" text=\"« %t »\"/>\n<l:template name=\"sect1\" text=\"« %t »\"/>\n<l:template name=\"sect2\" text=\"« %t »\"/>\n<l:template name=\"sect3\" text=\"« %t »\"/>\n<l:template name=\"sect4\" text=\"« %t »\"/>\n<l:template name=\"sect5\" text=\"« %t »\"/>\n<l:template name=\"section\" text=\"« %t »\"/>\n<l:template name=\"simplesect\" text=\"« %t »\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"R: %n\"/>\n<l:template name=\"appendix\" text=\"Apêndice %n\"/>\n<l:template name=\"bridgehead\" text=\"Sección %n\"/>\n<l:template name=\"chapter\" text=\"Capítulo %n\"/>\n<l:template name=\"equation\" text=\"Ecuación %n\"/>\n<l:template name=\"example\" text=\"Exemplo %n\"/>\n<l:template name=\"figure\" text=\"Figura %n\"/>\n<l:template name=\"part\" text=\"Parte %n\"/>\n<l:template name=\"procedure\" text=\"Procedimento %n\"/>\n<l:template name=\"productionset\" text=\"Produción %n\"/>\n<l:template name=\"qandadiv\" text=\"P &amp; R %n\"/>\n<l:template name=\"qandaentry\" text=\"P: %n\"/>\n<l:template name=\"question\" text=\"P: %n\"/>\n<l:template name=\"sect1\" text=\"Sección %n\"/>\n<l:template name=\"sect2\" text=\"Sección %n\"/>\n<l:template name=\"sect3\" text=\"Sección %n\"/>\n<l:template name=\"sect4\" text=\"Sección %n\"/>\n<l:template name=\"sect5\" text=\"Sección %n\"/>\n<l:template name=\"section\" text=\"Sección %n\"/>\n<l:template name=\"table\" text=\"Táboa %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Apêndice %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Sección %n, « %t »\"/>\n<l:template name=\"chapter\" text=\"Capítulo %n, %t\"/>\n<l:template name=\"equation\" text=\"Ecuación %n, « %t »\"/>\n<l:template name=\"example\" text=\"Exemplo %n, « %t »\"/>\n<l:template name=\"figure\" text=\"Figura %n, « %t »\"/>\n<l:template name=\"part\" text=\"Parte %n, « %t »\"/>\n<l:template name=\"procedure\" text=\"Procedimento %n, « %t »\"/>\n<l:template name=\"productionset\" text=\"Produción %n, « %t »\"/>\n<l:template name=\"qandadiv\" text=\"P &amp; R %n, « %t »\"/>\n<l:template name=\"refsect1\" text=\"a sección chamada « %t »\"/>\n<l:template name=\"refsect2\" text=\"a sección chamada « %t »\"/>\n<l:template name=\"refsect3\" text=\"a sección chamada « %t »\"/>\n<l:template name=\"refsection\" text=\"a sección chamada « %t »\"/>\n<l:template name=\"sect1\" text=\"Sección %n, « %t »\"/>\n<l:template name=\"sect2\" text=\"Sección %n, « %t »\"/>\n<l:template name=\"sect3\" text=\"Sección %n, « %t »\"/>\n<l:template name=\"sect4\" text=\"Sección %n, « %t »\"/>\n<l:template name=\"sect5\" text=\"Sección %n, « %t »\"/>\n<l:template name=\"section\" text=\"Sección %n, « %t »\"/>\n<l:template name=\"simplesect\" text=\"a sección chamada « %t »\"/>\n<l:template name=\"table\" text=\"Táboa %n, « %t »\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" e \"/>\n<l:template name=\"seplast\" text=\", e \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Consulte %t.\"/>\n<l:template name=\"seealso\" text=\"Vexa Tamén %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Audiencia: \"/>\n<l:template name=\"MsgLevel\" text=\"Nível: \"/>\n<l:template name=\"MsgOrig\" text=\"Orixen: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definición: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Xaneiro\"/>\n<l:template name=\"February\" text=\"Febreiro\"/>\n<l:template name=\"March\" text=\"Marzo\"/>\n<l:template name=\"April\" text=\"Abril\"/>\n<l:template name=\"May\" text=\"Maio\"/>\n<l:template name=\"June\" text=\"Xuño\"/>\n<l:template name=\"July\" text=\"Xullo\"/>\n<l:template name=\"August\" text=\"Agosto\"/>\n<l:template name=\"September\" text=\"Setembro\"/>\n<l:template name=\"October\" text=\"Outubro\"/>\n<l:template name=\"November\" text=\"Novembro\"/>\n<l:template name=\"December\" text=\"Decembro\"/>\n<l:template name=\"Monday\" text=\"Luns\"/>\n<l:template name=\"Tuesday\" text=\"Martes\"/>\n<l:template name=\"Wednesday\" text=\"Mércores\"/>\n<l:template name=\"Thursday\" text=\"Xoves\"/>\n<l:template name=\"Friday\" text=\"Venres\"/>\n<l:template name=\"Saturday\" text=\"Sábado\"/>\n<l:template name=\"Sunday\" text=\"Domingo\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Xan\"/>\n<l:template name=\"Feb\" text=\"Feb\"/>\n<l:template name=\"Mar\" text=\"Mar\"/>\n<l:template name=\"Apr\" text=\"Abr\"/>\n<l:template name=\"May\" text=\"Mai\"/>\n<l:template name=\"Jun\" text=\"Xuñ\"/>\n<l:template name=\"Jul\" text=\"Xul\"/>\n<l:template name=\"Aug\" text=\"Ago\"/>\n<l:template name=\"Sep\" text=\"Set\"/>\n<l:template name=\"Oct\" text=\"Out\"/>\n<l:template name=\"Nov\" text=\"Nov\"/>\n<l:template name=\"Dec\" text=\"Dec\"/>\n<l:template name=\"Mon\" text=\"Lun\"/>\n<l:template name=\"Tue\" text=\"Mar\"/>\n<l:template name=\"Wed\" text=\"Mer\"/>\n<l:template name=\"Thu\" text=\"Xov\"/>\n<l:template name=\"Fri\" text=\"Ven\"/>\n<l:template name=\"Sat\" text=\"Sab\"/>\n<l:template name=\"Sun\" text=\"Dom\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0456 Galician\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters lang=\"en\"><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/gu.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"gu\" english-language-name=\"Gujarati\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/gu.xml -->\n<!-- * -->\n<!-- * E-mail the edited gu.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"સાર\"/>\n<l:gentext key=\"abstract\" text=\"સાર\"/>\n<l:gentext key=\"Acknowledgements\" text=\"પ્રત્યુત્તર\"/>\n<l:gentext key=\"acknowledgements\" text=\"પ્રત્યુત્તર\"/>\n<l:gentext key=\"Answer\" text=\"જ:\"/>\n<l:gentext key=\"answer\" text=\"જ:\"/>\n<l:gentext key=\"Appendix\" text=\"પરિશિષ્ટ\"/>\n<l:gentext key=\"appendix\" text=\"પરિશિષ્ટ\"/>\n<l:gentext key=\"Article\" text=\"લેખ\"/>\n<l:gentext key=\"article\" text=\"લેખ\"/>\n<l:gentext key=\"Author\" text=\"લેખક\"/>\n<l:gentext key=\"Bibliography\" text=\"સંદર્ભગ્રંથ\"/>\n<l:gentext key=\"bibliography\" text=\"સંદર્ભગ્રંથ\"/>\n<l:gentext key=\"Book\" text=\"પુસ્તક\"/>\n<l:gentext key=\"book\" text=\"પુસ્તક\"/>\n<l:gentext key=\"CAUTION\" text=\"સાવધાન\"/>\n<l:gentext key=\"Caution\" text=\"સાવધાન\"/>\n<l:gentext key=\"caution\" text=\"સાવધાન\"/>\n<l:gentext key=\"Chapter\" text=\"પ્રકરણ\"/>\n<l:gentext key=\"chapter\" text=\"પ્રકરણ\"/>\n<l:gentext key=\"Colophon\" text=\"ગ્રંથપરિચય\"/>\n<l:gentext key=\"colophon\" text=\"ગ્રંથપરિચય\"/>\n<l:gentext key=\"Copyright\" text=\"કૉપિરાઇટ\"/>\n<l:gentext key=\"copyright\" text=\"કૉપિરાઇટ\"/>\n<l:gentext key=\"Dedication\" text=\"સમર્પણ\"/>\n<l:gentext key=\"dedication\" text=\"સમર્પણ\"/>\n<l:gentext key=\"Edition\" text=\"પ્રકાશન\"/>\n<l:gentext key=\"edition\" text=\"પ્રકાશન\"/>\n<l:gentext key=\"Editor\" text=\"સંપાદક\"/>\n<l:gentext key=\"Equation\" text=\"સમીકરણ\"/>\n<l:gentext key=\"equation\" text=\"સમીકરણ\"/>\n<l:gentext key=\"Example\" text=\"ઉદાહરણ\"/>\n<l:gentext key=\"example\" text=\"ઉદાહરણ\"/>\n<l:gentext key=\"Figure\" text=\"આકૃતિ\"/>\n<l:gentext key=\"figure\" text=\"આકૃતિ\"/>\n<l:gentext key=\"Glossary\" text=\"શબ્દાવલી\"/>\n<l:gentext key=\"glossary\" text=\"શબ્દાવલી\"/>\n<l:gentext key=\"GlossSee\" text=\"જુઓ\"/>\n<l:gentext key=\"glosssee\" text=\"જુઓ\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"આપણજુઓ\"/>\n<l:gentext key=\"glossseealso\" text=\"આપણજુઓ\"/>\n<l:gentext key=\"IMPORTANT\" text=\"મહત્વનું\"/>\n<l:gentext key=\"important\" text=\"મહત્વનું\"/>\n<l:gentext key=\"Important\" text=\"મહત્વનું\"/>\n<l:gentext key=\"Index\" text=\"અનુક્રમણિકા\"/>\n<l:gentext key=\"index\" text=\"અનુક્રમણિકા\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"માન્યસૂચન\"/>\n<l:gentext key=\"legalnotice\" text=\"માન્યસૂચન\"/>\n<l:gentext key=\"MsgAud\" text=\"શ્રોતા\"/>\n<l:gentext key=\"msgaud\" text=\"શ્રોતા\"/>\n<l:gentext key=\"MsgLevel\" text=\"સ્તર\"/>\n<l:gentext key=\"msglevel\" text=\"સ્તર\"/>\n<l:gentext key=\"MsgOrig\" text=\"મૂળ\"/>\n<l:gentext key=\"msgorig\" text=\"મૂળ\"/>\n<l:gentext key=\"NOTE\" text=\"નોંધ\"/>\n<l:gentext key=\"Note\" text=\"નોંધ\"/>\n<l:gentext key=\"note\" text=\"નોંધ\"/>\n<l:gentext key=\"Part\" text=\"ભાગ\"/>\n<l:gentext key=\"part\" text=\"ભાગ\"/>\n<l:gentext key=\"Preface\" text=\"પ્રસ્તાવના\"/>\n<l:gentext key=\"preface\" text=\"પ્રસ્તાવના\"/>\n<l:gentext key=\"Procedure\" text=\"પ્રક્રિયા\"/>\n<l:gentext key=\"procedure\" text=\"પ્રક્રિયા\"/>\n<l:gentext key=\"ProductionSet\" text=\"ઉત્પાદન\"/>\n<l:gentext key=\"PubDate\" text=\"પ્રકાશન તારીખ\"/>\n<l:gentext key=\"pubdate\" text=\"પ્રકાશન તારીખ\"/>\n<l:gentext key=\"Published\" text=\"પ્રકાશિત\"/>\n<l:gentext key=\"published\" text=\"પ્રકાશિત\"/>\n<l:gentext key=\"Publisher\" text=\"પ્રકાશક\"/>\n<l:gentext key=\"Qandadiv\" text=\"પ્ર. અને જ.\"/>\n<l:gentext key=\"qandadiv\" text=\"પ્ર. અને જ.\"/>\n<l:gentext key=\"QandASet\" text=\"વારંવાર પૂછવામાં આવતા પ્રશ્ર્નો\"/>\n<l:gentext key=\"Question\" text=\"જ:\"/>\n<l:gentext key=\"question\" text=\"જ:\"/>\n<l:gentext key=\"RefEntry\" text=\"પાનું\"/>\n<l:gentext key=\"refentry\" text=\"પાનું\"/>\n<l:gentext key=\"Reference\" text=\"સંદર્ભ\"/>\n<l:gentext key=\"reference\" text=\"સંદર્ભ\"/>\n<l:gentext key=\"References\" text=\"સંદર્ભો\"/>\n<l:gentext key=\"RefName\" text=\"નામ\"/>\n<l:gentext key=\"refname\" text=\"નામ\"/>\n<l:gentext key=\"RefSection\" text=\"વિભાગ\"/>\n<l:gentext key=\"refsection\" text=\"વિભાગ\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"સારાંશ\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"સારાંશ\"/>\n<l:gentext key=\"RevHistory\" text=\"પુનરાવર્તનઈતિહાસ\"/>\n<l:gentext key=\"revhistory\" text=\"પુનરાવર્તનઈતિહાસ\"/>\n<l:gentext key=\"revision\" text=\"પુનરાવર્તન\"/>\n<l:gentext key=\"Revision\" text=\"પુનરાવર્તન\"/>\n<l:gentext key=\"sect1\" text=\"વિભાગ\"/>\n<l:gentext key=\"sect2\" text=\"વિભાગ\"/>\n<l:gentext key=\"sect3\" text=\"વિભાગ\"/>\n<l:gentext key=\"sect4\" text=\"વિભાગ\"/>\n<l:gentext key=\"sect5\" text=\"વિભાગ\"/>\n<l:gentext key=\"section\" text=\"વિભાગ\"/>\n<l:gentext key=\"Section\" text=\"વિભાગ\"/>\n<l:gentext key=\"see\" text=\"જુઓ\"/>\n<l:gentext key=\"See\" text=\"જુઓ\"/>\n<l:gentext key=\"seealso\" text=\"આપણજુઓ\"/>\n<l:gentext key=\"Seealso\" text=\"આપણજુઓ\"/>\n<l:gentext key=\"SeeAlso\" text=\"આપણજુઓ\"/>\n<l:gentext key=\"set\" text=\"સુયોજિતકરો\"/>\n<l:gentext key=\"Set\" text=\"સુયોજિતકરો\"/>\n<l:gentext key=\"setindex\" text=\"અનુક્રમણિકાસુયોજિતકરો\"/>\n<l:gentext key=\"SetIndex\" text=\"અનુક્રમણિકાસુયોજિતકરો\"/>\n<l:gentext key=\"Sidebar\" text=\"બાજુપટ્ટી\"/>\n<l:gentext key=\"sidebar\" text=\"બાજુપટ્ટી\"/>\n<l:gentext key=\"step\" text=\"પગલું\"/>\n<l:gentext key=\"Step\" text=\"પગલું\"/>\n<l:gentext key=\"table\" text=\"કોષ્ટક\"/>\n<l:gentext key=\"Table\" text=\"કોષ્ટક\"/>\n<l:gentext key=\"task\" text=\"કાર્ય\"/>\n<l:gentext key=\"Task\" text=\"કાર્ય\"/>\n<l:gentext key=\"tip\" text=\"મદદ\"/>\n<l:gentext key=\"TIP\" text=\"મદદ\"/>\n<l:gentext key=\"Tip\" text=\"મદદ\"/>\n<l:gentext key=\"Warning\" text=\"ચેતવણી\"/>\n<l:gentext key=\"warning\" text=\"ચેતવણી\"/>\n<l:gentext key=\"WARNING\" text=\"ચેતવણી\"/>\n<l:gentext key=\"and\" text=\"અને\"/>\n<l:gentext key=\"or\" text=\"અથવા\"/>\n<l:gentext key=\"by\" text=\"દ્દારા\"/>\n<l:gentext key=\"Edited\" text=\"ફેરફારથયેલછે\"/>\n<l:gentext key=\"edited\" text=\"ફેરફારથયેલછે\"/>\n<l:gentext key=\"Editedby\" text=\"દ્વારાફેરફારથયેલછે\"/>\n<l:gentext key=\"editedby\" text=\"દ્વારાફેરફારથયેલછે\"/>\n<l:gentext key=\"in\" text=\"અંદર\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"નોંધો\"/>\n<l:gentext key=\"Notes\" text=\"નોંધો\"/>\n<l:gentext key=\"Pgs\" text=\"પાનાંઓ.\"/>\n<l:gentext key=\"pgs\" text=\"પાનાંઓ.\"/>\n<l:gentext key=\"Revisedby\" text=\"દ્વારાપુનરાવર્તનથયેલ: \"/>\n<l:gentext key=\"revisedby\" text=\"દ્વારાપુનરાવર્તનથયેલ: \"/>\n<l:gentext key=\"TableNotes\" text=\"નોંધો\"/>\n<l:gentext key=\"tablenotes\" text=\"નોંધો\"/>\n<l:gentext key=\"TableofContents\" text=\"વિષયસુચીકોષ્ટક\"/>\n<l:gentext key=\"tableofcontents\" text=\"વિષયસુચીકોષ્ટક\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"અનિચ્છનિયસભ્યનામ\"/>\n<l:gentext key=\"unsupported\" text=\"બિનઆધારભૂત\"/>\n<l:gentext key=\"xrefto\" text=\"\"/>\n<l:gentext key=\"Authors\" text=\"લેખકો\"/>\n<l:gentext key=\"copyeditor\" text=\"કૉપી સંપાદન\"/>\n<l:gentext key=\"graphicdesigner\" text=\"ગ્રાફિક રચિયતા\"/>\n<l:gentext key=\"productioneditor\" text=\"ઉત્પાદન સંપાદક\"/>\n<l:gentext key=\"technicaleditor\" text=\"તકનીકી સંપાદક\"/>\n<l:gentext key=\"translator\" text=\"અનુવાદક\"/>\n<l:gentext key=\"listofequations\" text=\"સમીકરણોનીયાદી\"/>\n<l:gentext key=\"ListofEquations\" text=\"સમીકરણોનીયાદી\"/>\n<l:gentext key=\"ListofExamples\" text=\"ઉદાહરણોનીયાદી\"/>\n<l:gentext key=\"listofexamples\" text=\"ઉદાહરણોનીયાદી\"/>\n<l:gentext key=\"ListofFigures\" text=\"આકૃતિઓનીયાદી\"/>\n<l:gentext key=\"listoffigures\" text=\"આકૃતિઓનીયાદી\"/>\n<l:gentext key=\"ListofProcedures\" text=\"પ્રક્રિયાઓનીયાદી\"/>\n<l:gentext key=\"listofprocedures\" text=\"પ્રક્રિયાઓનીયાદી\"/>\n<l:gentext key=\"listoftables\" text=\"કોષ્ટકોનીયાદી\"/>\n<l:gentext key=\"ListofTables\" text=\"કોષ્ટકોનીયાદી\"/>\n<l:gentext key=\"ListofUnknown\" text=\"અજાણોનીયાદી\"/>\n<l:gentext key=\"listofunknown\" text=\"અજાણોનીયાદી\"/>\n<l:gentext key=\"nav-home\" text=\"ઘર\"/>\n<l:gentext key=\"nav-next\" text=\"આગળવધો\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"ઝડપીઆગળધપાવો\"/>\n<l:gentext key=\"nav-prev\" text=\"પહેલાનું\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"ઝડપીપાછળધપાવો\"/>\n<l:gentext key=\"nav-up\" text=\"ઉપર\"/>\n<l:gentext key=\"nav-toc\" text=\"વિષયસુચીકોષ્ટક\"/>\n<l:gentext key=\"Draft\" text=\"ડ્રાફ્ટ\"/>\n<l:gentext key=\"above\" text=\"ઉપર\"/>\n<l:gentext key=\"below\" text=\"નીચે\"/>\n<l:gentext key=\"sectioncalled\" text=\"બોલાવાયેલવિભાગ\"/>\n<l:gentext key=\"index symbols\" text=\"સંકેતો\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"કખગઘચછજઝટઠડઢનણયરલવસશષહ\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"કખગઘચછજઝટઠડઢનણયરલવસશષહ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"પરિશિષ્ટ %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"પ્રકરણ %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"સમીકરણ %n. %t\"/>\n<l:template name=\"example\" text=\"ઉદાહરણ %n. %t\"/>\n<l:template name=\"figure\" text=\"આકૃતિ %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"ભાગ %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"પ્રક્રિયા %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"ઉત્પાદન %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"કોષ્ટક %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"પરિશિષ્ટ %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"પ્રકરણ %n. %t\"/>\n<l:template name=\"part\" text=\"ભાગ %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"જ: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"જ: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"જ: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"બોલાવાયેલવિભાગ “%t”\"/>\n<l:template name=\"refsection\" text=\"બોલાવાયેલવિભાગ “%t”\"/>\n<l:template name=\"refsect1\" text=\"બોલાવાયેલવિભાગ “%t”\"/>\n<l:template name=\"refsect2\" text=\"બોલાવાયેલવિભાગ “%t”\"/>\n<l:template name=\"refsect3\" text=\"બોલાવાયેલવિભાગ “%t”\"/>\n<l:template name=\"sect1\" text=\"બોલાવાયેલવિભાગ “%t”\"/>\n<l:template name=\"sect2\" text=\"બોલાવાયેલવિભાગ “%t”\"/>\n<l:template name=\"sect3\" text=\"બોલાવાયેલવિભાગ “%t”\"/>\n<l:template name=\"sect4\" text=\"બોલાવાયેલવિભાગ “%t”\"/>\n<l:template name=\"sect5\" text=\"બોલાવાયેલવિભાગ “%t”\"/>\n<l:template name=\"section\" text=\"બોલાવાયેલવિભાગ “%t”\"/>\n<l:template name=\"simplesect\" text=\"બોલાવાયેલવિભાગ “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"જ: %n\"/>\n<l:template name=\"appendix\" text=\"પરિશિષ્ટ %n\"/>\n<l:template name=\"bridgehead\" text=\"વિભાગ %n\"/>\n<l:template name=\"chapter\" text=\"પ્રકરણ %n\"/>\n<l:template name=\"equation\" text=\"સમીકરણ %n\"/>\n<l:template name=\"example\" text=\"ઉદાહરણ %n\"/>\n<l:template name=\"figure\" text=\"આકૃતિ %n\"/>\n<l:template name=\"part\" text=\"ભાગ %n\"/>\n<l:template name=\"procedure\" text=\"પ્રક્રિયા %n\"/>\n<l:template name=\"productionset\" text=\"ઉત્પાદન %n\"/>\n<l:template name=\"qandadiv\" text=\"પ્ર. અને જ. %n\"/>\n<l:template name=\"qandaentry\" text=\"જ: %n\"/>\n<l:template name=\"question\" text=\"જ: %n\"/>\n<l:template name=\"sect1\" text=\"વિભાગ %n\"/>\n<l:template name=\"sect2\" text=\"વિભાગ %n\"/>\n<l:template name=\"sect3\" text=\"વિભાગ %n\"/>\n<l:template name=\"sect4\" text=\"વિભાગ %n\"/>\n<l:template name=\"sect5\" text=\"વિભાગ %n\"/>\n<l:template name=\"section\" text=\"વિભાગ %n\"/>\n<l:template name=\"table\" text=\"કોષ્ટક %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"પરિશિષ્ટ %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"વિભાગ %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"પ્રકરણ %n, %t\"/>\n<l:template name=\"equation\" text=\"સમીકરણ %n, “%t”\"/>\n<l:template name=\"example\" text=\"ઉદાહરણ %n, “%t”\"/>\n<l:template name=\"figure\" text=\"આકૃતિ %n, “%t”\"/>\n<l:template name=\"part\" text=\"ભાગ %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"પ્રક્રિયા %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"ઉત્પાદન %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"પ્ર. અને જ. %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"બોલાવાયેલવિભાગ “%t”\"/>\n<l:template name=\"refsect2\" text=\"બોલાવાયેલવિભાગ “%t”\"/>\n<l:template name=\"refsect3\" text=\"બોલાવાયેલવિભાગ “%t”\"/>\n<l:template name=\"refsection\" text=\"બોલાવાયેલવિભાગ “%t”\"/>\n<l:template name=\"sect1\" text=\"વિભાગ %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"વિભાગ %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"વિભાગ %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"વિભાગ %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"વિભાગ %n, “%t”\"/>\n<l:template name=\"section\" text=\"વિભાગ %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"બોલાવાયેલવિભાગ “%t”\"/>\n<l:template name=\"table\" text=\"કોષ્ટક %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" અને \"/>\n<l:template name=\"seplast\" text=\", અને \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"જુઓ %t.\"/>\n<l:template name=\"seealso\" text=\"આપણજુઓ %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"શ્રોતા: \"/>\n<l:template name=\"MsgLevel\" text=\"સ્તર: \"/>\n<l:template name=\"MsgOrig\" text=\"મૂળ: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[વ્યાખ્યા: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"જાન્યુઆરી\"/>\n<l:template name=\"February\" text=\"ફેબ્રુઆરી\"/>\n<l:template name=\"March\" text=\"માર્ચ\"/>\n<l:template name=\"April\" text=\"એપ્રિલ\"/>\n<l:template name=\"May\" text=\"મે\"/>\n<l:template name=\"June\" text=\"જૂન\"/>\n<l:template name=\"July\" text=\"જુલાઇ\"/>\n<l:template name=\"August\" text=\"ઑગસ્ટ\"/>\n<l:template name=\"September\" text=\"સપ્ટેમ્બર\"/>\n<l:template name=\"October\" text=\"ઑક્ટોબર\"/>\n<l:template name=\"November\" text=\"નવેમ્બર\"/>\n<l:template name=\"December\" text=\"ડિસેમ્બર\"/>\n<l:template name=\"Monday\" text=\"સોમવાર\"/>\n<l:template name=\"Tuesday\" text=\"મંગળવાર\"/>\n<l:template name=\"Wednesday\" text=\"બુધવાર\"/>\n<l:template name=\"Thursday\" text=\"ગુરુવાર\"/>\n<l:template name=\"Friday\" text=\"શુક્રવાર\"/>\n<l:template name=\"Saturday\" text=\"શનિવાર\"/>\n<l:template name=\"Sunday\" text=\"રવિવાર\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"જાન\"/>\n<l:template name=\"Feb\" text=\"ફેબ\"/>\n<l:template name=\"Mar\" text=\"માર્ચ\"/>\n<l:template name=\"Apr\" text=\"એપ્ર\"/>\n<l:template name=\"May\" text=\"મે\"/>\n<l:template name=\"Jun\" text=\"જૂન\"/>\n<l:template name=\"Jul\" text=\"જુલા\"/>\n<l:template name=\"Aug\" text=\"ઑગ\"/>\n<l:template name=\"Sep\" text=\"સપ્ટે\"/>\n<l:template name=\"Oct\" text=\"ઑક્ટો\"/>\n<l:template name=\"Nov\" text=\"નવે\"/>\n<l:template name=\"Dec\" text=\"ડિસ\"/>\n<l:template name=\"Mon\" text=\"સોમ\"/>\n<l:template name=\"Tue\" text=\"મંગળ\"/>\n<l:template name=\"Wed\" text=\"બુધ\"/>\n<l:template name=\"Thu\" text=\"ગુરુ\"/>\n<l:template name=\"Fri\" text=\"શુક્ર\"/>\n<l:template name=\"Sat\" text=\"શનિ\"/>\n<l:template name=\"Sun\" text=\"રવિ\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0447 Gujarati\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">સંકેતો</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/he.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"he\" english-language-name=\"Hebrew\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/he.xml -->\n<!-- * -->\n<!-- * E-mail the edited he.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"סיכום\"/>\n<l:gentext key=\"abstract\" text=\"סיכום\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"ת:\"/>\n<l:gentext key=\"answer\" text=\"ת:\"/>\n<l:gentext key=\"Appendix\" text=\"נספח\"/>\n<l:gentext key=\"appendix\" text=\"נספח\"/>\n<l:gentext key=\"Article\" text=\"מאמר\"/>\n<l:gentext key=\"article\" text=\"מאמר\"/>\n<l:gentext key=\"Author\" text=\"Author\" lang=\"en\"/>\n<l:gentext key=\"Bibliography\" text=\"ביבליוגרפיה\"/>\n<l:gentext key=\"bibliography\" text=\"ביבליוגרפיה\"/>\n<l:gentext key=\"Book\" text=\"ספר\"/>\n<l:gentext key=\"book\" text=\"ספר\"/>\n<l:gentext key=\"CAUTION\" text=\"אזהרה\"/>\n<l:gentext key=\"Caution\" text=\"אזהרה\"/>\n<l:gentext key=\"caution\" text=\"אזהרה\"/>\n<l:gentext key=\"Chapter\" text=\"פרק\"/>\n<l:gentext key=\"chapter\" text=\"פרק\"/>\n<l:gentext key=\"Colophon\" text=\"קולופון\"/>\n<l:gentext key=\"colophon\" text=\"קולופון\"/>\n<l:gentext key=\"Copyright\" text=\"זכויות יוצרים\"/>\n<l:gentext key=\"copyright\" text=\"זכויות יוצרים\"/>\n<l:gentext key=\"Dedication\" text=\"הקדשה\"/>\n<l:gentext key=\"dedication\" text=\"הקדשה\"/>\n<l:gentext key=\"Edition\" text=\"מהדורה\"/>\n<l:gentext key=\"edition\" text=\"מהדורה\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"משוואה\"/>\n<l:gentext key=\"equation\" text=\"משוואה\"/>\n<l:gentext key=\"Example\" text=\"דוגמה\"/>\n<l:gentext key=\"example\" text=\"דוגמה\"/>\n<l:gentext key=\"Figure\" text=\"איור\"/>\n<l:gentext key=\"figure\" text=\"איור\"/>\n<l:gentext key=\"Glossary\" text=\"מילון מונחים\"/>\n<l:gentext key=\"glossary\" text=\"מילון מונחים\"/>\n<l:gentext key=\"GlossSee\" text=\"ראה\"/>\n<l:gentext key=\"glosssee\" text=\"ראה\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"ראה גם\"/>\n<l:gentext key=\"glossseealso\" text=\"ראה גם\"/>\n<l:gentext key=\"IMPORTANT\" text=\"חשוב\"/>\n<l:gentext key=\"important\" text=\"חשוב\"/>\n<l:gentext key=\"Important\" text=\"חשוב\"/>\n<l:gentext key=\"Index\" text=\"אינדקס\"/>\n<l:gentext key=\"index\" text=\"אינדקס\"/>\n<l:gentext key=\"ISBN\" text=\"מספר ספר סטנדרטי בינלאומי\"/>\n<l:gentext key=\"isbn\" text=\"מספר ספר סטנדרטי בינלאומי\"/>\n<l:gentext key=\"LegalNotice\" text=\"הודעה משפטית\"/>\n<l:gentext key=\"legalnotice\" text=\"הודעה משפטית\"/>\n<l:gentext key=\"MsgAud\" text=\"קהל יעד\"/>\n<l:gentext key=\"msgaud\" text=\"קהל יעד\"/>\n<l:gentext key=\"MsgLevel\" text=\"רמה\"/>\n<l:gentext key=\"msglevel\" text=\"רמה\"/>\n<l:gentext key=\"MsgOrig\" text=\"מקור\"/>\n<l:gentext key=\"msgorig\" text=\"מקור\"/>\n<l:gentext key=\"NOTE\" text=\"שים לב\"/>\n<l:gentext key=\"Note\" text=\"שים לב\"/>\n<l:gentext key=\"note\" text=\"שים לב\"/>\n<l:gentext key=\"Part\" text=\"חלק\"/>\n<l:gentext key=\"part\" text=\"חלק\"/>\n<l:gentext key=\"Preface\" text=\"מבוא\"/>\n<l:gentext key=\"preface\" text=\"מבוא\"/>\n<l:gentext key=\"Procedure\" text=\"הליך\"/>\n<l:gentext key=\"procedure\" text=\"הליך\"/>\n<l:gentext key=\"ProductionSet\" text=\"ייצור\"/>\n<l:gentext key=\"PubDate\" text=\"Publication Date\" lang=\"en\"/>\n<l:gentext key=\"pubdate\" text=\"Publication date\" lang=\"en\"/>\n<l:gentext key=\"Published\" text=\"הוצא לאור\"/>\n<l:gentext key=\"published\" text=\"הוצא לאור\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"ת ו ש\"/>\n<l:gentext key=\"qandadiv\" text=\"ת ו ש\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"ש:\"/>\n<l:gentext key=\"question\" text=\"ש:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"מראה מקום\"/>\n<l:gentext key=\"reference\" text=\"מראה מקום\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"שם\"/>\n<l:gentext key=\"refname\" text=\"שם\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"תמצית\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"תמצית\"/>\n<l:gentext key=\"RevHistory\" text=\"היסטוריית גירסאות\"/>\n<l:gentext key=\"revhistory\" text=\"היסטוריית גירסאות\"/>\n<l:gentext key=\"revision\" text=\"גירסה\"/>\n<l:gentext key=\"Revision\" text=\"גירסה\"/>\n<l:gentext key=\"sect1\" text=\"סעיף\"/>\n<l:gentext key=\"sect2\" text=\"סעיף\"/>\n<l:gentext key=\"sect3\" text=\"סעיף\"/>\n<l:gentext key=\"sect4\" text=\"סעיף\"/>\n<l:gentext key=\"sect5\" text=\"סעיף\"/>\n<l:gentext key=\"section\" text=\"סעיף\"/>\n<l:gentext key=\"Section\" text=\"סעיף\"/>\n<l:gentext key=\"see\" text=\"ראה\"/>\n<l:gentext key=\"See\" text=\"ראה\"/>\n<l:gentext key=\"seealso\" text=\"ראה גם\"/>\n<l:gentext key=\"Seealso\" text=\"ראה גם\"/>\n<l:gentext key=\"SeeAlso\" text=\"ראה גם\"/>\n<l:gentext key=\"set\" text=\"סידרה\"/>\n<l:gentext key=\"Set\" text=\"סידרה\"/>\n<l:gentext key=\"setindex\" text=\"אינקדקס סדרות\"/>\n<l:gentext key=\"SetIndex\" text=\"אינדקס סדרות\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"פס צדדי\"/>\n<l:gentext key=\"step\" text=\"צעד\"/>\n<l:gentext key=\"Step\" text=\"צעד\"/>\n<l:gentext key=\"table\" text=\"טבלה\"/>\n<l:gentext key=\"Table\" text=\"טבלה\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"עצה\"/>\n<l:gentext key=\"TIP\" text=\"עצה\"/>\n<l:gentext key=\"Tip\" text=\"עצה\"/>\n<l:gentext key=\"Warning\" text=\"אזהרה\"/>\n<l:gentext key=\"warning\" text=\"אזהרה\"/>\n<l:gentext key=\"WARNING\" text=\"אזהרה\"/>\n<l:gentext key=\"and\" text=\"ו\"/>\n<l:gentext key=\"or\" text=\"או\"/>\n<l:gentext key=\"by\" text=\"מאת\"/>\n<l:gentext key=\"Edited\" text=\"נערך\"/>\n<l:gentext key=\"edited\" text=\"נערך\"/>\n<l:gentext key=\"Editedby\" text=\"נערך על ידי\"/>\n<l:gentext key=\"editedby\" text=\"נערך על ידי\"/>\n<l:gentext key=\"in\" text=\"ב\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"הערות\"/>\n<l:gentext key=\"Notes\" text=\"הערות\"/>\n<l:gentext key=\"Pgs\" text=\"עמודים\"/>\n<l:gentext key=\"pgs\" text=\"עמודים\"/>\n<l:gentext key=\"Revisedby\" text=\"הוגה על ידי: \"/>\n<l:gentext key=\"revisedby\" text=\"הוגה על ידי: \"/>\n<l:gentext key=\"TableNotes\" text=\"הערות\"/>\n<l:gentext key=\"tablenotes\" text=\"הערות\"/>\n<l:gentext key=\"TableofContents\" text=\"תוכן העניינים\"/>\n<l:gentext key=\"tableofcontents\" text=\"תוכן העניינים\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"שם מרכיב בלתי צפוי\"/>\n<l:gentext key=\"unsupported\" text=\"לא נתמך\"/>\n<l:gentext key=\"xrefto\" text=\"התייחסות צולבת אל\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"רשימת משוואות\"/>\n<l:gentext key=\"ListofEquations\" text=\"רשימת משוואות\"/>\n<l:gentext key=\"ListofExamples\" text=\"רשימת דוגמאות\"/>\n<l:gentext key=\"listofexamples\" text=\"רשימת דוגמאות\"/>\n<l:gentext key=\"ListofFigures\" text=\"רשימת איורים\"/>\n<l:gentext key=\"listoffigures\" text=\"רשימת איורים\"/>\n<l:gentext key=\"ListofProcedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listofprocedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listoftables\" text=\"רשימת טבלאות\"/>\n<l:gentext key=\"ListofTables\" text=\"רשימת טבלאות\"/>\n<l:gentext key=\"ListofUnknown\" text=\"רשימה של מרכיבים לא ידועים\"/>\n<l:gentext key=\"listofunknown\" text=\"רשימה של מרכיבים לא ידועים\"/>\n<l:gentext key=\"nav-home\" text=\"ראשי\"/>\n<l:gentext key=\"nav-next\" text=\"הבא\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"דלג לסוף\"/>\n<l:gentext key=\"nav-prev\" text=\"הקודם\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"חזור להתחלה\"/>\n<l:gentext key=\"nav-up\" text=\"למעלה\"/>\n<l:gentext key=\"nav-toc\" text=\"ToC\" lang=\"en\"/>\n<l:gentext key=\"Draft\" text=\"טיוטה\"/>\n<l:gentext key=\"above\" text=\"למעלה\"/>\n<l:gentext key=\"below\" text=\"למטה\"/>\n<l:gentext key=\"sectioncalled\" text=\"הסעיף שנקרא\"/>\n<l:gentext key=\"index symbols\" text=\"סמלים\"/>\n<l:gentext key=\"writing-mode\" text=\"rl-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"נספח %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"פרק %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"משוואה %n. %t\"/>\n<l:template name=\"example\" text=\"דוגמה %n. %t\"/>\n<l:template name=\"figure\" text=\"איור %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"חלק %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"הליך %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"ייצור %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"טבלה %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"נספח %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"פרק %n. %t\"/>\n<l:template name=\"part\" text=\"חלק %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"ת: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"ש: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"ש: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"הסעיף שנקרא “%t”\"/>\n<l:template name=\"refsection\" text=\"הסעיף שנקרא “%t”\"/>\n<l:template name=\"refsect1\" text=\"הסעיף שנקרא “%t”\"/>\n<l:template name=\"refsect2\" text=\"הסעיף שנקרא “%t”\"/>\n<l:template name=\"refsect3\" text=\"הסעיף שנקרא “%t”\"/>\n<l:template name=\"sect1\" text=\"הסעיף שנקרא “%t”\"/>\n<l:template name=\"sect2\" text=\"הסעיף שנקרא “%t”\"/>\n<l:template name=\"sect3\" text=\"הסעיף שנקרא “%t”\"/>\n<l:template name=\"sect4\" text=\"הסעיף שנקרא “%t”\"/>\n<l:template name=\"sect5\" text=\"הסעיף שנקרא “%t”\"/>\n<l:template name=\"section\" text=\"הסעיף שנקרא “%t”\"/>\n<l:template name=\"simplesect\" text=\"הסעיף שנקרא “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"ת: %n\"/>\n<l:template name=\"appendix\" text=\"נספח %n\"/>\n<l:template name=\"bridgehead\" text=\"סעיף %n\"/>\n<l:template name=\"chapter\" text=\"פרק %n\"/>\n<l:template name=\"equation\" text=\"משוואה %n\"/>\n<l:template name=\"example\" text=\"דוגמה %n\"/>\n<l:template name=\"figure\" text=\"איור %n\"/>\n<l:template name=\"part\" text=\"חלק %n\"/>\n<l:template name=\"procedure\" text=\"הליך %n\"/>\n<l:template name=\"productionset\" text=\"ייצור %n\"/>\n<l:template name=\"qandadiv\" text=\"ת ו ש %n\"/>\n<l:template name=\"qandaentry\" text=\"ש: %n\"/>\n<l:template name=\"question\" text=\"ש: %n\"/>\n<l:template name=\"sect1\" text=\"סעיף %n\"/>\n<l:template name=\"sect2\" text=\"סעיף %n\"/>\n<l:template name=\"sect3\" text=\"סעיף %n\"/>\n<l:template name=\"sect4\" text=\"סעיף %n\"/>\n<l:template name=\"sect5\" text=\"סעיף %n\"/>\n<l:template name=\"section\" text=\"סעיף %n\"/>\n<l:template name=\"table\" text=\"טבלה %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"נספח %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"סעיף %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"פרק %n, %t\"/>\n<l:template name=\"equation\" text=\"משוואה %n, “%t”\"/>\n<l:template name=\"example\" text=\"דוגמה %n, “%t”\"/>\n<l:template name=\"figure\" text=\"איור %n, “%t”\"/>\n<l:template name=\"part\" text=\"חלק %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"הליך %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"ייצור %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"ת ו ש %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"הסעיף שנקרא “%t”\"/>\n<l:template name=\"refsect2\" text=\"הסעיף שנקרא “%t”\"/>\n<l:template name=\"refsect3\" text=\"הסעיף שנקרא “%t”\"/>\n<l:template name=\"refsection\" text=\"הסעיף שנקרא “%t”\"/>\n<l:template name=\"sect1\" text=\"סעיף %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"סעיף %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"סעיף %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"סעיף %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"סעיף %n, “%t”\"/>\n<l:template name=\"section\" text=\"סעיף %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"הסעיף שנקרא “%t”\"/>\n<l:template name=\"table\" text=\"טבלה %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" ו \"/>\n<l:template name=\"seplast\" text=\", ו \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"ראה %t.\"/>\n<l:template name=\"seealso\" text=\"ראה גם %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"קהל יעד: \"/>\n<l:template name=\"MsgLevel\" text=\"רמה: \"/>\n<l:template name=\"MsgOrig\" text=\"מקור: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\" lang=\"en\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"January\" lang=\"en\"/>\n<l:template name=\"February\" text=\"February\" lang=\"en\"/>\n<l:template name=\"March\" text=\"March\" lang=\"en\"/>\n<l:template name=\"April\" text=\"April\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"June\" text=\"June\" lang=\"en\"/>\n<l:template name=\"July\" text=\"July\" lang=\"en\"/>\n<l:template name=\"August\" text=\"August\" lang=\"en\"/>\n<l:template name=\"September\" text=\"September\" lang=\"en\"/>\n<l:template name=\"October\" text=\"October\" lang=\"en\"/>\n<l:template name=\"November\" text=\"November\" lang=\"en\"/>\n<l:template name=\"December\" text=\"December\" lang=\"en\"/>\n<l:template name=\"Monday\" text=\"Monday\" lang=\"en\"/>\n<l:template name=\"Tuesday\" text=\"Tuesday\" lang=\"en\"/>\n<l:template name=\"Wednesday\" text=\"Wednesday\" lang=\"en\"/>\n<l:template name=\"Thursday\" text=\"Thursday\" lang=\"en\"/>\n<l:template name=\"Friday\" text=\"Friday\" lang=\"en\"/>\n<l:template name=\"Saturday\" text=\"Saturday\" lang=\"en\"/>\n<l:template name=\"Sunday\" text=\"Sunday\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\" lang=\"en\"/>\n<l:template name=\"Feb\" text=\"Feb\" lang=\"en\"/>\n<l:template name=\"Mar\" text=\"Mar\" lang=\"en\"/>\n<l:template name=\"Apr\" text=\"Apr\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"Jun\" text=\"Jun\" lang=\"en\"/>\n<l:template name=\"Jul\" text=\"Jul\" lang=\"en\"/>\n<l:template name=\"Aug\" text=\"Aug\" lang=\"en\"/>\n<l:template name=\"Sep\" text=\"Sep\" lang=\"en\"/>\n<l:template name=\"Oct\" text=\"Oct\" lang=\"en\"/>\n<l:template name=\"Nov\" text=\"Nov\" lang=\"en\"/>\n<l:template name=\"Dec\" text=\"Dec\" lang=\"en\"/>\n<l:template name=\"Mon\" text=\"Mon\" lang=\"en\"/>\n<l:template name=\"Tue\" text=\"Tue\" lang=\"en\"/>\n<l:template name=\"Wed\" text=\"Wed\" lang=\"en\"/>\n<l:template name=\"Thu\" text=\"Thu\" lang=\"en\"/>\n<l:template name=\"Fri\" text=\"Fri\" lang=\"en\"/>\n<l:template name=\"Sat\" text=\"Sat\" lang=\"en\"/>\n<l:template name=\"Sun\" text=\"Sun\" lang=\"en\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x040d Hebrew (ISRAEL)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters lang=\"en\"><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/hi.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"hi\" english-language-name=\"Hindi\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/hi.xml -->\n<!-- * -->\n<!-- * E-mail the edited hi.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"सार\"/>\n<l:gentext key=\"abstract\" text=\"सार\"/>\n<l:gentext key=\"Acknowledgements\" text=\"ज्ञापन\"/>\n<l:gentext key=\"acknowledgements\" text=\"ज्ञापन\"/>\n<l:gentext key=\"Answer\" text=\"उ:\"/>\n<l:gentext key=\"answer\" text=\"उ:\"/>\n<l:gentext key=\"Appendix\" text=\"परिशिष्ट\"/>\n<l:gentext key=\"appendix\" text=\"परिशिष्ट\"/>\n<l:gentext key=\"Article\" text=\"आलेख\"/>\n<l:gentext key=\"article\" text=\"आलेख\"/>\n<l:gentext key=\"Author\" text=\"लेखक\"/>\n<l:gentext key=\"Bibliography\" text=\"ग्रंथ-सूची\"/>\n<l:gentext key=\"bibliography\" text=\"ग्रंथ-सूची\"/>\n<l:gentext key=\"Book\" text=\"पुस्तक\"/>\n<l:gentext key=\"book\" text=\"पुस्तक\"/>\n<l:gentext key=\"CAUTION\" text=\"सावधानी\"/>\n<l:gentext key=\"Caution\" text=\"सावधानी\"/>\n<l:gentext key=\"caution\" text=\"सावधानी\"/>\n<l:gentext key=\"Chapter\" text=\"अध्याय\"/>\n<l:gentext key=\"chapter\" text=\"अध्याय\"/>\n<l:gentext key=\"Colophon\" text=\"पुस्तक परिचय\"/>\n<l:gentext key=\"colophon\" text=\"पुस्तक परिचय\"/>\n<l:gentext key=\"Copyright\" text=\"कॉपीराइट\"/>\n<l:gentext key=\"copyright\" text=\"कॉपीराइट\"/>\n<l:gentext key=\"Dedication\" text=\"समर्पण\"/>\n<l:gentext key=\"dedication\" text=\"समर्पण\"/>\n<l:gentext key=\"Edition\" text=\"संस्करण\"/>\n<l:gentext key=\"edition\" text=\"संस्करण\"/>\n<l:gentext key=\"Editor\" text=\"संपादक\"/>\n<l:gentext key=\"Equation\" text=\"समीकरण\"/>\n<l:gentext key=\"equation\" text=\"समीकरण\"/>\n<l:gentext key=\"Example\" text=\"उदाहरण\"/>\n<l:gentext key=\"example\" text=\"उदाहरण\"/>\n<l:gentext key=\"Figure\" text=\"चित्र\"/>\n<l:gentext key=\"figure\" text=\"चित्र\"/>\n<l:gentext key=\"Glossary\" text=\"शब्दकोश\"/>\n<l:gentext key=\"glossary\" text=\"शब्दकोश\"/>\n<l:gentext key=\"GlossSee\" text=\"देखें\"/>\n<l:gentext key=\"glosssee\" text=\"देखें\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"इसे भी देखें\"/>\n<l:gentext key=\"glossseealso\" text=\"इसे भी देखें\"/>\n<l:gentext key=\"IMPORTANT\" text=\"महत्वपूर्ण\"/>\n<l:gentext key=\"important\" text=\"महत्वपूर्ण\"/>\n<l:gentext key=\"Important\" text=\"महत्वपूर्ण\"/>\n<l:gentext key=\"Index\" text=\"सूची\"/>\n<l:gentext key=\"index\" text=\"सूची\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"वैधानिक सूचना\"/>\n<l:gentext key=\"legalnotice\" text=\"वैधानिक सूचना\"/>\n<l:gentext key=\"MsgAud\" text=\"श्रोता\"/>\n<l:gentext key=\"msgaud\" text=\"श्रोता\"/>\n<l:gentext key=\"MsgLevel\" text=\"स्तर\"/>\n<l:gentext key=\"msglevel\" text=\"स्तर\"/>\n<l:gentext key=\"MsgOrig\" text=\"मूल\"/>\n<l:gentext key=\"msgorig\" text=\"मूल\"/>\n<l:gentext key=\"NOTE\" text=\"नोट\"/>\n<l:gentext key=\"Note\" text=\"नोट\"/>\n<l:gentext key=\"note\" text=\"नोट\"/>\n<l:gentext key=\"Part\" text=\"हिस्सा\"/>\n<l:gentext key=\"part\" text=\"हिस्सा\"/>\n<l:gentext key=\"Preface\" text=\"प्रस्तावना\"/>\n<l:gentext key=\"preface\" text=\"प्रस्तावना\"/>\n<l:gentext key=\"Procedure\" text=\"प्रक्रिया\"/>\n<l:gentext key=\"procedure\" text=\"प्रक्रिया\"/>\n<l:gentext key=\"ProductionSet\" text=\"उत्पादन\"/>\n<l:gentext key=\"PubDate\" text=\"प्रकाशन तिथि\"/>\n<l:gentext key=\"pubdate\" text=\"प्रकाशन तिथि\"/>\n<l:gentext key=\"Published\" text=\"प्रकाशित\"/>\n<l:gentext key=\"published\" text=\"प्रकाशित\"/>\n<l:gentext key=\"Publisher\" text=\"प्रकाशक\"/>\n<l:gentext key=\"Qandadiv\" text=\"प्र. व उ.\"/>\n<l:gentext key=\"qandadiv\" text=\"प्र. व उ.\"/>\n<l:gentext key=\"QandASet\" text=\"बारंबार पूछे जाने वाले प्रश्न\"/>\n<l:gentext key=\"Question\" text=\"प्र:\"/>\n<l:gentext key=\"question\" text=\"प्र:\"/>\n<l:gentext key=\"RefEntry\" text=\"पृष्ठ\"/>\n<l:gentext key=\"refentry\" text=\"पृष्ठ\"/>\n<l:gentext key=\"Reference\" text=\"संदर्भ\"/>\n<l:gentext key=\"reference\" text=\"संदर्भ\"/>\n<l:gentext key=\"References\" text=\"संदर्भ\"/>\n<l:gentext key=\"RefName\" text=\"नाम\"/>\n<l:gentext key=\"refname\" text=\"नाम\"/>\n<l:gentext key=\"RefSection\" text=\"खंड\"/>\n<l:gentext key=\"refsection\" text=\"खंड\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"सारांश\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"सारांश\"/>\n<l:gentext key=\"RevHistory\" text=\"पुनरीक्षण इतिहास\"/>\n<l:gentext key=\"revhistory\" text=\"पुनरीक्षण इतिहास\"/>\n<l:gentext key=\"revision\" text=\"पुनरीक्षण\"/>\n<l:gentext key=\"Revision\" text=\"पुनरीक्षण\"/>\n<l:gentext key=\"sect1\" text=\"खंड\"/>\n<l:gentext key=\"sect2\" text=\"खंड\"/>\n<l:gentext key=\"sect3\" text=\"खंड\"/>\n<l:gentext key=\"sect4\" text=\"खंड\"/>\n<l:gentext key=\"sect5\" text=\"खंड\"/>\n<l:gentext key=\"section\" text=\"खंड\"/>\n<l:gentext key=\"Section\" text=\"खंड\"/>\n<l:gentext key=\"see\" text=\"देखें\"/>\n<l:gentext key=\"See\" text=\"देखें\"/>\n<l:gentext key=\"seealso\" text=\"इसे भी देखें\"/>\n<l:gentext key=\"Seealso\" text=\"इसे भी देखें\"/>\n<l:gentext key=\"SeeAlso\" text=\"इसे भी देखें\"/>\n<l:gentext key=\"set\" text=\"सेट करें\"/>\n<l:gentext key=\"Set\" text=\"सेट करें\"/>\n<l:gentext key=\"setindex\" text=\"विषय सूची सेट करें\"/>\n<l:gentext key=\"SetIndex\" text=\"विषय सूची सेट करें\"/>\n<l:gentext key=\"Sidebar\" text=\"बाज़ू पट्टी\"/>\n<l:gentext key=\"sidebar\" text=\"बाज़ू पट्टी\"/>\n<l:gentext key=\"step\" text=\"चरण\"/>\n<l:gentext key=\"Step\" text=\"चरण\"/>\n<l:gentext key=\"table\" text=\"तालिका\"/>\n<l:gentext key=\"Table\" text=\"तालिका\"/>\n<l:gentext key=\"task\" text=\"कार्य\"/>\n<l:gentext key=\"Task\" text=\"कार्य\"/>\n<l:gentext key=\"tip\" text=\"संकेत\"/>\n<l:gentext key=\"TIP\" text=\"संकेत\"/>\n<l:gentext key=\"Tip\" text=\"संकेत\"/>\n<l:gentext key=\"Warning\" text=\"चेतावनी\"/>\n<l:gentext key=\"warning\" text=\"चेतावनी\"/>\n<l:gentext key=\"WARNING\" text=\"चेतावनी\"/>\n<l:gentext key=\"and\" text=\"और\"/>\n<l:gentext key=\"or\" text=\"या\"/>\n<l:gentext key=\"by\" text=\"द्वारा\"/>\n<l:gentext key=\"Edited\" text=\"संपादित\"/>\n<l:gentext key=\"edited\" text=\"संपादित\"/>\n<l:gentext key=\"Editedby\" text=\"इनके द्वारा संपादित\"/>\n<l:gentext key=\"editedby\" text=\"इनके द्वारा संपादित\"/>\n<l:gentext key=\"in\" text=\"अंदर\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"नोट्स\"/>\n<l:gentext key=\"Notes\" text=\"नोट्स\"/>\n<l:gentext key=\"Pgs\" text=\"पृष्ठ\"/>\n<l:gentext key=\"pgs\" text=\"पृष्ठ\"/>\n<l:gentext key=\"Revisedby\" text=\"पुनरीक्षणकर्ता: \"/>\n<l:gentext key=\"revisedby\" text=\"पुनरीक्षणकर्ता: \"/>\n<l:gentext key=\"TableNotes\" text=\"नोट्स\"/>\n<l:gentext key=\"tablenotes\" text=\"नोट्स\"/>\n<l:gentext key=\"TableofContents\" text=\"विषय-सूची\"/>\n<l:gentext key=\"tableofcontents\" text=\"विषय-सूची\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"अप्रत्याशित तत्व नाम\"/>\n<l:gentext key=\"unsupported\" text=\"असमर्थित\"/>\n<l:gentext key=\"xrefto\" text=\"\"/>\n<l:gentext key=\"Authors\" text=\"लेखक\"/>\n<l:gentext key=\"copyeditor\" text=\"कॉपी संपादक\"/>\n<l:gentext key=\"graphicdesigner\" text=\"आलेखी डिजायनर\"/>\n<l:gentext key=\"productioneditor\" text=\"उत्पादन संपादक\"/>\n<l:gentext key=\"technicaleditor\" text=\"तकनीकी संपादक\"/>\n<l:gentext key=\"translator\" text=\"अनुवादक\"/>\n<l:gentext key=\"listofequations\" text=\"समीकरण सूची\"/>\n<l:gentext key=\"ListofEquations\" text=\"समीकरण सूची\"/>\n<l:gentext key=\"ListofExamples\" text=\"उदाहरण सूची\"/>\n<l:gentext key=\"listofexamples\" text=\"उदाहरण सूची\"/>\n<l:gentext key=\"ListofFigures\" text=\"चित्र सूची\"/>\n<l:gentext key=\"listoffigures\" text=\"चित्र सूची\"/>\n<l:gentext key=\"ListofProcedures\" text=\"प्रक्रिया सूची\"/>\n<l:gentext key=\"listofprocedures\" text=\"प्रक्रिया सूची\"/>\n<l:gentext key=\"listoftables\" text=\"सारणी सूची\"/>\n<l:gentext key=\"ListofTables\" text=\"सारणी सूची\"/>\n<l:gentext key=\"ListofUnknown\" text=\"अज्ञात सूची\"/>\n<l:gentext key=\"listofunknown\" text=\"अज्ञात सूची\"/>\n<l:gentext key=\"nav-home\" text=\"घर\"/>\n<l:gentext key=\"nav-next\" text=\"आगे\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"द्रुत अग्रेषण\"/>\n<l:gentext key=\"nav-prev\" text=\"पीछे\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"द्रुत पश्चरण\"/>\n<l:gentext key=\"nav-up\" text=\"ऊपर\"/>\n<l:gentext key=\"nav-toc\" text=\"विषय सूची\"/>\n<l:gentext key=\"Draft\" text=\"मसौदा\"/>\n<l:gentext key=\"above\" text=\"ऊपर\"/>\n<l:gentext key=\"below\" text=\"नीचे\"/>\n<l:gentext key=\"sectioncalled\" text=\"यह खंड कहलाता है\"/>\n<l:gentext key=\"index symbols\" text=\"संकेत\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"परिशिष्ट %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"अध्याय %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"समीकरण %n. %t\"/>\n<l:template name=\"example\" text=\"उदाहरण %n. %t\"/>\n<l:template name=\"figure\" text=\"चित्र %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"हिस्सा %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"प्रक्रिया %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"उत्पादन %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"तालिका %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"परिशिष्ट %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"अध्याय %n. %t\"/>\n<l:template name=\"part\" text=\"हिस्सा %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"उ: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"प्र: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"प्र: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"यह खंड कहलाता है “%t”\"/>\n<l:template name=\"refsection\" text=\"यह खंड कहलाता है “%t”\"/>\n<l:template name=\"refsect1\" text=\"यह खंड कहलाता है “%t”\"/>\n<l:template name=\"refsect2\" text=\"यह खंड कहलाता है “%t”\"/>\n<l:template name=\"refsect3\" text=\"यह खंड कहलाता है “%t”\"/>\n<l:template name=\"sect1\" text=\"यह खंड कहलाता है “%t”\"/>\n<l:template name=\"sect2\" text=\"यह खंड कहलाता है “%t”\"/>\n<l:template name=\"sect3\" text=\"यह खंड कहलाता है “%t”\"/>\n<l:template name=\"sect4\" text=\"यह खंड कहलाता है “%t”\"/>\n<l:template name=\"sect5\" text=\"यह खंड कहलाता है “%t”\"/>\n<l:template name=\"section\" text=\"यह खंड कहलाता है “%t”\"/>\n<l:template name=\"simplesect\" text=\"यह खंड कहलाता है “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"उ: %n\"/>\n<l:template name=\"appendix\" text=\"परिशिष्ट %n\"/>\n<l:template name=\"bridgehead\" text=\"खंड %n\"/>\n<l:template name=\"chapter\" text=\"अध्याय %n\"/>\n<l:template name=\"equation\" text=\"समीकरण %n\"/>\n<l:template name=\"example\" text=\"उदाहरण %n\"/>\n<l:template name=\"figure\" text=\"चित्र %n\"/>\n<l:template name=\"part\" text=\"हिस्सा %n\"/>\n<l:template name=\"procedure\" text=\"प्रक्रिया %n\"/>\n<l:template name=\"productionset\" text=\"उत्पादन %n\"/>\n<l:template name=\"qandadiv\" text=\"प्र. व उ. %n\"/>\n<l:template name=\"qandaentry\" text=\"प्र: %n\"/>\n<l:template name=\"question\" text=\"प्र: %n\"/>\n<l:template name=\"sect1\" text=\"खंड %n\"/>\n<l:template name=\"sect2\" text=\"खंड %n\"/>\n<l:template name=\"sect3\" text=\"खंड %n\"/>\n<l:template name=\"sect4\" text=\"खंड %n\"/>\n<l:template name=\"sect5\" text=\"खंड %n\"/>\n<l:template name=\"section\" text=\"खंड %n\"/>\n<l:template name=\"table\" text=\"तालिका %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"परिशिष्ट %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"खंड %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"अध्याय %n, %t\"/>\n<l:template name=\"equation\" text=\"समीकरण %n, “%t”\"/>\n<l:template name=\"example\" text=\"उदाहरण %n, “%t”\"/>\n<l:template name=\"figure\" text=\"चित्र %n, “%t”\"/>\n<l:template name=\"part\" text=\"हिस्सा %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"प्रक्रिया %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"उत्पादन %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"प्र. व उ. %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"यह खंड कहलाता है “%t”\"/>\n<l:template name=\"refsect2\" text=\"यह खंड कहलाता है “%t”\"/>\n<l:template name=\"refsect3\" text=\"यह खंड कहलाता है “%t”\"/>\n<l:template name=\"refsection\" text=\"यह खंड कहलाता है “%t”\"/>\n<l:template name=\"sect1\" text=\"खंड %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"खंड %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"खंड %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"खंड %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"खंड %n, “%t”\"/>\n<l:template name=\"section\" text=\"खंड %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"यह खंड कहलाता है “%t”\"/>\n<l:template name=\"table\" text=\"तालिका %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" और \"/>\n<l:template name=\"seplast\" text=\", और \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"देखें %t.\"/>\n<l:template name=\"seealso\" text=\"इसे भी देखें %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"श्रोता: \"/>\n<l:template name=\"MsgLevel\" text=\"स्तर: \"/>\n<l:template name=\"MsgOrig\" text=\"मूल: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"जनवरी\"/>\n<l:template name=\"February\" text=\"फरवरी\"/>\n<l:template name=\"March\" text=\"मार्च\"/>\n<l:template name=\"April\" text=\"अप्रैल\"/>\n<l:template name=\"May\" text=\"मई\"/>\n<l:template name=\"June\" text=\"जून\"/>\n<l:template name=\"July\" text=\"जुलाई\"/>\n<l:template name=\"August\" text=\"अगस्त\"/>\n<l:template name=\"September\" text=\"सितंबर\"/>\n<l:template name=\"October\" text=\"अक्टूबर\"/>\n<l:template name=\"November\" text=\"नवंबर\"/>\n<l:template name=\"December\" text=\"दिसंबर\"/>\n<l:template name=\"Monday\" text=\"सोमवार\"/>\n<l:template name=\"Tuesday\" text=\"मंगलवार\"/>\n<l:template name=\"Wednesday\" text=\"बुधवार\"/>\n<l:template name=\"Thursday\" text=\"गुरुवार\"/>\n<l:template name=\"Friday\" text=\"शुक्रवार\"/>\n<l:template name=\"Saturday\" text=\"शनिवार\"/>\n<l:template name=\"Sunday\" text=\"रविवार\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"जन\"/>\n<l:template name=\"Feb\" text=\"फर\"/>\n<l:template name=\"Mar\" text=\"मार्च\"/>\n<l:template name=\"Apr\" text=\"अप्रै\"/>\n<l:template name=\"May\" text=\"मई\"/>\n<l:template name=\"Jun\" text=\"जून\"/>\n<l:template name=\"Jul\" text=\"जुला\"/>\n<l:template name=\"Aug\" text=\"अग\"/>\n<l:template name=\"Sep\" text=\"सितं\"/>\n<l:template name=\"Oct\" text=\"अक्टू\"/>\n<l:template name=\"Nov\" text=\"नवं\"/>\n<l:template name=\"Dec\" text=\"दिस\"/>\n<l:template name=\"Mon\" text=\"सोम\"/>\n<l:template name=\"Tue\" text=\"मंगल\"/>\n<l:template name=\"Wed\" text=\"बुध\"/>\n<l:template name=\"Thu\" text=\"गुरु\"/>\n<l:template name=\"Fri\" text=\"शुक्र\"/>\n<l:template name=\"Sat\" text=\"शनि\"/>\n<l:template name=\"Sun\" text=\"रवि\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0439 Hindi\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">संकेत</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/hr.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"hr\" english-language-name=\"Croatian\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/hr.xml -->\n<!-- * -->\n<!-- * E-mail the edited hr.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Sažetak\"/>\n<l:gentext key=\"abstract\" text=\"sažetak\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\"/>\n<l:gentext key=\"acknowledgements\" text=\"acknowledgements\"/>\n<l:gentext key=\"Answer\" text=\"Odgovor:\"/>\n<l:gentext key=\"answer\" text=\"odgovor:\"/>\n<l:gentext key=\"Appendix\" text=\"Dodatak\"/>\n<l:gentext key=\"appendix\" text=\"dodatak\"/>\n<l:gentext key=\"Article\" text=\"Članak\"/>\n<l:gentext key=\"article\" text=\"članak\"/>\n<l:gentext key=\"Author\" text=\"Author\"/>\n<l:gentext key=\"Bibliography\" text=\"Literatura\"/>\n<l:gentext key=\"bibliography\" text=\"literatura\"/>\n<l:gentext key=\"Book\" text=\"Knjiga\"/>\n<l:gentext key=\"book\" text=\"knjiga\"/>\n<l:gentext key=\"CAUTION\" text=\"OPREZ\"/>\n<l:gentext key=\"Caution\" text=\"Oprez\"/>\n<l:gentext key=\"caution\" text=\"oprez\"/>\n<l:gentext key=\"Chapter\" text=\"Poglavlje\"/>\n<l:gentext key=\"chapter\" text=\"poglavlje\"/>\n<l:gentext key=\"Colophon\" text=\"Impresum\"/>\n<l:gentext key=\"colophon\" text=\"impresum\"/>\n<l:gentext key=\"Copyright\" text=\"Autorska prava\"/>\n<l:gentext key=\"copyright\" text=\"autorska prava\"/>\n<l:gentext key=\"Dedication\" text=\"Posveta\"/>\n<l:gentext key=\"dedication\" text=\"posveta\"/>\n<l:gentext key=\"Edition\" text=\"Izdanje\"/>\n<l:gentext key=\"edition\" text=\"izdanje\"/>\n<l:gentext key=\"Editor\" text=\"Editor\"/>\n<l:gentext key=\"Equation\" text=\"Jednadžba\"/>\n<l:gentext key=\"equation\" text=\"jednadžba\"/>\n<l:gentext key=\"Example\" text=\"Primjer\"/>\n<l:gentext key=\"example\" text=\"primjer\"/>\n<l:gentext key=\"Figure\" text=\"Slika\"/>\n<l:gentext key=\"figure\" text=\"slika\"/>\n<l:gentext key=\"Glossary\" text=\"Rječnik\"/>\n<l:gentext key=\"glossary\" text=\"rječnik\"/>\n<l:gentext key=\"GlossSee\" text=\"Vidi\"/>\n<l:gentext key=\"glosssee\" text=\"vidi\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Vidi i\"/>\n<l:gentext key=\"glossseealso\" text=\"vidi i\"/>\n<l:gentext key=\"IMPORTANT\" text=\"VAŽNO\"/>\n<l:gentext key=\"important\" text=\"važno\"/>\n<l:gentext key=\"Important\" text=\"Važno\"/>\n<l:gentext key=\"Index\" text=\"Kazalo\"/>\n<l:gentext key=\"index\" text=\"kazalo\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Pravne odredbe\"/>\n<l:gentext key=\"legalnotice\" text=\"pravne odredbe\"/>\n<l:gentext key=\"MsgAud\" text=\"Primatelji\"/>\n<l:gentext key=\"msgaud\" text=\"primatelji\"/>\n<l:gentext key=\"MsgLevel\" text=\"Razina\"/>\n<l:gentext key=\"msglevel\" text=\"razina\"/>\n<l:gentext key=\"MsgOrig\" text=\"Izvor\"/>\n<l:gentext key=\"msgorig\" text=\"izvor\"/>\n<l:gentext key=\"NOTE\" text=\"BILJEŠKA\"/>\n<l:gentext key=\"Note\" text=\"Bilješka\"/>\n<l:gentext key=\"note\" text=\"bilješka\"/>\n<l:gentext key=\"Part\" text=\"Dio\"/>\n<l:gentext key=\"part\" text=\"dio\"/>\n<l:gentext key=\"Preface\" text=\"Predgovor\"/>\n<l:gentext key=\"preface\" text=\"predgovor\"/>\n<l:gentext key=\"Procedure\" text=\"Postupak\"/>\n<l:gentext key=\"procedure\" text=\"postupak\"/>\n<l:gentext key=\"ProductionSet\" text=\"Produkcija\"/>\n<l:gentext key=\"PubDate\" text=\"Datum publikacije\"/>\n<l:gentext key=\"pubdate\" text=\"datum publikacije\"/>\n<l:gentext key=\"Published\" text=\"Objavljeno\"/>\n<l:gentext key=\"published\" text=\"objavljeno\"/>\n<l:gentext key=\"Publisher\" text=\"Nakladnik\"/>\n<l:gentext key=\"Qandadiv\" text=\"Pitanje i Odgovor\"/>\n<l:gentext key=\"qandadiv\" text=\"pitanje i Odgovor\"/>\n<l:gentext key=\"QandASet\" text=\"Česti Upiti\"/>\n<l:gentext key=\"Question\" text=\"Pitanje:\"/>\n<l:gentext key=\"question\" text=\"pitanje:\"/>\n<l:gentext key=\"RefEntry\" text=\"Stranica\"/>\n<l:gentext key=\"refentry\" text=\"stranica\"/>\n<l:gentext key=\"Reference\" text=\"Referenca\"/>\n<l:gentext key=\"reference\" text=\"referenca\"/>\n<l:gentext key=\"References\" text=\"Reference\"/>\n<l:gentext key=\"RefName\" text=\"Ime\"/>\n<l:gentext key=\"refname\" text=\"Ime\"/>\n<l:gentext key=\"RefSection\" text=\"Odjeljak\"/>\n<l:gentext key=\"refsection\" text=\"odjeljak\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Pregled\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Pregled\"/>\n<l:gentext key=\"RevHistory\" text=\"Povijest preinaka\"/>\n<l:gentext key=\"revhistory\" text=\"Povijest preinaka\"/>\n<l:gentext key=\"revision\" text=\"Preinaka\"/>\n<l:gentext key=\"Revision\" text=\"Preinaka\"/>\n<l:gentext key=\"sect1\" text=\"Odjeljak\"/>\n<l:gentext key=\"sect2\" text=\"Odjeljak\"/>\n<l:gentext key=\"sect3\" text=\"Odjeljak\"/>\n<l:gentext key=\"sect4\" text=\"Odjeljak\"/>\n<l:gentext key=\"sect5\" text=\"Odjeljak\"/>\n<l:gentext key=\"section\" text=\"odjeljak\"/>\n<l:gentext key=\"Section\" text=\"Odjeljak\"/>\n<l:gentext key=\"see\" text=\"vidi\"/>\n<l:gentext key=\"See\" text=\"Vidi\"/>\n<l:gentext key=\"seealso\" text=\"vidi i\"/>\n<l:gentext key=\"Seealso\" text=\"Vidi i\"/>\n<l:gentext key=\"SeeAlso\" text=\"Vidi i\"/>\n<l:gentext key=\"set\" text=\"set\"/>\n<l:gentext key=\"Set\" text=\"Set\"/>\n<l:gentext key=\"setindex\" text=\"kazalo\"/>\n<l:gentext key=\"SetIndex\" text=\"Kazalo\"/>\n<l:gentext key=\"Sidebar\" text=\"Rubni stupac\"/>\n<l:gentext key=\"sidebar\" text=\"rubni stupac\"/>\n<l:gentext key=\"step\" text=\"korak\"/>\n<l:gentext key=\"Step\" text=\"Korak\"/>\n<l:gentext key=\"table\" text=\"tablica\"/>\n<l:gentext key=\"Table\" text=\"Tablica\"/>\n<l:gentext key=\"task\" text=\"zadatak\"/>\n<l:gentext key=\"Task\" text=\"Zadatak\"/>\n<l:gentext key=\"tip\" text=\"Savjet\"/>\n<l:gentext key=\"TIP\" text=\"SAVJET\"/>\n<l:gentext key=\"Tip\" text=\"Savjet\"/>\n<l:gentext key=\"Warning\" text=\"Upozorenje\"/>\n<l:gentext key=\"warning\" text=\"upozorenje\"/>\n<l:gentext key=\"WARNING\" text=\"UPOZORENJE\"/>\n<l:gentext key=\"and\" text=\"i\"/>\n<l:gentext key=\"or\" text=\"ili\"/>\n<l:gentext key=\"by\" text=\"po\"/>\n<l:gentext key=\"Edited\" text=\"Uredio/la\"/>\n<l:gentext key=\"edited\" text=\"uredio/la\"/>\n<l:gentext key=\"Editedby\" text=\"Uredio/la\"/>\n<l:gentext key=\"editedby\" text=\"uredio/la\"/>\n<l:gentext key=\"in\" text=\"u\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"bilješke\"/>\n<l:gentext key=\"Notes\" text=\"Bilješke\"/>\n<l:gentext key=\"Pgs\" text=\"Str.\"/>\n<l:gentext key=\"pgs\" text=\"str.\"/>\n<l:gentext key=\"Revisedby\" text=\"Promijenjeno po: \"/>\n<l:gentext key=\"revisedby\" text=\"promijenjeno po: \"/>\n<l:gentext key=\"TableNotes\" text=\"Napomene\"/>\n<l:gentext key=\"tablenotes\" text=\"napomene\"/>\n<l:gentext key=\"TableofContents\" text=\"Sadržaj\"/>\n<l:gentext key=\"tableofcontents\" text=\"sadržaj\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Neočekivano ime elementa\"/>\n<l:gentext key=\"unsupported\" text=\"nepodržano\"/>\n<l:gentext key=\"xrefto\" text=\"xref za\"/>\n<l:gentext key=\"Authors\" text=\"Autori\"/>\n<l:gentext key=\"copyeditor\" text=\"Urdenik za autorska prava\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Grafički dizajner\"/>\n<l:gentext key=\"productioneditor\" text=\"Urednik produkcija\"/>\n<l:gentext key=\"technicaleditor\" text=\"Tehnički urednik\"/>\n<l:gentext key=\"translator\" text=\"Prevodilac\"/>\n<l:gentext key=\"listofequations\" text=\"popis jednadžbi\"/>\n<l:gentext key=\"ListofEquations\" text=\"Popis jednadžbi\"/>\n<l:gentext key=\"ListofExamples\" text=\"Popis primjera\"/>\n<l:gentext key=\"listofexamples\" text=\"popis primjera\"/>\n<l:gentext key=\"ListofFigures\" text=\"Popis slika\"/>\n<l:gentext key=\"listoffigures\" text=\"popis slika\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Popis postupaka\"/>\n<l:gentext key=\"listofprocedures\" text=\"popis postupaka\"/>\n<l:gentext key=\"listoftables\" text=\"popis tablica\"/>\n<l:gentext key=\"ListofTables\" text=\"Popis tablica \"/>\n<l:gentext key=\"ListofUnknown\" text=\"Popis nepoznanica\"/>\n<l:gentext key=\"listofunknown\" text=\"popis nepoznanica\"/>\n<l:gentext key=\"nav-home\" text=\"Početak\"/>\n<l:gentext key=\"nav-next\" text=\"Naprijed\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Skoči unaprijed\"/>\n<l:gentext key=\"nav-prev\" text=\"Natrag\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Skoči unatrag\"/>\n<l:gentext key=\"nav-up\" text=\"Gore\"/>\n<l:gentext key=\"nav-toc\" text=\"Sadržaj\"/>\n<l:gentext key=\"Draft\" text=\"Nacrt\"/>\n<l:gentext key=\"above\" text=\"iznad\"/>\n<l:gentext key=\"below\" text=\"ispod\"/>\n<l:gentext key=\"sectioncalled\" text=\"the section called\"/>\n<l:gentext key=\"index symbols\" text=\"Oznake\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcčćdđefghijklmnopqrsštuvwxyzž\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCČĆDĐEFGHIJKLMNOPQRSŠTUVWXYZŽ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Dodatak %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Poglavlje %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Jednadžba %n. %t\"/>\n<l:template name=\"example\" text=\"Primjer %n. %t\"/>\n<l:template name=\"figure\" text=\"Slika %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Dio %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Postupak %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Produkcija %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tablica %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Dodatak %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Poglavlje %n. %t\"/>\n<l:template name=\"part\" text=\"Dio %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"Odgovor: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Pitanje: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Pitanje: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"the section called “%t”\"/>\n<l:template name=\"refsection\" text=\"the section called “%t”\"/>\n<l:template name=\"refsect1\" text=\"the section called “%t”\"/>\n<l:template name=\"refsect2\" text=\"the section called “%t”\"/>\n<l:template name=\"refsect3\" text=\"the section called “%t”\"/>\n<l:template name=\"sect1\" text=\"the section called “%t”\"/>\n<l:template name=\"sect2\" text=\"the section called “%t”\"/>\n<l:template name=\"sect3\" text=\"the section called “%t”\"/>\n<l:template name=\"sect4\" text=\"the section called “%t”\"/>\n<l:template name=\"sect5\" text=\"the section called “%t”\"/>\n<l:template name=\"section\" text=\"the section called “%t”\"/>\n<l:template name=\"simplesect\" text=\"the section called “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Odgovor: %n\"/>\n<l:template name=\"appendix\" text=\"Dodatak %n\"/>\n<l:template name=\"bridgehead\" text=\"Odjeljak %n\"/>\n<l:template name=\"chapter\" text=\"Poglavlje %n\"/>\n<l:template name=\"equation\" text=\"Jednadžba %n\"/>\n<l:template name=\"example\" text=\"Primjer %n\"/>\n<l:template name=\"figure\" text=\"Slika %n\"/>\n<l:template name=\"part\" text=\"Dio %n\"/>\n<l:template name=\"procedure\" text=\"Postupak %n\"/>\n<l:template name=\"productionset\" text=\"Produkcija %n\"/>\n<l:template name=\"qandadiv\" text=\"Pitanje i Odgovor %n\"/>\n<l:template name=\"qandaentry\" text=\"Pitanje: %n\"/>\n<l:template name=\"question\" text=\"Pitanje: %n\"/>\n<l:template name=\"sect1\" text=\"Odjeljak %n\"/>\n<l:template name=\"sect2\" text=\"Odjeljak %n\"/>\n<l:template name=\"sect3\" text=\"Odjeljak %n\"/>\n<l:template name=\"sect4\" text=\"Odjeljak %n\"/>\n<l:template name=\"sect5\" text=\"Odjeljak %n\"/>\n<l:template name=\"section\" text=\"Odjeljak %n\"/>\n<l:template name=\"table\" text=\"Tablica %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Dodatak %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Odjeljak %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Poglavlje %n, %t\"/>\n<l:template name=\"equation\" text=\"Jednadžba %n, “%t”\"/>\n<l:template name=\"example\" text=\"Primjer %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Slika %n, “%t”\"/>\n<l:template name=\"part\" text=\"Dio %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Postupak %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Produkcija %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"Pitanje i Odgovor %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"the section called “%t”\"/>\n<l:template name=\"refsect2\" text=\"the section called “%t”\"/>\n<l:template name=\"refsect3\" text=\"the section called “%t”\"/>\n<l:template name=\"refsection\" text=\"the section called “%t”\"/>\n<l:template name=\"sect1\" text=\"Odjeljak %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Odjeljak %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Odjeljak %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Odjeljak %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Odjeljak %n, “%t”\"/>\n<l:template name=\"section\" text=\"Odjeljak %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"the section called “%t”\"/>\n<l:template name=\"table\" text=\"Tablica %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" i \"/>\n<l:template name=\"seplast\" text=\", i \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Vidi %t.\"/>\n<l:template name=\"seealso\" text=\"Vidi i %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Primatelji: \"/>\n<l:template name=\"MsgLevel\" text=\"Razina: \"/>\n<l:template name=\"MsgOrig\" text=\"Izvor: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definicija: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Siječanj\"/>\n<l:template name=\"February\" text=\"Veljača\"/>\n<l:template name=\"March\" text=\"Ožujak\"/>\n<l:template name=\"April\" text=\"Travanj\"/>\n<l:template name=\"May\" text=\"Svibanj\"/>\n<l:template name=\"June\" text=\"Lipanj\"/>\n<l:template name=\"July\" text=\"Srpanj\"/>\n<l:template name=\"August\" text=\"Kolovoz\"/>\n<l:template name=\"September\" text=\"Rujan\"/>\n<l:template name=\"October\" text=\"Listopad\"/>\n<l:template name=\"November\" text=\"Studeni\"/>\n<l:template name=\"December\" text=\"Prosinac\"/>\n<l:template name=\"Monday\" text=\"Ponedjeljak\"/>\n<l:template name=\"Tuesday\" text=\"Utorak\"/>\n<l:template name=\"Wednesday\" text=\"Srijeda\"/>\n<l:template name=\"Thursday\" text=\"Četvrtak\"/>\n<l:template name=\"Friday\" text=\"Petak\"/>\n<l:template name=\"Saturday\" text=\"Subota\"/>\n<l:template name=\"Sunday\" text=\"Nedjelja\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Sij\"/>\n<l:template name=\"Feb\" text=\"Velj\"/>\n<l:template name=\"Mar\" text=\"Ožu\"/>\n<l:template name=\"Apr\" text=\"Tra\"/>\n<l:template name=\"May\" text=\"Svi\"/>\n<l:template name=\"Jun\" text=\"Lip\"/>\n<l:template name=\"Jul\" text=\"Srp\"/>\n<l:template name=\"Aug\" text=\"Kol\"/>\n<l:template name=\"Sep\" text=\"Ruj\"/>\n<l:template name=\"Oct\" text=\"Lis\"/>\n<l:template name=\"Nov\" text=\"Stu\"/>\n<l:template name=\"Dec\" text=\"Pro\"/>\n<l:template name=\"Mon\" text=\"Pon\"/>\n<l:template name=\"Tue\" text=\"Uto\"/>\n<l:template name=\"Wed\" text=\"Sri\"/>\n<l:template name=\"Thu\" text=\"Čet\"/>\n<l:template name=\"Fri\" text=\"Pet\"/>\n<l:template name=\"Sat\" text=\"Sub\"/>\n<l:template name=\"Sun\" text=\"Ned\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x041a Croatian\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Oznake</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/hu.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"hu\" english-language-name=\"Hungarian\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/hu.xml -->\n<!-- * -->\n<!-- * E-mail the edited hu.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Kivonat\"/>\n<l:gentext key=\"abstract\" text=\"kivonat\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Köszönetnyilvánítás\"/>\n<l:gentext key=\"acknowledgements\" text=\"köszönetnyilvánítás\"/>\n<l:gentext key=\"Answer\" text=\"V:\"/>\n<l:gentext key=\"answer\" text=\"v:\"/>\n<l:gentext key=\"Appendix\" text=\"Függelék\"/>\n<l:gentext key=\"appendix\" text=\"függelék\"/>\n<l:gentext key=\"Article\" text=\"Cikk\"/>\n<l:gentext key=\"article\" text=\"cikk\"/>\n<l:gentext key=\"Author\" text=\"Szerz\"/>\n<l:gentext key=\"Bibliography\" text=\"Irodalomjegyzék\"/>\n<l:gentext key=\"bibliography\" text=\"irodalomjegyzék\"/>\n<l:gentext key=\"Book\" text=\"Könyv\"/>\n<l:gentext key=\"book\" text=\"könyv\"/>\n<l:gentext key=\"CAUTION\" text=\"FIGYELEM\"/>\n<l:gentext key=\"Caution\" text=\"Figyelem\"/>\n<l:gentext key=\"caution\" text=\"figyelem\"/>\n<l:gentext key=\"Chapter\" text=\"Fejezet\"/>\n<l:gentext key=\"chapter\" text=\"fejezet\"/>\n<l:gentext key=\"Colophon\" text=\"Végszó\"/>\n<l:gentext key=\"colophon\" text=\"végszó\"/>\n<l:gentext key=\"Copyright\" text=\"Szerzői jog\"/>\n<l:gentext key=\"copyright\" text=\"szerzői jog\"/>\n<l:gentext key=\"Dedication\" text=\"Ajánlás\"/>\n<l:gentext key=\"dedication\" text=\"ajánlás\"/>\n<l:gentext key=\"Edition\" text=\"Kiadás\"/>\n<l:gentext key=\"edition\" text=\"kiadás\"/>\n<l:gentext key=\"Editor\" text=\"Szerkesztő\"/>\n<l:gentext key=\"Equation\" text=\"Egyenlet\"/>\n<l:gentext key=\"equation\" text=\"egyenlet\"/>\n<l:gentext key=\"Example\" text=\"Példa\"/>\n<l:gentext key=\"example\" text=\"példa\"/>\n<l:gentext key=\"Figure\" text=\"Ábra\"/>\n<l:gentext key=\"figure\" text=\"ábra\"/>\n<l:gentext key=\"Glossary\" text=\"Szójegyzék\"/>\n<l:gentext key=\"glossary\" text=\"szójegyzék\"/>\n<l:gentext key=\"GlossSee\" text=\"Lásd\"/>\n<l:gentext key=\"glosssee\" text=\"lásd\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Lásd még\"/>\n<l:gentext key=\"glossseealso\" text=\"lásd még\"/>\n<l:gentext key=\"IMPORTANT\" text=\"FONTOS\"/>\n<l:gentext key=\"important\" text=\"fontos\"/>\n<l:gentext key=\"Important\" text=\"Fontos\"/>\n<l:gentext key=\"Index\" text=\"Tárgymutató\"/>\n<l:gentext key=\"index\" text=\"tárgymutató\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"isbn\"/>\n<l:gentext key=\"LegalNotice\" text=\"Jogi közlemény\"/>\n<l:gentext key=\"legalnotice\" text=\"jogi közlemény\"/>\n<l:gentext key=\"MsgAud\" text=\"Célközönség\"/>\n<l:gentext key=\"msgaud\" text=\"célközönség\"/>\n<l:gentext key=\"MsgLevel\" text=\"Szint\"/>\n<l:gentext key=\"msglevel\" text=\"szint\"/>\n<l:gentext key=\"MsgOrig\" text=\"Eredet\"/>\n<l:gentext key=\"msgorig\" text=\"eredet\"/>\n<l:gentext key=\"NOTE\" text=\"MEGJEGYZÉS\"/>\n<l:gentext key=\"Note\" text=\"Megjegyzés\"/>\n<l:gentext key=\"note\" text=\"megjegyzés\"/>\n<l:gentext key=\"Part\" text=\"Rész\"/>\n<l:gentext key=\"part\" text=\"rész\"/>\n<l:gentext key=\"Preface\" text=\"Előszó\"/>\n<l:gentext key=\"preface\" text=\"előszó\"/>\n<l:gentext key=\"Procedure\" text=\"Eljárás\"/>\n<l:gentext key=\"procedure\" text=\"eljárás\"/>\n<l:gentext key=\"ProductionSet\" text=\"Elemcsoport\"/>\n<l:gentext key=\"PubDate\" text=\"Publication Date\"/>\n<l:gentext key=\"pubdate\" text=\"Publication date\"/>\n<l:gentext key=\"Published\" text=\"Megjelent\"/>\n<l:gentext key=\"published\" text=\"megjelent\"/>\n<l:gentext key=\"Publisher\" text=\"Kiadó\"/>\n<l:gentext key=\"Qandadiv\" text=\"K és V\"/>\n<l:gentext key=\"qandadiv\" text=\"K és V\"/>\n<l:gentext key=\"QandASet\" text=\"Gyakran feltett kérdések\"/>\n<l:gentext key=\"Question\" text=\"K:\"/>\n<l:gentext key=\"question\" text=\"k:\"/>\n<l:gentext key=\"RefEntry\" text=\"Oldal\"/>\n<l:gentext key=\"refentry\" text=\"oldal\"/>\n<l:gentext key=\"Reference\" text=\"Hivatkozás\"/>\n<l:gentext key=\"reference\" text=\"hivatkozás\"/>\n<l:gentext key=\"References\" text=\"Hivatkozások\"/>\n<l:gentext key=\"RefName\" text=\"Név\"/>\n<l:gentext key=\"refname\" text=\"név\"/>\n<l:gentext key=\"RefSection\" text=\"Szakasz\"/>\n<l:gentext key=\"refsection\" text=\"szakasz\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Áttekintés\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"áttekintés\"/>\n<l:gentext key=\"RevHistory\" text=\"Verziótörténet\"/>\n<l:gentext key=\"revhistory\" text=\"verziótörténet\"/>\n<l:gentext key=\"revision\" text=\"verzió\"/>\n<l:gentext key=\"Revision\" text=\"Verzió\"/>\n<l:gentext key=\"sect1\" text=\"Szakasz\"/>\n<l:gentext key=\"sect2\" text=\"Szakasz\"/>\n<l:gentext key=\"sect3\" text=\"Szakasz\"/>\n<l:gentext key=\"sect4\" text=\"Szakasz\"/>\n<l:gentext key=\"sect5\" text=\"Szakasz\"/>\n<l:gentext key=\"section\" text=\"szakasz\"/>\n<l:gentext key=\"Section\" text=\"Szakasz\"/>\n<l:gentext key=\"see\" text=\"lásd\"/>\n<l:gentext key=\"See\" text=\"Lásd\"/>\n<l:gentext key=\"seealso\" text=\"lásd még\"/>\n<l:gentext key=\"Seealso\" text=\"Lásd még\"/>\n<l:gentext key=\"SeeAlso\" text=\"Lásd még\"/>\n<l:gentext key=\"set\" text=\"csoport\"/>\n<l:gentext key=\"Set\" text=\"Csoport\"/>\n<l:gentext key=\"setindex\" text=\"csoportmutató\"/>\n<l:gentext key=\"SetIndex\" text=\"Csoportmutató\"/>\n<l:gentext key=\"Sidebar\" text=\"Széljegyzet\"/>\n<l:gentext key=\"sidebar\" text=\"széljegyzet\"/>\n<l:gentext key=\"step\" text=\"lépés\"/>\n<l:gentext key=\"Step\" text=\"Lépés\"/>\n<l:gentext key=\"table\" text=\"táblázat\"/>\n<l:gentext key=\"Table\" text=\"Táblázat\"/>\n<l:gentext key=\"task\" text=\"feladat\"/>\n<l:gentext key=\"Task\" text=\"Feladat\"/>\n<l:gentext key=\"tip\" text=\"tipp\"/>\n<l:gentext key=\"TIP\" text=\"TIPP\"/>\n<l:gentext key=\"Tip\" text=\"Tipp\"/>\n<l:gentext key=\"Warning\" text=\"Figyelem\"/>\n<l:gentext key=\"warning\" text=\"figyelem\"/>\n<l:gentext key=\"WARNING\" text=\"FIGYELEM\"/>\n<l:gentext key=\"and\" text=\"és\"/>\n<l:gentext key=\"or\" text=\"vagy\"/>\n<l:gentext key=\"by\" text=\"írta\"/>\n<l:gentext key=\"Edited\" text=\"Szerk.\"/>\n<l:gentext key=\"edited\" text=\"szerk.\"/>\n<l:gentext key=\"Editedby\" text=\"Szerkesztette\"/>\n<l:gentext key=\"editedby\" text=\"szerkesztette\"/>\n<l:gentext key=\"in\" text=\"in\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"megjegyzések\"/>\n<l:gentext key=\"Notes\" text=\"Megjegyzések\"/>\n<l:gentext key=\"Pgs\" text=\"Old.\"/>\n<l:gentext key=\"pgs\" text=\"old.\"/>\n<l:gentext key=\"Revisedby\" text=\"Felülvizsgálta\"/>\n<l:gentext key=\"revisedby\" text=\"felülvizsgálta\"/>\n<l:gentext key=\"TableNotes\" text=\"Megjegyzések\"/>\n<l:gentext key=\"tablenotes\" text=\"megjegyzések\"/>\n<l:gentext key=\"TableofContents\" text=\"Tartalom\"/>\n<l:gentext key=\"tableofcontents\" text=\"tartalom\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"nem várt elemnév\"/>\n<l:gentext key=\"unsupported\" text=\"nem támogatott\"/>\n<l:gentext key=\"xrefto\" text=\"kereszthiv\"/>\n<l:gentext key=\"Authors\" text=\"Szerzők\"/>\n<l:gentext key=\"copyeditor\" text=\"Kiadás szerkesztő\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Grafikus tervező\"/>\n<l:gentext key=\"productioneditor\" text=\"Főszerkesztőr\"/>\n<l:gentext key=\"technicaleditor\" text=\"Szakszerkesztő\"/>\n<l:gentext key=\"translator\" text=\"Fordító\"/>\n<l:gentext key=\"listofequations\" text=\"az egyenletek listája\"/>\n<l:gentext key=\"ListofEquations\" text=\"Az egyenletek listája\"/>\n<l:gentext key=\"ListofExamples\" text=\"A példák listája\"/>\n<l:gentext key=\"listofexamples\" text=\"a példák listája\"/>\n<l:gentext key=\"ListofFigures\" text=\"Az ábrák listája\"/>\n<l:gentext key=\"listoffigures\" text=\"az ábrák listája\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Eljárások listája\"/>\n<l:gentext key=\"listofprocedures\" text=\"eljárások listája\"/>\n<l:gentext key=\"listoftables\" text=\"a táblázatok listája\"/>\n<l:gentext key=\"ListofTables\" text=\"A táblázatok listája\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Az egyéb elemek listája\"/>\n<l:gentext key=\"listofunknown\" text=\"az egyéb elemek listája\"/>\n<l:gentext key=\"nav-home\" text=\"Főoldal\"/>\n<l:gentext key=\"nav-next\" text=\"Előre\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Gyors előre\"/>\n<l:gentext key=\"nav-prev\" text=\"Vissza\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Gyors vissza\"/>\n<l:gentext key=\"nav-up\" text=\"Fel\"/>\n<l:gentext key=\"nav-toc\" text=\"Tartalom\"/>\n<l:gentext key=\"Draft\" text=\"Piszkozat\"/>\n<l:gentext key=\"above\" text=\"fent\"/>\n<l:gentext key=\"below\" text=\"alább\"/>\n<l:gentext key=\"sectioncalled\" text=\"a szakasz:\"/>\n<l:gentext key=\"index symbols\" text=\"Jelzések\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"aábcdeéfghiíjklmnoóöőpqrstuúüűvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"AÁBCDEÉFGHIÍJKLMNOÓÖŐPQRSTUÚÜŰVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"„\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"»\"/>\n<l:dingbat key=\"nestedendquote\" text=\"«\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"last-first\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"%n. függelék - %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%n. fejezet - %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%n. egyenlet - %t\"/>\n<l:template name=\"example\" text=\"%n. példa - %t\"/>\n<l:template name=\"figure\" text=\"%n. ábra - %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%n. rész - %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Eljárás %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Elemcsoport %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%n. táblázat - %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"%n. függelék - %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%n. fejezet - %t\"/>\n<l:template name=\"part\" text=\"%n. rész - %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"V: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"K: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"K: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"„%t”\"/>\n<l:template name=\"refsection\" text=\"„%t”\"/>\n<l:template name=\"refsect1\" text=\"„%t”\"/>\n<l:template name=\"refsect2\" text=\"„%t”\"/>\n<l:template name=\"refsect3\" text=\"„%t”\"/>\n<l:template name=\"sect1\" text=\"„%t”\"/>\n<l:template name=\"sect2\" text=\"„%t”\"/>\n<l:template name=\"sect3\" text=\"„%t”\"/>\n<l:template name=\"sect4\" text=\"„%t”\"/>\n<l:template name=\"sect5\" text=\"„%t”\"/>\n<l:template name=\"section\" text=\"„%t”\"/>\n<l:template name=\"simplesect\" text=\"„%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"V: %n\"/>\n<l:template name=\"appendix\" text=\"%n. függelék\"/>\n<l:template name=\"bridgehead\" text=\"Szakasz %n\"/>\n<l:template name=\"chapter\" text=\"%n. fejezet\"/>\n<l:template name=\"equation\" text=\"Egyenlet %n\"/>\n<l:template name=\"example\" text=\"%n. példa\"/>\n<l:template name=\"figure\" text=\"%n. ábra\"/>\n<l:template name=\"part\" text=\"%n. rész\"/>\n<l:template name=\"procedure\" text=\"Eljárás %n\"/>\n<l:template name=\"productionset\" text=\"Elemcsoport %n\"/>\n<l:template name=\"qandadiv\" text=\"K és V %n\"/>\n<l:template name=\"qandaentry\" text=\"K: %n\"/>\n<l:template name=\"question\" text=\"K: %n\"/>\n<l:template name=\"sect1\" text=\"%n. szakasz\"/>\n<l:template name=\"sect2\" text=\"%n. szakasz\"/>\n<l:template name=\"sect3\" text=\"%n. szakasz\"/>\n<l:template name=\"sect4\" text=\"%n. szakasz\"/>\n<l:template name=\"sect5\" text=\"%n. szakasz\"/>\n<l:template name=\"section\" text=\"%n. szakasz\"/>\n<l:template name=\"table\" text=\"Táblázat %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"%n. függelék - %t\"/>\n<l:template name=\"bridgehead\" text=\"Szakasz %n, „%t”\"/>\n<l:template name=\"chapter\" text=\"%n. fejezet - %t\"/>\n<l:template name=\"equation\" text=\"Egyenlet %n, „%t”\"/>\n<l:template name=\"example\" text=\"%n. példa - %t\"/>\n<l:template name=\"figure\" text=\"%n. ábra - %t\"/>\n<l:template name=\"part\" text=\"%n. rész - %t\"/>\n<l:template name=\"procedure\" text=\"Eljárás %n, „%t”\"/>\n<l:template name=\"productionset\" text=\"Elemcsoport %n, „%t”\"/>\n<l:template name=\"qandadiv\" text=\"K és V %n, „%t”\"/>\n<l:template name=\"refsect1\" text=\"„%t”\"/>\n<l:template name=\"refsect2\" text=\"„%t”\"/>\n<l:template name=\"refsect3\" text=\"„%t”\"/>\n<l:template name=\"refsection\" text=\"„%t”\"/>\n<l:template name=\"sect1\" text=\"%n. szakasz - %t\"/>\n<l:template name=\"sect2\" text=\"%n. szakasz - %t\"/>\n<l:template name=\"sect3\" text=\"%n. szakasz - %t\"/>\n<l:template name=\"sect4\" text=\"%n. szakasz - %t\"/>\n<l:template name=\"sect5\" text=\"%n. szakasz - %t\"/>\n<l:template name=\"section\" text=\"%n. szakasz - %t\"/>\n<l:template name=\"simplesect\" text=\"„%t”\"/>\n<l:template name=\"table\" text=\"%n. táblázat - %t\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" és \"/>\n<l:template name=\"seplast\" text=\", és \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Lásd %t.\"/>\n<l:template name=\"seealso\" text=\"Lásd még %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Célközönség: \"/>\n<l:template name=\"MsgLevel\" text=\"Szint: \"/>\n<l:template name=\"MsgOrig\" text=\"Eredet: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"január\"/>\n<l:template name=\"February\" text=\"február\"/>\n<l:template name=\"March\" text=\"március\"/>\n<l:template name=\"April\" text=\"április\"/>\n<l:template name=\"May\" text=\"május\"/>\n<l:template name=\"June\" text=\"június\"/>\n<l:template name=\"July\" text=\"július\"/>\n<l:template name=\"August\" text=\"augusztus\"/>\n<l:template name=\"September\" text=\"szeptember\"/>\n<l:template name=\"October\" text=\"október\"/>\n<l:template name=\"November\" text=\"november\"/>\n<l:template name=\"December\" text=\"december\"/>\n<l:template name=\"Monday\" text=\"hétfő\"/>\n<l:template name=\"Tuesday\" text=\"kedd\"/>\n<l:template name=\"Wednesday\" text=\"szerda\"/>\n<l:template name=\"Thursday\" text=\"csütörtök\"/>\n<l:template name=\"Friday\" text=\"péntek\"/>\n<l:template name=\"Saturday\" text=\"szombat\"/>\n<l:template name=\"Sunday\" text=\"vasárnap\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"jan\"/>\n<l:template name=\"Feb\" text=\"feb\"/>\n<l:template name=\"Mar\" text=\"már\"/>\n<l:template name=\"Apr\" text=\"ápr\"/>\n<l:template name=\"May\" text=\"máj\"/>\n<l:template name=\"Jun\" text=\"jún\"/>\n<l:template name=\"Jul\" text=\"júl\"/>\n<l:template name=\"Aug\" text=\"aug\"/>\n<l:template name=\"Sep\" text=\"szep\"/>\n<l:template name=\"Oct\" text=\"okt\"/>\n<l:template name=\"Nov\" text=\"nov\"/>\n<l:template name=\"Dec\" text=\"dec\"/>\n<l:template name=\"Mon\" text=\"hfő\"/>\n<l:template name=\"Tue\" text=\"ked\"/>\n<l:template name=\"Wed\" text=\"sze\"/>\n<l:template name=\"Thu\" text=\"csü\"/>\n<l:template name=\"Fri\" text=\"pén\"/>\n<l:template name=\"Sat\" text=\"szo\"/>\n<l:template name=\"Sun\" text=\"vas\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x040e Hungarian\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Jelzések</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"160\">Ö</l:l>\n<l:l i=\"160\">ö</l:l>\n<l:l i=\"160\">Ő</l:l>\n<l:l i=\"160\">ő</l:l>\n<l:l i=\"170\">P</l:l>\n<l:l i=\"170\">p</l:l>\n<l:l i=\"180\">Q</l:l>\n<l:l i=\"180\">q</l:l>\n<l:l i=\"190\">R</l:l>\n<l:l i=\"190\">r</l:l>\n<l:l i=\"200\">S</l:l>\n<l:l i=\"200\">s</l:l>\n<l:l i=\"210\">T</l:l>\n<l:l i=\"210\">t</l:l>\n<l:l i=\"220\">U</l:l>\n<l:l i=\"220\">u</l:l>\n<l:l i=\"220\">Ú</l:l>\n<l:l i=\"220\">ú</l:l>\n<l:l i=\"230\">Ü</l:l>\n<l:l i=\"230\">ü</l:l>\n<l:l i=\"230\">Ű</l:l>\n<l:l i=\"230\">ű</l:l>\n<l:l i=\"240\">V</l:l>\n<l:l i=\"240\">v</l:l>\n<l:l i=\"250\">W</l:l>\n<l:l i=\"250\">w</l:l>\n<l:l i=\"260\">X</l:l>\n<l:l i=\"260\">x</l:l>\n<l:l i=\"270\">Y</l:l>\n<l:l i=\"270\">y</l:l>\n<l:l i=\"280\">Z</l:l>\n<l:l i=\"280\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/id.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"id\" english-language-name=\"Indonesian\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/id.xml -->\n<!-- * -->\n<!-- * E-mail the edited id.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Abstrak\"/>\n<l:gentext key=\"abstract\" text=\"abstrak\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Penghargaan\"/>\n<l:gentext key=\"acknowledgements\" text=\"penghargaan\"/>\n<l:gentext key=\"Answer\" text=\"Jawab:\"/>\n<l:gentext key=\"answer\" text=\"jawab:\"/>\n<l:gentext key=\"Appendix\" text=\"Lampiran\"/>\n<l:gentext key=\"appendix\" text=\"lampiran\"/>\n<l:gentext key=\"Article\" text=\"Artikel\"/>\n<l:gentext key=\"article\" text=\"artikel\"/>\n<l:gentext key=\"Author\" text=\"Penulis\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografi\"/>\n<l:gentext key=\"bibliography\" text=\"bibliografi\"/>\n<l:gentext key=\"Book\" text=\"Buku\"/>\n<l:gentext key=\"book\" text=\"buku\"/>\n<l:gentext key=\"CAUTION\" text=\"PERHATIAN\"/>\n<l:gentext key=\"Caution\" text=\"Perhatian\"/>\n<l:gentext key=\"caution\" text=\"perhatian\"/>\n<l:gentext key=\"Chapter\" text=\"Bab\"/>\n<l:gentext key=\"chapter\" text=\"bab\"/>\n<l:gentext key=\"Colophon\" text=\"Kolofon\"/>\n<l:gentext key=\"colophon\" text=\"kolofon\"/>\n<l:gentext key=\"Copyright\" text=\"Hak Cipta\"/>\n<l:gentext key=\"copyright\" text=\"hak cipta\"/>\n<l:gentext key=\"Dedication\" text=\"Dedikasi\"/>\n<l:gentext key=\"dedication\" text=\"dedikasi\"/>\n<l:gentext key=\"Edition\" text=\"Edisi\"/>\n<l:gentext key=\"edition\" text=\"edisi\"/>\n<l:gentext key=\"Editor\" text=\"Penyunting\"/>\n<l:gentext key=\"Equation\" text=\"Persamaan\"/>\n<l:gentext key=\"equation\" text=\"persamaan\"/>\n<l:gentext key=\"Example\" text=\"Contoh\"/>\n<l:gentext key=\"example\" text=\"contoh\"/>\n<l:gentext key=\"Figure\" text=\"Gambar\"/>\n<l:gentext key=\"figure\" text=\"gambar\"/>\n<l:gentext key=\"Glossary\" text=\"Daftar Istilah\"/>\n<l:gentext key=\"glossary\" text=\"daftar istilah\"/>\n<l:gentext key=\"GlossSee\" text=\"Lihat\"/>\n<l:gentext key=\"glosssee\" text=\"lihat\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Lihat Juga\"/>\n<l:gentext key=\"glossseealso\" text=\"lihat juga\"/>\n<l:gentext key=\"IMPORTANT\" text=\"PENTING\"/>\n<l:gentext key=\"important\" text=\"penting\"/>\n<l:gentext key=\"Important\" text=\"Penting\"/>\n<l:gentext key=\"Index\" text=\"Indeks\"/>\n<l:gentext key=\"index\" text=\"indeks\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"isbn\"/>\n<l:gentext key=\"LegalNotice\" text=\"Aspek Hukum\"/>\n<l:gentext key=\"legalnotice\" text=\"aspek hukum\"/>\n<l:gentext key=\"MsgAud\" text=\"Pemirsa\"/>\n<l:gentext key=\"msgaud\" text=\"pemirsa\"/>\n<l:gentext key=\"MsgLevel\" text=\"Tingkatan\"/>\n<l:gentext key=\"msglevel\" text=\"tingkatan\"/>\n<l:gentext key=\"MsgOrig\" text=\"Asal\"/>\n<l:gentext key=\"msgorig\" text=\"asal\"/>\n<l:gentext key=\"NOTE\" text=\"CATATAN\"/>\n<l:gentext key=\"Note\" text=\"Catatan\"/>\n<l:gentext key=\"note\" text=\"catatan\"/>\n<l:gentext key=\"Part\" text=\"Bagian\"/>\n<l:gentext key=\"part\" text=\"bagian\"/>\n<l:gentext key=\"Preface\" text=\"Kata Pengantar\"/>\n<l:gentext key=\"preface\" text=\"kata pengantar\"/>\n<l:gentext key=\"Procedure\" text=\"Prosedur\"/>\n<l:gentext key=\"procedure\" text=\"Prosedur\"/>\n<l:gentext key=\"ProductionSet\" text=\"produksi\"/>\n<l:gentext key=\"PubDate\" text=\"Tanggal Publikasi\"/>\n<l:gentext key=\"pubdate\" text=\"tanggal publikasi\"/>\n<l:gentext key=\"Published\" text=\"Diterbitkan\"/>\n<l:gentext key=\"published\" text=\"diterbitkan\"/>\n<l:gentext key=\"Publisher\" text=\"Penerbit\"/>\n<l:gentext key=\"Qandadiv\" text=\"Tanya dan Jawab\"/>\n<l:gentext key=\"qandadiv\" text=\"Tanya dan Jawab\"/>\n<l:gentext key=\"QandASet\" text=\"Pertanyaan yang Sering Diajukan\"/>\n<l:gentext key=\"Question\" text=\"Tanya:\"/>\n<l:gentext key=\"question\" text=\"Tanya:\"/>\n<l:gentext key=\"RefEntry\" text=\"Halaman\"/>\n<l:gentext key=\"refentry\" text=\"halaman\"/>\n<l:gentext key=\"Reference\" text=\"Rujukan\"/>\n<l:gentext key=\"reference\" text=\"Rujukan\"/>\n<l:gentext key=\"References\" text=\"Rujukan-rujukan\"/>\n<l:gentext key=\"RefName\" text=\"Nama\"/>\n<l:gentext key=\"refname\" text=\"Nama\"/>\n<l:gentext key=\"RefSection\" text=\"Bagian\"/>\n<l:gentext key=\"refsection\" text=\"bagian\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Sinopsis\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Sinopsis\"/>\n<l:gentext key=\"RevHistory\" text=\"Riwayat Revisi\"/>\n<l:gentext key=\"revhistory\" text=\"ciwayat revisi\"/>\n<l:gentext key=\"revision\" text=\"revisi\"/>\n<l:gentext key=\"Revision\" text=\"Revisi\"/>\n<l:gentext key=\"sect1\" text=\"Bagian\"/>\n<l:gentext key=\"sect2\" text=\"Bagian\"/>\n<l:gentext key=\"sect3\" text=\"Bagian\"/>\n<l:gentext key=\"sect4\" text=\"Bagian\"/>\n<l:gentext key=\"sect5\" text=\"Bagian\"/>\n<l:gentext key=\"section\" text=\"bagian\"/>\n<l:gentext key=\"Section\" text=\"Bagian\"/>\n<l:gentext key=\"see\" text=\"lihat\"/>\n<l:gentext key=\"See\" text=\"Lihat\"/>\n<l:gentext key=\"seealso\" text=\"lihat juga\"/>\n<l:gentext key=\"Seealso\" text=\"Lihat juga\"/>\n<l:gentext key=\"SeeAlso\" text=\"Lihat Juga\"/>\n<l:gentext key=\"set\" text=\"set\"/>\n<l:gentext key=\"Set\" text=\"Set\"/>\n<l:gentext key=\"setindex\" text=\"indeks set\"/>\n<l:gentext key=\"SetIndex\" text=\"Indeks Set\"/>\n<l:gentext key=\"Sidebar\" text=\"Panel Sisi\"/>\n<l:gentext key=\"sidebar\" text=\"panel sisi\"/>\n<l:gentext key=\"step\" text=\"tahap\"/>\n<l:gentext key=\"Step\" text=\"Tahap\"/>\n<l:gentext key=\"table\" text=\"Tabel\"/>\n<l:gentext key=\"Table\" text=\"Tabel\"/>\n<l:gentext key=\"task\" text=\"tugas\"/>\n<l:gentext key=\"Task\" text=\"Tugas\"/>\n<l:gentext key=\"tip\" text=\"Tip\"/>\n<l:gentext key=\"TIP\" text=\"TIP\"/>\n<l:gentext key=\"Tip\" text=\"Tip\"/>\n<l:gentext key=\"Warning\" text=\"Awas\"/>\n<l:gentext key=\"warning\" text=\"Awas\"/>\n<l:gentext key=\"WARNING\" text=\"AWAS\"/>\n<l:gentext key=\"and\" text=\"dan\"/>\n<l:gentext key=\"or\" text=\"atau\"/>\n<l:gentext key=\"by\" text=\"oleh\"/>\n<l:gentext key=\"Edited\" text=\"Disunting\"/>\n<l:gentext key=\"edited\" text=\"disunting\"/>\n<l:gentext key=\"Editedby\" text=\"Disunting oleh\"/>\n<l:gentext key=\"editedby\" text=\"disunting oleh\"/>\n<l:gentext key=\"in\" text=\"di\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Catatan\"/>\n<l:gentext key=\"Notes\" text=\"catatan\"/>\n<l:gentext key=\"Pgs\" text=\"Hal.\"/>\n<l:gentext key=\"pgs\" text=\"hal.\"/>\n<l:gentext key=\"Revisedby\" text=\"Direvisi oleh: \"/>\n<l:gentext key=\"revisedby\" text=\"direvisi oleh: \"/>\n<l:gentext key=\"TableNotes\" text=\"Catatan\"/>\n<l:gentext key=\"tablenotes\" text=\"catatan\"/>\n<l:gentext key=\"TableofContents\" text=\"Daftar Isi\"/>\n<l:gentext key=\"tableofcontents\" text=\"daftar isi\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Nama elemen tak terduga\"/>\n<l:gentext key=\"unsupported\" text=\"tidak didukung\"/>\n<l:gentext key=\"xrefto\" text=\"xref ke\"/>\n<l:gentext key=\"Authors\" text=\"Penulis\"/>\n<l:gentext key=\"copyeditor\" text=\"Pemeriksa Naskah\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Perancang Grafis\"/>\n<l:gentext key=\"productioneditor\" text=\"Penyunting Produksi\"/>\n<l:gentext key=\"technicaleditor\" text=\"Penyunting Teknis\"/>\n<l:gentext key=\"translator\" text=\"Penerjemah\"/>\n<l:gentext key=\"listofequations\" text=\"daftar persamaan\"/>\n<l:gentext key=\"ListofEquations\" text=\"Daftar Persamaan\"/>\n<l:gentext key=\"ListofExamples\" text=\"Daftar Contoh\"/>\n<l:gentext key=\"listofexamples\" text=\"daftar contoh\"/>\n<l:gentext key=\"ListofFigures\" text=\"Daftar Gambar\"/>\n<l:gentext key=\"listoffigures\" text=\"daftar gambar\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Daftar Prosedur\"/>\n<l:gentext key=\"listofprocedures\" text=\"daftar prosedur\"/>\n<l:gentext key=\"listoftables\" text=\"daftar tabel\"/>\n<l:gentext key=\"ListofTables\" text=\"Daftar Tabel\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Daftar Tidak Dikenal\"/>\n<l:gentext key=\"listofunknown\" text=\"daftar tidak dikenal\"/>\n<l:gentext key=\"nav-home\" text=\"Depan\"/>\n<l:gentext key=\"nav-next\" text=\"Lanjut\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Lompat ke Depan\"/>\n<l:gentext key=\"nav-prev\" text=\"Sebelumnya\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Lompat ke Belakang\"/>\n<l:gentext key=\"nav-up\" text=\"Induk\"/>\n<l:gentext key=\"nav-toc\" text=\"Daftar Isi\"/>\n<l:gentext key=\"Draft\" text=\"Draf\"/>\n<l:gentext key=\"above\" text=\"di atas\"/>\n<l:gentext key=\"below\" text=\"di bawah\"/>\n<l:gentext key=\"sectioncalled\" text=\"bagian bernama\"/>\n<l:gentext key=\"index symbols\" text=\"Simbol\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Lampiran %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Bab %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Persamaan %n. %t\"/>\n<l:template name=\"example\" text=\"Contoh %n. %t\"/>\n<l:template name=\"figure\" text=\"Gambar %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Bagian %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Prosedur %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"produksi %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabel %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Lampiran %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Bab %n. %t\"/>\n<l:template name=\"part\" text=\"Bagian %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"Jawab: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Tanya: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Tanya: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" di %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (halaman %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(halaman %p)\"/>\n<l:template name=\"docname\" text=\" di %o\"/>\n<l:template name=\"docnamelong\" text=\" pada dokumen berjudul %o\"/>\n<l:template name=\"pageabbrev\" text=\"(h. %p)\"/>\n<l:template name=\"Page\" text=\"Halaman %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"bagian bernama “%t”\"/>\n<l:template name=\"refsection\" text=\"bagian bernama “%t”\"/>\n<l:template name=\"refsect1\" text=\"bagian bernama “%t”\"/>\n<l:template name=\"refsect2\" text=\"bagian bernama “%t”\"/>\n<l:template name=\"refsect3\" text=\"bagian bernama “%t”\"/>\n<l:template name=\"sect1\" text=\"bagian bernama “%t”\"/>\n<l:template name=\"sect2\" text=\"bagian bernama “%t”\"/>\n<l:template name=\"sect3\" text=\"bagian bernama “%t”\"/>\n<l:template name=\"sect4\" text=\"bagian bernama “%t”\"/>\n<l:template name=\"sect5\" text=\"bagian bernama “%t”\"/>\n<l:template name=\"section\" text=\"bagian bernama “%t”\"/>\n<l:template name=\"simplesect\" text=\"bagian bernama “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Jawab: %n\"/>\n<l:template name=\"appendix\" text=\"Lampiran %n\"/>\n<l:template name=\"bridgehead\" text=\"Bagian %n\"/>\n<l:template name=\"chapter\" text=\"Bab %n\"/>\n<l:template name=\"equation\" text=\"Persamaan %n\"/>\n<l:template name=\"example\" text=\"Contoh %n\"/>\n<l:template name=\"figure\" text=\"Gambar %n\"/>\n<l:template name=\"part\" text=\"Bagian %n\"/>\n<l:template name=\"procedure\" text=\"Prosedur %n\"/>\n<l:template name=\"productionset\" text=\"produksi %n\"/>\n<l:template name=\"qandadiv\" text=\"Tanya dan Jawab %n\"/>\n<l:template name=\"qandaentry\" text=\"Tanya: %n\"/>\n<l:template name=\"question\" text=\"Tanya: %n\"/>\n<l:template name=\"sect1\" text=\"Bagian %n\"/>\n<l:template name=\"sect2\" text=\"Bagian %n\"/>\n<l:template name=\"sect3\" text=\"Bagian %n\"/>\n<l:template name=\"sect4\" text=\"Bagian %n\"/>\n<l:template name=\"sect5\" text=\"Bagian %n\"/>\n<l:template name=\"section\" text=\"Bagian %n\"/>\n<l:template name=\"table\" text=\"Tabel %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Lampiran %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Bagian %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Bab %n, %t\"/>\n<l:template name=\"equation\" text=\"Persamaan %n, “%t”\"/>\n<l:template name=\"example\" text=\"Contoh %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Gambar %n, “%t”\"/>\n<l:template name=\"part\" text=\"Bagian %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Prosedur %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"produksi %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"Tanya dan Jawab %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"bagian bernama “%t”\"/>\n<l:template name=\"refsect2\" text=\"bagian bernama “%t”\"/>\n<l:template name=\"refsect3\" text=\"bagian bernama “%t”\"/>\n<l:template name=\"refsection\" text=\"bagian bernama “%t”\"/>\n<l:template name=\"sect1\" text=\"Bagian %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Bagian %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Bagian %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Bagian %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Bagian %n, “%t”\"/>\n<l:template name=\"section\" text=\"Bagian %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"bagian bernama “%t”\"/>\n<l:template name=\"table\" text=\"Tabel %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" dan \"/>\n<l:template name=\"seplast\" text=\", dan \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Lihat %t.\"/>\n<l:template name=\"seealso\" text=\"Lihat Juga %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Pemirsa: \"/>\n<l:template name=\"MsgLevel\" text=\"Tingkatan: \"/>\n<l:template name=\"MsgOrig\" text=\"Asal: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Januari\"/>\n<l:template name=\"February\" text=\"Februari\"/>\n<l:template name=\"March\" text=\"Maret\"/>\n<l:template name=\"April\" text=\"April\"/>\n<l:template name=\"May\" text=\"Mei\"/>\n<l:template name=\"June\" text=\"Juni\"/>\n<l:template name=\"July\" text=\"Juli\"/>\n<l:template name=\"August\" text=\"Agustus\"/>\n<l:template name=\"September\" text=\"September\"/>\n<l:template name=\"October\" text=\"Oktober\"/>\n<l:template name=\"November\" text=\"November\"/>\n<l:template name=\"December\" text=\"Desember\"/>\n<l:template name=\"Monday\" text=\"Senin\"/>\n<l:template name=\"Tuesday\" text=\"Selasa\"/>\n<l:template name=\"Wednesday\" text=\"Rabu\"/>\n<l:template name=\"Thursday\" text=\"Kamis\"/>\n<l:template name=\"Friday\" text=\"Jumat\"/>\n<l:template name=\"Saturday\" text=\"Sabtu\"/>\n<l:template name=\"Sunday\" text=\"Ahad\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\"/>\n<l:template name=\"Feb\" text=\"Feb\"/>\n<l:template name=\"Mar\" text=\"Mar\"/>\n<l:template name=\"Apr\" text=\"Apr\"/>\n<l:template name=\"May\" text=\"Mei\"/>\n<l:template name=\"Jun\" text=\"Jun\"/>\n<l:template name=\"Jul\" text=\"Jul\"/>\n<l:template name=\"Aug\" text=\"Aug\"/>\n<l:template name=\"Sep\" text=\"Sep\"/>\n<l:template name=\"Oct\" text=\"Okt\"/>\n<l:template name=\"Nov\" text=\"Nov\"/>\n<l:template name=\"Dec\" text=\"Des\"/>\n<l:template name=\"Mon\" text=\"Sen\"/>\n<l:template name=\"Tue\" text=\"Sel\"/>\n<l:template name=\"Wed\" text=\"Rab\"/>\n<l:template name=\"Thu\" text=\"Kam\"/>\n<l:template name=\"Fri\" text=\"Jum\"/>\n<l:template name=\"Sat\" text=\"Sab\"/>\n<l:template name=\"Sun\" text=\"Aha\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0421 Bahasa Indonesia (INDONESIA)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Simbol</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/insertfile.xsl",
    "content": "<?xml version='1.0'?>\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:xi=\"http://www.w3.org/2001/XInclude\"\n                version='1.0'>\n\n<!-- ********************************************************************\n     $Id: insertfile.xsl 5262 2005-10-12 14:58:42Z xmldoc $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<xsl:param name=\"textdata.default.encoding\"></xsl:param>\n\n<!-- * This stylesheet makes a copy of a source tree, replacing all -->\n<!-- * instances of the following with corresponding Xinclude instances -->\n<!-- * in the result tree. -->\n<!-- * -->\n<!-- *   <textobject><textdata fileref=\"foo.txt\"> -->\n<!-- *   <imagedata format=\"linespecific\" fileref=\"foo.txt\"> -->\n<!-- *   <inlinegraphic format=\"linespecific\" fileref=\"foo.txt\"> -->\n<!-- * -->\n<!-- * Those become: -->\n<!-- * -->\n<!-- *   <xi:include href=\"foo.txt\" parse=\"text\"/> -->\n<!-- * -->\n<!-- * It also works as expected with entityref in place of fileref, -->\n<!-- * and copies over the value of the <textdata>“encoding” atrribute (if -->\n<!-- * found). It is basically intended as an alternative to using the -->\n<!-- * DocBook XSLT Java insertfile() extension. -->\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"get.external.filename\">\n  <xsl:choose>\n    <xsl:when test=\"@entityref\">\n      <xsl:value-of select=\"unparsed-entity-uri(@entityref)\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"@fileref\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"textobject[child::textdata[@entityref|@fileref]]\">\n  <xsl:apply-templates select=\"textdata\"/>\n</xsl:template>\n\n<xsl:template match=\"textdata[@entityref|@fileref]\">\n  <xsl:variable name=\"filename\">\n    <xsl:call-template name=\"get.external.filename\"/>\n  </xsl:variable>\n  <xsl:variable name=\"encoding\">\n    <xsl:choose>\n      <xsl:when test=\"@encoding\">\n        <xsl:value-of select=\"@encoding\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$textdata.default.encoding\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n  <xi:include href=\"{$filename}\" parse=\"text\" encoding=\"{$encoding}\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template\n    match=\"inlinemediaobject\n           [child::imageobject\n           [child::imagedata\n           [@format = 'linespecific' and\n           (@entityref|@fileref)]]]\">\n  <xsl:apply-templates select=\"imageobject/imagedata\"/>\n</xsl:template>\n\n<xsl:template match=\"imagedata\n                     [@format = 'linespecific' and\n                     (@entityref|@fileref)]\">\n  <xsl:variable name=\"filename\">\n    <xsl:call-template name=\"get.external.filename\"/>\n  </xsl:variable>\n  <xi:include href=\"{$filename}\" parse=\"text\" encoding=\"{$textdata.default.encoding}\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"inlinegraphic\n                     [@format = 'linespecific' and\n                     (@entityref|@fileref)]\">\n  <xsl:variable name=\"filename\">\n    <xsl:call-template name=\"get.external.filename\"/>\n  </xsl:variable>\n  <xi:include href=\"{$filename}\" parse=\"text\" encoding=\"{$textdata.default.encoding}\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<!-- * copy everything else into result tree as-is -->\n<xsl:template match=\"node() | @*\">\n  <xsl:copy>\n    <xsl:apply-templates select=\"@* | node()\"/>\n  </xsl:copy>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/is.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"is\" english-language-name=\"Icelandic\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/is.xml -->\n<!-- * -->\n<!-- * E-mail the edited is.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Ágrip\"/>\n<l:gentext key=\"abstract\" text=\"ágrip\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Þakkarorð\"/>\n<l:gentext key=\"acknowledgements\" text=\"þakkarorð\"/>\n<l:gentext key=\"Answer\" text=\"Svar\"/>\n<l:gentext key=\"answer\" text=\"svar\"/>\n<l:gentext key=\"Appendix\" text=\"Viðauki\"/>\n<l:gentext key=\"appendix\" text=\"viðauki\"/>\n<l:gentext key=\"Article\" text=\"Grein\"/>\n<l:gentext key=\"article\" text=\"grein\"/>\n<l:gentext key=\"Author\" text=\"Höfundur\"/>\n<l:gentext key=\"Bibliography\" text=\"Heimildaskrá\"/>\n<l:gentext key=\"bibliography\" text=\"heimildaskrá\"/>\n<l:gentext key=\"Book\" text=\"Bók\"/>\n<l:gentext key=\"book\" text=\"bók\"/>\n<l:gentext key=\"CAUTION\" text=\"ATH\"/>\n<l:gentext key=\"Caution\" text=\"Athugið\"/>\n<l:gentext key=\"caution\" text=\"athugið\"/>\n<l:gentext key=\"Chapter\" text=\"Kafli\"/>\n<l:gentext key=\"chapter\" text=\"kafli\"/>\n<l:gentext key=\"Colophon\" text=\"Útgáfuupplýsingar\"/>\n<l:gentext key=\"colophon\" text=\"Útgáfuupplýsingar\"/>\n<l:gentext key=\"Copyright\" text=\"Höfundaréttur\"/>\n<l:gentext key=\"copyright\" text=\"höfundaréttur\"/>\n<l:gentext key=\"Dedication\" text=\"Tileinkun\"/>\n<l:gentext key=\"dedication\" text=\"tileinkun\"/>\n<l:gentext key=\"Edition\" text=\"Útgáfa\"/>\n<l:gentext key=\"edition\" text=\"útgáfa\"/>\n<l:gentext key=\"Editor\" text=\"Ritstjórn\"/>\n<l:gentext key=\"Equation\" text=\"Formúla\"/>\n<l:gentext key=\"equation\" text=\"formúla\"/>\n<l:gentext key=\"Example\" text=\"Dæmi\"/>\n<l:gentext key=\"example\" text=\"dæmi\"/>\n<l:gentext key=\"Figure\" text=\"Skýringamynd\"/>\n<l:gentext key=\"figure\" text=\"skýringamynd\"/>\n<l:gentext key=\"Glossary\" text=\"Orðalisti\"/>\n<l:gentext key=\"glossary\" text=\"orðalisti\"/>\n<l:gentext key=\"GlossSee\" text=\"Sjá\"/>\n<l:gentext key=\"glosssee\" text=\"sjá\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Sjá einnig\"/>\n<l:gentext key=\"glossseealso\" text=\"sjá einnig\"/>\n<l:gentext key=\"IMPORTANT\" text=\"MIKILVÆGT\"/>\n<l:gentext key=\"important\" text=\"mikilvægt\"/>\n<l:gentext key=\"Important\" text=\"Mikilvægt\"/>\n<l:gentext key=\"Index\" text=\"Atriðaskrá\"/>\n<l:gentext key=\"index\" text=\"atriðaskrá\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"isbn\"/>\n<l:gentext key=\"LegalNotice\" text=\"Lagalegur fyrirvari\"/>\n<l:gentext key=\"legalnotice\" text=\"lagalegur fyrirvari\"/>\n<l:gentext key=\"MsgAud\" text=\"Markhópur\"/>\n<l:gentext key=\"msgaud\" text=\"markhópur\"/>\n<l:gentext key=\"MsgLevel\" text=\"Stig\"/>\n<l:gentext key=\"msglevel\" text=\"stig\"/>\n<l:gentext key=\"MsgOrig\" text=\"Uppruni\"/>\n<l:gentext key=\"msgorig\" text=\"uppruni\"/>\n<l:gentext key=\"NOTE\" text=\"ATHUGASEMD\"/>\n<l:gentext key=\"Note\" text=\"Athugasemd\"/>\n<l:gentext key=\"note\" text=\"athugasemd\"/>\n<l:gentext key=\"Part\" text=\"Hluti\"/>\n<l:gentext key=\"part\" text=\"hluti\"/>\n<l:gentext key=\"Preface\" text=\"Formáli\"/>\n<l:gentext key=\"preface\" text=\"formáli\"/>\n<l:gentext key=\"Procedure\" text=\"Vinnuferli\"/>\n<l:gentext key=\"procedure\" text=\"vinnuferli\"/>\n<l:gentext key=\"ProductionSet\" text=\"Framleiðsla\"/>\n<l:gentext key=\"PubDate\" text=\"Birtingardagur\"/>\n<l:gentext key=\"pubdate\" text=\"birtingardagur\"/>\n<l:gentext key=\"Published\" text=\"Útgefið\"/>\n<l:gentext key=\"published\" text=\"útgefið\"/>\n<l:gentext key=\"Publisher\" text=\"Útgefandi\"/>\n<l:gentext key=\"Qandadiv\" text=\"Spurning og svör\"/>\n<l:gentext key=\"qandadiv\" text=\"spurning og svör\"/>\n<l:gentext key=\"QandASet\" text=\"Algengar Spurningar\"/>\n<l:gentext key=\"Question\" text=\"Spurning\"/>\n<l:gentext key=\"question\" text=\"spurning\"/>\n<l:gentext key=\"RefEntry\" text=\"Færsla\"/>\n<l:gentext key=\"refentry\" text=\"færsla\"/>\n<l:gentext key=\"Reference\" text=\"Heimild\"/>\n<l:gentext key=\"reference\" text=\"heimild\"/>\n<l:gentext key=\"References\" text=\"Heimildir\"/>\n<l:gentext key=\"RefName\" text=\"Heiti\"/>\n<l:gentext key=\"refname\" text=\"heiti\"/>\n<l:gentext key=\"RefSection\" text=\"Grein\"/>\n<l:gentext key=\"refsection\" text=\"grein\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Samantekt\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"samantekt\"/>\n<l:gentext key=\"RevHistory\" text=\"Yfirferðarferill\"/>\n<l:gentext key=\"revhistory\" text=\"yfirferðarferill\"/>\n<l:gentext key=\"revision\" text=\"yfirfarið\"/>\n<l:gentext key=\"Revision\" text=\"Yfirfarið\"/>\n<l:gentext key=\"sect1\" text=\"grein\"/>\n<l:gentext key=\"sect2\" text=\"grein\"/>\n<l:gentext key=\"sect3\" text=\"grein\"/>\n<l:gentext key=\"sect4\" text=\"grein\"/>\n<l:gentext key=\"sect5\" text=\"grein\"/>\n<l:gentext key=\"section\" text=\"grein\"/>\n<l:gentext key=\"Section\" text=\"Grein\"/>\n<l:gentext key=\"see\" text=\"sjá\"/>\n<l:gentext key=\"See\" text=\"Sjá\"/>\n<l:gentext key=\"seealso\" text=\"sjá einnig\"/>\n<l:gentext key=\"Seealso\" text=\"Sjá einnig\"/>\n<l:gentext key=\"SeeAlso\" text=\"Sjá einnig\"/>\n<l:gentext key=\"set\" text=\"setja\"/>\n<l:gentext key=\"Set\" text=\"Setja\"/>\n<l:gentext key=\"setindex\" text=\"stilla yfirlit\"/>\n<l:gentext key=\"SetIndex\" text=\"Stilla yfirlit\"/>\n<l:gentext key=\"Sidebar\" text=\"Hliðarslá\"/>\n<l:gentext key=\"sidebar\" text=\"hliðarslá\"/>\n<l:gentext key=\"step\" text=\"skref\"/>\n<l:gentext key=\"Step\" text=\"Skref\"/>\n<l:gentext key=\"table\" text=\"tafla\"/>\n<l:gentext key=\"Table\" text=\"Tafla\"/>\n<l:gentext key=\"task\" text=\"Verk\"/>\n<l:gentext key=\"Task\" text=\"verk\"/>\n<l:gentext key=\"tip\" text=\"ábending\"/>\n<l:gentext key=\"TIP\" text=\"ÁBENDING\"/>\n<l:gentext key=\"Tip\" text=\"Ábending\"/>\n<l:gentext key=\"Warning\" text=\"Aðvörun\"/>\n<l:gentext key=\"warning\" text=\"aðvörun\"/>\n<l:gentext key=\"WARNING\" text=\"AĐVÖRUN\"/>\n<l:gentext key=\"and\" text=\"og\"/>\n<l:gentext key=\"or\" text=\"eða\"/>\n<l:gentext key=\"by\" text=\"af\"/>\n<l:gentext key=\"Edited\" text=\"Ritstýrt\"/>\n<l:gentext key=\"edited\" text=\"ritstýrt\"/>\n<l:gentext key=\"Editedby\" text=\"Ritstýrt af\"/>\n<l:gentext key=\"editedby\" text=\"ritstýrt af\"/>\n<l:gentext key=\"in\" text=\"í\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"athugasemdir\"/>\n<l:gentext key=\"Notes\" text=\"Athugasemdir\"/>\n<l:gentext key=\"Pgs\" text=\"Bls.\"/>\n<l:gentext key=\"pgs\" text=\"bls.\"/>\n<l:gentext key=\"Revisedby\" text=\"Yfirfarið af: \"/>\n<l:gentext key=\"revisedby\" text=\"yfirfarið af: \"/>\n<l:gentext key=\"TableNotes\" text=\"athugasemdir\"/>\n<l:gentext key=\"tablenotes\" text=\"Athugasemdir\"/>\n<l:gentext key=\"TableofContents\" text=\"Efnisyfirlit\"/>\n<l:gentext key=\"tableofcontents\" text=\"efnisyfirlit\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"óvænt heiti á einingu\"/>\n<l:gentext key=\"unsupported\" text=\"óstutt\"/>\n<l:gentext key=\"xrefto\" text=\"xref í\"/>\n<l:gentext key=\"Authors\" text=\"Höfundar\"/>\n<l:gentext key=\"copyeditor\" text=\"\"/>\n<l:gentext key=\"graphicdesigner\" text=\"\"/>\n<l:gentext key=\"productioneditor\" text=\"\"/>\n<l:gentext key=\"technicaleditor\" text=\"\"/>\n<l:gentext key=\"translator\" text=\"þýðandi\"/>\n<l:gentext key=\"listofequations\" text=\"yfirlit yfir formúlur\"/>\n<l:gentext key=\"ListofEquations\" text=\"Yfirlit yfir formúlur\"/>\n<l:gentext key=\"ListofExamples\" text=\"Yfirlit yfir dæmi\"/>\n<l:gentext key=\"listofexamples\" text=\"yfirlit yfir dæmi\"/>\n<l:gentext key=\"ListofFigures\" text=\"Yfirlit yfir myndir\"/>\n<l:gentext key=\"listoffigures\" text=\"yfirlit yfir myndir\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Yfirlit yfir verklag\"/>\n<l:gentext key=\"listofprocedures\" text=\"yfirlit yfir verklag\"/>\n<l:gentext key=\"listoftables\" text=\"yfirlit yfir töflur\"/>\n<l:gentext key=\"ListofTables\" text=\"Yfirlit yfir töflur\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Yfirlit yfir óskilgreint\"/>\n<l:gentext key=\"listofunknown\" text=\"yfirlit yfir óskilgreint\"/>\n<l:gentext key=\"nav-home\" text=\"Heim\"/>\n<l:gentext key=\"nav-next\" text=\"Næsta\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"\"/>\n<l:gentext key=\"nav-prev\" text=\"Fyrra\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"\"/>\n<l:gentext key=\"nav-up\" text=\"Upp\"/>\n<l:gentext key=\"nav-toc\" text=\"Efnisyfirlit\"/>\n<l:gentext key=\"Draft\" text=\"Uppkast\"/>\n<l:gentext key=\"above\" text=\"ofan\"/>\n<l:gentext key=\"below\" text=\"neðar\"/>\n<l:gentext key=\"sectioncalled\" text=\"\"/>\n<l:gentext key=\"index symbols\" text=\"tákn\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"aábdðeéfghiíjklmnoóprstuúvxyýþæö\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"AÁBDĐEÉFGHIÍJKLMNOÓPRSTUÚVXYÝÞÆÖ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÁáBbCcDdĐðEeÉéFfGgHhIiÍíJjKkLlMmNnOoÓóPpQqRrSsTtUuÚúVvWwXxYyÝýZzÞþÆæÖö\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAÁÁBBCCDDĐĐEEÉÉFFGGHHIIÍÍJJKKLLMMNNOOÓÓPPQQRRSSTTUUÚÚVVWWXXYYÝÝZZÞÞÆÆÖÖ\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Viðauki %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Kafli %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Formúla %n. %t\"/>\n<l:template name=\"example\" text=\"Dæmi %n. %t\"/>\n<l:template name=\"figure\" text=\"Skýringamynd %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Hluti %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Vinnuferli %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Framleiðsla %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tafla %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Viðauki %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Kafli %n. %t\"/>\n<l:template name=\"part\" text=\"Hluti %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"Svar %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Spurning %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Spurning %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(blaðsíða %p)\"/>\n<l:template name=\"docname\" text=\" í %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(bls. %p)\"/>\n<l:template name=\"Page\" text=\"Blaðsíða %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\" “%t”\"/>\n<l:template name=\"refsection\" text=\" “%t”\"/>\n<l:template name=\"refsect1\" text=\" “%t”\"/>\n<l:template name=\"refsect2\" text=\" “%t”\"/>\n<l:template name=\"refsect3\" text=\" “%t”\"/>\n<l:template name=\"sect1\" text=\" “%t”\"/>\n<l:template name=\"sect2\" text=\" “%t”\"/>\n<l:template name=\"sect3\" text=\" “%t”\"/>\n<l:template name=\"sect4\" text=\" “%t”\"/>\n<l:template name=\"sect5\" text=\" “%t”\"/>\n<l:template name=\"section\" text=\" “%t”\"/>\n<l:template name=\"simplesect\" text=\" “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Svar %n\"/>\n<l:template name=\"appendix\" text=\"Viðauki %n\"/>\n<l:template name=\"bridgehead\" text=\"Grein %n\"/>\n<l:template name=\"chapter\" text=\"Kafli %n\"/>\n<l:template name=\"equation\" text=\"Formúla %n\"/>\n<l:template name=\"example\" text=\"Dæmi %n\"/>\n<l:template name=\"figure\" text=\"Skýringamynd %n\"/>\n<l:template name=\"part\" text=\"Hluti %n\"/>\n<l:template name=\"procedure\" text=\"Vinnuferli %n\"/>\n<l:template name=\"productionset\" text=\"Framleiðsla %n\"/>\n<l:template name=\"qandadiv\" text=\"Spurning og svör %n\"/>\n<l:template name=\"qandaentry\" text=\"Spurning %n\"/>\n<l:template name=\"question\" text=\"Spurning %n\"/>\n<l:template name=\"sect1\" text=\"Grein %n\"/>\n<l:template name=\"sect2\" text=\"Grein %n\"/>\n<l:template name=\"sect3\" text=\"Grein %n\"/>\n<l:template name=\"sect4\" text=\"Grein %n\"/>\n<l:template name=\"sect5\" text=\"Grein %n\"/>\n<l:template name=\"section\" text=\"Grein %n\"/>\n<l:template name=\"table\" text=\"Tafla %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Viðauki %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Grein %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Kafli %n, %t\"/>\n<l:template name=\"equation\" text=\"Formúla %n, “%t”\"/>\n<l:template name=\"example\" text=\"Dæmi %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Skýringamynd %n, “%t”\"/>\n<l:template name=\"part\" text=\"Hluti %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Vinnuferli %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Framleiðsla %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"Spurning og svör %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\" “%t”\"/>\n<l:template name=\"refsect2\" text=\" “%t”\"/>\n<l:template name=\"refsect3\" text=\" “%t”\"/>\n<l:template name=\"refsection\" text=\" “%t”\"/>\n<l:template name=\"sect1\" text=\"Grein %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Grein %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Grein %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Grein %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Grein %n, “%t”\"/>\n<l:template name=\"section\" text=\"Grein %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\" “%t”\"/>\n<l:template name=\"table\" text=\"Tafla %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" og \"/>\n<l:template name=\"seplast\" text=\", og \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Sjá %t.\"/>\n<l:template name=\"seealso\" text=\"Sjá einnig %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Markhópur: \"/>\n<l:template name=\"MsgLevel\" text=\"Stig: \"/>\n<l:template name=\"MsgOrig\" text=\"Uppruni: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d-m-Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Janúar\"/>\n<l:template name=\"February\" text=\"Febrúar\"/>\n<l:template name=\"March\" text=\"Mars\"/>\n<l:template name=\"April\" text=\"Apríl\"/>\n<l:template name=\"May\" text=\"Maí\"/>\n<l:template name=\"June\" text=\"Júní\"/>\n<l:template name=\"July\" text=\"Júlí\"/>\n<l:template name=\"August\" text=\"Ágúst\"/>\n<l:template name=\"September\" text=\"September\"/>\n<l:template name=\"October\" text=\"Október\"/>\n<l:template name=\"November\" text=\"Nóvember\"/>\n<l:template name=\"December\" text=\"Desember\"/>\n<l:template name=\"Monday\" text=\"Mánudagur\"/>\n<l:template name=\"Tuesday\" text=\"Þriðjudagur\"/>\n<l:template name=\"Wednesday\" text=\"Miðvikudagur\"/>\n<l:template name=\"Thursday\" text=\"Fimmtudagur\"/>\n<l:template name=\"Friday\" text=\"Föstudagur\"/>\n<l:template name=\"Saturday\" text=\"Laugardagur\"/>\n<l:template name=\"Sunday\" text=\"Sunnudagur\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\"/>\n<l:template name=\"Feb\" text=\"Feb\"/>\n<l:template name=\"Mar\" text=\"Mar\"/>\n<l:template name=\"Apr\" text=\"Apr\"/>\n<l:template name=\"May\" text=\"Maí\"/>\n<l:template name=\"Jun\" text=\"Jún\"/>\n<l:template name=\"Jul\" text=\"Júl\"/>\n<l:template name=\"Aug\" text=\"Ágú\"/>\n<l:template name=\"Sep\" text=\"Sep\"/>\n<l:template name=\"Oct\" text=\"Okt\"/>\n<l:template name=\"Nov\" text=\"Nóv\"/>\n<l:template name=\"Dec\" text=\"Des\"/>\n<l:template name=\"Mon\" text=\"Mán\"/>\n<l:template name=\"Tue\" text=\"Þri\"/>\n<l:template name=\"Wed\" text=\"Mið\"/>\n<l:template name=\"Thu\" text=\"Fim\"/>\n<l:template name=\"Fri\" text=\"Fös\"/>\n<l:template name=\"Sat\" text=\"Lau\"/>\n<l:template name=\"Sun\" text=\"Sun\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x040F  Icelandic\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">tákn</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">Á</l:l>\n<l:l i=\"20\">á</l:l>\n<l:l i=\"30\">B</l:l>\n<l:l i=\"30\">b</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">Đ</l:l>\n<l:l i=\"50\">ð</l:l>\n<l:l i=\"60\">E</l:l>\n<l:l i=\"60\">e</l:l>\n<l:l i=\"70\">É</l:l>\n<l:l i=\"70\">é</l:l>\n<l:l i=\"80\">F</l:l>\n<l:l i=\"80\">f</l:l>\n<l:l i=\"90\">G</l:l>\n<l:l i=\"90\">g</l:l>\n<l:l i=\"100\">H</l:l>\n<l:l i=\"100\">h</l:l>\n<l:l i=\"110\">I</l:l>\n<l:l i=\"110\">i</l:l>\n<l:l i=\"120\">Í</l:l>\n<l:l i=\"120\">í</l:l>\n<l:l i=\"130\">J</l:l>\n<l:l i=\"130\">j</l:l>\n<l:l i=\"140\">K</l:l>\n<l:l i=\"140\">k</l:l>\n<l:l i=\"150\">L</l:l>\n<l:l i=\"150\">l</l:l>\n<l:l i=\"160\">M</l:l>\n<l:l i=\"160\">m</l:l>\n<l:l i=\"170\">N</l:l>\n<l:l i=\"170\">n</l:l>\n<l:l i=\"180\">O</l:l>\n<l:l i=\"180\">o</l:l>\n<l:l i=\"190\">Ó</l:l>\n<l:l i=\"190\">ó</l:l>\n<l:l i=\"200\">P</l:l>\n<l:l i=\"200\">p</l:l>\n<l:l i=\"210\">R</l:l>\n<l:l i=\"210\">r</l:l>\n<l:l i=\"220\">S</l:l>\n<l:l i=\"220\">s</l:l>\n<l:l i=\"230\">T</l:l>\n<l:l i=\"230\">t</l:l>\n<l:l i=\"240\">U</l:l>\n<l:l i=\"240\">u</l:l>\n<l:l i=\"250\">Ú</l:l>\n<l:l i=\"250\">ú</l:l>\n<l:l i=\"260\">V</l:l>\n<l:l i=\"260\">v</l:l>\n<l:l i=\"270\">X</l:l>\n<l:l i=\"270\">x</l:l>\n<l:l i=\"280\">Y</l:l>\n<l:l i=\"280\">y</l:l>\n<l:l i=\"290\">Ý</l:l>\n<l:l i=\"290\">ý</l:l>\n<l:l i=\"300\">Þ</l:l>\n<l:l i=\"300\">þ</l:l>\n<l:l i=\"310\">Æ</l:l>\n<l:l i=\"310\">æ</l:l>\n<l:l i=\"320\">Ö</l:l>\n<l:l i=\"320\">ö</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/it.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"it\" english-language-name=\"Italian\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/it.xml -->\n<!-- * -->\n<!-- * E-mail the edited it.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Sommario\"/>\n<l:gentext key=\"abstract\" text=\"Sommario\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"Risposta:\"/>\n<l:gentext key=\"answer\" text=\"Risposta:\"/>\n<l:gentext key=\"Appendix\" text=\"Appendice\"/>\n<l:gentext key=\"appendix\" text=\"Appendice\"/>\n<l:gentext key=\"Article\" text=\"Articolo\"/>\n<l:gentext key=\"article\" text=\"Articolo\"/>\n<l:gentext key=\"Author\" text=\"Autore\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografia\"/>\n<l:gentext key=\"bibliography\" text=\"Bibliografia\"/>\n<l:gentext key=\"Book\" text=\"Libro\"/>\n<l:gentext key=\"book\" text=\"Libro\"/>\n<l:gentext key=\"CAUTION\" text=\"ATTENZIONE\"/>\n<l:gentext key=\"Caution\" text=\"Attenzione\"/>\n<l:gentext key=\"caution\" text=\"Attenzione\"/>\n<l:gentext key=\"Chapter\" text=\"Capitolo\"/>\n<l:gentext key=\"chapter\" text=\"Capitolo\"/>\n<l:gentext key=\"Colophon\" text=\"Colofone\"/>\n<l:gentext key=\"colophon\" text=\"Colofone\"/>\n<l:gentext key=\"Copyright\" text=\"Diritto d'autore\"/>\n<l:gentext key=\"copyright\" text=\"Diritto d'autore\"/>\n<l:gentext key=\"Dedication\" text=\"Dedica\"/>\n<l:gentext key=\"dedication\" text=\"Dedica\"/>\n<l:gentext key=\"Edition\" text=\"Edizione\"/>\n<l:gentext key=\"edition\" text=\"Edizione\"/>\n<l:gentext key=\"Editor\" text=\"Editor\"/>\n<l:gentext key=\"Equation\" text=\"Equazione\"/>\n<l:gentext key=\"equation\" text=\"Equazione\"/>\n<l:gentext key=\"Example\" text=\"Esempio\"/>\n<l:gentext key=\"example\" text=\"Esempio\"/>\n<l:gentext key=\"Figure\" text=\"Figura\"/>\n<l:gentext key=\"figure\" text=\"Figura\"/>\n<l:gentext key=\"Glossary\" text=\"Glossario\"/>\n<l:gentext key=\"glossary\" text=\"Glossario\"/>\n<l:gentext key=\"GlossSee\" text=\"Vedi\"/>\n<l:gentext key=\"glosssee\" text=\"Vedi\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Vedi anche\"/>\n<l:gentext key=\"glossseealso\" text=\"Vedi anche\"/>\n<l:gentext key=\"IMPORTANT\" text=\"IMPORTANTE\"/>\n<l:gentext key=\"important\" text=\"Importante\"/>\n<l:gentext key=\"Important\" text=\"Importante\"/>\n<l:gentext key=\"Index\" text=\"Indice analitico\"/>\n<l:gentext key=\"index\" text=\"Indice analitico\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Nota Legale\"/>\n<l:gentext key=\"legalnotice\" text=\"Nota Legale\"/>\n<l:gentext key=\"MsgAud\" text=\"Pubblico\"/>\n<l:gentext key=\"msgaud\" text=\"Pubblico\"/>\n<l:gentext key=\"MsgLevel\" text=\"Livello\"/>\n<l:gentext key=\"msglevel\" text=\"Livello\"/>\n<l:gentext key=\"MsgOrig\" text=\"Origine\"/>\n<l:gentext key=\"msgorig\" text=\"Origine\"/>\n<l:gentext key=\"NOTE\" text=\"NOTA\"/>\n<l:gentext key=\"Note\" text=\"Nota\"/>\n<l:gentext key=\"note\" text=\"Nota\"/>\n<l:gentext key=\"Part\" text=\"Parte\"/>\n<l:gentext key=\"part\" text=\"Parte\"/>\n<l:gentext key=\"Preface\" text=\"Prefazione\"/>\n<l:gentext key=\"preface\" text=\"Prefazione\"/>\n<l:gentext key=\"Procedure\" text=\"Procedura\"/>\n<l:gentext key=\"procedure\" text=\"Procedura\"/>\n<l:gentext key=\"ProductionSet\" text=\"Produzione\"/>\n<l:gentext key=\"PubDate\" text=\"Data di pubblicazione\"/>\n<l:gentext key=\"pubdate\" text=\"Data di pubblicazione\"/>\n<l:gentext key=\"Published\" text=\"Pubblicato\"/>\n<l:gentext key=\"published\" text=\"Pubblicato\"/>\n<l:gentext key=\"Publisher\" text=\"Editore\"/>\n<l:gentext key=\"Qandadiv\" text=\"Domande e risposte\"/>\n<l:gentext key=\"qandadiv\" text=\"Domande e risposte\"/>\n<l:gentext key=\"QandASet\" text=\"Domande ricorrenti\"/>\n<l:gentext key=\"Question\" text=\"Domanda:\"/>\n<l:gentext key=\"question\" text=\"Domanda:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Riferimento\"/>\n<l:gentext key=\"reference\" text=\"Riferimento\"/>\n<l:gentext key=\"References\" text=\"Riferimenti\"/>\n<l:gentext key=\"RefName\" text=\"Nome\"/>\n<l:gentext key=\"refname\" text=\"Nome\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Sinossi\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Sinossi\"/>\n<l:gentext key=\"RevHistory\" text=\"Diario delle Revisioni\"/>\n<l:gentext key=\"revhistory\" text=\"Diario delle Revisioni\"/>\n<l:gentext key=\"revision\" text=\"Revisione\"/>\n<l:gentext key=\"Revision\" text=\"Revisione\"/>\n<l:gentext key=\"sect1\" text=\"Sezione\"/>\n<l:gentext key=\"sect2\" text=\"Sezione\"/>\n<l:gentext key=\"sect3\" text=\"Sezione\"/>\n<l:gentext key=\"sect4\" text=\"Sezione\"/>\n<l:gentext key=\"sect5\" text=\"Sezione\"/>\n<l:gentext key=\"section\" text=\"Sezione\"/>\n<l:gentext key=\"Section\" text=\"Sezione\"/>\n<l:gentext key=\"see\" text=\"vedi\"/>\n<l:gentext key=\"See\" text=\"Vedi\"/>\n<l:gentext key=\"seealso\" text=\"vedi anche\"/>\n<l:gentext key=\"Seealso\" text=\"Vedi anche\"/>\n<l:gentext key=\"SeeAlso\" text=\"Vedi Anche\"/>\n<l:gentext key=\"set\" text=\"Raccolta\"/>\n<l:gentext key=\"Set\" text=\"Raccolta\"/>\n<l:gentext key=\"setindex\" text=\"Indice della raccolta\"/>\n<l:gentext key=\"SetIndex\" text=\"Indice della raccolta\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"nota a margine\"/>\n<l:gentext key=\"step\" text=\"passo\"/>\n<l:gentext key=\"Step\" text=\"Passo\"/>\n<l:gentext key=\"table\" text=\"Tabella\"/>\n<l:gentext key=\"Table\" text=\"Tabella\"/>\n<l:gentext key=\"task\" text=\"Attività\"/>\n<l:gentext key=\"Task\" text=\"Attività\"/>\n<l:gentext key=\"tip\" text=\"Suggerimento\"/>\n<l:gentext key=\"TIP\" text=\"SUGGERIMENTO\"/>\n<l:gentext key=\"Tip\" text=\"Suggerimento\"/>\n<l:gentext key=\"Warning\" text=\"Avvertimento\"/>\n<l:gentext key=\"warning\" text=\"avvertimento\"/>\n<l:gentext key=\"WARNING\" text=\"AVVERTIMENTO\"/>\n<l:gentext key=\"and\" text=\"e\"/>\n<l:gentext key=\"or\" text=\"o\"/>\n<l:gentext key=\"by\" text=\"di\"/>\n<l:gentext key=\"Edited\" text=\"A cura\"/>\n<l:gentext key=\"edited\" text=\"A cura\"/>\n<l:gentext key=\"Editedby\" text=\"A cura di\"/>\n<l:gentext key=\"editedby\" text=\"A cura di\"/>\n<l:gentext key=\"in\" text=\"in\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Note\"/>\n<l:gentext key=\"Notes\" text=\"Note\"/>\n<l:gentext key=\"Pgs\" text=\"pp.\"/>\n<l:gentext key=\"pgs\" text=\"pp.\"/>\n<l:gentext key=\"Revisedby\" text=\"Revisionato da: \"/>\n<l:gentext key=\"revisedby\" text=\"Revisionato da: \"/>\n<l:gentext key=\"TableNotes\" text=\"Note\"/>\n<l:gentext key=\"tablenotes\" text=\"Note\"/>\n<l:gentext key=\"TableofContents\" text=\"Indice\"/>\n<l:gentext key=\"tableofcontents\" text=\"Indice\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Nome di elemento inatteso\"/>\n<l:gentext key=\"unsupported\" text=\"non supportato\"/>\n<l:gentext key=\"xrefto\" text=\"riferimento a\"/>\n<l:gentext key=\"Authors\" text=\"Autori\"/>\n<l:gentext key=\"copyeditor\" text=\"Correttore di bozze\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Progettista grafico\"/>\n<l:gentext key=\"productioneditor\" text=\"Montatore\"/>\n<l:gentext key=\"technicaleditor\" text=\"Revisore tecnico\"/>\n<l:gentext key=\"translator\" text=\"Traduttore\"/>\n<l:gentext key=\"listofequations\" text=\"Lista delle equazioni\"/>\n<l:gentext key=\"ListofEquations\" text=\"Lista delle equazioni\"/>\n<l:gentext key=\"ListofExamples\" text=\"Lista degli esempi\"/>\n<l:gentext key=\"listofexamples\" text=\"Lista degli esempi\"/>\n<l:gentext key=\"ListofFigures\" text=\"Lista delle figure\"/>\n<l:gentext key=\"listoffigures\" text=\"Lista delle figure\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Lista delle procedure\"/>\n<l:gentext key=\"listofprocedures\" text=\"Lista delle procedure\"/>\n<l:gentext key=\"listoftables\" text=\"Lista delle tabelle\"/>\n<l:gentext key=\"ListofTables\" text=\"Lista delle tabelle\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Lista degli sconosciuti\"/>\n<l:gentext key=\"listofunknown\" text=\"Lista degli sconosciuti\"/>\n<l:gentext key=\"nav-home\" text=\"Partenza\"/>\n<l:gentext key=\"nav-next\" text=\"Avanti\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Salta Avanti\"/>\n<l:gentext key=\"nav-prev\" text=\"Indietro\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Salta Indietro\"/>\n<l:gentext key=\"nav-up\" text=\"Risali\"/>\n<l:gentext key=\"nav-toc\" text=\"Sommario\"/>\n<l:gentext key=\"Draft\" text=\"Bozza\"/>\n<l:gentext key=\"above\" text=\"sopra\"/>\n<l:gentext key=\"below\" text=\"sotto\"/>\n<l:gentext key=\"sectioncalled\" text=\"sezione chiamata\"/>\n<l:gentext key=\"index symbols\" text=\"Simboli\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\"/>\n<l:dingbat key=\"startquote\" text=\"«\"/>\n<l:dingbat key=\"endquote\" text=\"»\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"“\"/>\n<l:dingbat key=\"nestedendquote\" text=\"”\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Appendice %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Capitolo %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Equazione %n. %t\"/>\n<l:template name=\"example\" text=\"Esempio %n. %t\"/>\n<l:template name=\"figure\" text=\"Figura %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Parte %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Procedura %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Produzione %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabella %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Appendice %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Capitolo %n. %t\"/>\n<l:template name=\"part\" text=\"Parte %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"Risposta: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Domanda: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Domanda: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (pagina %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(pagina %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" nel documento dal titolo %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Pagina %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"sezione chiamata «%t»\"/>\n<l:template name=\"refsection\" text=\"sezione chiamata «%t»\"/>\n<l:template name=\"refsect1\" text=\"sezione chiamata «%t»\"/>\n<l:template name=\"refsect2\" text=\"sezione chiamata «%t»\"/>\n<l:template name=\"refsect3\" text=\"sezione chiamata «%t»\"/>\n<l:template name=\"sect1\" text=\"sezione chiamata «%t»\"/>\n<l:template name=\"sect2\" text=\"sezione chiamata «%t»\"/>\n<l:template name=\"sect3\" text=\"sezione chiamata «%t»\"/>\n<l:template name=\"sect4\" text=\"sezione chiamata «%t»\"/>\n<l:template name=\"sect5\" text=\"sezione chiamata «%t»\"/>\n<l:template name=\"section\" text=\"sezione chiamata «%t»\"/>\n<l:template name=\"simplesect\" text=\"sezione chiamata «%t»\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Risposta: %n\"/>\n<l:template name=\"appendix\" text=\"Appendice %n\"/>\n<l:template name=\"bridgehead\" text=\"Sezione %n\"/>\n<l:template name=\"chapter\" text=\"Capitolo %n\"/>\n<l:template name=\"equation\" text=\"Equazione %n\"/>\n<l:template name=\"example\" text=\"Esempio %n\"/>\n<l:template name=\"figure\" text=\"Figura %n\"/>\n<l:template name=\"part\" text=\"Parte %n\"/>\n<l:template name=\"procedure\" text=\"Procedura %n\"/>\n<l:template name=\"productionset\" text=\"Produzione %n\"/>\n<l:template name=\"qandadiv\" text=\"Domande e risposte %n\"/>\n<l:template name=\"qandaentry\" text=\"Domanda: %n\"/>\n<l:template name=\"question\" text=\"Domanda: %n\"/>\n<l:template name=\"sect1\" text=\"Sezione %n\"/>\n<l:template name=\"sect2\" text=\"Sezione %n\"/>\n<l:template name=\"sect3\" text=\"Sezione %n\"/>\n<l:template name=\"sect4\" text=\"Sezione %n\"/>\n<l:template name=\"sect5\" text=\"Sezione %n\"/>\n<l:template name=\"section\" text=\"Sezione %n\"/>\n<l:template name=\"table\" text=\"Tabella %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Appendice %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Sezione %n, «%t»\"/>\n<l:template name=\"chapter\" text=\"Capitolo %n, %t\"/>\n<l:template name=\"equation\" text=\"Equazione %n, «%t»\"/>\n<l:template name=\"example\" text=\"Esempio %n, «%t»\"/>\n<l:template name=\"figure\" text=\"Figura %n, «%t»\"/>\n<l:template name=\"part\" text=\"Parte %n, «%t»\"/>\n<l:template name=\"procedure\" text=\"Procedura %n, «%t»\"/>\n<l:template name=\"productionset\" text=\"Produzione %n, «%t»\"/>\n<l:template name=\"qandadiv\" text=\"Domande e risposte %n, «%t»\"/>\n<l:template name=\"refsect1\" text=\"sezione chiamata «%t»\"/>\n<l:template name=\"refsect2\" text=\"sezione chiamata «%t»\"/>\n<l:template name=\"refsect3\" text=\"sezione chiamata «%t»\"/>\n<l:template name=\"refsection\" text=\"sezione chiamata «%t»\"/>\n<l:template name=\"sect1\" text=\"Sezione %n, «%t»\"/>\n<l:template name=\"sect2\" text=\"Sezione %n, «%t»\"/>\n<l:template name=\"sect3\" text=\"Sezione %n, «%t»\"/>\n<l:template name=\"sect4\" text=\"Sezione %n, «%t»\"/>\n<l:template name=\"sect5\" text=\"Sezione %n, «%t»\"/>\n<l:template name=\"section\" text=\"Sezione %n, «%t»\"/>\n<l:template name=\"simplesect\" text=\"sezione chiamata «%t»\"/>\n<l:template name=\"table\" text=\"Tabella %n, «%t»\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" e \"/>\n<l:template name=\"seplast\" text=\", e \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Vedi %t.\"/>\n<l:template name=\"seealso\" text=\"Vedi anche %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Pubblico: \"/>\n<l:template name=\"MsgLevel\" text=\"Livello: \"/>\n<l:template name=\"MsgOrig\" text=\"Origine: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definizione: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"gennaio\"/>\n<l:template name=\"February\" text=\"febbraio\"/>\n<l:template name=\"March\" text=\"marzo\"/>\n<l:template name=\"April\" text=\"aprile\"/>\n<l:template name=\"May\" text=\"maggio\"/>\n<l:template name=\"June\" text=\"giugno\"/>\n<l:template name=\"July\" text=\"luglio\"/>\n<l:template name=\"August\" text=\"agosto\"/>\n<l:template name=\"September\" text=\"settembre\"/>\n<l:template name=\"October\" text=\"ottobre\"/>\n<l:template name=\"November\" text=\"novembre\"/>\n<l:template name=\"December\" text=\"dicembre\"/>\n<l:template name=\"Monday\" text=\"lunedì\"/>\n<l:template name=\"Tuesday\" text=\"martedì\"/>\n<l:template name=\"Wednesday\" text=\"mercoledì\"/>\n<l:template name=\"Thursday\" text=\"giovedì\"/>\n<l:template name=\"Friday\" text=\"venerdì\"/>\n<l:template name=\"Saturday\" text=\"sabato\"/>\n<l:template name=\"Sunday\" text=\"domenica\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"gen\"/>\n<l:template name=\"Feb\" text=\"feb\"/>\n<l:template name=\"Mar\" text=\"mar\"/>\n<l:template name=\"Apr\" text=\"apr\"/>\n<l:template name=\"May\" text=\"mag\"/>\n<l:template name=\"Jun\" text=\"giu\"/>\n<l:template name=\"Jul\" text=\"lug\"/>\n<l:template name=\"Aug\" text=\"ago\"/>\n<l:template name=\"Sep\" text=\"set\"/>\n<l:template name=\"Oct\" text=\"ott\"/>\n<l:template name=\"Nov\" text=\"nov\"/>\n<l:template name=\"Dec\" text=\"dic\"/>\n<l:template name=\"Mon\" text=\"lun\"/>\n<l:template name=\"Tue\" text=\"mar\"/>\n<l:template name=\"Wed\" text=\"mer\"/>\n<l:template name=\"Thu\" text=\"gio\"/>\n<l:template name=\"Fri\" text=\"ven\"/>\n<l:template name=\"Sat\" text=\"sab\"/>\n<l:template name=\"Sun\" text=\"dom\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0410 Italian\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cit.: \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Disponibile \"/>\n<l:template name=\"acctoo\" text=\"Disponibile anche \"/>\n<l:template name=\"onwww\" text=\"sul Web\"/>\n<l:template name=\"oninet\" text=\"su Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Simboli</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/ja.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"ja\" english-language-name=\"Japanese\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/ja.xml -->\n<!-- * -->\n<!-- * E-mail the edited ja.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"概要\"/>\n<l:gentext key=\"abstract\" text=\"概要\"/>\n<l:gentext key=\"Acknowledgements\" text=\"謝辞\"/>\n<l:gentext key=\"acknowledgements\" text=\"謝辞\"/>\n<l:gentext key=\"Answer\" text=\"答：\"/>\n<l:gentext key=\"answer\" text=\"答：\"/>\n<l:gentext key=\"Appendix\" text=\"付録\"/>\n<l:gentext key=\"appendix\" text=\"付録\"/>\n<l:gentext key=\"Article\" text=\"項目\"/>\n<l:gentext key=\"article\" text=\"項目\"/>\n<l:gentext key=\"Author\" text=\"著者\"/>\n<l:gentext key=\"Bibliography\" text=\"参考文献\"/>\n<l:gentext key=\"bibliography\" text=\"参考文献\"/>\n<l:gentext key=\"Book\" text=\"ブック\"/>\n<l:gentext key=\"book\" text=\"ブック\"/>\n<l:gentext key=\"CAUTION\" text=\"注意\"/>\n<l:gentext key=\"Caution\" text=\"注意\"/>\n<l:gentext key=\"caution\" text=\"注意\"/>\n<l:gentext key=\"Chapter\" text=\"章\"/>\n<l:gentext key=\"chapter\" text=\"章\"/>\n<l:gentext key=\"Colophon\" text=\"奥付\"/>\n<l:gentext key=\"colophon\" text=\"奥付\"/>\n<l:gentext key=\"Copyright\" text=\"製作著作\"/>\n<l:gentext key=\"copyright\" text=\"製作著作\"/>\n<l:gentext key=\"Dedication\" text=\"謝辞\"/>\n<l:gentext key=\"dedication\" text=\"謝辞\"/>\n<l:gentext key=\"Edition\" text=\"エディッション\"/>\n<l:gentext key=\"edition\" text=\"エディッション\"/>\n<l:gentext key=\"Editor\" text=\"編集者\"/>\n<l:gentext key=\"Equation\" text=\"式\"/>\n<l:gentext key=\"equation\" text=\"式\"/>\n<l:gentext key=\"Example\" text=\"例\"/>\n<l:gentext key=\"example\" text=\"例\"/>\n<l:gentext key=\"Figure\" text=\"図\"/>\n<l:gentext key=\"figure\" text=\"図\"/>\n<l:gentext key=\"Glossary\" text=\"用語集\"/>\n<l:gentext key=\"glossary\" text=\"用語集\"/>\n<l:gentext key=\"GlossSee\" text=\"参照\"/>\n<l:gentext key=\"glosssee\" text=\"参照\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"参照\"/>\n<l:gentext key=\"glossseealso\" text=\"参照\"/>\n<l:gentext key=\"IMPORTANT\" text=\"重要\"/>\n<l:gentext key=\"important\" text=\"重要\"/>\n<l:gentext key=\"Important\" text=\"重要\"/>\n<l:gentext key=\"Index\" text=\"索引\"/>\n<l:gentext key=\"index\" text=\"索引\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"法律上の通知\"/>\n<l:gentext key=\"legalnotice\" text=\"法律上の通知\"/>\n<l:gentext key=\"MsgAud\" text=\"対象者\"/>\n<l:gentext key=\"msgaud\" text=\"対象者\"/>\n<l:gentext key=\"MsgLevel\" text=\"レベル\"/>\n<l:gentext key=\"msglevel\" text=\"レベル\"/>\n<l:gentext key=\"MsgOrig\" text=\"出所\"/>\n<l:gentext key=\"msgorig\" text=\"出所\"/>\n<l:gentext key=\"NOTE\" text=\"注記\"/>\n<l:gentext key=\"Note\" text=\"注記\"/>\n<l:gentext key=\"note\" text=\"注記\"/>\n<l:gentext key=\"Part\" text=\"パート\"/>\n<l:gentext key=\"part\" text=\"パート\"/>\n<l:gentext key=\"Preface\" text=\"前書き\"/>\n<l:gentext key=\"preface\" text=\"前書き\"/>\n<l:gentext key=\"Procedure\" text=\"手順\"/>\n<l:gentext key=\"procedure\" text=\"手順\"/>\n<l:gentext key=\"ProductionSet\" text=\"プロダクション\"/>\n<l:gentext key=\"PubDate\" text=\"発行日\"/>\n<l:gentext key=\"pubdate\" text=\"発行日\"/>\n<l:gentext key=\"Published\" text=\"発行\"/>\n<l:gentext key=\"published\" text=\"発行\"/>\n<l:gentext key=\"Publisher\" text=\"発行元\"/>\n<l:gentext key=\"Qandadiv\" text=\"質問と答え\"/>\n<l:gentext key=\"qandadiv\" text=\"質問と答え\"/>\n<l:gentext key=\"QandASet\" text=\"よくある質問\"/>\n<l:gentext key=\"Question\" text=\"問：\"/>\n<l:gentext key=\"question\" text=\"問：\"/>\n<l:gentext key=\"RefEntry\" text=\"ページ\"/>\n<l:gentext key=\"refentry\" text=\"ページ\"/>\n<l:gentext key=\"Reference\" text=\"参照\"/>\n<l:gentext key=\"reference\" text=\"参照\"/>\n<l:gentext key=\"References\" text=\"参照\"/>\n<l:gentext key=\"RefName\" text=\"名前\"/>\n<l:gentext key=\"refname\" text=\"名前\"/>\n<l:gentext key=\"RefSection\" text=\"項\"/>\n<l:gentext key=\"refsection\" text=\"項\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"概要\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"概要\"/>\n<l:gentext key=\"RevHistory\" text=\"改訂履歴\"/>\n<l:gentext key=\"revhistory\" text=\"改訂履歴\"/>\n<l:gentext key=\"revision\" text=\"改訂\"/>\n<l:gentext key=\"Revision\" text=\"改訂\"/>\n<l:gentext key=\"sect1\" text=\"項\"/>\n<l:gentext key=\"sect2\" text=\"項\"/>\n<l:gentext key=\"sect3\" text=\"項\"/>\n<l:gentext key=\"sect4\" text=\"項\"/>\n<l:gentext key=\"sect5\" text=\"項\"/>\n<l:gentext key=\"section\" text=\"項\"/>\n<l:gentext key=\"Section\" text=\"項\"/>\n<l:gentext key=\"see\" text=\"参照\"/>\n<l:gentext key=\"See\" text=\"参照\"/>\n<l:gentext key=\"seealso\" text=\"参照\"/>\n<l:gentext key=\"Seealso\" text=\"参照\"/>\n<l:gentext key=\"SeeAlso\" text=\"参照\"/>\n<l:gentext key=\"set\" text=\"セット\"/>\n<l:gentext key=\"Set\" text=\"セット\"/>\n<l:gentext key=\"setindex\" text=\"セット目次\"/>\n<l:gentext key=\"SetIndex\" text=\"セット目次\"/>\n<l:gentext key=\"Sidebar\" text=\"サイドバー\"/>\n<l:gentext key=\"sidebar\" text=\"サイドバー\"/>\n<l:gentext key=\"step\" text=\"ステップ\"/>\n<l:gentext key=\"Step\" text=\"ステップ\"/>\n<l:gentext key=\"table\" text=\"表\"/>\n<l:gentext key=\"Table\" text=\"表\"/>\n<l:gentext key=\"task\" text=\"タスク\"/>\n<l:gentext key=\"Task\" text=\"タスク\"/>\n<l:gentext key=\"tip\" text=\"ヒント\"/>\n<l:gentext key=\"TIP\" text=\"ヒント\"/>\n<l:gentext key=\"Tip\" text=\"ヒント\"/>\n<l:gentext key=\"Warning\" text=\"警告\"/>\n<l:gentext key=\"warning\" text=\"警告\"/>\n<l:gentext key=\"WARNING\" text=\"警告\"/>\n<l:gentext key=\"and\" text=\"、\"/>\n<l:gentext key=\"or\" text=\"や\"/>\n<l:gentext key=\"by\" text=\"：\"/>\n<l:gentext key=\"Edited\" text=\"編集者\"/>\n<l:gentext key=\"edited\" text=\"編集者\"/>\n<l:gentext key=\"Editedby\" text=\"編集者\"/>\n<l:gentext key=\"editedby\" text=\"編集者\"/>\n<l:gentext key=\"in\" text=\"\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"注記\"/>\n<l:gentext key=\"Notes\" text=\"注記\"/>\n<l:gentext key=\"Pgs\" text=\"ページ\"/>\n<l:gentext key=\"pgs\" text=\"ページ\"/>\n<l:gentext key=\"Revisedby\" text=\"校正者：\"/>\n<l:gentext key=\"revisedby\" text=\"校正者： \"/>\n<l:gentext key=\"TableNotes\" text=\"注意\"/>\n<l:gentext key=\"tablenotes\" text=\"注意\"/>\n<l:gentext key=\"TableofContents\" text=\"目次\"/>\n<l:gentext key=\"tableofcontents\" text=\"目次\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"予期しない要素名です\"/>\n<l:gentext key=\"unsupported\" text=\"サポートされません\"/>\n<l:gentext key=\"xrefto\" text=\"xref \"/>\n<l:gentext key=\"Authors\" text=\"著者\"/>\n<l:gentext key=\"copyeditor\" text=\"コピーエディター\"/>\n<l:gentext key=\"graphicdesigner\" text=\"グラフィックデザイナー\"/>\n<l:gentext key=\"productioneditor\" text=\"プロダクションエディター\"/>\n<l:gentext key=\"technicaleditor\" text=\"テクニカルエディター\"/>\n<l:gentext key=\"translator\" text=\"翻訳者\"/>\n<l:gentext key=\"listofequations\" text=\"式の一覧\"/>\n<l:gentext key=\"ListofEquations\" text=\"式の一覧\"/>\n<l:gentext key=\"ListofExamples\" text=\"例の一覧\"/>\n<l:gentext key=\"listofexamples\" text=\"例の一覧\"/>\n<l:gentext key=\"ListofFigures\" text=\"図の一覧\"/>\n<l:gentext key=\"listoffigures\" text=\"図の一覧\"/>\n<l:gentext key=\"ListofProcedures\" text=\"手順の一覧\"/>\n<l:gentext key=\"listofprocedures\" text=\"手順の一覧\"/>\n<l:gentext key=\"listoftables\" text=\"表の一覧\"/>\n<l:gentext key=\"ListofTables\" text=\"表の一覧\"/>\n<l:gentext key=\"ListofUnknown\" text=\"不明の一覧\"/>\n<l:gentext key=\"listofunknown\" text=\"不明の一覧\"/>\n<l:gentext key=\"nav-home\" text=\"ホーム\"/>\n<l:gentext key=\"nav-next\" text=\"次へ\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"早送り\"/>\n<l:gentext key=\"nav-prev\" text=\"戻る\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"巻戻し\"/>\n<l:gentext key=\"nav-up\" text=\"上に戻る\"/>\n<l:gentext key=\"nav-toc\" text=\"目次\"/>\n<l:gentext key=\"Draft\" text=\"ドラフト\"/>\n<l:gentext key=\"above\" text=\"上\"/>\n<l:gentext key=\"below\" text=\"下\"/>\n<l:gentext key=\"sectioncalled\" text=\"セクション名\"/>\n<l:gentext key=\"index symbols\" text=\"シンボル\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\" lang=\"en\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"「\"/>\n<l:dingbat key=\"endquote\" text=\"」\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"『\"/>\n<l:dingbat key=\"nestedendquote\" text=\"』\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"●\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"検索\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"用語をクリックして入力してください。\"/>\n<l:template name=\"Go\" text=\"移動\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\"/>\n<l:template name=\"txt_filesfound\" text=\"検索結果\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"あなたは、少なくとも1つの文字を入力する必要があります。\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\"/>\n<l:template name=\"txt_please_wait\" text=\"しばらくお待ちください。検索が進行中です...\"/>\n<l:template name=\"txt_results_for\" text=\"次の検索語の結果： \"/>\n<l:template name=\"TableofContents\" text=\"Contents\"/>\n<l:template name=\"HighlightButton\" text=\"強調表示の切り替えの検索結果\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"family-given\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"付録%n %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"第%n章%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"式%n %t\"/>\n<l:template name=\"example\" text=\"例%n %t\"/>\n<l:template name=\"figure\" text=\"図%n %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"パート%n %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"手順%n %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"プロダクション %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"表%n %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"付録%n %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%n %t\"/>\n<l:template name=\"chapter\" text=\"第%n章 %t\"/>\n<l:template name=\"part\" text=\"パート %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"答： %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"問： %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"問： %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"「%t」\"/>\n<l:template name=\"refsection\" text=\"「%t」\"/>\n<l:template name=\"refsect1\" text=\"「%t」\"/>\n<l:template name=\"refsect2\" text=\"「%t」t\"/>\n<l:template name=\"refsect3\" text=\"「%t」\"/>\n<l:template name=\"sect1\" text=\"「%t」\"/>\n<l:template name=\"sect2\" text=\"「%t」\"/>\n<l:template name=\"sect3\" text=\"「%t」\"/>\n<l:template name=\"sect4\" text=\"「%t」\"/>\n<l:template name=\"sect5\" text=\"「%t」\"/>\n<l:template name=\"section\" text=\"「%t」\"/>\n<l:template name=\"simplesect\" text=\"「%t」\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"答： %n\"/>\n<l:template name=\"appendix\" text=\"付録%n\"/>\n<l:template name=\"bridgehead\" text=\"項 %n\"/>\n<l:template name=\"chapter\" text=\"第%n章\"/>\n<l:template name=\"equation\" text=\"式 %n\"/>\n<l:template name=\"example\" text=\"例 %n\"/>\n<l:template name=\"figure\" text=\"図 %n\"/>\n<l:template name=\"part\" text=\"パート %n\"/>\n<l:template name=\"procedure\" text=\"手順 %n\"/>\n<l:template name=\"productionset\" text=\"プロダクション %n\"/>\n<l:template name=\"qandadiv\" text=\"質問と答え %n\"/>\n<l:template name=\"qandaentry\" text=\"問： %n\"/>\n<l:template name=\"question\" text=\"問： %n\"/>\n<l:template name=\"sect1\" text=\"%n\"/>\n<l:template name=\"sect2\" text=\"%n\"/>\n<l:template name=\"sect3\" text=\"%n\"/>\n<l:template name=\"sect4\" text=\"%n\"/>\n<l:template name=\"sect5\" text=\"%n\"/>\n<l:template name=\"section\" text=\"%n\"/>\n<l:template name=\"table\" text=\"表 %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"付録%n %t\"/>\n<l:template name=\"bridgehead\" text=\"%n項「%t」\"/>\n<l:template name=\"chapter\" text=\"%n章%t\"/>\n<l:template name=\"equation\" text=\"式%n「%t」\"/>\n<l:template name=\"example\" text=\"例%n「%t」\"/>\n<l:template name=\"figure\" text=\"図%n「%t」\"/>\n<l:template name=\"part\" text=\"パート%n「%t」\"/>\n<l:template name=\"procedure\" text=\"手順%n「%t」\"/>\n<l:template name=\"productionset\" text=\"プロダクション%n「%t」\"/>\n<l:template name=\"qandadiv\" text=\"質問と答え%n「%t」\"/>\n<l:template name=\"refsect1\" text=\"「%t」\"/>\n<l:template name=\"refsect2\" text=\"「%t」\"/>\n<l:template name=\"refsect3\" text=\"「%t」\"/>\n<l:template name=\"refsection\" text=\"「%t」\"/>\n<l:template name=\"sect1\" text=\"「%t」\"/>\n<l:template name=\"sect2\" text=\"「%t」\"/>\n<l:template name=\"sect3\" text=\"「%t」\"/>\n<l:template name=\"sect4\" text=\"「%t」\"/>\n<l:template name=\"sect5\" text=\"「%t」\"/>\n<l:template name=\"section\" text=\"「%t」\"/>\n<l:template name=\"simplesect\" text=\"「%t」\"/>\n<l:template name=\"table\" text=\"表%n「%t」\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" 、 \"/>\n<l:template name=\"seplast\" text=\", 、 \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"%t参照\"/>\n<l:template name=\"seealso\" text=\"%t参照\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"対象者: \"/>\n<l:template name=\"MsgLevel\" text=\"レベル: \"/>\n<l:template name=\"MsgOrig\" text=\"出所: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[定義: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"1 月\"/>\n<l:template name=\"February\" text=\"2 月\"/>\n<l:template name=\"March\" text=\"3 月\"/>\n<l:template name=\"April\" text=\"4 月\"/>\n<l:template name=\"May\" text=\"5 月\"/>\n<l:template name=\"June\" text=\"6 月\"/>\n<l:template name=\"July\" text=\"7 月\"/>\n<l:template name=\"August\" text=\"8 月\"/>\n<l:template name=\"September\" text=\"9 月\"/>\n<l:template name=\"October\" text=\"10 月\"/>\n<l:template name=\"November\" text=\"11 月\"/>\n<l:template name=\"December\" text=\"12 月\"/>\n<l:template name=\"Monday\" text=\"月曜日\"/>\n<l:template name=\"Tuesday\" text=\"火曜日\"/>\n<l:template name=\"Wednesday\" text=\"水曜日\"/>\n<l:template name=\"Thursday\" text=\"木曜日\"/>\n<l:template name=\"Friday\" text=\"金曜日\"/>\n<l:template name=\"Saturday\" text=\"土曜日\"/>\n<l:template name=\"Sunday\" text=\"日曜日\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"1 月\"/>\n<l:template name=\"Feb\" text=\"2 月\"/>\n<l:template name=\"Mar\" text=\"3 月\"/>\n<l:template name=\"Apr\" text=\"4 月\"/>\n<l:template name=\"May\" text=\"5 月\"/>\n<l:template name=\"Jun\" text=\"6 月\"/>\n<l:template name=\"Jul\" text=\"7 月\"/>\n<l:template name=\"Aug\" text=\"8 月\"/>\n<l:template name=\"Sep\" text=\"9 月\"/>\n<l:template name=\"Oct\" text=\"10 月\"/>\n<l:template name=\"Nov\" text=\"11 月\"/>\n<l:template name=\"Dec\" text=\"12 月\"/>\n<l:template name=\"Mon\" text=\"月\"/>\n<l:template name=\"Tue\" text=\"火\"/>\n<l:template name=\"Wed\" text=\"水\"/>\n<l:template name=\"Thu\" text=\"木\"/>\n<l:template name=\"Fri\" text=\"金\"/>\n<l:template name=\"Sat\" text=\"土\"/>\n<l:template name=\"Sun\" text=\"日\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0411 Japanese\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">シンボル</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/ka.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"ka\" english-language-name=\"Georgian\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/ka.xml -->\n<!-- * -->\n<!-- * E-mail the edited ka.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"ანოტაცია\"/>\n<l:gentext key=\"abstract\" text=\"ანოტაცია\"/>\n<l:gentext key=\"Acknowledgements\" text=\"აღიარება\"/>\n<l:gentext key=\"acknowledgements\" text=\"აღიარება\"/>\n<l:gentext key=\"Answer\" text=\"პ:\"/>\n<l:gentext key=\"answer\" text=\"პ:\"/>\n<l:gentext key=\"Appendix\" text=\"დანართი\"/>\n<l:gentext key=\"appendix\" text=\"დანართი\"/>\n<l:gentext key=\"Article\" text=\"სტატია\"/>\n<l:gentext key=\"article\" text=\"სტატია\"/>\n<l:gentext key=\"Author\" text=\"ავტორი\"/>\n<l:gentext key=\"Bibliography\" text=\"ბიბლიოგრაფია\"/>\n<l:gentext key=\"bibliography\" text=\"ბიბლიოგრაფია\"/>\n<l:gentext key=\"Book\" text=\"წიგნი\"/>\n<l:gentext key=\"book\" text=\"წიგნი\"/>\n<l:gentext key=\"CAUTION\" text=\"გაფრთხილება\"/>\n<l:gentext key=\"Caution\" text=\"გაფრთხილება\"/>\n<l:gentext key=\"caution\" text=\"გაფრთხილება\"/>\n<l:gentext key=\"Chapter\" text=\"თავი\"/>\n<l:gentext key=\"chapter\" text=\"თავი\"/>\n<l:gentext key=\"Colophon\" text=\"კოლოფონი\"/>\n<l:gentext key=\"colophon\" text=\"კოლოფონი\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"Copyright\"/>\n<l:gentext key=\"Dedication\" text=\"მიძღვნა\"/>\n<l:gentext key=\"dedication\" text=\"მიძღვნა\"/>\n<l:gentext key=\"Edition\" text=\"გამოცემა\"/>\n<l:gentext key=\"edition\" text=\"გამოცემა\"/>\n<l:gentext key=\"Editor\" text=\"რედაქტორი\"/>\n<l:gentext key=\"Equation\" text=\"განტოლება\"/>\n<l:gentext key=\"equation\" text=\"განტოლება\"/>\n<l:gentext key=\"Example\" text=\"მაგალითი\"/>\n<l:gentext key=\"example\" text=\"მაგალითი\"/>\n<l:gentext key=\"Figure\" text=\"სურათი\"/>\n<l:gentext key=\"figure\" text=\"სურათი\"/>\n<l:gentext key=\"Glossary\" text=\"ტერმინოლოგია\"/>\n<l:gentext key=\"glossary\" text=\"ტერმინოლოგია\"/>\n<l:gentext key=\"GlossSee\" text=\"იხ.\"/>\n<l:gentext key=\"glosssee\" text=\"იხ.\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"იხ. ასევე\"/>\n<l:gentext key=\"glossseealso\" text=\"იხ. ასევე\"/>\n<l:gentext key=\"IMPORTANT\" text=\"მნიშვნელოვანია\"/>\n<l:gentext key=\"important\" text=\"მნიშვნელოვანია\"/>\n<l:gentext key=\"Important\" text=\"მნიშვნელოვანია\"/>\n<l:gentext key=\"Index\" text=\"ანბანური საძიებელი\"/>\n<l:gentext key=\"index\" text=\"ანბანური საძიებელი\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"საავტორო უფლება\"/>\n<l:gentext key=\"legalnotice\" text=\"საავტორო უფლება\"/>\n<l:gentext key=\"MsgAud\" text=\"აუდიტორია\"/>\n<l:gentext key=\"msgaud\" text=\"აუდიტორია\"/>\n<l:gentext key=\"MsgLevel\" text=\"დონე\"/>\n<l:gentext key=\"msglevel\" text=\"დონე\"/>\n<l:gentext key=\"MsgOrig\" text=\"წყარო\"/>\n<l:gentext key=\"msgorig\" text=\"წყარო\"/>\n<l:gentext key=\"NOTE\" text=\"შენიშვნა\"/>\n<l:gentext key=\"Note\" text=\"შენიშვნა\"/>\n<l:gentext key=\"note\" text=\"შენიშვნა\"/>\n<l:gentext key=\"Part\" text=\"ნაწილი\"/>\n<l:gentext key=\"part\" text=\"ნაწილი\"/>\n<l:gentext key=\"Preface\" text=\"წინასიტყვაობა\"/>\n<l:gentext key=\"preface\" text=\"წინასიტყვაობა\"/>\n<l:gentext key=\"Procedure\" text=\"პროცედურა\"/>\n<l:gentext key=\"procedure\" text=\"პროცედურა\"/>\n<l:gentext key=\"ProductionSet\" text=\"გამოშვება\"/>\n<l:gentext key=\"PubDate\" text=\"გამოცემის თარიღი\"/>\n<l:gentext key=\"pubdate\" text=\"გამოცემის თარიღი\"/>\n<l:gentext key=\"Published\" text=\"გამოცემულია\"/>\n<l:gentext key=\"published\" text=\"გამოცემულია\"/>\n<l:gentext key=\"Publisher\" text=\"გამომცემელი\"/>\n<l:gentext key=\"Qandadiv\" text=\"კითხვა და პასუხი\"/>\n<l:gentext key=\"qandadiv\" text=\"კითხვა და პასუხი\"/>\n<l:gentext key=\"QandASet\" text=\"ხშირად დასმული შეკითხვები\"/>\n<l:gentext key=\"Question\" text=\"კ:\"/>\n<l:gentext key=\"question\" text=\"კ:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"მითითება\"/>\n<l:gentext key=\"reference\" text=\"მითითება\"/>\n<l:gentext key=\"References\" text=\"მითითებები\"/>\n<l:gentext key=\"RefName\" text=\"დასახელება\"/>\n<l:gentext key=\"refname\" text=\"დასახელება\"/>\n<l:gentext key=\"RefSection\" text=\"ნაწილი\"/>\n<l:gentext key=\"refsection\" text=\"ნაწილი\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"სინოპსისი\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"სინოპსისი\"/>\n<l:gentext key=\"RevHistory\" text=\"რევიზიების ისტორია\"/>\n<l:gentext key=\"revhistory\" text=\"რევიზიების ისტორია\"/>\n<l:gentext key=\"revision\" text=\"რევიზია\"/>\n<l:gentext key=\"Revision\" text=\"რევიზია\"/>\n<l:gentext key=\"sect1\" text=\"ნაწილი\"/>\n<l:gentext key=\"sect2\" text=\"ნაწილი\"/>\n<l:gentext key=\"sect3\" text=\"ნაწილი\"/>\n<l:gentext key=\"sect4\" text=\"ნაწილი\"/>\n<l:gentext key=\"sect5\" text=\"ნაწილი\"/>\n<l:gentext key=\"section\" text=\"ნაწილი\"/>\n<l:gentext key=\"Section\" text=\"ნაწილი\"/>\n<l:gentext key=\"see\" text=\"იხ.\"/>\n<l:gentext key=\"See\" text=\"იხ.\"/>\n<l:gentext key=\"seealso\" text=\"იხ. ასევე\"/>\n<l:gentext key=\"Seealso\" text=\"იხ. ასევე\"/>\n<l:gentext key=\"SeeAlso\" text=\"იხ. ასევე\"/>\n<l:gentext key=\"set\" text=\"ნაკრები\"/>\n<l:gentext key=\"Set\" text=\"ნაკრები\"/>\n<l:gentext key=\"setindex\" text=\"ნაკრების ინდექსი\"/>\n<l:gentext key=\"SetIndex\" text=\"ნაკრების ინდექსი\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"\"/>\n<l:gentext key=\"step\" text=\"ბიჯი\"/>\n<l:gentext key=\"Step\" text=\"ბიჯი\"/>\n<l:gentext key=\"table\" text=\"ცხრილი\"/>\n<l:gentext key=\"Table\" text=\"ცხრილი\"/>\n<l:gentext key=\"task\" text=\"ამოცანა\"/>\n<l:gentext key=\"Task\" text=\"ამოცანა\"/>\n<l:gentext key=\"tip\" text=\"მითითება\"/>\n<l:gentext key=\"TIP\" text=\"მითითება\"/>\n<l:gentext key=\"Tip\" text=\"მითითება\"/>\n<l:gentext key=\"Warning\" text=\"გაფრთხილება\"/>\n<l:gentext key=\"warning\" text=\"გაფრთხილება\"/>\n<l:gentext key=\"WARNING\" text=\"გაფრთხილება\"/>\n<l:gentext key=\"and\" text=\"და\"/>\n<l:gentext key=\"or\" text=\"ან\"/>\n<l:gentext key=\"by\" text=\"\"/>\n<l:gentext key=\"Edited\" text=\"გამართულია\"/>\n<l:gentext key=\"edited\" text=\"გამართულია\"/>\n<l:gentext key=\"Editedby\" text=\"გამართა:\"/>\n<l:gentext key=\"editedby\" text=\"გამართა:\"/>\n<l:gentext key=\"in\" text=\"\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"შენიშვნები\"/>\n<l:gentext key=\"Notes\" text=\"შენიშვნები\"/>\n<l:gentext key=\"Pgs\" text=\"გვ. გვ.\"/>\n<l:gentext key=\"pgs\" text=\"გვ. გვ.\"/>\n<l:gentext key=\"Revisedby\" text=\"გადაამოწმა: \"/>\n<l:gentext key=\"revisedby\" text=\"გადაამოწმა: \"/>\n<l:gentext key=\"TableNotes\" text=\"შენიშვნები\"/>\n<l:gentext key=\"tablenotes\" text=\"შენიშვნები\"/>\n<l:gentext key=\"TableofContents\" text=\"სარჩევი\"/>\n<l:gentext key=\"tableofcontents\" text=\"სარჩევი\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"მოულოდნელი ელემენტის სახელი\"/>\n<l:gentext key=\"unsupported\" text=\"მხარდაჭერა არ არის\"/>\n<l:gentext key=\"xrefto\" text=\"მითითება\"/>\n<l:gentext key=\"Authors\" text=\"ავტორები\"/>\n<l:gentext key=\"copyeditor\" text=\"რედაქტორი\"/>\n<l:gentext key=\"graphicdesigner\" text=\"დიზაინერი\"/>\n<l:gentext key=\"productioneditor\" text=\"მთავარი რედაქტორი\"/>\n<l:gentext key=\"technicaleditor\" text=\"ტექნიკური რედაქტორი\"/>\n<l:gentext key=\"translator\" text=\"მთარგმნელი\"/>\n<l:gentext key=\"listofequations\" text=\"განტოლებების სია\"/>\n<l:gentext key=\"ListofEquations\" text=\"განტოლებების სია\"/>\n<l:gentext key=\"ListofExamples\" text=\"მაგალითების სია\"/>\n<l:gentext key=\"listofexamples\" text=\"მაგალითების სია\"/>\n<l:gentext key=\"ListofFigures\" text=\"სურათების სია\"/>\n<l:gentext key=\"listoffigures\" text=\"სურათების სია\"/>\n<l:gentext key=\"ListofProcedures\" text=\"პროცედურების სია\"/>\n<l:gentext key=\"listofprocedures\" text=\"პროცედურების სია\"/>\n<l:gentext key=\"listoftables\" text=\"ცხრილების სია\"/>\n<l:gentext key=\"ListofTables\" text=\"ცხრილების სია\"/>\n<l:gentext key=\"ListofUnknown\" text=\"უცნობი ელემენტების სია\"/>\n<l:gentext key=\"listofunknown\" text=\"უცნობი ელემენტების სია\"/>\n<l:gentext key=\"nav-home\" text=\"დასაწყისში\"/>\n<l:gentext key=\"nav-next\" text=\"წინ\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"წინ სწრაფად\"/>\n<l:gentext key=\"nav-prev\" text=\"უკან\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"სწრაფად უკან\"/>\n<l:gentext key=\"nav-up\" text=\"ზემოთ\"/>\n<l:gentext key=\"nav-toc\" text=\"სარჩევი\"/>\n<l:gentext key=\"Draft\" text=\"მონახაზი\"/>\n<l:gentext key=\"above\" text=\"ზემოთ\"/>\n<l:gentext key=\"below\" text=\"ქვემოთ\"/>\n<l:gentext key=\"sectioncalled\" text=\"ნაწილი\"/>\n<l:gentext key=\"index symbols\" text=\"სიმბოლოები\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyzაბგდევზჱთიკლმნჲოპჟრსტჳუფქღყშჩცძწჭხჴჯჰჵჶჷ\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZაბგდევზჱთიკლმნჲოპჟრსტჳუფქღყშჩცძწჭხჴჯჰჵჶჷ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕაბგდევზჱთიკლმნჲოპჟრსტჳუფქღყშჩცძწჭხჴჯჰჵჶჷ\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZაბგდევზჱთიკლმნჲოპჟრსტჳუფქღყშჩცძწჭხჴჯჰჵჶჷ\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"დანართი %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"თავი %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"განტოლება %n. %t\"/>\n<l:template name=\"example\" text=\"მაგალითი %n. %t\"/>\n<l:template name=\"figure\" text=\"სურათი %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"ნაწილი %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"პროცედურა %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"გამოშვება %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"ცხრილი %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"დანართი %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"თავი %n. %t\"/>\n<l:template name=\"part\" text=\"ნაწილი %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"პ: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"კ: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"კ: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"ნაწილი “%t”\"/>\n<l:template name=\"refsection\" text=\"ნაწილი “%t”\"/>\n<l:template name=\"refsect1\" text=\"ნაწილი “%t”\"/>\n<l:template name=\"refsect2\" text=\"ნაწილი “%t”\"/>\n<l:template name=\"refsect3\" text=\"ნაწილი “%t”\"/>\n<l:template name=\"sect1\" text=\"ნაწილი “%t”\"/>\n<l:template name=\"sect2\" text=\"ნაწილი “%t”\"/>\n<l:template name=\"sect3\" text=\"ნაწილი “%t”\"/>\n<l:template name=\"sect4\" text=\"ნაწილი “%t”\"/>\n<l:template name=\"sect5\" text=\"ნაწილი “%t”\"/>\n<l:template name=\"section\" text=\"ნაწილი “%t”\"/>\n<l:template name=\"simplesect\" text=\"ნაწილი “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"პ: %n\"/>\n<l:template name=\"appendix\" text=\"დანართი %n\"/>\n<l:template name=\"bridgehead\" text=\"ნაწილი %n\"/>\n<l:template name=\"chapter\" text=\"თავი %n\"/>\n<l:template name=\"equation\" text=\"განტოლება %n\"/>\n<l:template name=\"example\" text=\"მაგალითი %n\"/>\n<l:template name=\"figure\" text=\"სურათი %n\"/>\n<l:template name=\"part\" text=\"ნაწილი %n\"/>\n<l:template name=\"procedure\" text=\"პროცედურა %n\"/>\n<l:template name=\"productionset\" text=\"გამოშვება %n\"/>\n<l:template name=\"qandadiv\" text=\"კითხვა და პასუხი %n\"/>\n<l:template name=\"qandaentry\" text=\"კ: %n\"/>\n<l:template name=\"question\" text=\"კ: %n\"/>\n<l:template name=\"sect1\" text=\"ნაწილი %n\"/>\n<l:template name=\"sect2\" text=\"ნაწილი %n\"/>\n<l:template name=\"sect3\" text=\"ნაწილი %n\"/>\n<l:template name=\"sect4\" text=\"ნაწილი %n\"/>\n<l:template name=\"sect5\" text=\"ნაწილი %n\"/>\n<l:template name=\"section\" text=\"ნაწილი %n\"/>\n<l:template name=\"table\" text=\"ცხრილი %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"დანართი %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"ნაწილი %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"თავი %n, %t\"/>\n<l:template name=\"equation\" text=\"განტოლება %n, “%t”\"/>\n<l:template name=\"example\" text=\"მაგალითი %n, “%t”\"/>\n<l:template name=\"figure\" text=\"სურათი %n, “%t”\"/>\n<l:template name=\"part\" text=\"ნაწილი %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"პროცედურა %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"გამოშვება %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"კითხვა და პასუხი %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"ნაწილი “%t”\"/>\n<l:template name=\"refsect2\" text=\"ნაწილი “%t”\"/>\n<l:template name=\"refsect3\" text=\"ნაწილი “%t”\"/>\n<l:template name=\"refsection\" text=\"ნაწილი “%t”\"/>\n<l:template name=\"sect1\" text=\"ნაწილი %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"ნაწილი %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"ნაწილი %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"ნაწილი %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"ნაწილი %n, “%t”\"/>\n<l:template name=\"section\" text=\"ნაწილი %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"ნაწილი “%t”\"/>\n<l:template name=\"table\" text=\"ცხრილი %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" და \"/>\n<l:template name=\"seplast\" text=\", და \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"იხ. %t.\"/>\n<l:template name=\"seealso\" text=\"იხ. ასევე %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"აუდიტორია: \"/>\n<l:template name=\"MsgLevel\" text=\"დონე: \"/>\n<l:template name=\"MsgOrig\" text=\"წყარო: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d.m.Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[განსაზღვრება: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"იანვარ\"/>\n<l:template name=\"February\" text=\"თებერვალი\"/>\n<l:template name=\"March\" text=\"მარტი\"/>\n<l:template name=\"April\" text=\"აპრილი\"/>\n<l:template name=\"May\" text=\"მაისი\"/>\n<l:template name=\"June\" text=\"ივნისი\"/>\n<l:template name=\"July\" text=\"ივლისი\"/>\n<l:template name=\"August\" text=\"აგვისტო\"/>\n<l:template name=\"September\" text=\"სექტემბერი\"/>\n<l:template name=\"October\" text=\"ოქტომბერი\"/>\n<l:template name=\"November\" text=\"ნოემბერი\"/>\n<l:template name=\"December\" text=\"დეკემბერი\"/>\n<l:template name=\"Monday\" text=\"ორშაბათი\"/>\n<l:template name=\"Tuesday\" text=\"სამშაბათი\"/>\n<l:template name=\"Wednesday\" text=\"ოთხშაბათი\"/>\n<l:template name=\"Thursday\" text=\"ხუთშაბათი\"/>\n<l:template name=\"Friday\" text=\"პარასკევი\"/>\n<l:template name=\"Saturday\" text=\"შაბათი\"/>\n<l:template name=\"Sunday\" text=\"კვირა\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"იან\"/>\n<l:template name=\"Feb\" text=\"თებ\"/>\n<l:template name=\"Mar\" text=\"მარ\"/>\n<l:template name=\"Apr\" text=\"აპრ\"/>\n<l:template name=\"May\" text=\"მაი\"/>\n<l:template name=\"Jun\" text=\"ივნ\"/>\n<l:template name=\"Jul\" text=\"ივლ\"/>\n<l:template name=\"Aug\" text=\"აგვ\"/>\n<l:template name=\"Sep\" text=\"სექ\"/>\n<l:template name=\"Oct\" text=\"ოქტ\"/>\n<l:template name=\"Nov\" text=\"ნოე\"/>\n<l:template name=\"Dec\" text=\"დეკ\"/>\n<l:template name=\"Mon\" text=\"ორშ\"/>\n<l:template name=\"Tue\" text=\"სამ\"/>\n<l:template name=\"Wed\" text=\"ოთხ\"/>\n<l:template name=\"Thu\" text=\"ხუთ\"/>\n<l:template name=\"Fri\" text=\"პარ\"/>\n<l:template name=\"Sat\" text=\"შაბ\"/>\n<l:template name=\"Sun\" text=\"კვი\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0409 English (UNITED STATES)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" და \"/>\n<l:template name=\"alt.person.last.sep\" text=\" და \"/>\n<l:template name=\"alt.person.more.sep\" text=\"; \"/>\n<l:template name=\"primary.editor\" text=\" (რედ.)\"/>\n<l:template name=\"primary.many\" text=\" და სხვ.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [ციტატა \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"მისაწვდომია \"/>\n<l:template name=\"acctoo\" text=\"მისაწვდომია ასევე \"/>\n<l:template name=\"onwww\" text=\"გლობალურ ქსელში\"/>\n<l:template name=\"oninet\" text=\"ინტერნეტში\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">სიმბოლოები</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"270\">ა</l:l>\n<l:l i=\"280\">ბ</l:l>\n<l:l i=\"290\">გ</l:l>\n<l:l i=\"300\">დ</l:l>\n<l:l i=\"310\">ე</l:l>\n<l:l i=\"320\">ვ</l:l>\n<l:l i=\"330\">ზ</l:l>\n<l:l i=\"340\">ჱ</l:l>\n<l:l i=\"350\">თ</l:l>\n<l:l i=\"360\">ი</l:l>\n<l:l i=\"370\">კ</l:l>\n<l:l i=\"380\">ლ</l:l>\n<l:l i=\"390\">მ</l:l>\n<l:l i=\"400\">ნ</l:l>\n<l:l i=\"410\">ჲ</l:l>\n<l:l i=\"420\">ო</l:l>\n<l:l i=\"430\">პ</l:l>\n<l:l i=\"440\">ჟ</l:l>\n<l:l i=\"450\">რ</l:l>\n<l:l i=\"460\">ს</l:l>\n<l:l i=\"470\">ტ</l:l>\n<l:l i=\"480\">ჳ</l:l>\n<l:l i=\"490\">უ</l:l>\n<l:l i=\"500\">ფ</l:l>\n<l:l i=\"510\">ქ</l:l>\n<l:l i=\"520\">ღ</l:l>\n<l:l i=\"530\">ყ</l:l>\n<l:l i=\"540\">შ</l:l>\n<l:l i=\"550\">ჩ</l:l>\n<l:l i=\"560\">ც</l:l>\n<l:l i=\"570\">ძ</l:l>\n<l:l i=\"580\">წ</l:l>\n<l:l i=\"590\">ჭ</l:l>\n<l:l i=\"600\">ხ</l:l>\n<l:l i=\"610\">ჴ</l:l>\n<l:l i=\"620\">ჯ</l:l>\n<l:l i=\"630\">ჰ</l:l>\n<l:l i=\"640\">ჵ</l:l>\n<l:l i=\"650\">ჶ</l:l>\n<l:l i=\"660\">ჷ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/kn.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"kn\" english-language-name=\"Kannada\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/kn.xml -->\n<!-- * -->\n<!-- * E-mail the edited kn.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"ಸಾರಾಂಶ\"/>\n<l:gentext key=\"abstract\" text=\"ಸಾರಾಂಶ\"/>\n<l:gentext key=\"Acknowledgements\" text=\"ಇವರಿಗೆ ಧನ್ಯವಾದಗಳು\"/>\n<l:gentext key=\"acknowledgements\" text=\"ಇವರಿಗೆ ಧನ್ಯವಾದಗಳು\"/>\n<l:gentext key=\"Answer\" text=\"ಉ:\"/>\n<l:gentext key=\"answer\" text=\"ಉ:\"/>\n<l:gentext key=\"Appendix\" text=\"ಅನುಬಂಧ\"/>\n<l:gentext key=\"appendix\" text=\"ಅನುಬಂಧ\"/>\n<l:gentext key=\"Article\" text=\"ಲೇಖನ\"/>\n<l:gentext key=\"article\" text=\"ಲೇಖನ\"/>\n<l:gentext key=\"Author\" text=\"ಲೇಖಕ\"/>\n<l:gentext key=\"Bibliography\" text=\"ಗ್ರಂಥಸೂಚಿ\"/>\n<l:gentext key=\"bibliography\" text=\"ಗ್ರಂಥಸೂಚಿ\"/>\n<l:gentext key=\"Book\" text=\"ಪುಸ್ತಕ\"/>\n<l:gentext key=\"book\" text=\"ಪುಸ್ತಕ\"/>\n<l:gentext key=\"CAUTION\" text=\"ಎಚ್ಚರಿಕೆ\"/>\n<l:gentext key=\"Caution\" text=\"ಎಚ್ಚರಿಕೆ\"/>\n<l:gentext key=\"caution\" text=\"ಎಚ್ಚರಿಕೆ\"/>\n<l:gentext key=\"Chapter\" text=\"ಅಧ್ಯಾಯ\"/>\n<l:gentext key=\"chapter\" text=\"ಅಧ್ಯಾಯ\"/>\n<l:gentext key=\"Colophon\" text=\"ಮುದ್ರಣ ಸಂಕೇತ\"/>\n<l:gentext key=\"colophon\" text=\"ಮುದ್ರಣ ಸಂಕೇತ\"/>\n<l:gentext key=\"Copyright\" text=\"ಕೃತಿಸ್ವಾಮ್ಯ\"/>\n<l:gentext key=\"copyright\" text=\"ಕೃತಿಸ್ವಾಮ್ಯ\"/>\n<l:gentext key=\"Dedication\" text=\"ಸಮರ್ಪಣೆ\"/>\n<l:gentext key=\"dedication\" text=\"ಸಮರ್ಪಣೆ\"/>\n<l:gentext key=\"Edition\" text=\"ಆವೃತ್ತಿ\"/>\n<l:gentext key=\"edition\" text=\"ಆವೃತ್ತಿ\"/>\n<l:gentext key=\"Editor\" text=\"ಸಂಪಾದಕ\"/>\n<l:gentext key=\"Equation\" text=\"ಸಮೀಕರಣ\"/>\n<l:gentext key=\"equation\" text=\"ಸಮೀಕರಣ\"/>\n<l:gentext key=\"Example\" text=\"ಉದಾಹರಣೆ\"/>\n<l:gentext key=\"example\" text=\"ಉದಾಹರಣೆ\"/>\n<l:gentext key=\"Figure\" text=\"ಚಿತ್ರ\"/>\n<l:gentext key=\"figure\" text=\"ಚಿತ್ರ\"/>\n<l:gentext key=\"Glossary\" text=\"ಪಾರಿಭಾಷಿಕಕೋಶ\"/>\n<l:gentext key=\"glossary\" text=\"ಪಾರಿಭಾಷಿಕಕೋಶ\"/>\n<l:gentext key=\"GlossSee\" text=\"ಇದನ್ನು ನೋಡಿ\"/>\n<l:gentext key=\"glosssee\" text=\"ಇದನ್ನು ನೋಡಿ\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"ಇದನ್ನೂ ಸಹ ನೋಡಿ\"/>\n<l:gentext key=\"glossseealso\" text=\"ಇದನ್ನೂ ಸಹ ನೋಡಿ\"/>\n<l:gentext key=\"IMPORTANT\" text=\"ಮಹತ್ವ\"/>\n<l:gentext key=\"important\" text=\"ಮಹತ್ವ\"/>\n<l:gentext key=\"Important\" text=\"ಮಹತ್ವ\"/>\n<l:gentext key=\"Index\" text=\"ಅನುಕ್ರಮಣಿಕೆ\"/>\n<l:gentext key=\"index\" text=\"ಅನುಕ್ರಮಣಿಕೆ\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"ಲೀಗಲ್ ನೋಟೀಸ್\"/>\n<l:gentext key=\"legalnotice\" text=\"ಲೀಗಲ್ ನೋಟೀಸ್\"/>\n<l:gentext key=\"MsgAud\" text=\"ಶ್ರೋತೃಗಳು\"/>\n<l:gentext key=\"msgaud\" text=\"ಶ್ರೋತೃಗಳು\"/>\n<l:gentext key=\"MsgLevel\" text=\"ಸ್ತರ\"/>\n<l:gentext key=\"msglevel\" text=\"ಸ್ತರ\"/>\n<l:gentext key=\"MsgOrig\" text=\"ಮೂಲ\"/>\n<l:gentext key=\"msgorig\" text=\"ಮೂಲ\"/>\n<l:gentext key=\"NOTE\" text=\"ಸೂಚನೆ\"/>\n<l:gentext key=\"Note\" text=\"ಸೂಚನೆ\"/>\n<l:gentext key=\"note\" text=\"ಸೂಚನೆ\"/>\n<l:gentext key=\"Part\" text=\"ಭಾಗ\"/>\n<l:gentext key=\"part\" text=\"ಭಾಗ\"/>\n<l:gentext key=\"Preface\" text=\"ಪೀಠಿಕೆ\"/>\n<l:gentext key=\"preface\" text=\"ಪೀಠಿಕೆ\"/>\n<l:gentext key=\"Procedure\" text=\"ಕಾರ್ಯವಿಧಾನ\"/>\n<l:gentext key=\"procedure\" text=\"ಕಾರ್ಯವಿಧಾನ\"/>\n<l:gentext key=\"ProductionSet\" text=\"ನಿರ್ಮಾಣ\"/>\n<l:gentext key=\"PubDate\" text=\"ಪ್ರಕಟನೆ ದಿನಾಂಕ\"/>\n<l:gentext key=\"pubdate\" text=\"ಪ್ರಕಟನೆ ದಿನಾಂಕ\"/>\n<l:gentext key=\"Published\" text=\"ಪ್ರಕಾಶಪಡಿಸಿದ\"/>\n<l:gentext key=\"published\" text=\"ಪ್ರಕಾಶಪಡಿಸಿದ\"/>\n<l:gentext key=\"Publisher\" text=\"ಪ್ರಕಾಶಕ\"/>\n<l:gentext key=\"Qandadiv\" text=\"ಪ್ರಶ್ನೆ ಮತ್ತು ಉತ್ತರ\"/>\n<l:gentext key=\"qandadiv\" text=\"ಪ್ರಶ್ನೆ ಮತ್ತು ಉತ್ತರ\"/>\n<l:gentext key=\"QandASet\" text=\"ಪದೆ ಪದೆ ಕೇಳಲಾಗುವ ಪ್ರಶ್ನೆಗಳು\"/>\n<l:gentext key=\"Question\" text=\"ಪ್ರಶ್ನೆ:\"/>\n<l:gentext key=\"question\" text=\"ಪ್ರಶ್ನೆ:\"/>\n<l:gentext key=\"RefEntry\" text=\"ಪುಟ\"/>\n<l:gentext key=\"refentry\" text=\"ಪುಟ\"/>\n<l:gentext key=\"Reference\" text=\"ಉಲ್ಲೇಖ\"/>\n<l:gentext key=\"reference\" text=\"ಉಲ್ಲೇಖ\"/>\n<l:gentext key=\"References\" text=\"ಉಲ್ಲೇಖಗಳು\"/>\n<l:gentext key=\"RefName\" text=\"ಹೆಸರು\"/>\n<l:gentext key=\"refname\" text=\"ಹೆಸರು\"/>\n<l:gentext key=\"RefSection\" text=\"ವಿಭಾಗ\"/>\n<l:gentext key=\"refsection\" text=\"ವಿಭಾಗ\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"ಸಾರಾಂಶ\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"ಸಾರಾಂಶ\"/>\n<l:gentext key=\"RevHistory\" text=\"ಪರಿಷ್ಕರಣೆಯ ಇತಿಹಾಸ\"/>\n<l:gentext key=\"revhistory\" text=\"ಪರಿಷ್ಕರಣೆಯ ಇತಿಹಾಸ\"/>\n<l:gentext key=\"revision\" text=\"ಪರಿಷ್ಕರಣೆ\"/>\n<l:gentext key=\"Revision\" text=\"ಪರಿಷ್ಕರಣೆ\"/>\n<l:gentext key=\"sect1\" text=\"ವಿಭಾಗ\"/>\n<l:gentext key=\"sect2\" text=\"ವಿಭಾಗ\"/>\n<l:gentext key=\"sect3\" text=\"ವಿಭಾಗ\"/>\n<l:gentext key=\"sect4\" text=\"ವಿಭಾಗ\"/>\n<l:gentext key=\"sect5\" text=\"ವಿಭಾಗ\"/>\n<l:gentext key=\"section\" text=\"ವಿಭಾಗ\"/>\n<l:gentext key=\"Section\" text=\"ವಿಭಾಗ\"/>\n<l:gentext key=\"see\" text=\"ಇದನ್ನು ನೋಡಿ\"/>\n<l:gentext key=\"See\" text=\"ಇದನ್ನು ನೋಡಿ\"/>\n<l:gentext key=\"seealso\" text=\"ಇದನ್ನೂ ಸಹ ನೋಡಿ\"/>\n<l:gentext key=\"Seealso\" text=\"ಇದನ್ನೂ ಸಹ ನೋಡಿ\"/>\n<l:gentext key=\"SeeAlso\" text=\"ಇದನ್ನೂ ಸಹ ನೋಡಿ\"/>\n<l:gentext key=\"set\" text=\"ಹೊಂದಿಸು\"/>\n<l:gentext key=\"Set\" text=\"ಹೊಂದಿಸು\"/>\n<l:gentext key=\"setindex\" text=\"ಅನುಕ್ರಮಣಿಕೆ ಹೊಂದಿಸು\"/>\n<l:gentext key=\"SetIndex\" text=\"ಅನುಕ್ರಮಣಿಕೆ ಹೊಂದಿಸು\"/>\n<l:gentext key=\"Sidebar\" text=\"ಬದಿಪಟ್ಟಿಕೆ\"/>\n<l:gentext key=\"sidebar\" text=\"ಬದಿಪಟ್ಟಿಕೆ\"/>\n<l:gentext key=\"step\" text=\"ಹಂತ\"/>\n<l:gentext key=\"Step\" text=\"ಹಂತ\"/>\n<l:gentext key=\"table\" text=\"ಕೋಷ್ಟಕ\"/>\n<l:gentext key=\"Table\" text=\"ಕೋಷ್ಟಕ\"/>\n<l:gentext key=\"task\" text=\"ಕಾರ್ಯ\"/>\n<l:gentext key=\"Task\" text=\"ಕಾರ್ಯ\"/>\n<l:gentext key=\"tip\" text=\"ಕಿವಿಮಾತು\"/>\n<l:gentext key=\"TIP\" text=\"ಕಿವಿಮಾತು\"/>\n<l:gentext key=\"Tip\" text=\"ಕಿವಿಮಾತು\"/>\n<l:gentext key=\"Warning\" text=\"ಎಚ್ಚರಿಕೆ\"/>\n<l:gentext key=\"warning\" text=\"ಎಚ್ಚರಿಕೆ\"/>\n<l:gentext key=\"WARNING\" text=\"ಎಚ್ಚರಿಕೆ\"/>\n<l:gentext key=\"and\" text=\"ಮತ್ತು\"/>\n<l:gentext key=\"or\" text=\"ಅಥವಾ\"/>\n<l:gentext key=\"by\" text=\"ಯಿಂದ\"/>\n<l:gentext key=\"Edited\" text=\"ಸಂಪಾದಿಸಿದ\"/>\n<l:gentext key=\"edited\" text=\"ಸಂಪಾದಿಸಿದ\"/>\n<l:gentext key=\"Editedby\" text=\"ಸಂಪಾದಕ\"/>\n<l:gentext key=\"editedby\" text=\"ಸಂಪಾದಕ\"/>\n<l:gentext key=\"in\" text=\"in\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"ಟಿಪ್ಪಣಿಗಳು\"/>\n<l:gentext key=\"Notes\" text=\"ಟಿಪ್ಪಣಿಗಳು\"/>\n<l:gentext key=\"Pgs\" text=\"ಪುಟಗಳು.\"/>\n<l:gentext key=\"pgs\" text=\"ಪುಟಗಳು.\"/>\n<l:gentext key=\"Revisedby\" text=\"ಪರಿಷ್ಕರಿಸಿದವರು: \"/>\n<l:gentext key=\"revisedby\" text=\"ಪರಿಷ್ಕರಿಸಿದವರು: \"/>\n<l:gentext key=\"TableNotes\" text=\"ಟಿಪ್ಪಣಿಗಳು\"/>\n<l:gentext key=\"tablenotes\" text=\"ಟಿಪ್ಪಣಿಗಳು\"/>\n<l:gentext key=\"TableofContents\" text=\"ವಿಷಯಾನುಕ್ರಮಣಿಕೆ\"/>\n<l:gentext key=\"tableofcontents\" text=\"ವಿಷಯಾನುಕ್ರಮಣಿಕೆ\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"ಅನಿರೀಕ್ಷಿತ ವಸ್ತುವಿನ ಹೆಸರು\"/>\n<l:gentext key=\"unsupported\" text=\"ಬೆಂಬಲವಿರದ\"/>\n<l:gentext key=\"xrefto\" text=\"xref ಗಾಗಿ\"/>\n<l:gentext key=\"Authors\" text=\"ಕತೃಗಳು\"/>\n<l:gentext key=\"copyeditor\" text=\"ಪ್ರತಿಯ ಸಂಪಾದಕ\"/>\n<l:gentext key=\"graphicdesigner\" text=\"ಗ್ರಾಫಿಕ್ ವಿನ್ಯಾಸಗಾರ\"/>\n<l:gentext key=\"productioneditor\" text=\"ನಿರ್ಮಾಣ ಸಂಪಾದಕ\"/>\n<l:gentext key=\"technicaleditor\" text=\"ತಾಂತ್ರಿಕ ಸಂಪಾದಕ\"/>\n<l:gentext key=\"translator\" text=\"ಅನುವಾದಕ\"/>\n<l:gentext key=\"listofequations\" text=\"ಸಮೀಕರಣಪಟ್ಟಿ \"/>\n<l:gentext key=\"ListofEquations\" text=\"ಸಮೀಕರಣಪಟ್ಟಿ \"/>\n<l:gentext key=\"ListofExamples\" text=\"ಉದಾಹರಣೆಗಳ ಪಟ್ಟಿ\"/>\n<l:gentext key=\"listofexamples\" text=\"ಉದಾಹರಣೆಗಳ ಪಟ್ಟಿ\"/>\n<l:gentext key=\"ListofFigures\" text=\"ಆಕೃತಿಗಳ ಪಟ್ಟಿ\"/>\n<l:gentext key=\"listoffigures\" text=\"ಆಕೃತಿಗಳ ಪಟ್ಟಿ\"/>\n<l:gentext key=\"ListofProcedures\" text=\"ಕಾರ್ಯವಿಧಾನಗಳ ಪಟ್ಟಿ\"/>\n<l:gentext key=\"listofprocedures\" text=\"ಕಾರ್ಯವಿಧಾನಗಳ ಪಟ್ಟಿ\"/>\n<l:gentext key=\"listoftables\" text=\"ಕೋಷ್ಟಕಗಳ ಪಟ್ಟಿ\"/>\n<l:gentext key=\"ListofTables\" text=\"ಕೋಷ್ಟಕಗಳ ಪಟ್ಟಿ\"/>\n<l:gentext key=\"ListofUnknown\" text=\"ತಿಳಿಯದೆ ಇರುವವುಗಳ ಪಟ್ಟಿ\"/>\n<l:gentext key=\"listofunknown\" text=\"ತಿಳಿಯದೆ ಇರುವವುಗಳ ಪಟ್ಟಿ\"/>\n<l:gentext key=\"nav-home\" text=\"ಮನೆ\"/>\n<l:gentext key=\"nav-next\" text=\"ಮುಂದಿನ\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"ಮುಂದಕ್ಕೆ ಓಡಿಸು\"/>\n<l:gentext key=\"nav-prev\" text=\"ಹಿಂದಿನ\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"ಹಿಂದಕ್ಕೆ ಓಡಿಸು\"/>\n<l:gentext key=\"nav-up\" text=\"ಮೇಲೆ\"/>\n<l:gentext key=\"nav-toc\" text=\"ವಿಷಯ ಸೂಚಿ\"/>\n<l:gentext key=\"Draft\" text=\"ಕರಡು ಪ್ರತಿ\"/>\n<l:gentext key=\"above\" text=\"ಮೇಲೆ\"/>\n<l:gentext key=\"below\" text=\"ಕೆಳಗೆ\"/>\n<l:gentext key=\"sectioncalled\" text=\"ಕೋರಲಾದ ವಿಭಾಗ\"/>\n<l:gentext key=\"index symbols\" text=\"ಸಂಕೇತಗಳು\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"ಅನುಬಂಧ %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"ಅಧ್ಯಾಯ %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"ಸಮೀಕರಣ %n. %t\"/>\n<l:template name=\"example\" text=\"ಉದಾಹರಣೆ %n. %t\"/>\n<l:template name=\"figure\" text=\"ಚಿತ್ರ %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"ಭಾಗ %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"ಕಾರ್ಯವಿಧಾನ %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"ನಿರ್ಮಾಣ %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"ಕೋಷ್ಟಕ %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"ಅನುಬಂಧ %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"ಅಧ್ಯಾಯ %n. %t\"/>\n<l:template name=\"part\" text=\"ಭಾಗ %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"ಉ: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"ಪ್ರಶ್ನೆ: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"ಪ್ರಶ್ನೆ: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"ಕೋರಲಾದ ವಿಭಾಗ “%t”\"/>\n<l:template name=\"refsection\" text=\"ಕೋರಲಾದ ವಿಭಾಗ “%t”\"/>\n<l:template name=\"refsect1\" text=\"ಕೋರಲಾದ ವಿಭಾಗ “%t”\"/>\n<l:template name=\"refsect2\" text=\"ಕೋರಲಾದ ವಿಭಾಗ “%t”\"/>\n<l:template name=\"refsect3\" text=\"ಕೋರಲಾದ ವಿಭಾಗ “%t”\"/>\n<l:template name=\"sect1\" text=\"ಕೋರಲಾದ ವಿಭಾಗ “%t”\"/>\n<l:template name=\"sect2\" text=\"ಕೋರಲಾದ ವಿಭಾಗ “%t”\"/>\n<l:template name=\"sect3\" text=\"ಕೋರಲಾದ ವಿಭಾಗ “%t”\"/>\n<l:template name=\"sect4\" text=\"ಕೋರಲಾದ ವಿಭಾಗ “%t”\"/>\n<l:template name=\"sect5\" text=\"ಕೋರಲಾದ ವಿಭಾಗ “%t”\"/>\n<l:template name=\"section\" text=\"ಕೋರಲಾದ ವಿಭಾಗ “%t”\"/>\n<l:template name=\"simplesect\" text=\"ಕೋರಲಾದ ವಿಭಾಗ “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"ಉ: %n\"/>\n<l:template name=\"appendix\" text=\"ಅನುಬಂಧ %n\"/>\n<l:template name=\"bridgehead\" text=\"ವಿಭಾಗ %n\"/>\n<l:template name=\"chapter\" text=\"ಅಧ್ಯಾಯ %n\"/>\n<l:template name=\"equation\" text=\"ಸಮೀಕರಣ %n\"/>\n<l:template name=\"example\" text=\"ಉದಾಹರಣೆ %n\"/>\n<l:template name=\"figure\" text=\"ಚಿತ್ರ %n\"/>\n<l:template name=\"part\" text=\"ಭಾಗ %n\"/>\n<l:template name=\"procedure\" text=\"ಕಾರ್ಯವಿಧಾನ %n\"/>\n<l:template name=\"productionset\" text=\"ನಿರ್ಮಾಣ %n\"/>\n<l:template name=\"qandadiv\" text=\"ಪ್ರಶ್ನೆ ಮತ್ತು ಉತ್ತರ %n\"/>\n<l:template name=\"qandaentry\" text=\"ಪ್ರಶ್ನೆ: %n\"/>\n<l:template name=\"question\" text=\"ಪ್ರಶ್ನೆ: %n\"/>\n<l:template name=\"sect1\" text=\"ವಿಭಾಗ %n\"/>\n<l:template name=\"sect2\" text=\"ವಿಭಾಗ %n\"/>\n<l:template name=\"sect3\" text=\"ವಿಭಾಗ %n\"/>\n<l:template name=\"sect4\" text=\"ವಿಭಾಗ %n\"/>\n<l:template name=\"sect5\" text=\"ವಿಭಾಗ %n\"/>\n<l:template name=\"section\" text=\"ವಿಭಾಗ %n\"/>\n<l:template name=\"table\" text=\"ಕೋಷ್ಟಕ %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"ಅನುಬಂಧ %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"ವಿಭಾಗ %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"ಅಧ್ಯಾಯ %n, %t\"/>\n<l:template name=\"equation\" text=\"ಸಮೀಕರಣ %n, “%t”\"/>\n<l:template name=\"example\" text=\"ಉದಾಹರಣೆ %n, “%t”\"/>\n<l:template name=\"figure\" text=\"ಚಿತ್ರ %n, “%t”\"/>\n<l:template name=\"part\" text=\"ಭಾಗ %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"ಕಾರ್ಯವಿಧಾನ %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"ನಿರ್ಮಾಣ %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"ಪ್ರಶ್ನೆ ಮತ್ತು ಉತ್ತರ %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"ಕೋರಲಾದ ವಿಭಾಗ “%t”\"/>\n<l:template name=\"refsect2\" text=\"ಕೋರಲಾದ ವಿಭಾಗ “%t”\"/>\n<l:template name=\"refsect3\" text=\"ಕೋರಲಾದ ವಿಭಾಗ “%t”\"/>\n<l:template name=\"refsection\" text=\"ಕೋರಲಾದ ವಿಭಾಗ “%t”\"/>\n<l:template name=\"sect1\" text=\"ವಿಭಾಗ %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"ವಿಭಾಗ %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"ವಿಭಾಗ %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"ವಿಭಾಗ %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"ವಿಭಾಗ %n, “%t”\"/>\n<l:template name=\"section\" text=\"ವಿಭಾಗ %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"ಕೋರಲಾದ ವಿಭಾಗ “%t”\"/>\n<l:template name=\"table\" text=\"ಕೋಷ್ಟಕ %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" ಮತ್ತು \"/>\n<l:template name=\"seplast\" text=\", ಮತ್ತು \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"ಇದನ್ನು ನೋಡಿ %t\"/>\n<l:template name=\"seealso\" text=\"ಇದನ್ನೂ ಸಹ ನೋಡಿ %t\"/>\n<l:template name=\"seealso-separator\" text=\", \" lang=\"en\"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"ಶ್ರೋತೃಗಳು: \"/>\n<l:template name=\"MsgLevel\" text=\"ಸ್ತರ: \"/>\n<l:template name=\"MsgOrig\" text=\"ಮೂಲ: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"ಜನೆವರಿ\"/>\n<l:template name=\"February\" text=\"ಫೆಬ್ರುವರಿ\"/>\n<l:template name=\"March\" text=\"ಮಾರ್ಚ್\"/>\n<l:template name=\"April\" text=\"ಏಪ್ರಲ್\"/>\n<l:template name=\"May\" text=\"ಮೇ\"/>\n<l:template name=\"June\" text=\"ಜೂನ್\"/>\n<l:template name=\"July\" text=\"ಜುಲೈ\"/>\n<l:template name=\"August\" text=\"ಅಗಷ್ಟ\"/>\n<l:template name=\"September\" text=\"ಸೆಪ್ಟೆಂಬರ್\"/>\n<l:template name=\"October\" text=\"ಅಕ್ಟೋಬರ್\"/>\n<l:template name=\"November\" text=\"ನವೆಂಬರ್\"/>\n<l:template name=\"December\" text=\"ಡಿಸೆಂಬರ್\"/>\n<l:template name=\"Monday\" text=\"ಸೋಮವಾರ\"/>\n<l:template name=\"Tuesday\" text=\"ಮಂಗಳವಾರ\"/>\n<l:template name=\"Wednesday\" text=\"ಬುಧವಾರ\"/>\n<l:template name=\"Thursday\" text=\"ಗುರುವಾರ\"/>\n<l:template name=\"Friday\" text=\"ಶುಕ್ರವಾರ\"/>\n<l:template name=\"Saturday\" text=\"ಶನಿವಾರ\"/>\n<l:template name=\"Sunday\" text=\"ರವಿವಾರ\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"ಜನೆವರಿ\"/>\n<l:template name=\"Feb\" text=\"ಫೆಬ್ರುವರಿ\"/>\n<l:template name=\"Mar\" text=\"ಮಾರ್ಚ್\"/>\n<l:template name=\"Apr\" text=\"ಏಪ್ರಿಲ್\"/>\n<l:template name=\"May\" text=\"ಮೇ\"/>\n<l:template name=\"Jun\" text=\"ಜೂನ್\"/>\n<l:template name=\"Jul\" text=\"ಜುಲೈ\"/>\n<l:template name=\"Aug\" text=\"ಅಗಷ್ಟ\"/>\n<l:template name=\"Sep\" text=\"ಸೆಪ್ಟೆಂಬರ್\"/>\n<l:template name=\"Oct\" text=\"ಅಕ್ಟೋಬರ್\"/>\n<l:template name=\"Nov\" text=\"ನವೆಂಬರ್\"/>\n<l:template name=\"Dec\" text=\"ಡಿಸೆಂಬರ್\"/>\n<l:template name=\"Mon\" text=\"ಸೋಮ\"/>\n<l:template name=\"Tue\" text=\"ಮಂಗಳ\"/>\n<l:template name=\"Wed\" text=\"ಬುಧ\"/>\n<l:template name=\"Thu\" text=\"ಗುರು\"/>\n<l:template name=\"Fri\" text=\"ಶುಕ್ರ\"/>\n<l:template name=\"Sat\" text=\"ಶನಿ\"/>\n<l:template name=\"Sun\" text=\"ರವಿ\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x044b Kannada (INDIA)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">ಸಂಕೇತಗಳು</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/ko.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"ko\" english-language-name=\"Korean\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/ko.xml -->\n<!-- * -->\n<!-- * E-mail the edited ko.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"초록\"/>\n<l:gentext key=\"abstract\" text=\"초록\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"답변\"/>\n<l:gentext key=\"answer\" text=\"답변\"/>\n<l:gentext key=\"Appendix\" text=\"부록\"/>\n<l:gentext key=\"appendix\" text=\"부록\"/>\n<l:gentext key=\"Article\" text=\"문서\"/>\n<l:gentext key=\"article\" text=\"문서\"/>\n<l:gentext key=\"Author\" text=\"Author\" lang=\"en\"/>\n<l:gentext key=\"Bibliography\" text=\"서지사항\"/>\n<l:gentext key=\"bibliography\" text=\"서지사항\"/>\n<l:gentext key=\"Book\" text=\"책\"/>\n<l:gentext key=\"book\" text=\"책\"/>\n<l:gentext key=\"CAUTION\" text=\"[경고]\"/>\n<l:gentext key=\"Caution\" text=\"경고\"/>\n<l:gentext key=\"caution\" text=\"경고\"/>\n<l:gentext key=\"Chapter\" text=\"장\"/>\n<l:gentext key=\"chapter\" text=\"장\"/>\n<l:gentext key=\"Colophon\" text=\"판권\"/>\n<l:gentext key=\"colophon\" text=\"판권\"/>\n<l:gentext key=\"Copyright\" text=\"저작권\"/>\n<l:gentext key=\"copyright\" text=\"저작권\"/>\n<l:gentext key=\"Dedication\" text=\"바치는 글\"/>\n<l:gentext key=\"dedication\" text=\"바치는 글\"/>\n<l:gentext key=\"Edition\" text=\"엮음\"/>\n<l:gentext key=\"edition\" text=\"엮음\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"수식\"/>\n<l:gentext key=\"equation\" text=\"수식\"/>\n<l:gentext key=\"Example\" text=\"예\"/>\n<l:gentext key=\"example\" text=\"예\"/>\n<l:gentext key=\"Figure\" text=\"그림\"/>\n<l:gentext key=\"figure\" text=\"그림\"/>\n<l:gentext key=\"Glossary\" text=\"용어해설\"/>\n<l:gentext key=\"glossary\" text=\"용어해설\"/>\n<l:gentext key=\"GlossSee\" text=\"살펴볼 내용\"/>\n<l:gentext key=\"glosssee\" text=\"살펴볼 내용\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"다른 살펴볼 내용\"/>\n<l:gentext key=\"glossseealso\" text=\"다른 살펴볼 내용\"/>\n<l:gentext key=\"IMPORTANT\" text=\"[중요]\"/>\n<l:gentext key=\"important\" text=\"중요\"/>\n<l:gentext key=\"Important\" text=\"중요\"/>\n<l:gentext key=\"Index\" text=\"색인\"/>\n<l:gentext key=\"index\" text=\"색인\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"법적 공지\"/>\n<l:gentext key=\"legalnotice\" text=\"법적 공지\"/>\n<l:gentext key=\"MsgAud\" text=\"받는 이\"/>\n<l:gentext key=\"msgaud\" text=\"받는 이\"/>\n<l:gentext key=\"MsgLevel\" text=\"중요도\"/>\n<l:gentext key=\"msglevel\" text=\"중요도\"/>\n<l:gentext key=\"MsgOrig\" text=\"보내는 이\"/>\n<l:gentext key=\"msgorig\" text=\"보내는 이\"/>\n<l:gentext key=\"NOTE\" text=\"[참고]\"/>\n<l:gentext key=\"Note\" text=\"참고\"/>\n<l:gentext key=\"note\" text=\"참고\"/>\n<l:gentext key=\"Part\" text=\"부\"/>\n<l:gentext key=\"part\" text=\"부\"/>\n<l:gentext key=\"Preface\" text=\"서문\"/>\n<l:gentext key=\"preface\" text=\"서문\"/>\n<l:gentext key=\"Procedure\" text=\"절차\"/>\n<l:gentext key=\"procedure\" text=\"절차\"/>\n<l:gentext key=\"ProductionSet\" text=\"Production\"/>\n<l:gentext key=\"PubDate\" text=\"Publication Date\" lang=\"en\"/>\n<l:gentext key=\"pubdate\" text=\"Publication date\" lang=\"en\"/>\n<l:gentext key=\"Published\" text=\"펴냄\"/>\n<l:gentext key=\"published\" text=\"펴냄\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"질문그리고답변\"/>\n<l:gentext key=\"qandadiv\" text=\"질문그리고답변\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"질문\"/>\n<l:gentext key=\"question\" text=\"질문\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"참고문헌\"/>\n<l:gentext key=\"reference\" text=\"참고문헌\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"제목\"/>\n<l:gentext key=\"refname\" text=\"제목\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"요약\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"요약\"/>\n<l:gentext key=\"RevHistory\" text=\"고친 과정\"/>\n<l:gentext key=\"revhistory\" text=\"고친 과정\"/>\n<l:gentext key=\"revision\" text=\"고침\"/>\n<l:gentext key=\"Revision\" text=\"고침\"/>\n<l:gentext key=\"sect1\" text=\"Section\"/>\n<l:gentext key=\"sect2\" text=\"Section\"/>\n<l:gentext key=\"sect3\" text=\"Section\"/>\n<l:gentext key=\"sect4\" text=\"Section\"/>\n<l:gentext key=\"sect5\" text=\"Section\"/>\n<l:gentext key=\"section\" text=\"절\"/>\n<l:gentext key=\"Section\" text=\"절\"/>\n<l:gentext key=\"see\" text=\"살펴볼 내용\"/>\n<l:gentext key=\"See\" text=\"살펴볼 내용\"/>\n<l:gentext key=\"seealso\" text=\"[살펴볼 다른 내용]\"/>\n<l:gentext key=\"Seealso\" text=\"살펴볼 다른 내용\"/>\n<l:gentext key=\"SeeAlso\" text=\"[살펴볼 다른 내용]\"/>\n<l:gentext key=\"set\" text=\"전집\"/>\n<l:gentext key=\"Set\" text=\"전집\"/>\n<l:gentext key=\"setindex\" text=\"전집 색인\"/>\n<l:gentext key=\"SetIndex\" text=\"전집 색인\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"덧붙임\"/>\n<l:gentext key=\"step\" text=\"단계\"/>\n<l:gentext key=\"Step\" text=\"단계\"/>\n<l:gentext key=\"table\" text=\"표\"/>\n<l:gentext key=\"Table\" text=\"표\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"작은 정보\"/>\n<l:gentext key=\"TIP\" text=\"[작은 정보]\"/>\n<l:gentext key=\"Tip\" text=\"작은 정보\"/>\n<l:gentext key=\"Warning\" text=\"주의\"/>\n<l:gentext key=\"warning\" text=\"주의\"/>\n<l:gentext key=\"WARNING\" text=\"주의!\"/>\n<l:gentext key=\"and\" text=\"그리고\"/>\n<l:gentext key=\"or\" text=\"또는\"/>\n<l:gentext key=\"by\" text=\"지은이\"/>\n<l:gentext key=\"Edited\" text=\"엮음\"/>\n<l:gentext key=\"edited\" text=\"엮음\"/>\n<l:gentext key=\"Editedby\" text=\"엮은이\"/>\n<l:gentext key=\"editedby\" text=\"엮은이\"/>\n<l:gentext key=\"in\" text=\"-\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"주석\"/>\n<l:gentext key=\"Notes\" text=\"주석\"/>\n<l:gentext key=\"Pgs\" text=\"Pgs.\"/>\n<l:gentext key=\"pgs\" text=\"Pgs.\"/>\n<l:gentext key=\"Revisedby\" text=\"고친이 \"/>\n<l:gentext key=\"revisedby\" text=\"고친이 \"/>\n<l:gentext key=\"TableNotes\" text=\"참고\"/>\n<l:gentext key=\"tablenotes\" text=\"참고\"/>\n<l:gentext key=\"TableofContents\" text=\"차례\"/>\n<l:gentext key=\"tableofcontents\" text=\"차례\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"알 수 없는 기초요소 이름입니다\"/>\n<l:gentext key=\"unsupported\" text=\"지원되지 않습니다\"/>\n<l:gentext key=\"xrefto\" text=\"이 곳을 참조하세요 : \"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"수식 목록\"/>\n<l:gentext key=\"ListofEquations\" text=\"수식 목록\"/>\n<l:gentext key=\"ListofExamples\" text=\"예 목록\"/>\n<l:gentext key=\"listofexamples\" text=\"예 목록\"/>\n<l:gentext key=\"ListofFigures\" text=\"그림 목록\"/>\n<l:gentext key=\"listoffigures\" text=\"그림 목록\"/>\n<l:gentext key=\"ListofProcedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listofprocedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listoftables\" text=\"표 목록\"/>\n<l:gentext key=\"ListofTables\" text=\"표 목록\"/>\n<l:gentext key=\"ListofUnknown\" text=\"기타 목록\"/>\n<l:gentext key=\"listofunknown\" text=\"기타 목록\"/>\n<l:gentext key=\"nav-home\" text=\"처음으로\"/>\n<l:gentext key=\"nav-next\" text=\"다음\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"다음으로 건너뜀\"/>\n<l:gentext key=\"nav-prev\" text=\"이전\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"이전으로 건너뜀\"/>\n<l:gentext key=\"nav-up\" text=\"위로\"/>\n<l:gentext key=\"nav-toc\" text=\"ToC\" lang=\"en\"/>\n<l:gentext key=\"Draft\" text=\"Draft\"/>\n<l:gentext key=\"above\" text=\"above\"/>\n<l:gentext key=\"below\" text=\"below\"/>\n<l:gentext key=\"sectioncalled\" text=\"the section called\"/>\n<l:gentext key=\"index symbols\" text=\"Symbols\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\" lang=\"en\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"부록 %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%n장. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"수식 %n. %t\"/>\n<l:template name=\"example\" text=\"예 %n. %t\"/>\n<l:template name=\"figure\" text=\"그림 %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%n부. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"절차 %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Production %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"표 %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"부록 %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"%n장. %t\"/>\n<l:template name=\"part\" text=\"부 %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"답변 %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"질문 %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"질문 %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"“%t”\"/>\n<l:template name=\"refsection\" text=\"“%t”\"/>\n<l:template name=\"refsect1\" text=\"“%t”\"/>\n<l:template name=\"refsect2\" text=\"“%t”\"/>\n<l:template name=\"refsect3\" text=\"“%t”\"/>\n<l:template name=\"sect1\" text=\"“%t”\"/>\n<l:template name=\"sect2\" text=\"“%t”\"/>\n<l:template name=\"sect3\" text=\"“%t”\"/>\n<l:template name=\"sect4\" text=\"“%t”\"/>\n<l:template name=\"sect5\" text=\"“%t”\"/>\n<l:template name=\"section\" text=\"“%t”\"/>\n<l:template name=\"simplesect\" text=\"“%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"답변 %n\"/>\n<l:template name=\"appendix\" text=\"부록 %n\"/>\n<l:template name=\"bridgehead\" text=\"절 %n\"/>\n<l:template name=\"chapter\" text=\"%n장\"/>\n<l:template name=\"equation\" text=\"수식 %n\"/>\n<l:template name=\"example\" text=\"예 %n\"/>\n<l:template name=\"figure\" text=\"그림 %n\"/>\n<l:template name=\"part\" text=\"%n부\"/>\n<l:template name=\"procedure\" text=\"절차 %n\"/>\n<l:template name=\"productionset\" text=\"Production %n\"/>\n<l:template name=\"qandadiv\" text=\"질문그리고답변 %n\"/>\n<l:template name=\"qandaentry\" text=\"질문 %n\"/>\n<l:template name=\"question\" text=\"질문 %n\"/>\n<l:template name=\"sect1\" text=\"%n절\"/>\n<l:template name=\"sect2\" text=\"%n절\"/>\n<l:template name=\"sect3\" text=\"%n절\"/>\n<l:template name=\"sect4\" text=\"%n절\"/>\n<l:template name=\"sect5\" text=\"%n절\"/>\n<l:template name=\"section\" text=\"%n절\"/>\n<l:template name=\"table\" text=\"표 %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"부록 %n. %t\"/>\n<l:template name=\"bridgehead\" text=\"절 %n. “%t”\"/>\n<l:template name=\"chapter\" text=\"%n장. %t\"/>\n<l:template name=\"equation\" text=\"수식 %n. “%t”\"/>\n<l:template name=\"example\" text=\"예 %n. “%t”\"/>\n<l:template name=\"figure\" text=\"그림 %n. “%t”\"/>\n<l:template name=\"part\" text=\"%n부. %t\"/>\n<l:template name=\"procedure\" text=\"절차 %n. “%t”\"/>\n<l:template name=\"productionset\" text=\"Production %n. “%t”\"/>\n<l:template name=\"qandadiv\" text=\"질문그리고답변 %n. “%t”\"/>\n<l:template name=\"refsect1\" text=\"“%t”\"/>\n<l:template name=\"refsect2\" text=\"“%t”\"/>\n<l:template name=\"refsect3\" text=\"“%t”\"/>\n<l:template name=\"refsection\" text=\"“%t”\"/>\n<l:template name=\"sect1\" text=\"%n절. “%t”\"/>\n<l:template name=\"sect2\" text=\"%n절. “%t”\"/>\n<l:template name=\"sect3\" text=\"%n절. “%t”\"/>\n<l:template name=\"sect4\" text=\"%n절. “%t”\"/>\n<l:template name=\"sect5\" text=\"%n절. “%t”\"/>\n<l:template name=\"section\" text=\"%n절. “%t”\"/>\n<l:template name=\"simplesect\" text=\"“%t”\"/>\n<l:template name=\"table\" text=\"표 %n. “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" 그리고 \"/>\n<l:template name=\"seplast\" text=\", 그리고 \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"살펴볼 내용 %t.\"/>\n<l:template name=\"seealso\" text=\"다른 살펴볼 내용 %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"받는 이: \"/>\n<l:template name=\"MsgLevel\" text=\"중요도: \"/>\n<l:template name=\"MsgOrig\" text=\"보내는 이: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\" lang=\"en\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"January\" lang=\"en\"/>\n<l:template name=\"February\" text=\"February\" lang=\"en\"/>\n<l:template name=\"March\" text=\"March\" lang=\"en\"/>\n<l:template name=\"April\" text=\"April\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"June\" text=\"June\" lang=\"en\"/>\n<l:template name=\"July\" text=\"July\" lang=\"en\"/>\n<l:template name=\"August\" text=\"August\" lang=\"en\"/>\n<l:template name=\"September\" text=\"September\" lang=\"en\"/>\n<l:template name=\"October\" text=\"October\" lang=\"en\"/>\n<l:template name=\"November\" text=\"November\" lang=\"en\"/>\n<l:template name=\"December\" text=\"December\" lang=\"en\"/>\n<l:template name=\"Monday\" text=\"Monday\" lang=\"en\"/>\n<l:template name=\"Tuesday\" text=\"Tuesday\" lang=\"en\"/>\n<l:template name=\"Wednesday\" text=\"Wednesday\" lang=\"en\"/>\n<l:template name=\"Thursday\" text=\"Thursday\" lang=\"en\"/>\n<l:template name=\"Friday\" text=\"Friday\" lang=\"en\"/>\n<l:template name=\"Saturday\" text=\"Saturday\" lang=\"en\"/>\n<l:template name=\"Sunday\" text=\"Sunday\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\" lang=\"en\"/>\n<l:template name=\"Feb\" text=\"Feb\" lang=\"en\"/>\n<l:template name=\"Mar\" text=\"Mar\" lang=\"en\"/>\n<l:template name=\"Apr\" text=\"Apr\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"Jun\" text=\"Jun\" lang=\"en\"/>\n<l:template name=\"Jul\" text=\"Jul\" lang=\"en\"/>\n<l:template name=\"Aug\" text=\"Aug\" lang=\"en\"/>\n<l:template name=\"Sep\" text=\"Sep\" lang=\"en\"/>\n<l:template name=\"Oct\" text=\"Oct\" lang=\"en\"/>\n<l:template name=\"Nov\" text=\"Nov\" lang=\"en\"/>\n<l:template name=\"Dec\" text=\"Dec\" lang=\"en\"/>\n<l:template name=\"Mon\" text=\"Mon\" lang=\"en\"/>\n<l:template name=\"Tue\" text=\"Tue\" lang=\"en\"/>\n<l:template name=\"Wed\" text=\"Wed\" lang=\"en\"/>\n<l:template name=\"Thu\" text=\"Thu\" lang=\"en\"/>\n<l:template name=\"Fri\" text=\"Fri\" lang=\"en\"/>\n<l:template name=\"Sat\" text=\"Sat\" lang=\"en\"/>\n<l:template name=\"Sun\" text=\"Sun\" lang=\"en\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0412 Korean\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters lang=\"en\"><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/ky.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"ky\" english-language-name=\"Kirghiz\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/ky.xml -->\n<!-- * -->\n<!-- * E-mail the edited ky.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Аннотация\"/>\n<l:gentext key=\"abstract\" text=\"Аннотация\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"Жооп:\"/>\n<l:gentext key=\"answer\" text=\"Жооп:\"/>\n<l:gentext key=\"Appendix\" text=\"Тиркеме\"/>\n<l:gentext key=\"appendix\" text=\"Тиркеме\"/>\n<l:gentext key=\"Article\" text=\"Макала\"/>\n<l:gentext key=\"article\" text=\"Макала\"/>\n<l:gentext key=\"Author\" text=\"Автор\"/>\n<l:gentext key=\"Bibliography\" text=\"Адабият\"/>\n<l:gentext key=\"bibliography\" text=\"Адабият\"/>\n<l:gentext key=\"Book\" text=\"Китеп\"/>\n<l:gentext key=\"book\" text=\"Китеп\"/>\n<l:gentext key=\"CAUTION\" text=\"ЭСКЕРТҮҮ\"/>\n<l:gentext key=\"Caution\" text=\"Эскертүү\"/>\n<l:gentext key=\"caution\" text=\"Эскертүү\"/>\n<l:gentext key=\"Chapter\" text=\"Бөлүм\"/>\n<l:gentext key=\"chapter\" text=\"Бөлүм\"/>\n<l:gentext key=\"Colophon\" text=\"Китеп жөнүндө\"/>\n<l:gentext key=\"colophon\" text=\"Китеп жөнүндө\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"Copyright\"/>\n<l:gentext key=\"Dedication\" text=\"Арноо\"/>\n<l:gentext key=\"dedication\" text=\"Арноо\"/>\n<l:gentext key=\"Edition\" text=\"Редакция\"/>\n<l:gentext key=\"edition\" text=\"Редакция\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Формула\"/>\n<l:gentext key=\"equation\" text=\"Формула\"/>\n<l:gentext key=\"Example\" text=\"Мисал\"/>\n<l:gentext key=\"example\" text=\"Мисал\"/>\n<l:gentext key=\"Figure\" text=\"Сүрөт\"/>\n<l:gentext key=\"figure\" text=\"Сүрөт\"/>\n<l:gentext key=\"Glossary\" text=\"Сөздүк\"/>\n<l:gentext key=\"glossary\" text=\"Сөздүк\"/>\n<l:gentext key=\"GlossSee\" text=\"Караңыз\"/>\n<l:gentext key=\"glosssee\" text=\"Караңыз\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Дагы караңыз\"/>\n<l:gentext key=\"glossseealso\" text=\"Дагы караңыз\"/>\n<l:gentext key=\"IMPORTANT\" text=\"МААНИЛҮҮ\"/>\n<l:gentext key=\"important\" text=\"Маанилүү\"/>\n<l:gentext key=\"Important\" text=\"Маанилүү\"/>\n<l:gentext key=\"Index\" text=\"Индекс\"/>\n<l:gentext key=\"index\" text=\"Индекс\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Автордук укуктар\"/>\n<l:gentext key=\"legalnotice\" text=\"Автордук укуктар\"/>\n<l:gentext key=\"MsgAud\" text=\"Audience\"/>\n<l:gentext key=\"msgaud\" text=\"Audience\"/>\n<l:gentext key=\"MsgLevel\" text=\"Деңгээл\"/>\n<l:gentext key=\"msglevel\" text=\"Деңгээл\"/>\n<l:gentext key=\"MsgOrig\" text=\"Булак\"/>\n<l:gentext key=\"msgorig\" text=\"Булак\"/>\n<l:gentext key=\"NOTE\" text=\"ЭСКЕРҮҮ\"/>\n<l:gentext key=\"Note\" text=\"Эскерүү\"/>\n<l:gentext key=\"note\" text=\"Эскерүү\"/>\n<l:gentext key=\"Part\" text=\"Түркүм\"/>\n<l:gentext key=\"part\" text=\"Түркүм\"/>\n<l:gentext key=\"Preface\" text=\"Кириш сөз\"/>\n<l:gentext key=\"preface\" text=\"Кириш сөз\"/>\n<l:gentext key=\"Procedure\" text=\"Процедура\"/>\n<l:gentext key=\"procedure\" text=\"Процедура\"/>\n<l:gentext key=\"ProductionSet\" text=\"Production\"/>\n<l:gentext key=\"PubDate\" text=\"Publication Date\" lang=\"en\"/>\n<l:gentext key=\"pubdate\" text=\"Publication date\" lang=\"en\"/>\n<l:gentext key=\"Published\" text=\"Жарияланган\"/>\n<l:gentext key=\"published\" text=\"Жарияланган\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"С жана Ж\"/>\n<l:gentext key=\"qandadiv\" text=\"С жана Ж\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"Суроо:\"/>\n<l:gentext key=\"question\" text=\"Суроо:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Шилтеме\"/>\n<l:gentext key=\"reference\" text=\"Шилтеме\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Аталышы\"/>\n<l:gentext key=\"refname\" text=\"Аталышы\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Синтаксис\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Синтаксис\"/>\n<l:gentext key=\"RevHistory\" text=\"Басылыш тарыхы\"/>\n<l:gentext key=\"revhistory\" text=\"Басылыш тарыхы\"/>\n<l:gentext key=\"revision\" text=\"Басылышы\"/>\n<l:gentext key=\"Revision\" text=\"Басылышы\"/>\n<l:gentext key=\"sect1\" text=\"Бөлүк\"/>\n<l:gentext key=\"sect2\" text=\"Бөлүк\"/>\n<l:gentext key=\"sect3\" text=\"Бөлүк\"/>\n<l:gentext key=\"sect4\" text=\"Бөлүк\"/>\n<l:gentext key=\"sect5\" text=\"Бөлүк\"/>\n<l:gentext key=\"section\" text=\"бөлүк\"/>\n<l:gentext key=\"Section\" text=\"Бөлүк\"/>\n<l:gentext key=\"see\" text=\"караңыз\"/>\n<l:gentext key=\"See\" text=\"Караңыз\"/>\n<l:gentext key=\"seealso\" text=\"Дагы караңыз\"/>\n<l:gentext key=\"Seealso\" text=\"Дагы караңыз\"/>\n<l:gentext key=\"SeeAlso\" text=\"Дагы караңыз\"/>\n<l:gentext key=\"set\" text=\"Тизме\"/>\n<l:gentext key=\"Set\" text=\"Тизме\"/>\n<l:gentext key=\"setindex\" text=\"Ылгап алынган тизме\"/>\n<l:gentext key=\"SetIndex\" text=\"Ылгап алынган тизме\"/>\n<l:gentext key=\"Sidebar\" text=\"Белгилөө\"/>\n<l:gentext key=\"sidebar\" text=\"белгилөө\"/>\n<l:gentext key=\"step\" text=\"кадам\"/>\n<l:gentext key=\"Step\" text=\"Кадам\"/>\n<l:gentext key=\"table\" text=\"таблица\"/>\n<l:gentext key=\"Table\" text=\"Таблица\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"шыбыроо\"/>\n<l:gentext key=\"TIP\" text=\"ШЫБЫРОО\"/>\n<l:gentext key=\"Tip\" text=\"Шыбыроо\"/>\n<l:gentext key=\"Warning\" text=\"Көңүл бургула\"/>\n<l:gentext key=\"warning\" text=\"Көңүл бургула\"/>\n<l:gentext key=\"WARNING\" text=\"КӨҢҮЛ БУРГУЛА\"/>\n<l:gentext key=\"and\" text=\"\"/>\n<l:gentext key=\"or\" text=\"or\" lang=\"en\"/>\n<l:gentext key=\"by\" text=\"\"/>\n<l:gentext key=\"Edited\" text=\"Редакцияга даярдаган\"/>\n<l:gentext key=\"edited\" text=\"Редакцияга даярдаган\"/>\n<l:gentext key=\"Editedby\" text=\"Редакцияга даярдаган\"/>\n<l:gentext key=\"editedby\" text=\"Редакцияга даярдаган\"/>\n<l:gentext key=\"in\" text=\"\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Эскертүү\"/>\n<l:gentext key=\"Notes\" text=\"Эскертүү\"/>\n<l:gentext key=\"Pgs\" text=\"Барак\"/>\n<l:gentext key=\"pgs\" text=\"Барак\"/>\n<l:gentext key=\"Revisedby\" text=\"Оңдоолор: \"/>\n<l:gentext key=\"revisedby\" text=\"Оңдоолор: \"/>\n<l:gentext key=\"TableNotes\" text=\"Эскертүү\"/>\n<l:gentext key=\"tablenotes\" text=\"Эскертүү\"/>\n<l:gentext key=\"TableofContents\" text=\"Мазмун\"/>\n<l:gentext key=\"tableofcontents\" text=\"Мазмун\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"unexpected element name\"/>\n<l:gentext key=\"unsupported\" text=\"unsupported\"/>\n<l:gentext key=\"xrefto\" text=\"xref to\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"Формулалар\"/>\n<l:gentext key=\"ListofEquations\" text=\"Формулалар\"/>\n<l:gentext key=\"ListofExamples\" text=\"Мисалдар\"/>\n<l:gentext key=\"listofexamples\" text=\"Мисалдар\"/>\n<l:gentext key=\"ListofFigures\" text=\"Сүрөттөр\"/>\n<l:gentext key=\"listoffigures\" text=\"Сүрөттөр\"/>\n<l:gentext key=\"ListofProcedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listofprocedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listoftables\" text=\"Таблицалар\"/>\n<l:gentext key=\"ListofTables\" text=\"Таблицалар\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Белгисиз\"/>\n<l:gentext key=\"listofunknown\" text=\"Белгисиз\"/>\n<l:gentext key=\"nav-home\" text=\"Башы\"/>\n<l:gentext key=\"nav-next\" text=\"Кийинки\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Кийинки бөлүм\"/>\n<l:gentext key=\"nav-prev\" text=\"Мурунку\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Мурунку бөлүм\"/>\n<l:gentext key=\"nav-up\" text=\"Деңгээлге жогору\"/>\n<l:gentext key=\"nav-toc\" text=\"ToC\" lang=\"en\"/>\n<l:gentext key=\"Draft\" text=\"Кол жазма\"/>\n<l:gentext key=\"above\" text=\"жогору\"/>\n<l:gentext key=\"below\" text=\"ылдый\"/>\n<l:gentext key=\"sectioncalled\" text=\"the section called\"/>\n<l:gentext key=\"index symbols\" text=\"Символдор\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"абвгдеёжзийклмнңоөпрстуүфхцчшщъыьэюя\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"АБВГДЕЁЖЗИЙКЛМНҢОӨПРСТУҮФХЦЧШЩЪЫЬЭЮЯ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"«\"/>\n<l:dingbat key=\"endquote\" text=\"»\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"„\"/>\n<l:dingbat key=\"nestedendquote\" text=\"“\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Тиркеме %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Бөлүм %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Формула %n. %t\"/>\n<l:template name=\"example\" text=\"Мисал %n. %t\"/>\n<l:template name=\"figure\" text=\"Сүрөт %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Түркүм %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Процедура %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Production %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Таблица %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Тиркеме %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Бөлүм %n. %t\"/>\n<l:template name=\"part\" text=\"Түркүм %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"Жооп: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Суроо: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Суроо: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"«%t»\"/>\n<l:template name=\"refsection\" text=\"«%t»\"/>\n<l:template name=\"refsect1\" text=\"«%t»\"/>\n<l:template name=\"refsect2\" text=\"«%t»\"/>\n<l:template name=\"refsect3\" text=\"«%t»\"/>\n<l:template name=\"sect1\" text=\"«%t»\"/>\n<l:template name=\"sect2\" text=\"«%t»\"/>\n<l:template name=\"sect3\" text=\"«%t»\"/>\n<l:template name=\"sect4\" text=\"«%t»\"/>\n<l:template name=\"sect5\" text=\"«%t»\"/>\n<l:template name=\"section\" text=\"«%t»\"/>\n<l:template name=\"simplesect\" text=\"«%t»\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Жооп: %n\"/>\n<l:template name=\"appendix\" text=\"Тиркеме %n\"/>\n<l:template name=\"bridgehead\" text=\"Бөлүк %n\"/>\n<l:template name=\"chapter\" text=\"Бөлүм %n\"/>\n<l:template name=\"equation\" text=\"Формула %n\"/>\n<l:template name=\"example\" text=\"Мисал %n\"/>\n<l:template name=\"figure\" text=\"Сүрөт %n\"/>\n<l:template name=\"part\" text=\"Түркүм %n\"/>\n<l:template name=\"procedure\" text=\"Процедура %n\"/>\n<l:template name=\"productionset\" text=\"Production %n\"/>\n<l:template name=\"qandadiv\" text=\"С жана Ж %n\"/>\n<l:template name=\"qandaentry\" text=\"Суроо: %n\"/>\n<l:template name=\"question\" text=\"Суроо: %n\"/>\n<l:template name=\"sect1\" text=\"Бөлүк %n\"/>\n<l:template name=\"sect2\" text=\"Бөлүк %n\"/>\n<l:template name=\"sect3\" text=\"Бөлүк %n\"/>\n<l:template name=\"sect4\" text=\"Бөлүк %n\"/>\n<l:template name=\"sect5\" text=\"Бөлүк %n\"/>\n<l:template name=\"section\" text=\"Бөлүк %n\"/>\n<l:template name=\"table\" text=\"Таблица %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Тиркеме %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Бөлүк %n, «%t»\"/>\n<l:template name=\"chapter\" text=\"Бөлүм %n, %t\"/>\n<l:template name=\"equation\" text=\"Формула %n, «%t»\"/>\n<l:template name=\"example\" text=\"Мисал %n, «%t»\"/>\n<l:template name=\"figure\" text=\"Сүрөт %n, «%t»\"/>\n<l:template name=\"part\" text=\"Түркүм %n, «%t»\"/>\n<l:template name=\"procedure\" text=\"Процедура %n, «%t»\"/>\n<l:template name=\"productionset\" text=\"Production %n, «%t»\"/>\n<l:template name=\"qandadiv\" text=\"С жана Ж %n, «%t»\"/>\n<l:template name=\"refsect1\" text=\"the section called «%t»\"/>\n<l:template name=\"refsect2\" text=\"the section called «%t»\"/>\n<l:template name=\"refsect3\" text=\"the section called «%t»\"/>\n<l:template name=\"refsection\" text=\"the section called «%t»\"/>\n<l:template name=\"sect1\" text=\"Бөлүк %n, «%t»\"/>\n<l:template name=\"sect2\" text=\"Бөлүк %n, «%t»\"/>\n<l:template name=\"sect3\" text=\"Бөлүк %n, «%t»\"/>\n<l:template name=\"sect4\" text=\"Бөлүк %n, «%t»\"/>\n<l:template name=\"sect5\" text=\"Бөлүк %n, «%t»\"/>\n<l:template name=\"section\" text=\"Бөлүк %n, «%t»\"/>\n<l:template name=\"simplesect\" text=\"the section called «%t»\"/>\n<l:template name=\"table\" text=\"Таблица %n, «%t»\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\"  \"/>\n<l:template name=\"seplast\" text=\",  \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Караңыз %t.\"/>\n<l:template name=\"seealso\" text=\"Дагы караңыз %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Audience: \"/>\n<l:template name=\"MsgLevel\" text=\"Деңгээл: \"/>\n<l:template name=\"MsgOrig\" text=\"Булак: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Январь\"/>\n<l:template name=\"February\" text=\"Февраль\"/>\n<l:template name=\"March\" text=\"Март\"/>\n<l:template name=\"April\" text=\"Апрель\"/>\n<l:template name=\"May\" text=\"Май\"/>\n<l:template name=\"June\" text=\"Июнь\"/>\n<l:template name=\"July\" text=\"Июль\"/>\n<l:template name=\"August\" text=\"Август\"/>\n<l:template name=\"September\" text=\"Сентябрь\"/>\n<l:template name=\"October\" text=\"Октябрь\"/>\n<l:template name=\"November\" text=\"Ноябрь\"/>\n<l:template name=\"December\" text=\"Декабрь\"/>\n<l:template name=\"Monday\" text=\"Дүйшөмбү\"/>\n<l:template name=\"Tuesday\" text=\"Шейшемби\"/>\n<l:template name=\"Wednesday\" text=\"Шаршемби\"/>\n<l:template name=\"Thursday\" text=\"Бейшемби\"/>\n<l:template name=\"Friday\" text=\"Жума\"/>\n<l:template name=\"Saturday\" text=\"Ишемби\"/>\n<l:template name=\"Sunday\" text=\"Жекшемби\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Янв\"/>\n<l:template name=\"Feb\" text=\"Фев\"/>\n<l:template name=\"Mar\" text=\"Мар\"/>\n<l:template name=\"Apr\" text=\"Апр\"/>\n<l:template name=\"May\" text=\"Май\"/>\n<l:template name=\"Jun\" text=\"Июн\"/>\n<l:template name=\"Jul\" text=\"Июл\"/>\n<l:template name=\"Aug\" text=\"Авг\"/>\n<l:template name=\"Sep\" text=\"Сен\"/>\n<l:template name=\"Oct\" text=\"Окт\"/>\n<l:template name=\"Nov\" text=\"Ноя\"/>\n<l:template name=\"Dec\" text=\"Дек\"/>\n<l:template name=\"Mon\" text=\"Дүй\"/>\n<l:template name=\"Tue\" text=\"Шей\"/>\n<l:template name=\"Wed\" text=\"Шар\"/>\n<l:template name=\"Thu\" text=\"Бей\"/>\n<l:template name=\"Fri\" text=\"Жум\"/>\n<l:template name=\"Sat\" text=\"Ише\"/>\n<l:template name=\"Sun\" text=\"Жек\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0440 Kirghiz\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Символдор</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"270\">А</l:l>\n<l:l i=\"270\">а</l:l>\n<l:l i=\"280\">Б</l:l>\n<l:l i=\"280\">б</l:l>\n<l:l i=\"290\">В</l:l>\n<l:l i=\"290\">в</l:l>\n<l:l i=\"300\">Г</l:l>\n<l:l i=\"300\">г</l:l>\n<l:l i=\"310\">Д</l:l>\n<l:l i=\"310\">д</l:l>\n<l:l i=\"320\">Е</l:l>\n<l:l i=\"320\">е</l:l>\n<l:l i=\"320\">Ё</l:l>\n<l:l i=\"320\">ё</l:l>\n<l:l i=\"330\">Ж</l:l>\n<l:l i=\"330\">ж</l:l>\n<l:l i=\"340\">З</l:l>\n<l:l i=\"340\">з</l:l>\n<l:l i=\"350\">И</l:l>\n<l:l i=\"350\">и</l:l>\n<l:l i=\"360\">Й</l:l>\n<l:l i=\"360\">й</l:l>\n<l:l i=\"370\">К</l:l>\n<l:l i=\"370\">к</l:l>\n<l:l i=\"380\">Л</l:l>\n<l:l i=\"380\">л</l:l>\n<l:l i=\"390\">М</l:l>\n<l:l i=\"390\">м</l:l>\n<l:l i=\"400\">Н</l:l>\n<l:l i=\"400\">н</l:l>\n<l:l i=\"410\">Ң</l:l>\n<l:l i=\"410\">ң</l:l>\n<l:l i=\"420\">О</l:l>\n<l:l i=\"420\">о</l:l>\n<l:l i=\"430\">Ө</l:l>\n<l:l i=\"430\">ө</l:l>\n<l:l i=\"440\">П</l:l>\n<l:l i=\"440\">п</l:l>\n<l:l i=\"450\">Р</l:l>\n<l:l i=\"450\">р</l:l>\n<l:l i=\"460\">С</l:l>\n<l:l i=\"460\">с</l:l>\n<l:l i=\"470\">Т</l:l>\n<l:l i=\"470\">т</l:l>\n<l:l i=\"480\">У</l:l>\n<l:l i=\"480\">у</l:l>\n<l:l i=\"490\">Ү</l:l>\n<l:l i=\"490\">ү</l:l>\n<l:l i=\"500\">Ф</l:l>\n<l:l i=\"500\">ф</l:l>\n<l:l i=\"510\">Х</l:l>\n<l:l i=\"510\">х</l:l>\n<l:l i=\"520\">Ц</l:l>\n<l:l i=\"520\">ц</l:l>\n<l:l i=\"530\">Ч</l:l>\n<l:l i=\"530\">ч</l:l>\n<l:l i=\"540\">Ш</l:l>\n<l:l i=\"540\">ш</l:l>\n<l:l i=\"550\">Щ</l:l>\n<l:l i=\"550\">щ</l:l>\n<l:l i=\"560\">Ъ</l:l>\n<l:l i=\"560\">ъ</l:l>\n<l:l i=\"570\">Ы</l:l>\n<l:l i=\"570\">ы</l:l>\n<l:l i=\"580\">Ь</l:l>\n<l:l i=\"580\">ь</l:l>\n<l:l i=\"590\">Э</l:l>\n<l:l i=\"590\">э</l:l>\n<l:l i=\"600\">Ю</l:l>\n<l:l i=\"600\">ю</l:l>\n<l:l i=\"610\">Я</l:l>\n<l:l i=\"610\">я</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/l10n.dtd",
    "content": "<!ENTITY % prefix \"l\">\n\n<!ENTITY % xmlns \"xmlns:%prefix;\">\n<!ENTITY % uri \"'http://docbook.sourceforge.net/xmlns/l10n/1.0'\">\n\n<!ENTITY % i18n \"%prefix;:i18n\">\n<!ENTITY % l10n \"%prefix;:l10n\">\n<!ENTITY % gentext \"%prefix;:gentext\">\n<!ENTITY % dingbat \"%prefix;:dingbat\">\n<!ENTITY % context \"%prefix;:context\">\n<!ENTITY % template \"%prefix;:template\">\n<!ENTITY % letters \"%prefix;:letters\">\n<!ENTITY % l \"%prefix;:l\">\n<!ENTITY % lang \"lang NMTOKEN #IMPLIED\"> \n\n<!ELEMENT %i18n; ((%l10n;)+)>\n<!ATTLIST %i18n;\n\t%xmlns;\t\tCDATA\t#FIXED %uri;\n>\n\n<!ELEMENT %l10n; (%gentext;|%dingbat;|%context;|%letters;)*>\n<!ATTLIST %l10n;\n\t%xmlns;\t\tCDATA\t#FIXED %uri;\n\tlanguage\tCDATA\t#REQUIRED\n\tenglish-language-name\tCDATA\t#IMPLIED\n\thref            CDATA   #IMPLIED\n>\n\n<!ELEMENT %gentext; EMPTY>\n<!ATTLIST %gentext;\n\t%lang;\n\tkey\t\tCDATA\t#REQUIRED\n\ttext\t\tCDATA\t#REQUIRED\n>\n\n<!ELEMENT %dingbat; EMPTY>\n<!ATTLIST %dingbat;\n        %lang;\n\tkey\t\tCDATA\t#REQUIRED\n\ttext\t\tCDATA\t#REQUIRED\n>\n\n<!ELEMENT %context; ((%template;)+)>\n<!ATTLIST %context;\n\tname\t\tCDATA\t#REQUIRED\n>\n\n<!ELEMENT %template; EMPTY>\n<!ATTLIST %template;\n        %lang;\n\tname\t\tCDATA\t#REQUIRED\n\ttext\t\tCDATA\t#REQUIRED\n\tstyle\t\tCDATA\t#IMPLIED\n>\n\n<!ELEMENT %letters; ((%l;)+)>\n<!ATTLIST %letters;\n          %lang;\n>\n\n<!ELEMENT %l; (#PCDATA)>\n<!ATTLIST %l;\n          i \t\tCDATA \t#REQUIRED\n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/l10n.xml",
    "content": "<?xml version='1.0'?>\n<!DOCTYPE l:i18n SYSTEM \"l10n.dtd\">\n<l:i18n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\">\n<l:l10n language=\"af\" href=\"af.xml\"/>\n<l:l10n language=\"am\" href=\"am.xml\"/>\n<l:l10n language=\"ar\" href=\"ar.xml\"/>\n<l:l10n language=\"as\" href=\"as.xml\"/>\n<l:l10n language=\"ast\" href=\"ast.xml\"/>\n<l:l10n language=\"az\" href=\"az.xml\"/>\n<l:l10n language=\"bg\" href=\"bg.xml\"/>\n<l:l10n language=\"bn\" href=\"bn.xml\"/>\n<l:l10n language=\"bn_in\" href=\"bn_in.xml\"/>\n<l:l10n language=\"bs\" href=\"bs.xml\"/>\n<l:l10n language=\"ca\" href=\"ca.xml\"/>\n<l:l10n language=\"cs\" href=\"cs.xml\"/>\n<l:l10n language=\"cy\" href=\"cy.xml\"/>\n<l:l10n language=\"da\" href=\"da.xml\"/>\n<l:l10n language=\"de\" href=\"de.xml\"/>\n<l:l10n language=\"el\" href=\"el.xml\"/>\n<l:l10n language=\"en\" href=\"en.xml\"/>\n<l:l10n language=\"eo\" href=\"eo.xml\"/>\n<l:l10n language=\"es\" href=\"es.xml\"/>\n<l:l10n language=\"et\" href=\"et.xml\"/>\n<l:l10n language=\"eu\" href=\"eu.xml\"/>\n<l:l10n language=\"fa\" href=\"fa.xml\"/>\n<l:l10n language=\"fi\" href=\"fi.xml\"/>\n<l:l10n language=\"fr\" href=\"fr.xml\"/>\n<l:l10n language=\"ga\" href=\"ga.xml\"/>\n<l:l10n language=\"gl\" href=\"gl.xml\"/>\n<l:l10n language=\"gu\" href=\"gu.xml\"/>\n<l:l10n language=\"he\" href=\"he.xml\"/>\n<l:l10n language=\"hi\" href=\"hi.xml\"/>\n<l:l10n language=\"hr\" href=\"hr.xml\"/>\n<l:l10n language=\"hu\" href=\"hu.xml\"/>\n<l:l10n language=\"id\" href=\"id.xml\"/>\n<l:l10n language=\"is\" href=\"is.xml\"/>\n<l:l10n language=\"it\" href=\"it.xml\"/>\n<l:l10n language=\"ja\" href=\"ja.xml\"/>\n<l:l10n language=\"ka\" href=\"ka.xml\"/>\n<l:l10n language=\"kn\" href=\"kn.xml\"/>\n<l:l10n language=\"ko\" href=\"ko.xml\"/>\n<l:l10n language=\"ky\" href=\"ky.xml\"/>\n<l:l10n language=\"la\" href=\"la.xml\"/>\n<l:l10n language=\"lt\" href=\"lt.xml\"/>\n<l:l10n language=\"lv\" href=\"lv.xml\"/>\n<l:l10n language=\"ml\" href=\"ml.xml\"/>\n<l:l10n language=\"mn\" href=\"mn.xml\"/>\n<l:l10n language=\"mr\" href=\"mr.xml\"/>\n<l:l10n language=\"nb\" href=\"nb.xml\"/>\n<l:l10n language=\"nds\" href=\"nds.xml\"/>\n<l:l10n language=\"nl\" href=\"nl.xml\"/>\n<l:l10n language=\"nn\" href=\"nn.xml\"/>\n<l:l10n language=\"or\" href=\"or.xml\"/>\n<l:l10n language=\"pa\" href=\"pa.xml\"/>\n<l:l10n language=\"pl\" href=\"pl.xml\"/>\n<l:l10n language=\"pt\" href=\"pt.xml\"/>\n<l:l10n language=\"pt_br\" href=\"pt_br.xml\"/>\n<l:l10n language=\"ro\" href=\"ro.xml\"/>\n<l:l10n language=\"ru\" href=\"ru.xml\"/>\n<l:l10n language=\"sk\" href=\"sk.xml\"/>\n<l:l10n language=\"sl\" href=\"sl.xml\"/>\n<l:l10n language=\"sq\" href=\"sq.xml\"/>\n<l:l10n language=\"sr\" href=\"sr.xml\"/>\n<l:l10n language=\"sr_latn\" href=\"sr_Latn.xml\"/>\n<l:l10n language=\"sv\" href=\"sv.xml\"/>\n<l:l10n language=\"ta\" href=\"ta.xml\"/>\n<l:l10n language=\"te\" href=\"te.xml\"/>\n<l:l10n language=\"th\" href=\"th.xml\"/>\n<l:l10n language=\"tl\" href=\"tl.xml\"/>\n<l:l10n language=\"tr\" href=\"tr.xml\"/>\n<l:l10n language=\"uk\" href=\"uk.xml\"/>\n<l:l10n language=\"vi\" href=\"vi.xml\"/>\n<l:l10n language=\"xh\" href=\"xh.xml\"/>\n<l:l10n language=\"zh\" href=\"zh.xml\"/>\n<l:l10n language=\"zh_cn\" href=\"zh_cn.xml\"/>\n<l:l10n language=\"zh_tw\" href=\"zh_tw.xml\"/>\n</l:i18n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/l10n.xsl",
    "content": "<?xml version='1.0'?>\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\"\n                exclude-result-prefixes=\"l\"\n                version='1.0'>\n\n<!-- ********************************************************************\n     $Id: l10n.xsl 9708 2013-01-22 13:41:24Z kosek $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     This file contains localization templates (for internationalization)\n     ******************************************************************** -->\n\n<xsl:param name=\"l10n.xml\" select=\"document('../common/l10n.xml')\"/>\n<xsl:param name=\"local.l10n.xml\" select=\"document('')\"/>\n<xsl:param name=\"empty.local.l10n.xml\" select=\"not($local.l10n.xml//l:l10n)\"/>\n\n<xsl:key name=\"l10n-lang\" match=\"l:l10n\" use=\"@language\"/>\n<xsl:key name=\"l10n-gentext\" match=\"l:l10n/l:gentext\" use=\"@key\"/>\n<xsl:key name=\"l10n-dingbat\" match=\"l:l10n/l:dingbat\" use=\"@key\"/>\n<xsl:key name=\"l10n-context\" match=\"l:l10n/l:context\" use=\"@name\"/>\n<xsl:key name=\"l10n-template\" match=\"l:l10n/l:context/l:template[not(@style)]\" use=\"concat(../@name, '#', @name)\"/>\n<xsl:key name=\"l10n-template-style\" match=\"l:l10n/l:context/l:template[@style]\" use=\"concat(../@name, '#', @name, '#', @style)\"/>\n\n<xsl:template name=\"l10n.language\">\n  <xsl:param name=\"target\" select=\".\"/>\n  <xsl:param name=\"xref-context\" select=\"false()\"/>\n\n  <xsl:variable name=\"mc-language\">\n    <xsl:choose>\n      <xsl:when test=\"$l10n.gentext.language != ''\">\n        <xsl:value-of select=\"$l10n.gentext.language\"/>\n      </xsl:when>\n\n      <xsl:when test=\"$xref-context or $l10n.gentext.use.xref.language != 0\">\n        <!-- can't do this one step: attributes are unordered! -->\n        <xsl:variable name=\"lang-scope\"\n                      select=\"$target/ancestor-or-self::*\n                              [@lang or @xml:lang][1]\"/>\n        <xsl:variable name=\"lang-attr\"\n                      select=\"($lang-scope/@lang | $lang-scope/@xml:lang)[1]\"/>\n        <xsl:choose>\n          <xsl:when test=\"string($lang-attr) = ''\">\n            <xsl:value-of select=\"$l10n.gentext.default.language\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"$lang-attr\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n\n      <xsl:otherwise>\n        <!-- can't do this one step: attributes are unordered! -->\n        <xsl:variable name=\"lang-scope\"\n                      select=\"$target/ancestor-or-self::*\n                              [@lang or @xml:lang][1]\"/>\n        <xsl:variable name=\"lang-attr\"\n                      select=\"($lang-scope/@lang | $lang-scope/@xml:lang)[1]\"/>\n\n        <xsl:choose>\n          <xsl:when test=\"string($lang-attr) = ''\">\n            <xsl:value-of select=\"$l10n.gentext.default.language\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"$lang-attr\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"language\" select=\"translate($mc-language,\n                                        'ABCDEFGHIJKLMNOPQRSTUVWXYZ-',\n                                        'abcdefghijklmnopqrstuvwxyz_')\"/>\n\n  <xsl:for-each select=\"$l10n.xml\">   <!-- We need to change context in order to get key work -->\n    <xsl:choose>\n      <xsl:when test=\"key('l10n-lang', $language)\">\n        <xsl:value-of select=\"$language\"/>\n      </xsl:when>\n      <!-- try just the lang code without country -->\n      <xsl:when test=\"key('l10n-lang', substring-before($language,'_'))\">\n        <xsl:value-of select=\"substring-before($language,'_')\"/>\n      </xsl:when>\n      <!-- or use the default -->\n      <xsl:otherwise>\n        <xsl:message>\n          <xsl:text>No localization exists for \"</xsl:text>\n          <xsl:value-of select=\"$language\"/>\n          <xsl:text>\" or \"</xsl:text>\n          <xsl:value-of select=\"substring-before($language,'_')\"/>\n          <xsl:text>\". Using default \"</xsl:text>\n          <xsl:value-of select=\"$l10n.gentext.default.language\"/>\n          <xsl:text>\".</xsl:text>\n        </xsl:message>\n        <xsl:value-of select=\"$l10n.gentext.default.language\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:for-each>\n</xsl:template>\n\n<xsl:template name=\"l10n.language.name\">\n  <xsl:param name=\"lang\">\n    <xsl:call-template name=\"l10n.language\"/>\n  </xsl:param>\n\n  <xsl:for-each select=\"$l10n.xml\">\n    <xsl:value-of\n\tselect=\"document(key('l10n-lang', $lang)/@href)/l:l10n/@english-language-name\"/>\n  </xsl:for-each>\n</xsl:template>\n\n<xsl:template name=\"language.attribute\">\n  <xsl:param name=\"node\" select=\".\"/>\n\n  <xsl:variable name=\"language\">\n    <xsl:choose>\n      <xsl:when test=\"$l10n.gentext.language != ''\">\n        <xsl:value-of select=\"$l10n.gentext.language\"/>\n      </xsl:when>\n\n      <xsl:otherwise>\n        <!-- can't do this one step: attributes are unordered! -->\n        <xsl:variable name=\"lang-scope\"\n                      select=\"$node/ancestor-or-self::*\n                              [@lang or @xml:lang][1]\"/>\n        <xsl:variable name=\"lang-attr\"\n                      select=\"($lang-scope/@lang | $lang-scope/@xml:lang)[1]\"/>\n\n        <xsl:choose>\n          <xsl:when test=\"string($lang-attr) = ''\">\n            <xsl:value-of select=\"$l10n.gentext.default.language\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"$lang-attr\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:if test=\"$language != ''\">\n    <xsl:attribute name=\"lang\">\n      <xsl:choose>\n        <xsl:when test=\"$l10n.lang.value.rfc.compliant != 0\">\n          <xsl:value-of select=\"translate($language, '_', '-')\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"$language\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:attribute>\n  </xsl:if>\n\n  <!-- FIXME: This is sort of hack, but it was the easiest way to add at least partial support for dir attribute -->\n  <xsl:copy-of select=\"ancestor-or-self::*[@dir][1]/@dir\"/>\n</xsl:template>\n\n<!-- Duplication of language.attribute template to allow for xml:lang attribute\n     creation for XHTML 1.1 and epub target -->\n<xsl:template name=\"xml.language.attribute\">\n  <xsl:param name=\"node\" select=\".\"/>\n\n  <xsl:variable name=\"language\">\n    <xsl:choose>\n      <xsl:when test=\"$l10n.gentext.language != ''\">\n        <xsl:value-of select=\"$l10n.gentext.language\"/>\n      </xsl:when>\n\n      <xsl:otherwise>\n        <!-- can't do this one step: attributes are unordered! -->\n        <xsl:variable name=\"lang-scope\"\n                      select=\"$node/ancestor-or-self::*\n                              [@lang or @xml:lang][1]\"/>\n        <xsl:variable name=\"lang-attr\"\n                      select=\"($lang-scope/@lang | $lang-scope/@xml:lang)[1]\"/>\n\n        <xsl:choose>\n          <xsl:when test=\"string($lang-attr) = ''\">\n            <xsl:value-of select=\"$l10n.gentext.default.language\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"$lang-attr\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:if test=\"$language != ''\">\n    <xsl:attribute name=\"xml:lang\">\n      <xsl:choose>\n        <xsl:when test=\"$l10n.lang.value.rfc.compliant != 0\">\n          <xsl:value-of select=\"translate($language, '_', '-')\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"$language\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:attribute>\n  </xsl:if>\n\n  <!-- FIXME: This is sort of hack, but it was the easiest way to add at least partial support for dir attribute -->\n  <xsl:copy-of select=\"ancestor-or-self::*[@dir][1]/@dir\"/>\n</xsl:template>\n\n<xsl:template name=\"gentext\">\n  <xsl:param name=\"key\" select=\"local-name(.)\"/>\n  <xsl:param name=\"lang\">\n    <xsl:call-template name=\"l10n.language\"/>\n  </xsl:param>\n\n  <xsl:for-each select=\"$l10n.xml\">  <!-- We need to switch context in order to make key() work -->\n    <xsl:for-each select=\"document(key('l10n-lang', $lang)/@href)\">\n      <xsl:variable name=\"local.l10n.gentext\"\n\t\t    select=\"($local.l10n.xml//l:i18n/l:l10n[@language=$lang]/l:gentext[@key=$key])[1]\"/>\n\n      <xsl:variable name=\"l10n.gentext\"\n\t\t    select=\"key('l10n-gentext', $key)[1]\"/>\n\n      <xsl:choose>\n\t<xsl:when test=\"$local.l10n.gentext\">\n\t  <xsl:value-of select=\"$local.l10n.gentext/@text\"/>\n\t</xsl:when>\n\t<xsl:when test=\"$l10n.gentext\">\n\t  <xsl:value-of select=\"$l10n.gentext/@text\"/>\n\t</xsl:when>\n\t<xsl:otherwise>\n\t  <xsl:message>\n\t    <xsl:text>No \"</xsl:text>\n\t    <xsl:value-of select=\"$lang\"/>\n\t    <xsl:text>\" localization of \"</xsl:text>\n\t    <xsl:value-of select=\"$key\"/>\n\t    <xsl:text>\" exists</xsl:text>\n\t    <xsl:choose>\n\t      <xsl:when test=\"$lang = 'en'\">\n\t\t <xsl:text>.</xsl:text>\n\t      </xsl:when>\n\t      <xsl:otherwise>\n\t\t <xsl:text>; using \"en\".</xsl:text>\n\t      </xsl:otherwise>\n\t    </xsl:choose>\n\t  </xsl:message>\n\t  \n\t  <xsl:for-each select=\"$l10n.xml\">  <!-- We need to switch context in order to make key() work -->\n\t    <xsl:for-each select=\"document(key('l10n-lang', 'en')/@href)\">\n\t      <xsl:value-of select=\"key('l10n-gentext', $key)[1]/@text\"/>\n\t    </xsl:for-each>\n\t  </xsl:for-each>\n\t</xsl:otherwise>\n      </xsl:choose>\n    </xsl:for-each>\n  </xsl:for-each>\n</xsl:template>\n\n<xsl:template name=\"gentext.element.name\">\n  <xsl:param name=\"element.name\" select=\"local-name(.)\"/>\n  <xsl:param name=\"lang\">\n    <xsl:call-template name=\"l10n.language\"/>\n  </xsl:param>\n\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\" select=\"$element.name\"/>\n    <xsl:with-param name=\"lang\" select=\"$lang\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"gentext.space\">\n  <xsl:text> </xsl:text>\n</xsl:template>\n\n<xsl:template name=\"gentext.edited.by\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\" select=\"'Editedby'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"gentext.by\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\" select=\"'by'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"gentext.dingbat\">\n  <xsl:param name=\"dingbat\">bullet</xsl:param>\n  <xsl:param name=\"lang\">\n    <xsl:call-template name=\"l10n.language\"/>\n  </xsl:param>\n\n  <xsl:for-each select=\"$l10n.xml\">  <!-- We need to switch context in order to make key() work -->\n    <xsl:for-each select=\"document(key('l10n-lang', $lang)/@href)\">\n      <xsl:variable name=\"local.l10n.dingbat\"\n\t\t    select=\"($local.l10n.xml//l:i18n/l:l10n[@language=$lang]/l:dingbat[@key=$dingbat])[1]\"/>\n\n      <xsl:variable name=\"l10n.dingbat\"\n\t\t    select=\"key('l10n-dingbat', $dingbat)[1]\"/>\n\n      <xsl:choose>\n\t<xsl:when test=\"$local.l10n.dingbat\">\n\t  <xsl:value-of select=\"$local.l10n.dingbat/@text\"/>\n\t</xsl:when>\n\t<xsl:when test=\"$l10n.dingbat\">\n\t  <xsl:value-of select=\"$l10n.dingbat/@text\"/>\n\t</xsl:when>\n\t<xsl:otherwise>\n\t  <xsl:message>\n\t    <xsl:text>No \"</xsl:text>\n\t    <xsl:value-of select=\"$lang\"/>\n\t    <xsl:text>\" localization of dingbat </xsl:text>\n\t    <xsl:value-of select=\"$dingbat\"/>\n\t    <xsl:text> exists; using \"en\".</xsl:text>\n\t  </xsl:message>\n\n\t  <xsl:for-each select=\"$l10n.xml\">  <!-- We need to switch context in order to make key() work -->\n\t    <xsl:for-each select=\"document(key('l10n-lang', 'en')/@href)\">  \n\t      <xsl:value-of select=\"key('l10n-dingbat', $dingbat)[1]/@text\"/>\n\t    </xsl:for-each>\n\t  </xsl:for-each>\n\t</xsl:otherwise>\n      </xsl:choose>\n    </xsl:for-each>\n  </xsl:for-each>\n</xsl:template>\n\n<xsl:template name=\"gentext.startquote\">\n  <xsl:call-template name=\"gentext.dingbat\">\n    <xsl:with-param name=\"dingbat\">startquote</xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"gentext.endquote\">\n  <xsl:call-template name=\"gentext.dingbat\">\n    <xsl:with-param name=\"dingbat\">endquote</xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"gentext.nestedstartquote\">\n  <xsl:call-template name=\"gentext.dingbat\">\n    <xsl:with-param name=\"dingbat\">nestedstartquote</xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"gentext.nestedendquote\">\n  <xsl:call-template name=\"gentext.dingbat\">\n    <xsl:with-param name=\"dingbat\">nestedendquote</xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"gentext.nav.prev\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\" select=\"'nav-prev'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"gentext.nav.next\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\" select=\"'nav-next'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"gentext.nav.home\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\" select=\"'nav-home'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"gentext.nav.up\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\" select=\"'nav-up'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<!-- ============================================================ -->\n\n<xsl:template name=\"gentext.template\">\n  <xsl:param name=\"context\" select=\"'default'\"/>\n  <xsl:param name=\"name\" select=\"'default'\"/>\n  <xsl:param name=\"origname\" select=\"$name\"/>\n  <xsl:param name=\"purpose\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"lang\">\n    <xsl:call-template name=\"l10n.language\"/>\n  </xsl:param>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$empty.local.l10n.xml\">\n      <xsl:for-each select=\"$l10n.xml\">  <!-- We need to switch context in order to make key() work -->\n\t<xsl:for-each select=\"document(key('l10n-lang', $lang)/@href)\">\n\n\t  <xsl:variable name=\"localization.node\"\n\t\t\tselect=\"key('l10n-lang', $lang)[1]\"/>\n\n\t  <xsl:if test=\"count($localization.node) = 0\n\t\t\tand $verbose != 0\">\n\t    <xsl:message>\n\t      <xsl:text>No \"</xsl:text>\n\t      <xsl:value-of select=\"$lang\"/>\n\t      <xsl:text>\" localization exists.</xsl:text>\n\t    </xsl:message>\n\t  </xsl:if>\n\n\t  <xsl:variable name=\"context.node\"\n\t\t\tselect=\"key('l10n-context', $context)[1]\"/>\n\n\t  <xsl:if test=\"count($context.node) = 0\n\t\t\tand $verbose != 0\">\n\t    <xsl:message>\n\t      <xsl:text>No context named \"</xsl:text>\n\t      <xsl:value-of select=\"$context\"/>\n\t      <xsl:text>\" exists in the \"</xsl:text>\n\t      <xsl:value-of select=\"$lang\"/>\n\t      <xsl:text>\" localization.</xsl:text>\n\t    </xsl:message>\n\t  </xsl:if>\n\n\t  <xsl:for-each select=\"$context.node\">\n\t    <xsl:variable name=\"template.node\"\n\t\t\t  select=\"(key('l10n-template-style', concat($context, '#', $name, '#', $xrefstyle))\n\t\t\t\t   |key('l10n-template', concat($context, '#', $name)))[1]\"/>\n\n\t    <xsl:choose>\n\t      <xsl:when test=\"$template.node/@text\">\n\t\t<xsl:value-of select=\"$template.node/@text\"/>\n\t      </xsl:when>\n\t      <xsl:otherwise>\n\t\t<xsl:choose>\n\t\t  <xsl:when test=\"contains($name, '/')\">\n\t\t    <xsl:call-template name=\"gentext.template\">\n\t\t      <xsl:with-param name=\"context\" select=\"$context\"/>\n\t\t      <xsl:with-param name=\"name\" select=\"substring-after($name, '/')\"/>\n\t\t      <xsl:with-param name=\"origname\" select=\"$origname\"/>\n\t\t      <xsl:with-param name=\"purpose\" select=\"$purpose\"/>\n\t\t      <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n\t\t      <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n\t\t      <xsl:with-param name=\"lang\" select=\"$lang\"/>\n\t\t      <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n\t\t    </xsl:call-template>\n\t\t  </xsl:when>\n\t\t  <xsl:when test=\"$verbose = 0\">\n\t\t    <!-- silence -->\n\t\t  </xsl:when>\n\t\t  <xsl:otherwise>\n\t\t    <xsl:message>\n\t\t      <xsl:text>No template for \"</xsl:text>\n\t\t      <xsl:value-of select=\"$origname\"/>\n\t\t      <xsl:text>\" (or any of its leaves) exists in the context named \"</xsl:text>\n\t\t      <xsl:value-of select=\"$context\"/>\n\t\t      <xsl:text>\" in the \"</xsl:text>\n\t\t      <xsl:value-of select=\"$lang\"/>\n\t\t      <xsl:text>\" localization.</xsl:text>\n\t\t    </xsl:message>\n\t\t  </xsl:otherwise>\n\t\t</xsl:choose>\n\t      </xsl:otherwise>\n\t    </xsl:choose>\n\t  </xsl:for-each>\n\t</xsl:for-each>\n      </xsl:for-each>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:for-each select=\"$l10n.xml\">  <!-- We need to switch context in order to make key() work -->\n\t<xsl:for-each select=\"document(key('l10n-lang', $lang)/@href)\">\n\n\t  <xsl:variable name=\"local.localization.node\"\n\t\t\tselect=\"($local.l10n.xml//l:i18n/l:l10n[@language=$lang])[1]\"/>\n\n\t  <xsl:variable name=\"localization.node\"\n\t\t\tselect=\"key('l10n-lang', $lang)[1]\"/>\n\n\t  <xsl:if test=\"count($localization.node) = 0\n\t\t\tand count($local.localization.node) = 0\n\t\t\tand $verbose != 0\">\n\t    <xsl:message>\n\t      <xsl:text>No \"</xsl:text>\n\t      <xsl:value-of select=\"$lang\"/>\n\t      <xsl:text>\" localization exists.</xsl:text>\n\t    </xsl:message>\n\t  </xsl:if>\n\n\t  <xsl:variable name=\"local.context.node\"\n\t\t\tselect=\"$local.localization.node/l:context[@name=$context]\"/>\n\n\t  <xsl:variable name=\"context.node\"\n\t\t\tselect=\"key('l10n-context', $context)[1]\"/>\n\n\t  <xsl:if test=\"count($context.node) = 0\n\t\t\tand count($local.context.node) = 0\n\t\t\tand $verbose != 0\">\n\t    <xsl:message>\n\t      <xsl:text>No context named \"</xsl:text>\n\t      <xsl:value-of select=\"$context\"/>\n\t      <xsl:text>\" exists in the \"</xsl:text>\n\t      <xsl:value-of select=\"$lang\"/>\n\t      <xsl:text>\" localization.</xsl:text>\n\t    </xsl:message>\n\t  </xsl:if>\n\n\t  <xsl:variable name=\"local.template.node\"\n\t\t\tselect=\"($local.context.node/l:template[@name=$name\n\t\t\t\t\t\t\t\tand @style\n\t\t\t\t\t\t\t\tand @style=$xrefstyle]\n\t\t\t\t|$local.context.node/l:template[@name=$name\n\t\t\t\t\t\t\t\tand not(@style)])[1]\"/>\n\n\t  <xsl:choose>\n\t    <xsl:when test=\"$local.template.node/@text\">\n\t      <xsl:value-of select=\"$local.template.node/@text\"/>\n\t    </xsl:when>\n\t    <xsl:otherwise>\n\t      <xsl:for-each select=\"$context.node\">\n\t\t<xsl:variable name=\"template.node\"\n\t\t\t      select=\"(key('l10n-template-style', concat($context, '#', $name, '#', $xrefstyle))\n\t\t\t\t       |key('l10n-template', concat($context, '#', $name)))[1]\"/>\n\n\t\t<xsl:choose>\n\t\t  <xsl:when test=\"$template.node/@text\">\n\t\t    <xsl:value-of select=\"$template.node/@text\"/>\n\t\t  </xsl:when>\n\t\t  <xsl:otherwise>\n\t\t    <xsl:choose>\n\t\t      <xsl:when test=\"contains($name, '/')\">\n\t\t\t<xsl:call-template name=\"gentext.template\">\n\t\t\t  <xsl:with-param name=\"context\" select=\"$context\"/>\n\t\t\t  <xsl:with-param name=\"name\" select=\"substring-after($name, '/')\"/>\n\t\t\t  <xsl:with-param name=\"origname\" select=\"$origname\"/>\n\t\t\t  <xsl:with-param name=\"purpose\" select=\"$purpose\"/>\n\t\t\t  <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n\t\t\t  <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n\t\t\t  <xsl:with-param name=\"lang\" select=\"$lang\"/>\n\t\t\t  <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n\t\t\t</xsl:call-template>\n\t\t      </xsl:when>\n\t\t      <xsl:when test=\"$verbose = 0\">\n\t\t\t<!-- silence -->\n\t\t      </xsl:when>\n\t\t      <xsl:otherwise>\n\t\t\t<xsl:message>\n\t\t\t  <xsl:text>No template for \"</xsl:text>\n\t\t\t  <xsl:value-of select=\"$origname\"/>\n\t\t\t  <xsl:text>\" (or any of its leaves) exists in the context named \"</xsl:text>\n\t\t\t  <xsl:value-of select=\"$context\"/>\n\t\t\t  <xsl:text>\" in the \"</xsl:text>\n\t\t\t  <xsl:value-of select=\"$lang\"/>\n\t\t\t  <xsl:text>\" localization.</xsl:text>\n\t\t\t</xsl:message>\n\t\t      </xsl:otherwise>\n\t\t    </xsl:choose>\n\t\t  </xsl:otherwise>\n\t\t</xsl:choose>\n\t      </xsl:for-each>\n\t    </xsl:otherwise>\n\t  </xsl:choose>\n\t</xsl:for-each>\n      </xsl:for-each>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- silently test if a gentext template exists -->\n\n<xsl:template name=\"gentext.template.exists\">\n  <xsl:param name=\"context\" select=\"'default'\"/>\n  <xsl:param name=\"name\" select=\"'default'\"/>\n  <xsl:param name=\"origname\" select=\"$name\"/>\n  <xsl:param name=\"purpose\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"lang\">\n    <xsl:call-template name=\"l10n.language\"/>\n  </xsl:param>\n\n  <xsl:variable name=\"template\">\n    <xsl:call-template name=\"gentext.template\">\n      <xsl:with-param name=\"context\" select=\"$context\"/>\n      <xsl:with-param name=\"name\" select=\"$name\"/>\n      <xsl:with-param name=\"origname\" select=\"$origname\"/>\n      <xsl:with-param name=\"purpose\" select=\"$purpose\"/>\n      <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n      <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n      <xsl:with-param name=\"lang\" select=\"$lang\"/>\n      <xsl:with-param name=\"verbose\" select=\"0\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  \n  <xsl:choose>\n    <xsl:when test=\"string-length($template) != 0\">1</xsl:when>\n    <xsl:otherwise>0</xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n</xsl:stylesheet>"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/la.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"la\" english-language-name=\"Latin\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/la.xml -->\n<!-- * -->\n<!-- * E-mail the edited la.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Summarium\"/>\n<l:gentext key=\"abstract\" text=\"summarium\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"R:\"/>\n<l:gentext key=\"answer\" text=\"r:\"/>\n<l:gentext key=\"Appendix\" text=\"Additamentum\"/>\n<l:gentext key=\"appendix\" text=\"additamentum\"/>\n<l:gentext key=\"Article\" text=\"Articulus\"/>\n<l:gentext key=\"article\" text=\"articulus\"/>\n<l:gentext key=\"Author\" text=\"Author\" lang=\"en\"/>\n<l:gentext key=\"Bibliography\" text=\"Conspectus librorum\"/>\n<l:gentext key=\"bibliography\" text=\"conspectus librorum\"/>\n<l:gentext key=\"Book\" text=\"Liber\"/>\n<l:gentext key=\"book\" text=\"liber\"/>\n<l:gentext key=\"CAUTION\" text=\"Caveat\"/>\n<l:gentext key=\"Caution\" text=\"Caveat\"/>\n<l:gentext key=\"caution\" text=\"caveat\"/>\n<l:gentext key=\"Chapter\" text=\"Capitulum\"/>\n<l:gentext key=\"chapter\" text=\"capitulum\"/>\n<l:gentext key=\"Colophon\" text=\"Colophon\"/>\n<l:gentext key=\"colophon\" text=\"colophon\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"copyright\"/>\n<l:gentext key=\"Dedication\" text=\"Dedicatoria\"/>\n<l:gentext key=\"dedication\" text=\"dedicatoria\"/>\n<l:gentext key=\"Edition\" text=\"Editio\"/>\n<l:gentext key=\"edition\" text=\"editio\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Equatio\"/>\n<l:gentext key=\"equation\" text=\"equatio\"/>\n<l:gentext key=\"Example\" text=\"Exemplum\"/>\n<l:gentext key=\"example\" text=\"exemplum\"/>\n<l:gentext key=\"Figure\" text=\"Descriptio\"/>\n<l:gentext key=\"figure\" text=\"descriptio\"/>\n<l:gentext key=\"Glossary\" text=\"Glossarium\"/>\n<l:gentext key=\"glossary\" text=\"glossarium\"/>\n<l:gentext key=\"GlossSee\" text=\"Cfr.\"/>\n<l:gentext key=\"glosssee\" text=\"Cfr.\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Cfr. autem\"/>\n<l:gentext key=\"glossseealso\" text=\"cfr. autem\"/>\n<l:gentext key=\"IMPORTANT\" text=\"GRAVE\"/>\n<l:gentext key=\"important\" text=\"grave\"/>\n<l:gentext key=\"Important\" text=\"Grave\"/>\n<l:gentext key=\"Index\" text=\"Index\"/>\n<l:gentext key=\"index\" text=\"index\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"isbn\"/>\n<l:gentext key=\"LegalNotice\" text=\"Nuntius legalis\"/>\n<l:gentext key=\"legalnotice\" text=\"nuntius legalis\"/>\n<l:gentext key=\"MsgAud\" text=\"Legentes\"/>\n<l:gentext key=\"msgaud\" text=\"legentes\"/>\n<l:gentext key=\"MsgLevel\" text=\"Libra\"/>\n<l:gentext key=\"msglevel\" text=\"libra\"/>\n<l:gentext key=\"MsgOrig\" text=\"Fons\"/>\n<l:gentext key=\"msgorig\" text=\"fons\"/>\n<l:gentext key=\"NOTE\" text=\"NOTA\"/>\n<l:gentext key=\"Note\" text=\"Nota\"/>\n<l:gentext key=\"note\" text=\"nota\"/>\n<l:gentext key=\"Part\" text=\"Pars\"/>\n<l:gentext key=\"part\" text=\"pars\"/>\n<l:gentext key=\"Preface\" text=\"Praefatio\"/>\n<l:gentext key=\"preface\" text=\"praefatio\"/>\n<l:gentext key=\"Procedure\" text=\"Progressio\"/>\n<l:gentext key=\"procedure\" text=\"progressio\"/>\n<l:gentext key=\"ProductionSet\" text=\"Compositio\"/>\n<l:gentext key=\"PubDate\" text=\"Publication Date\" lang=\"en\"/>\n<l:gentext key=\"pubdate\" text=\"Publication date\" lang=\"en\"/>\n<l:gentext key=\"Published\" text=\"Editum\"/>\n<l:gentext key=\"published\" text=\"editum\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"Q &amp; R\"/>\n<l:gentext key=\"qandadiv\" text=\"Q &amp; R\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"Q:\"/>\n<l:gentext key=\"question\" text=\"q:\"/>\n<l:gentext key=\"RefEntry\" text=\"Mentionis descriptio\"/>\n<l:gentext key=\"refentry\" text=\"mentionis descriptio\"/>\n<l:gentext key=\"Reference\" text=\"Mentio\"/>\n<l:gentext key=\"reference\" text=\"mentio\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Mentionis signum\"/>\n<l:gentext key=\"refname\" text=\"mentionis signum\"/>\n<l:gentext key=\"RefSection\" text=\"Mentionis pars\"/>\n<l:gentext key=\"refsection\" text=\"mentionis pars\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Synopsis\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Synopsis\"/>\n<l:gentext key=\"RevHistory\" text=\"Revisionum historia\"/>\n<l:gentext key=\"revhistory\" text=\"revisionum historia\"/>\n<l:gentext key=\"revision\" text=\"Revisio\"/>\n<l:gentext key=\"Revision\" text=\"revisio\"/>\n<l:gentext key=\"sect1\" text=\"Sectio\"/>\n<l:gentext key=\"sect2\" text=\"Sectio\"/>\n<l:gentext key=\"sect3\" text=\"Sectio\"/>\n<l:gentext key=\"sect4\" text=\"Sectio\"/>\n<l:gentext key=\"sect5\" text=\"Sectio\"/>\n<l:gentext key=\"section\" text=\"Sectio\"/>\n<l:gentext key=\"Section\" text=\"Sectio\"/>\n<l:gentext key=\"see\" text=\"videtur\"/>\n<l:gentext key=\"See\" text=\"See\" lang=\"en\"/>\n<l:gentext key=\"seealso\" text=\"videtur autem\"/>\n<l:gentext key=\"Seealso\" text=\"See also\" lang=\"en\"/>\n<l:gentext key=\"SeeAlso\" text=\"See Also\" lang=\"en\"/>\n<l:gentext key=\"set\" text=\"complexus\"/>\n<l:gentext key=\"Set\" text=\"Complexus\"/>\n<l:gentext key=\"setindex\" text=\"complexi index\"/>\n<l:gentext key=\"SetIndex\" text=\"Complexi index\"/>\n<l:gentext key=\"Sidebar\" text=\"Linea a latere posita\"/>\n<l:gentext key=\"sidebar\" text=\"linea a latere posita\"/>\n<l:gentext key=\"step\" text=\"peractio\"/>\n<l:gentext key=\"Step\" text=\"Peractio\"/>\n<l:gentext key=\"table\" text=\"tabula\"/>\n<l:gentext key=\"Table\" text=\"Tabula\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"consilium\"/>\n<l:gentext key=\"TIP\" text=\"CONSILIUM\"/>\n<l:gentext key=\"Tip\" text=\"Consilium\"/>\n<l:gentext key=\"Warning\" text=\"MONITUS\"/>\n<l:gentext key=\"warning\" text=\"monitus\"/>\n<l:gentext key=\"WARNING\" text=\"MONITUS\"/>\n<l:gentext key=\"and\" text=\"et\"/>\n<l:gentext key=\"or\" text=\"aut\"/>\n<l:gentext key=\"by\" text=\"a\"/>\n<l:gentext key=\"Edited\" text=\"Editum\"/>\n<l:gentext key=\"edited\" text=\"editum\"/>\n<l:gentext key=\"Editedby\" text=\"Editum a\"/>\n<l:gentext key=\"editedby\" text=\"editum a\"/>\n<l:gentext key=\"in\" text=\"in\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"commentaria\"/>\n<l:gentext key=\"Notes\" text=\"Commentaria\"/>\n<l:gentext key=\"Pgs\" text=\"Pag.\"/>\n<l:gentext key=\"pgs\" text=\"pag.\"/>\n<l:gentext key=\"Revisedby\" text=\"Excussum a: \"/>\n<l:gentext key=\"revisedby\" text=\"excussum a: \"/>\n<l:gentext key=\"TableNotes\" text=\"Tabulae commentaria\"/>\n<l:gentext key=\"tablenotes\" text=\"tabulae commentaria\"/>\n<l:gentext key=\"TableofContents\" text=\"Index rerum notabilium\"/>\n<l:gentext key=\"tableofcontents\" text=\"index rerum notabilium\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"necopinatum nomen\"/>\n<l:gentext key=\"unsupported\" text=\"non sustentatus\"/>\n<l:gentext key=\"xrefto\" text=\"mentio\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"index aequationum\"/>\n<l:gentext key=\"ListofEquations\" text=\"Index aequationum\"/>\n<l:gentext key=\"ListofExamples\" text=\"Index exemplorum\"/>\n<l:gentext key=\"listofexamples\" text=\"index exemplorum\"/>\n<l:gentext key=\"ListofFigures\" text=\"Index descriptionum\"/>\n<l:gentext key=\"listoffigures\" text=\"index descriptionum\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Index progressiorum\"/>\n<l:gentext key=\"listofprocedures\" text=\"index progressiorum\"/>\n<l:gentext key=\"listoftables\" text=\"index tabularum\"/>\n<l:gentext key=\"ListofTables\" text=\"Index tabularum\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Index ignotorum\"/>\n<l:gentext key=\"listofunknown\" text=\"index ignotorum\"/>\n<l:gentext key=\"nav-home\" text=\"Initium\"/>\n<l:gentext key=\"nav-next\" text=\"Sequens\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Procede\"/>\n<l:gentext key=\"nav-prev\" text=\"Praecedens\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Recede\"/>\n<l:gentext key=\"nav-up\" text=\"Ascende\"/>\n<l:gentext key=\"nav-toc\" text=\"Index\"/>\n<l:gentext key=\"Draft\" text=\"Plagula\"/>\n<l:gentext key=\"above\" text=\"supra\"/>\n<l:gentext key=\"below\" text=\"sub\"/>\n<l:gentext key=\"sectioncalled\" text=\"sectio vocata\"/>\n<l:gentext key=\"index symbols\" text=\"signa\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"ˢ\"/>\n<l:dingbat key=\"endquote\" text=\"ۢ\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‹\"/>\n<l:dingbat key=\"nestedendquote\" text=\"›\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"‐\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Additamentum%n.%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Capitulum%n.%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Equatio%n.%t\"/>\n<l:template name=\"example\" text=\"Exemplum%n.%t\"/>\n<l:template name=\"figure\" text=\"Descriptio%n.%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Pars%n.%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Progressio%n.%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Compositio%n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabula%n.%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Additamentum%n.%t\"/>\n<l:template name=\"article/appendix\" text=\"%n.%t\"/>\n<l:template name=\"bridgehead\" text=\"%n.%t\"/>\n<l:template name=\"chapter\" text=\"Capitulum%n.%t\"/>\n<l:template name=\"part\" text=\"Pars%n.%t\"/>\n<l:template name=\"sect1\" text=\"%n.%t\"/>\n<l:template name=\"sect2\" text=\"%n.%t\"/>\n<l:template name=\"sect3\" text=\"%n.%t\"/>\n<l:template name=\"sect4\" text=\"%n.%t\"/>\n<l:template name=\"sect5\" text=\"%n.%t\"/>\n<l:template name=\"section\" text=\"%n.%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"R:%n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Q:%n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Q:%n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"sectio vocata ˢ%tۢ\"/>\n<l:template name=\"refsection\" text=\"sectio vocata ˢ%tۢ\"/>\n<l:template name=\"refsect1\" text=\"sectio vocata ˢ%tۢ\"/>\n<l:template name=\"refsect2\" text=\"sectio vocata ˢ%tۢ\"/>\n<l:template name=\"refsect3\" text=\"sectio vocata ˢ%tۢ\"/>\n<l:template name=\"sect1\" text=\"sectio vocata ˢ%tۢ\"/>\n<l:template name=\"sect2\" text=\"sectio vocata ˢ%tۢ\"/>\n<l:template name=\"sect3\" text=\"sectio vocata ˢ%tۢ\"/>\n<l:template name=\"sect4\" text=\"sectio vocata ˢ%tۢ\"/>\n<l:template name=\"sect5\" text=\"sectio vocata ˢ%tۢ\"/>\n<l:template name=\"section\" text=\"sectio vocata ˢ%tۢ\"/>\n<l:template name=\"simplesect\" text=\"sectio vocata ˢ%tۢ\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"R:%n\"/>\n<l:template name=\"appendix\" text=\"Additamentum%n\"/>\n<l:template name=\"bridgehead\" text=\"Sectio%n\"/>\n<l:template name=\"chapter\" text=\"Capitulum%n\"/>\n<l:template name=\"equation\" text=\"Equatio%n\"/>\n<l:template name=\"example\" text=\"Exemplum%n\"/>\n<l:template name=\"figure\" text=\"Descriptio%n\"/>\n<l:template name=\"part\" text=\"Pars%n\"/>\n<l:template name=\"procedure\" text=\"Progressio%n\"/>\n<l:template name=\"productionset\" text=\"Compositio%n\"/>\n<l:template name=\"qandadiv\" text=\"Q &amp; R%n\"/>\n<l:template name=\"qandaentry\" text=\"Q:%n\"/>\n<l:template name=\"question\" text=\"Q:%n\"/>\n<l:template name=\"sect1\" text=\"Sectio%n\"/>\n<l:template name=\"sect2\" text=\"Sectio%n\"/>\n<l:template name=\"sect3\" text=\"Sectio%n\"/>\n<l:template name=\"sect4\" text=\"Sectio%n\"/>\n<l:template name=\"sect5\" text=\"Sectio%n\"/>\n<l:template name=\"section\" text=\"Sectio%n\"/>\n<l:template name=\"table\" text=\"Tabula%n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Additamentum%n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Sectio%n, ˢ%tۢ\"/>\n<l:template name=\"chapter\" text=\"Capitulum%n, %t\"/>\n<l:template name=\"equation\" text=\"Equatio%n, ˢ%tۢ\"/>\n<l:template name=\"example\" text=\"Exemplum%n, ˢ%tۢ\"/>\n<l:template name=\"figure\" text=\"Descriptio%n, ˢ%tۢ\"/>\n<l:template name=\"part\" text=\"Pars%n, ˢ%tۢ\"/>\n<l:template name=\"procedure\" text=\"Progressio%n, ˢ%tۢ\"/>\n<l:template name=\"productionset\" text=\"Compositio%n, ˢ%tۢ\"/>\n<l:template name=\"qandadiv\" text=\"Q &amp; R%n, ˢ%tۢ\"/>\n<l:template name=\"refsect1\" text=\"sectio vocata ˢ%tۢ\"/>\n<l:template name=\"refsect2\" text=\"sectio vocata ˢ%tۢ\"/>\n<l:template name=\"refsect3\" text=\"sectio vocata ˢ%tۢ\"/>\n<l:template name=\"refsection\" text=\"sectio vocata ˢ%tۢ\"/>\n<l:template name=\"sect1\" text=\"Sectio%n, ˢ%tۢ\"/>\n<l:template name=\"sect2\" text=\"Sectio%n, ˢ%tۢ\"/>\n<l:template name=\"sect3\" text=\"Sectio%n, ˢ%tۢ\"/>\n<l:template name=\"sect4\" text=\"Sectio%n, ˢ%tۢ\"/>\n<l:template name=\"sect5\" text=\"Sectio%n, ˢ%tۢ\"/>\n<l:template name=\"section\" text=\"Sectio%n, ˢ%tۢ\"/>\n<l:template name=\"simplesect\" text=\"sectio vocata ˢ%tۢ\"/>\n<l:template name=\"table\" text=\"Tabula%n, ˢ%tۢ\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" et \"/>\n<l:template name=\"seplast\" text=\", et \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Cfr. %t.\"/>\n<l:template name=\"seealso\" text=\"Cfr. autem %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Legentes: \"/>\n<l:template name=\"MsgLevel\" text=\"Libra: \"/>\n<l:template name=\"MsgOrig\" text=\"Fons: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Ianuarii\"/>\n<l:template name=\"February\" text=\"Februarii\"/>\n<l:template name=\"March\" text=\"Martii\"/>\n<l:template name=\"April\" text=\"Aprilis\"/>\n<l:template name=\"May\" text=\"Maii\"/>\n<l:template name=\"June\" text=\"Iunii\"/>\n<l:template name=\"July\" text=\"Iulii\"/>\n<l:template name=\"August\" text=\"Augusti\"/>\n<l:template name=\"September\" text=\"Septembris\"/>\n<l:template name=\"October\" text=\"Octobris\"/>\n<l:template name=\"November\" text=\"Novembris\"/>\n<l:template name=\"December\" text=\"Decembris\"/>\n<l:template name=\"Monday\" text=\"Lunae\"/>\n<l:template name=\"Tuesday\" text=\"Martis\"/>\n<l:template name=\"Wednesday\" text=\"Mercurii\"/>\n<l:template name=\"Thursday\" text=\"Iovis\"/>\n<l:template name=\"Friday\" text=\"Veneris\"/>\n<l:template name=\"Saturday\" text=\"Sabathi\"/>\n<l:template name=\"Sunday\" text=\"Dominica\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Ian\"/>\n<l:template name=\"Feb\" text=\"Feb\"/>\n<l:template name=\"Mar\" text=\"Mar\"/>\n<l:template name=\"Apr\" text=\"Apr\"/>\n<l:template name=\"May\" text=\"Mai\"/>\n<l:template name=\"Jun\" text=\"Iun\"/>\n<l:template name=\"Jul\" text=\"Iul\"/>\n<l:template name=\"Aug\" text=\"Aug\"/>\n<l:template name=\"Sep\" text=\"Sep\"/>\n<l:template name=\"Oct\" text=\"Oct\"/>\n<l:template name=\"Nov\" text=\"Nov\"/>\n<l:template name=\"Dec\" text=\"Dec\"/>\n<l:template name=\"Mon\" text=\"Lun\"/>\n<l:template name=\"Tue\" text=\"Mar\"/>\n<l:template name=\"Wed\" text=\"Mer\"/>\n<l:template name=\"Thu\" text=\"Iov\"/>\n<l:template name=\"Fri\" text=\"Ven\"/>\n<l:template name=\"Sat\" text=\"Sab\"/>\n<l:template name=\"Sun\" text=\"Dom\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0409 English (UNITED STATES)\" lang=\"en\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters lang=\"en\"><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/labels.xsl",
    "content": "<?xml version='1.0'?>\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\"\n                exclude-result-prefixes=\"doc\"\n                version='1.0'>\n\n<!-- ********************************************************************\n     $Id: labels.xsl 9706 2013-01-16 18:56:16Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<!-- label markup -->\n\n<doc:mode mode=\"label.markup\" xmlns=\"\">\n<refpurpose>Provides access to element labels</refpurpose>\n<refdescription id=\"label.markup-desc\">\n<para>Processing an element in the\n<literal role=\"mode\">label.markup</literal> mode produces the\nelement label.</para>\n<para>Trailing punctuation is not added to the label.\n</para>\n</refdescription>\n</doc:mode>\n\n<xsl:template match=\"*\" mode=\"intralabel.punctuation\">\n  <xsl:text>.</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"label.markup\">\n  <xsl:param name=\"verbose\" select=\"1\"/>\n  <xsl:if test=\"$verbose\">\n    <xsl:message>\n      <xsl:text>Request for label of unexpected element: </xsl:text>\n      <xsl:value-of select=\"local-name(.)\"/>\n    </xsl:message>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"set|book\" mode=\"label.markup\">\n  <xsl:if test=\"@label\">\n    <xsl:value-of select=\"@label\"/>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"part\" mode=\"label.markup\">\n  <xsl:choose>\n    <xsl:when test=\"@label\">\n      <xsl:value-of select=\"@label\"/>\n    </xsl:when>\n    <xsl:when test=\"string($part.autolabel) != 0\">\n      <xsl:variable name=\"format\">\n        <xsl:call-template name=\"autolabel.format\">\n          <xsl:with-param name=\"format\" select=\"$part.autolabel\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:number from=\"book\" count=\"part\" format=\"{$format}\"/>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"partintro\" mode=\"label.markup\">\n  <!-- no label -->\n</xsl:template>\n\n<xsl:template match=\"preface\" mode=\"label.markup\">\n  <xsl:choose>\n    <xsl:when test=\"@label\">\n      <xsl:value-of select=\"@label\"/>\n    </xsl:when>\n    <xsl:when test=\"string($preface.autolabel) != 0\">\n      <xsl:if test=\"$component.label.includes.part.label != 0 and\n                      ancestor::part\">\n        <xsl:variable name=\"part.label\">\n          <xsl:apply-templates select=\"ancestor::part\" \n                               mode=\"label.markup\"/>\n        </xsl:variable>\n        <xsl:if test=\"$part.label != ''\">\n          <xsl:value-of select=\"$part.label\"/>\n          <xsl:apply-templates select=\"ancestor::part\" \n                               mode=\"intralabel.punctuation\"/>\n        </xsl:if>\n      </xsl:if>\n      <xsl:variable name=\"format\">\n        <xsl:call-template name=\"autolabel.format\">\n          <xsl:with-param name=\"format\" select=\"$preface.autolabel\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:choose>\n        <xsl:when test=\"$label.from.part != 0 and ancestor::part\">\n          <xsl:number from=\"part\" count=\"preface\" format=\"{$format}\" level=\"any\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:number from=\"book\" count=\"preface\" format=\"{$format}\" level=\"any\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"chapter\" mode=\"label.markup\">\n  <xsl:choose>\n    <xsl:when test=\"@label\">\n      <xsl:value-of select=\"@label\"/>\n    </xsl:when>\n    <xsl:when test=\"string($chapter.autolabel) != 0\">\n      <xsl:if test=\"$component.label.includes.part.label != 0 and\n                      ancestor::part\">\n        <xsl:variable name=\"part.label\">\n          <xsl:apply-templates select=\"ancestor::part\" \n                               mode=\"label.markup\"/>\n        </xsl:variable>\n        <xsl:if test=\"$part.label != ''\">\n          <xsl:value-of select=\"$part.label\"/>\n          <xsl:apply-templates select=\"ancestor::part\" \n                               mode=\"intralabel.punctuation\"/>\n        </xsl:if>\n      </xsl:if>\n      <xsl:variable name=\"format\">\n        <xsl:call-template name=\"autolabel.format\">\n          <xsl:with-param name=\"format\" select=\"$chapter.autolabel\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:choose>\n        <xsl:when test=\"$label.from.part != 0 and ancestor::part\">\n          <xsl:number from=\"part\" count=\"chapter\" format=\"{$format}\" level=\"any\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:number from=\"book\" count=\"chapter\" format=\"{$format}\" level=\"any\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"appendix\" mode=\"label.markup\">\n  <xsl:choose>\n    <xsl:when test=\"@label\">\n      <xsl:value-of select=\"@label\"/>\n    </xsl:when>\n    <xsl:when test=\"string($appendix.autolabel) != 0\">\n      <xsl:if test=\"$component.label.includes.part.label != 0 and\n                      ancestor::part\">\n        <xsl:variable name=\"part.label\">\n          <xsl:apply-templates select=\"ancestor::part\" \n                               mode=\"label.markup\"/>\n        </xsl:variable>\n        <xsl:if test=\"$part.label != ''\">\n          <xsl:value-of select=\"$part.label\"/>\n          <xsl:apply-templates select=\"ancestor::part\" \n                               mode=\"intralabel.punctuation\"/>\n        </xsl:if>\n      </xsl:if>\n      <xsl:variable name=\"format\">\n        <xsl:call-template name=\"autolabel.format\">\n          <xsl:with-param name=\"format\" select=\"$appendix.autolabel\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:choose>\n        <xsl:when test=\"$label.from.part != 0 and ancestor::part\">\n          <xsl:number from=\"part\" count=\"appendix\" format=\"{$format}\" level=\"any\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:number from=\"book|article\"\n                      count=\"appendix\" format=\"{$format}\" level=\"any\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"article\" mode=\"label.markup\">\n  <xsl:if test=\"@label\">\n    <xsl:value-of select=\"@label\"/>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"dedication|colophon\" mode=\"label.markup\">\n  <xsl:if test=\"@label\">\n    <xsl:value-of select=\"@label\"/>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"reference\" mode=\"label.markup\">\n  <xsl:choose>\n    <xsl:when test=\"@label\">\n      <xsl:value-of select=\"@label\"/>\n    </xsl:when>\n    <xsl:when test=\"string($reference.autolabel) != 0\">\n      <xsl:if test=\"$component.label.includes.part.label != 0 and\n                      ancestor::part\">\n        <xsl:variable name=\"part.label\">\n          <xsl:apply-templates select=\"ancestor::part\" \n                               mode=\"label.markup\"/>\n        </xsl:variable>\n        <xsl:if test=\"$part.label != ''\">\n          <xsl:value-of select=\"$part.label\"/>\n          <xsl:apply-templates select=\"ancestor::part\" \n                               mode=\"intralabel.punctuation\"/>\n        </xsl:if>\n      </xsl:if>\n      <xsl:variable name=\"format\">\n        <xsl:call-template name=\"autolabel.format\">\n          <xsl:with-param name=\"format\" select=\"$reference.autolabel\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:choose>\n        <xsl:when test=\"$label.from.part != 0 and ancestor::part\">\n          <xsl:number from=\"part\" count=\"reference\" format=\"{$format}\" level=\"any\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:number from=\"book\" count=\"reference\" format=\"{$format}\" level=\"any\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"refentry\" mode=\"label.markup\">\n  <xsl:if test=\"@label\">\n    <xsl:value-of select=\"@label\"/>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"section\" mode=\"label.markup\">\n  <!-- if this is a nested section, label the parent -->\n  <xsl:if test=\"local-name(..) = 'section'\">\n    <xsl:variable name=\"parent.section.label\">\n      <xsl:call-template name=\"label.this.section\">\n        <xsl:with-param name=\"section\" select=\"..\"/>\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:if test=\"$parent.section.label != '0'\">\n      <xsl:apply-templates select=\"..\" mode=\"label.markup\"/>\n      <xsl:apply-templates select=\"..\" mode=\"intralabel.punctuation\"/>\n    </xsl:if>\n  </xsl:if>\n\n  <!-- if the parent is a component, maybe label that too -->\n  <xsl:variable name=\"parent.is.component\">\n    <xsl:call-template name=\"is.component\">\n      <xsl:with-param name=\"node\" select=\"..\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <!-- does this section get labelled? -->\n  <xsl:variable name=\"label\">\n    <xsl:call-template name=\"label.this.section\">\n      <xsl:with-param name=\"section\" select=\".\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:if test=\"$section.label.includes.component.label != 0\n                and $parent.is.component != 0\">\n    <xsl:variable name=\"parent.label\">\n      <xsl:apply-templates select=\"..\" mode=\"label.markup\"/>\n    </xsl:variable>\n    <xsl:if test=\"$parent.label != ''\">\n      <xsl:apply-templates select=\"..\" mode=\"label.markup\"/>\n      <xsl:apply-templates select=\"..\" mode=\"intralabel.punctuation\"/>\n    </xsl:if>\n  </xsl:if>\n\n<!--\n  <xsl:message>\n    test: <xsl:value-of select=\"$label\"/>, <xsl:number count=\"section\"/>\n  </xsl:message>\n-->\n\n  <xsl:choose>\n    <xsl:when test=\"@label\">\n      <xsl:value-of select=\"@label\"/>\n    </xsl:when>\n    <xsl:when test=\"$label != 0\">      \n      <xsl:variable name=\"format\">\n        <xsl:call-template name=\"autolabel.format\">\n          <xsl:with-param name=\"format\" select=\"$section.autolabel\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:number format=\"{$format}\" count=\"section\"/>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"sect1\" mode=\"label.markup\">\n  <!-- if the parent is a component, maybe label that too -->\n  <xsl:variable name=\"parent.is.component\">\n    <xsl:call-template name=\"is.component\">\n      <xsl:with-param name=\"node\" select=\"..\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"component.label\">\n    <xsl:if test=\"$section.label.includes.component.label != 0\n                  and $parent.is.component != 0\">\n      <xsl:variable name=\"parent.label\">\n        <xsl:apply-templates select=\"..\" mode=\"label.markup\"/>\n      </xsl:variable>\n      <xsl:if test=\"$parent.label != ''\">\n        <xsl:apply-templates select=\"..\" mode=\"label.markup\"/>\n        <xsl:apply-templates select=\"..\" mode=\"intralabel.punctuation\"/>\n      </xsl:if>\n    </xsl:if>\n  </xsl:variable>\n\n\n  <xsl:variable name=\"is.numbered\">\n    <xsl:call-template name=\"label.this.section\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"@label\">\n      <xsl:value-of select=\"@label\"/>\n    </xsl:when>\n    <xsl:when test=\"$is.numbered != 0\">\n      <xsl:variable name=\"format\">\n        <xsl:call-template name=\"autolabel.format\">\n          <xsl:with-param name=\"format\" select=\"$section.autolabel\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:copy-of select=\"$component.label\"/>\n      <xsl:number format=\"{$format}\" count=\"sect1\"/>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"sect2|sect3|sect4|sect5\" mode=\"label.markup\">\n  <!-- label the parent -->\n  <xsl:variable name=\"parent.section.label\">\n    <xsl:call-template name=\"label.this.section\">\n      <xsl:with-param name=\"section\" select=\"..\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:if test=\"$parent.section.label != '0'\">\n    <xsl:apply-templates select=\"..\" mode=\"label.markup\"/>\n    <xsl:apply-templates select=\"..\" mode=\"intralabel.punctuation\"/>\n  </xsl:if>\n\n  <xsl:variable name=\"is.numbered\">\n    <xsl:call-template name=\"label.this.section\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"@label\">\n      <xsl:value-of select=\"@label\"/>\n    </xsl:when>\n    <xsl:when test=\"$is.numbered != 0\">\n      <xsl:variable name=\"format\">\n        <xsl:call-template name=\"autolabel.format\">\n          <xsl:with-param name=\"format\" select=\"$section.autolabel\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:choose>\n        <xsl:when test=\"local-name(.) = 'sect2'\">\n          <xsl:number format=\"{$format}\" count=\"sect2\"/>\n        </xsl:when>\n        <xsl:when test=\"local-name(.) = 'sect3'\">\n          <xsl:number format=\"{$format}\" count=\"sect3\"/>\n        </xsl:when>\n        <xsl:when test=\"local-name(.) = 'sect4'\">\n          <xsl:number format=\"{$format}\" count=\"sect4\"/>\n        </xsl:when>\n        <xsl:when test=\"local-name(.) = 'sect5'\">\n          <xsl:number format=\"{$format}\" count=\"sect5\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:message>label.markup: this can't happen!</xsl:message>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"bridgehead\" mode=\"label.markup\">\n  <!-- bridgeheads are not normally numbered -->\n</xsl:template>\n\n<xsl:template match=\"refsect1\" mode=\"label.markup\">\n  <xsl:choose>\n    <xsl:when test=\"@label\">\n      <xsl:value-of select=\"@label\"/>\n    </xsl:when>\n    <xsl:when test=\"$section.autolabel != 0\">\n      <xsl:variable name=\"format\">\n        <xsl:call-template name=\"autolabel.format\">\n          <xsl:with-param name=\"format\" select=\"$section.autolabel\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:number count=\"refsect1\" format=\"{$format}\"/>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"refsect2|refsect3\" mode=\"label.markup\">\n  <!-- label the parent -->\n  <xsl:variable name=\"parent.label\">\n    <xsl:apply-templates select=\"..\" mode=\"label.markup\"/>\n  </xsl:variable>\n  <xsl:if test=\"$parent.label != ''\">\n    <xsl:apply-templates select=\"..\" mode=\"label.markup\"/>\n    <xsl:apply-templates select=\"..\" mode=\"intralabel.punctuation\"/>\n  </xsl:if>\n\n  <xsl:choose>\n    <xsl:when test=\"@label\">\n      <xsl:value-of select=\"@label\"/>\n    </xsl:when>\n    <xsl:when test=\"$section.autolabel != 0\">\n      <xsl:variable name=\"format\">\n        <xsl:call-template name=\"autolabel.format\">\n          <xsl:with-param name=\"format\" select=\"$section.autolabel\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:choose>\n        <xsl:when test=\"local-name(.) = 'refsect2'\">\n          <xsl:number count=\"refsect2\" format=\"{$format}\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:number count=\"refsect3\" format=\"{$format}\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"simplesect\" mode=\"label.markup\">\n  <!-- if this is a nested section, label the parent -->\n  <xsl:if test=\"local-name(..) = 'section'\n                or local-name(..) = 'sect1'\n                or local-name(..) = 'sect2'\n                or local-name(..) = 'sect3'\n                or local-name(..) = 'sect4'\n                or local-name(..) = 'sect5'\">\n    <xsl:variable name=\"parent.section.label\">\n      <xsl:apply-templates select=\"..\" mode=\"label.markup\"/>\n    </xsl:variable>\n    <xsl:if test=\"$parent.section.label != ''\">\n      <xsl:apply-templates select=\"..\" mode=\"label.markup\"/>\n      <xsl:apply-templates select=\"..\" mode=\"intralabel.punctuation\"/>\n    </xsl:if>\n  </xsl:if>\n\n  <!-- if the parent is a component, maybe label that too -->\n  <xsl:variable name=\"parent.is.component\">\n    <xsl:call-template name=\"is.component\">\n      <xsl:with-param name=\"node\" select=\"..\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <!-- does this section get labelled? -->\n  <xsl:variable name=\"label\">\n    <xsl:call-template name=\"label.this.section\">\n      <xsl:with-param name=\"section\" select=\".\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:if test=\"$section.label.includes.component.label != 0\n                and $parent.is.component != 0\">\n    <xsl:variable name=\"parent.label\">\n      <xsl:apply-templates select=\"..\" mode=\"label.markup\"/>\n    </xsl:variable>\n    <xsl:if test=\"$parent.label != ''\">\n      <xsl:apply-templates select=\"..\" mode=\"label.markup\"/>\n      <xsl:apply-templates select=\"..\" mode=\"intralabel.punctuation\"/>\n    </xsl:if>\n  </xsl:if>\n\n  <xsl:choose>\n    <xsl:when test=\"@label\">\n      <xsl:value-of select=\"@label\"/>\n    </xsl:when>\n    <xsl:when test=\"$label != 0\">\n      <xsl:variable name=\"format\">\n        <xsl:call-template name=\"autolabel.format\">\n          <xsl:with-param name=\"format\" select=\"$section.autolabel\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:number format=\"{$format}\" count=\"simplesect\"/>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"topic\" mode=\"label.markup\">\n  <!-- topics are not numbered by default -->\n</xsl:template>\n\n<xsl:template match=\"qandadiv\" mode=\"label.markup\">\n  <xsl:variable name=\"lparent\" select=\"(ancestor::set\n                                       |ancestor::book\n                                       |ancestor::chapter\n                                       |ancestor::appendix\n                                       |ancestor::preface\n                                       |ancestor::section\n                                       |ancestor::simplesect\n                                       |ancestor::sect1\n                                       |ancestor::sect2\n                                       |ancestor::sect3\n                                       |ancestor::sect4\n                                       |ancestor::sect5\n                                       |ancestor::refsect1\n                                       |ancestor::refsect2\n                                       |ancestor::refsect3)[last()]\"/>\n\n  <xsl:variable name=\"lparent.prefix\">\n    <xsl:apply-templates select=\"$lparent\" mode=\"label.markup\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"prefix\">\n    <xsl:if test=\"$qanda.inherit.numeration != 0\">\n      <xsl:if test=\"$lparent.prefix != ''\">\n        <xsl:apply-templates select=\"$lparent\" mode=\"label.markup\"/>\n        <xsl:apply-templates select=\"$lparent\" mode=\"intralabel.punctuation\"/>\n      </xsl:if>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$qandadiv.autolabel != 0\">\n      <xsl:variable name=\"format\">\n        <xsl:call-template name=\"autolabel.format\">\n          <xsl:with-param name=\"format\" select=\"$qandadiv.autolabel\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:value-of select=\"$prefix\"/>\n      <xsl:number level=\"multiple\" count=\"qandadiv\" format=\"{$format}\"/>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"question|answer\" mode=\"label.markup\">\n  <xsl:variable name=\"lparent\" select=\"(ancestor::set\n                                       |ancestor::book\n                                       |ancestor::chapter\n                                       |ancestor::appendix\n                                       |ancestor::preface\n                                       |ancestor::section\n                                       |ancestor::simplesect\n                                       |ancestor::sect1\n                                       |ancestor::sect2\n                                       |ancestor::sect3\n                                       |ancestor::sect4\n                                       |ancestor::sect5\n                                       |ancestor::refsect1\n                                       |ancestor::refsect2\n                                       |ancestor::refsect3)[last()]\"/>\n\n  <xsl:variable name=\"lparent.prefix\">\n    <xsl:apply-templates select=\"$lparent\" mode=\"label.markup\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"prefix\">\n    <xsl:if test=\"$qanda.inherit.numeration != 0\">\n      <xsl:choose>\n        <xsl:when test=\"ancestor::qandadiv\">\n          <xsl:variable name=\"div.label\">\n            <xsl:apply-templates select=\"ancestor::qandadiv[1]\" mode=\"label.markup\"/>\n          </xsl:variable>\n          <xsl:if test=\"string-length($div.label) != 0\">\n            <xsl:copy-of select=\"$div.label\"/>\n            <xsl:apply-templates select=\"ancestor::qandadiv[1]\"\n                                 mode=\"intralabel.punctuation\"/>\n          </xsl:if>\n        </xsl:when>\n        <xsl:when test=\"$lparent.prefix != ''\">\n          <xsl:apply-templates select=\"$lparent\" mode=\"label.markup\"/>\n          <xsl:apply-templates select=\"$lparent\" mode=\"intralabel.punctuation\"/>\n        </xsl:when>\n      </xsl:choose>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"inhlabel\"\n                select=\"ancestor-or-self::qandaset/@defaultlabel[1]\"/>\n\n  <xsl:variable name=\"deflabel\">\n    <xsl:choose>\n      <xsl:when test=\"$inhlabel != ''\">\n        <xsl:value-of select=\"$inhlabel\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$qanda.defaultlabel\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"label\" select=\"label\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"count($label)>0\">\n      <xsl:apply-templates select=\"$label\"/>\n    </xsl:when>\n\n    <xsl:when test=\"$deflabel = 'qanda' and self::question\">\n      <xsl:call-template name=\"gentext\">\n        <xsl:with-param name=\"key\" select=\"'Question'\"/>\n      </xsl:call-template>\n    </xsl:when>\n\n    <xsl:when test=\"$deflabel = 'qanda' and self::answer\">\n      <xsl:call-template name=\"gentext\">\n        <xsl:with-param name=\"key\" select=\"'Answer'\"/>\n      </xsl:call-template>\n    </xsl:when>\n\n    <xsl:when test=\"($deflabel = 'qnumber' or\n                     $deflabel = 'qnumberanda') and self::question\">\n      <xsl:call-template name=\"gentext\">\n        <xsl:with-param name=\"key\" select=\"'Question'\"/>\n      </xsl:call-template>\n      <xsl:text>&#xA0;</xsl:text>\n      <xsl:value-of select=\"$prefix\"/>\n      <xsl:number level=\"multiple\" count=\"qandaentry\" format=\"1\"/>\n    </xsl:when>\n\n    <xsl:when test=\"$deflabel = 'qnumberanda' and self::answer\">\n      <xsl:call-template name=\"gentext\">\n        <xsl:with-param name=\"key\" select=\"'Answer'\"/>\n      </xsl:call-template>\n    </xsl:when>\n\n    <xsl:when test=\"$deflabel = 'number' and self::question\">\n      <xsl:value-of select=\"$prefix\"/>\n      <xsl:number level=\"multiple\" count=\"qandaentry\" format=\"1\"/>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"bibliography|glossary|\n                     qandaset|index|setindex\" mode=\"label.markup\">\n  <xsl:if test=\"@label\">\n    <xsl:value-of select=\"@label\"/>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"figure|table|example\" mode=\"label.markup\">\n  <xsl:variable name=\"pchap\"\n                select=\"(ancestor::chapter\n                        |ancestor::appendix\n                        |ancestor::article[ancestor::book])[last()]\"/>\n\n  <xsl:variable name=\"prefix\">\n    <xsl:if test=\"count($pchap) &gt; 0\">\n      <xsl:apply-templates select=\"$pchap\" mode=\"label.markup\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"@label\">\n      <xsl:value-of select=\"@label\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"$prefix != ''\">\n            <xsl:apply-templates select=\"$pchap\" mode=\"label.markup\"/>\n            <xsl:apply-templates select=\"$pchap\" mode=\"intralabel.punctuation\"/>\n          <xsl:number format=\"1\" from=\"chapter|appendix\" level=\"any\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:number format=\"1\" from=\"book|article\" level=\"any\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"procedure\" mode=\"label.markup\">\n  <xsl:variable name=\"pchap\"\n                select=\"ancestor::chapter\n                        |ancestor::appendix\n                        |ancestor::article[ancestor::book]\"/>\n\n  <xsl:variable name=\"prefix\">\n    <xsl:if test=\"count($pchap) &gt; 0\">\n      <xsl:apply-templates select=\"$pchap\" mode=\"label.markup\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"@label\">\n      <xsl:value-of select=\"@label\"/>\n    </xsl:when>\n    <xsl:when test=\"$formal.procedures = 0\">\n      <!-- No label -->\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"count($pchap)>0\">\n          <xsl:if test=\"$prefix != ''\">\n            <xsl:apply-templates select=\"$pchap\" mode=\"label.markup\"/>\n            <xsl:apply-templates select=\"$pchap\" mode=\"intralabel.punctuation\"/>\n          </xsl:if>\n          <xsl:number count=\"procedure[title]\" format=\"1\" \n                      from=\"chapter|appendix\" level=\"any\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:number count=\"procedure[title]\" format=\"1\" \n                      from=\"book|article\" level=\"any\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"equation\" mode=\"label.markup\">\n  <xsl:variable name=\"pchap\"\n                select=\"ancestor::chapter\n                        |ancestor::appendix\n                        |ancestor::article[ancestor::book]\"/>\n\n  <xsl:variable name=\"prefix\">\n    <xsl:if test=\"count($pchap) &gt; 0\">\n      <xsl:apply-templates select=\"$pchap\" mode=\"label.markup\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"@label\">\n      <xsl:value-of select=\"@label\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"count($pchap)>0\">\n          <xsl:if test=\"$prefix != ''\">\n            <xsl:apply-templates select=\"$pchap\" mode=\"label.markup\"/>\n            <xsl:apply-templates select=\"$pchap\" mode=\"intralabel.punctuation\"/>\n          </xsl:if>\n          <xsl:number format=\"1\" count=\"equation\" \n                      from=\"chapter|appendix\" level=\"any\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:number format=\"1\" count=\"equation\" \n                      from=\"book|article\" level=\"any\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"orderedlist/listitem\" mode=\"label.markup\">\n  <xsl:variable name=\"numeration\">\n    <xsl:call-template name=\"list.numeration\">\n      <xsl:with-param name=\"node\" select=\"parent::orderedlist\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"type\">\n    <xsl:choose>\n      <xsl:when test=\"$numeration='arabic'\">1</xsl:when>\n      <xsl:when test=\"$numeration='loweralpha'\">a</xsl:when>\n      <xsl:when test=\"$numeration='lowerroman'\">i</xsl:when>\n      <xsl:when test=\"$numeration='upperalpha'\">A</xsl:when>\n      <xsl:when test=\"$numeration='upperroman'\">I</xsl:when>\n      <!-- What!? This should never happen -->\n      <xsl:otherwise>\n        <xsl:message>\n          <xsl:text>Unexpected numeration: </xsl:text>\n          <xsl:value-of select=\"$numeration\"/>\n        </xsl:message>\n        <xsl:value-of select=\"1.\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"item-number\">\n    <xsl:call-template name=\"orderedlist-item-number\"/>\n  </xsl:variable>\n\n  <xsl:number value=\"$item-number\" format=\"{$type}\"/>\n</xsl:template>\n\n<xsl:template match=\"production\" mode=\"label.markup\">\n  <xsl:number count=\"production\" level=\"any\"/>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"label.markup\">\n  <!-- nop -->\n</xsl:template>\n\n<xsl:template match=\"sidebar\" mode=\"label.markup\">\n  <!-- nop -->\n</xsl:template>\n\n<xsl:template match=\"glossdiv|glosslist\" mode=\"label.markup\">\n  <!-- nop -->\n</xsl:template>\n\n<xsl:template match=\"glossentry\" mode=\"label.markup\">\n  <!-- nop -->\n</xsl:template>\n\n<!-- ============================================================ -->\n\n<xsl:template name=\"label.this.section\">\n  <xsl:param name=\"section\" select=\".\"/>\n\n  <xsl:variable name=\"level\">\n    <xsl:call-template name=\"section.level\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <!-- bridgeheads are not numbered -->\n    <xsl:when test=\"$section/self::bridgehead\">0</xsl:when>\n    <xsl:when test=\"$level &lt;= $section.autolabel.max.depth\">      \n      <xsl:value-of select=\"$section.autolabel\"/>\n    </xsl:when>\n    <xsl:otherwise>0</xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<doc:template name=\"label.this.section\" xmlns=\"\">\n<refpurpose>Returns true if $section should be labelled</refpurpose>\n<refdescription id=\"label.this.section-desc\">\n<para>Returns true if the specified section should be labelled.\nBy default, this template returns zero unless \nthe section level is less than or equal to the value of the\n<literal>$section.autolabel.max.depth</literal> parameter, in\nwhich case it returns\n<literal>$section.autolabel</literal>.\nCustom stylesheets may override it to get more selective behavior.</para>\n</refdescription>\n</doc:template>\n\n<!-- ============================================================ -->\n\n<xsl:template name=\"default.autolabel.format\">\n  <xsl:param name=\"context\" select=\".\"/>\n  <xsl:choose>\n    <xsl:when test=\"local-name($context) = 'appendix'\">\n      <xsl:value-of select=\"'A'\"/>\n    </xsl:when>\n    <xsl:when test=\"local-name($context) = 'part'\">\n      <xsl:value-of select=\"'I'\"/>\n    </xsl:when>\n    <xsl:otherwise>1</xsl:otherwise>\n  </xsl:choose>  \n</xsl:template>\n  \n<xsl:template name=\"autolabel.format\">\n  <xsl:param name=\"context\" select=\".\"/>\n  <xsl:param name=\"format\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"string($format) != 0\">\n      <xsl:choose>\n        <xsl:when test=\"string($format)='arabic' or $format='1'\">1</xsl:when>\n        <xsl:when test=\"$format='loweralpha' or $format='a'\">\n          <xsl:value-of select=\"'a'\"/>\n        </xsl:when>\n        <xsl:when test=\"$format='lowerroman' or $format='i'\">\n          <xsl:value-of select=\"'i'\"/>\n        </xsl:when>\n        <xsl:when test=\"$format='upperalpha' or $format='A'\">\n          <xsl:value-of select=\"'A'\"/>\n        </xsl:when>\n        <xsl:when test=\"$format='upperroman' or $format='I'\">\n          <xsl:value-of select=\"'I'\"/>\n        </xsl:when>      \n        <xsl:when test=\"$format='arabicindic' or $format='&#x661;'\">\n          <xsl:value-of select=\"'&#x661;'\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:message>\n            <xsl:text>Unexpected </xsl:text><xsl:value-of select=\"local-name(.)\"/><xsl:text>.autolabel value: </xsl:text>\n            <xsl:value-of select=\"$format\"/><xsl:text>; using default.</xsl:text>\n          </xsl:message>\n          <xsl:call-template name=\"default.autolabel.format\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<doc:template name=\"autolabel.format\" xmlns=\"\">\n<refpurpose>Returns format for autolabel parameters</refpurpose>\n<refdescription id=\"autolabel.format-desc\">\n<para>Returns format passed as parameter if non zero. Supported\n  format are 'arabic' or '1', 'loweralpha' or 'a', 'lowerroman' or 'i', \n  'upperlapha' or 'A', 'upperroman' or 'I', 'arabicindic' or '&#x661;'.\n  If its not one of these then \n  returns the default format.</para>\n</refdescription>\n</doc:template>\n\n<!-- ============================================================ -->\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/lt.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"lt\" english-language-name=\"Lithuanian\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/lt.xml -->\n<!-- * -->\n<!-- * E-mail the edited lt.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Santrauka\"/>\n<l:gentext key=\"abstract\" text=\"Santrauka\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"Ats:\"/>\n<l:gentext key=\"answer\" text=\"Ats:\"/>\n<l:gentext key=\"Appendix\" text=\"Priedas\"/>\n<l:gentext key=\"appendix\" text=\"Priedas\"/>\n<l:gentext key=\"Article\" text=\"Straipsnis\"/>\n<l:gentext key=\"article\" text=\"Straipsnis\"/>\n<l:gentext key=\"Author\" text=\"Autorius\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografija\"/>\n<l:gentext key=\"bibliography\" text=\"Bibliografija\"/>\n<l:gentext key=\"Book\" text=\"Knyga\"/>\n<l:gentext key=\"book\" text=\"Knyga\"/>\n<l:gentext key=\"CAUTION\" text=\"ATSARGIAI\"/>\n<l:gentext key=\"Caution\" text=\"Atsargiai\"/>\n<l:gentext key=\"caution\" text=\"Atsargiai\"/>\n<l:gentext key=\"Chapter\" text=\"Skyrius\"/>\n<l:gentext key=\"chapter\" text=\"Skyrius\"/>\n<l:gentext key=\"Colophon\" text=\"Knygos metrika\"/>\n<l:gentext key=\"colophon\" text=\"Knygos metrika\"/>\n<l:gentext key=\"Copyright\" text=\"Autorinės teisės\"/>\n<l:gentext key=\"copyright\" text=\"Autorinės teisės\"/>\n<l:gentext key=\"Dedication\" text=\"Dedikacija\"/>\n<l:gentext key=\"dedication\" text=\"Dedikacija\"/>\n<l:gentext key=\"Edition\" text=\"Leidimas\"/>\n<l:gentext key=\"edition\" text=\"Leidimas\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Lygtis\"/>\n<l:gentext key=\"equation\" text=\"Lygtis\"/>\n<l:gentext key=\"Example\" text=\"Pavyzdys\"/>\n<l:gentext key=\"example\" text=\"Pavyzdys\"/>\n<l:gentext key=\"Figure\" text=\"Pav.\"/>\n<l:gentext key=\"figure\" text=\"Pav.\"/>\n<l:gentext key=\"Glossary\" text=\"Terminų žodynas\"/>\n<l:gentext key=\"glossary\" text=\"Terminų žodynas\"/>\n<l:gentext key=\"GlossSee\" text=\"Žr.\"/>\n<l:gentext key=\"glosssee\" text=\"Žr.\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Taip pat žr.\"/>\n<l:gentext key=\"glossseealso\" text=\"Taip pat žr.\"/>\n<l:gentext key=\"IMPORTANT\" text=\"SVARBU\"/>\n<l:gentext key=\"important\" text=\"Svarbu\"/>\n<l:gentext key=\"Important\" text=\"Svarbu\"/>\n<l:gentext key=\"Index\" text=\"Rodyklė\"/>\n<l:gentext key=\"index\" text=\"Rodyklė\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Teisinė pastaba\"/>\n<l:gentext key=\"legalnotice\" text=\"Teisinė pastaba\"/>\n<l:gentext key=\"MsgAud\" text=\"Auditorija\"/>\n<l:gentext key=\"msgaud\" text=\"Auditorija\"/>\n<l:gentext key=\"MsgLevel\" text=\"Lygmuo\"/>\n<l:gentext key=\"msglevel\" text=\"Lygmuo\"/>\n<l:gentext key=\"MsgOrig\" text=\"Kilmė\"/>\n<l:gentext key=\"msgorig\" text=\"Kilmė\"/>\n<l:gentext key=\"NOTE\" text=\"PASTABA\"/>\n<l:gentext key=\"Note\" text=\"Pastaba\"/>\n<l:gentext key=\"note\" text=\"Pastaba\"/>\n<l:gentext key=\"Part\" text=\"Dalis\"/>\n<l:gentext key=\"part\" text=\"Dalis\"/>\n<l:gentext key=\"Preface\" text=\"Įvadas\"/>\n<l:gentext key=\"preface\" text=\"Įvadas\"/>\n<l:gentext key=\"Procedure\" text=\"Procedūra\"/>\n<l:gentext key=\"procedure\" text=\"Procedūra\"/>\n<l:gentext key=\"ProductionSet\" text=\"Produkcija\"/>\n<l:gentext key=\"PubDate\" text=\"Išleidimo data\"/>\n<l:gentext key=\"pubdate\" text=\"Išleidimo data\"/>\n<l:gentext key=\"Published\" text=\"Išleistas\"/>\n<l:gentext key=\"published\" text=\"Išleistas\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"Klaus. ir Ats.\"/>\n<l:gentext key=\"qandadiv\" text=\"Klaus. ir Ats.\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"Klaus.:\"/>\n<l:gentext key=\"question\" text=\"Klaus.:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Nuoroda\"/>\n<l:gentext key=\"reference\" text=\"Nuoroda\"/>\n<l:gentext key=\"References\" text=\"Nuorodos\"/>\n<l:gentext key=\"RefName\" text=\"Pavadinimas\"/>\n<l:gentext key=\"refname\" text=\"Pavadinimas\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Trumpa apžvalga\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Trumpa apžvalga\"/>\n<l:gentext key=\"RevHistory\" text=\"Pataisymų istorija\"/>\n<l:gentext key=\"revhistory\" text=\"Pataisymų istorija\"/>\n<l:gentext key=\"revision\" text=\"Pataisytas leidimas\"/>\n<l:gentext key=\"Revision\" text=\"Pataisytas leidimas\"/>\n<l:gentext key=\"sect1\" text=\"Skyrius\"/>\n<l:gentext key=\"sect2\" text=\"Skyrius\"/>\n<l:gentext key=\"sect3\" text=\"Skyrius\"/>\n<l:gentext key=\"sect4\" text=\"Skyrius\"/>\n<l:gentext key=\"sect5\" text=\"Skyrius\"/>\n<l:gentext key=\"section\" text=\"Skyrius\"/>\n<l:gentext key=\"Section\" text=\"Skyrius\"/>\n<l:gentext key=\"see\" text=\"žr.\"/>\n<l:gentext key=\"See\" text=\"Žr.\"/>\n<l:gentext key=\"seealso\" text=\"taip pat žr.\"/>\n<l:gentext key=\"Seealso\" text=\"Taip pat žr.\"/>\n<l:gentext key=\"SeeAlso\" text=\"Taip pat žr.\"/>\n<l:gentext key=\"set\" text=\"Set\"/>\n<l:gentext key=\"Set\" text=\"Set\"/>\n<l:gentext key=\"setindex\" text=\"Set Index\"/>\n<l:gentext key=\"SetIndex\" text=\"Set Index\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"sidebar\"/>\n<l:gentext key=\"step\" text=\"žingsnis\"/>\n<l:gentext key=\"Step\" text=\"Žingsnis\"/>\n<l:gentext key=\"table\" text=\"Lentelė\"/>\n<l:gentext key=\"Table\" text=\"Lentelė\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"Patarimas\"/>\n<l:gentext key=\"TIP\" text=\"PATARIMAS\"/>\n<l:gentext key=\"Tip\" text=\"Patarimas\"/>\n<l:gentext key=\"Warning\" text=\"Įspėjimas\"/>\n<l:gentext key=\"warning\" text=\"Įspėjimas\"/>\n<l:gentext key=\"WARNING\" text=\"ĮSPĖJIMAS\"/>\n<l:gentext key=\"and\" text=\"ir\"/>\n<l:gentext key=\"or\" text=\"arba\"/>\n<l:gentext key=\"by\" text=\"\"/>\n<l:gentext key=\"Edited\" text=\"Redaguotas\"/>\n<l:gentext key=\"edited\" text=\"Redaguotas\"/>\n<l:gentext key=\"Editedby\" text=\"Redagavo\"/>\n<l:gentext key=\"editedby\" text=\"Redagavo\"/>\n<l:gentext key=\"in\" text=\"\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Pastabos\"/>\n<l:gentext key=\"Notes\" text=\"Pastabos\"/>\n<l:gentext key=\"Pgs\" text=\"P.\"/>\n<l:gentext key=\"pgs\" text=\"P.\"/>\n<l:gentext key=\"Revisedby\" text=\"Pataisė: \"/>\n<l:gentext key=\"revisedby\" text=\"Pataisė: \"/>\n<l:gentext key=\"TableNotes\" text=\"Pastabos\"/>\n<l:gentext key=\"tablenotes\" text=\"Pastabos\"/>\n<l:gentext key=\"TableofContents\" text=\"Turinys\"/>\n<l:gentext key=\"tableofcontents\" text=\"Turinys\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Nenumatyto elemento pavadinimas\"/>\n<l:gentext key=\"unsupported\" text=\"nepalaikomas\"/>\n<l:gentext key=\"xrefto\" text=\"xref į\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"Lygčių sąrašas\"/>\n<l:gentext key=\"ListofEquations\" text=\"Lygčių sąrašas\"/>\n<l:gentext key=\"ListofExamples\" text=\"Pavyzdžių sąrašas\"/>\n<l:gentext key=\"listofexamples\" text=\"Pavyzdžių sąrašas\"/>\n<l:gentext key=\"ListofFigures\" text=\"Paveikslų sąrašas\"/>\n<l:gentext key=\"listoffigures\" text=\"Paveikslų sąrašas\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Procedūrų sąrašas\"/>\n<l:gentext key=\"listofprocedures\" text=\"Procedūrų sąrašas\"/>\n<l:gentext key=\"listoftables\" text=\"Lentelių sąrašas\"/>\n<l:gentext key=\"ListofTables\" text=\"Lentelių sąrašas\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Nežinomas sąrašas\"/>\n<l:gentext key=\"listofunknown\" text=\"Nežinomas sąrašas\"/>\n<l:gentext key=\"nav-home\" text=\"Į pradžią\"/>\n<l:gentext key=\"nav-next\" text=\"Tolesnis\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Spartus pirmyn\"/>\n<l:gentext key=\"nav-prev\" text=\"Ankstesnis\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Spartus atgal\"/>\n<l:gentext key=\"nav-up\" text=\"Aukštyn\"/>\n<l:gentext key=\"nav-toc\" text=\"Turinys\"/>\n<l:gentext key=\"Draft\" text=\"Planas\"/>\n<l:gentext key=\"above\" text=\"aukščiau\"/>\n<l:gentext key=\"below\" text=\"žemiau\"/>\n<l:gentext key=\"sectioncalled\" text=\"skyrius pavadinimu\"/>\n<l:gentext key=\"index symbols\" text=\"Simboliai\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"aąbcčdeęėfghiįyjklmnoprsštuųūvzžqwx\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"AĄBCČDEĘĖFGHIĮYJKLMNOPRSŠTUŲŪVZŽQWX\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"„\"/>\n<l:dingbat key=\"endquote\" text=\"“\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Priedas %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Skyrius %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Lygtis %n. %t\"/>\n<l:template name=\"example\" text=\"Pavyzdys %n. %t\"/>\n<l:template name=\"figure\" text=\"Pav. %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Dalis %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Procedūra %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Produkcija %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Lentelė %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Priedas %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Skyrius %n. %t\"/>\n<l:template name=\"part\" text=\"Dalis %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"Ats: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Klaus.: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Klaus.: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(%p puslapis)\"/>\n<l:template name=\"docname\" text=\" dokumente %o\"/>\n<l:template name=\"docnamelong\" text=\" dokumente %o\"/>\n<l:template name=\"pageabbrev\" text=\"(%p p.)\"/>\n<l:template name=\"Page\" text=\"%p puslapis\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"skyrius pavadinimu „%t“\"/>\n<l:template name=\"refsection\" text=\"skyrius pavadinimu „%t“\"/>\n<l:template name=\"refsect1\" text=\"skyrius pavadinimu „%t“\"/>\n<l:template name=\"refsect2\" text=\"skyrius pavadinimu „%t“\"/>\n<l:template name=\"refsect3\" text=\"skyrius pavadinimu „%t“\"/>\n<l:template name=\"sect1\" text=\"skyrius pavadinimu „%t“\"/>\n<l:template name=\"sect2\" text=\"skyrius pavadinimu „%t“\"/>\n<l:template name=\"sect3\" text=\"skyrius pavadinimu „%t“\"/>\n<l:template name=\"sect4\" text=\"skyrius pavadinimu „%t“\"/>\n<l:template name=\"sect5\" text=\"skyrius pavadinimu „%t“\"/>\n<l:template name=\"section\" text=\"skyrius pavadinimu „%t“\"/>\n<l:template name=\"simplesect\" text=\"skyrius pavadinimu „%t“\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Ats: %n\"/>\n<l:template name=\"appendix\" text=\"Priedas %n\"/>\n<l:template name=\"bridgehead\" text=\"Skyrius %n\"/>\n<l:template name=\"chapter\" text=\"Skyrius %n\"/>\n<l:template name=\"equation\" text=\"Lygtis %n\"/>\n<l:template name=\"example\" text=\"Pavyzdys %n\"/>\n<l:template name=\"figure\" text=\"Pav. %n\"/>\n<l:template name=\"part\" text=\"Dalis %n\"/>\n<l:template name=\"procedure\" text=\"Procedūra %n\"/>\n<l:template name=\"productionset\" text=\"Produkcija %n\"/>\n<l:template name=\"qandadiv\" text=\"Klaus. ir Ats. %n\"/>\n<l:template name=\"qandaentry\" text=\"Klaus.: %n\"/>\n<l:template name=\"question\" text=\"Klaus.: %n\"/>\n<l:template name=\"sect1\" text=\"Skyrius %n\"/>\n<l:template name=\"sect2\" text=\"Skyrius %n\"/>\n<l:template name=\"sect3\" text=\"Skyrius %n\"/>\n<l:template name=\"sect4\" text=\"Skyrius %n\"/>\n<l:template name=\"sect5\" text=\"Skyrius %n\"/>\n<l:template name=\"section\" text=\"Skyrius %n\"/>\n<l:template name=\"table\" text=\"Lentelė %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Priedas %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Skyrius %n, „%t“\"/>\n<l:template name=\"chapter\" text=\"Skyrius %n, %t\"/>\n<l:template name=\"equation\" text=\"Lygtis %n, „%t“\"/>\n<l:template name=\"example\" text=\"Pavyzdys %n, „%t“\"/>\n<l:template name=\"figure\" text=\"Pav. %n, „%t“\"/>\n<l:template name=\"part\" text=\"Dalis %n, „%t“\"/>\n<l:template name=\"procedure\" text=\"Procedūra %n, „%t“\"/>\n<l:template name=\"productionset\" text=\"Produkcija %n, „%t“\"/>\n<l:template name=\"qandadiv\" text=\"Klaus. ir Ats. %n, „%t“\"/>\n<l:template name=\"refsect1\" text=\"skyrius pavadinimu „%t“\"/>\n<l:template name=\"refsect2\" text=\"skyrius pavadinimu „%t“\"/>\n<l:template name=\"refsect3\" text=\"skyrius pavadinimu „%t“\"/>\n<l:template name=\"refsection\" text=\"skyrius pavadinimu „%t“\"/>\n<l:template name=\"sect1\" text=\"Skyrius %n, „%t“\"/>\n<l:template name=\"sect2\" text=\"Skyrius %n, „%t“\"/>\n<l:template name=\"sect3\" text=\"Skyrius %n, „%t“\"/>\n<l:template name=\"sect4\" text=\"Skyrius %n, „%t“\"/>\n<l:template name=\"sect5\" text=\"Skyrius %n, „%t“\"/>\n<l:template name=\"section\" text=\"Skyrius %n, „%t“\"/>\n<l:template name=\"simplesect\" text=\"skyrius pavadinimu „%t“\"/>\n<l:template name=\"table\" text=\"Lentelė %n, „%t“\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" ir \"/>\n<l:template name=\"seplast\" text=\", ir \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Žr. %t.\"/>\n<l:template name=\"seealso\" text=\"Taip pat žr. %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Auditorija: \"/>\n<l:template name=\"MsgLevel\" text=\"Lygmuo: \"/>\n<l:template name=\"MsgOrig\" text=\"Kilmė: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"Y-m-d\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Apibrėžimas: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Sausis\"/>\n<l:template name=\"February\" text=\"Vasaris\"/>\n<l:template name=\"March\" text=\"Kovas\"/>\n<l:template name=\"April\" text=\"Balandis\"/>\n<l:template name=\"May\" text=\"Gegužė\"/>\n<l:template name=\"June\" text=\"Birželis\"/>\n<l:template name=\"July\" text=\"Liepa\"/>\n<l:template name=\"August\" text=\"Rugpjūtis\"/>\n<l:template name=\"September\" text=\"Rugsėjis\"/>\n<l:template name=\"October\" text=\"Spalis\"/>\n<l:template name=\"November\" text=\"Lapkritis\"/>\n<l:template name=\"December\" text=\"Gruodis\"/>\n<l:template name=\"Monday\" text=\"Pirmadienis\"/>\n<l:template name=\"Tuesday\" text=\"Antradienis\"/>\n<l:template name=\"Wednesday\" text=\"Trečiadienis\"/>\n<l:template name=\"Thursday\" text=\"Ketvirtadienis\"/>\n<l:template name=\"Friday\" text=\"Penktadienis\"/>\n<l:template name=\"Saturday\" text=\"Šeštadienis\"/>\n<l:template name=\"Sunday\" text=\"Sekmadienis\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Sau\"/>\n<l:template name=\"Feb\" text=\"Vas\"/>\n<l:template name=\"Mar\" text=\"Kov\"/>\n<l:template name=\"Apr\" text=\"Bal\"/>\n<l:template name=\"May\" text=\"Geg\"/>\n<l:template name=\"Jun\" text=\"Bir\"/>\n<l:template name=\"Jul\" text=\"Lie\"/>\n<l:template name=\"Aug\" text=\"Rugp\"/>\n<l:template name=\"Sep\" text=\"Rugs\"/>\n<l:template name=\"Oct\" text=\"Spa\"/>\n<l:template name=\"Nov\" text=\"Lap\"/>\n<l:template name=\"Dec\" text=\"Gru\"/>\n<l:template name=\"Mon\" text=\"Pr\"/>\n<l:template name=\"Tue\" text=\"An\"/>\n<l:template name=\"Wed\" text=\"Tr\"/>\n<l:template name=\"Thu\" text=\"Kt\"/>\n<l:template name=\"Fri\" text=\"Pn\"/>\n<l:template name=\"Sat\" text=\"Št\"/>\n<l:template name=\"Sun\" text=\"Sk\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0427 Lithuanian\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Simboliai</l:l>\n<l:l i=\"1\">A</l:l>\n<l:l i=\"1\">a</l:l>\n<l:l i=\"1\">Ą</l:l>\n<l:l i=\"1\">ą</l:l>\n<l:l i=\"2\">B</l:l>\n<l:l i=\"2\">b</l:l>\n<l:l i=\"3\">C</l:l>\n<l:l i=\"3\">c</l:l>\n<l:l i=\"3\">Č</l:l>\n<l:l i=\"3\">č</l:l>\n<l:l i=\"4\">D</l:l>\n<l:l i=\"4\">d</l:l>\n<l:l i=\"5\">E</l:l>\n<l:l i=\"5\">e</l:l>\n<l:l i=\"5\">Ę</l:l>\n<l:l i=\"5\">ę</l:l>\n<l:l i=\"5\">Ė</l:l>\n<l:l i=\"5\">ė</l:l>\n<l:l i=\"6\">F</l:l>\n<l:l i=\"6\">f</l:l>\n<l:l i=\"7\">G</l:l>\n<l:l i=\"7\">g</l:l>\n<l:l i=\"8\">H</l:l>\n<l:l i=\"8\">h</l:l>\n<l:l i=\"9\">I</l:l>\n<l:l i=\"9\">i</l:l>\n<l:l i=\"9\">Į</l:l>\n<l:l i=\"9\">į</l:l>\n<l:l i=\"10\">Y</l:l>\n<l:l i=\"10\">y</l:l>\n<l:l i=\"11\">J</l:l>\n<l:l i=\"11\">j</l:l>\n<l:l i=\"12\">K</l:l>\n<l:l i=\"12\">k</l:l>\n<l:l i=\"13\">L</l:l>\n<l:l i=\"13\">l</l:l>\n<l:l i=\"14\">M</l:l>\n<l:l i=\"14\">m</l:l>\n<l:l i=\"15\">N</l:l>\n<l:l i=\"15\">n</l:l>\n<l:l i=\"16\">O</l:l>\n<l:l i=\"16\">o</l:l>\n<l:l i=\"17\">P</l:l>\n<l:l i=\"17\">p</l:l>\n<l:l i=\"18\">R</l:l>\n<l:l i=\"18\">r</l:l>\n<l:l i=\"19\">S</l:l>\n<l:l i=\"19\">s</l:l>\n<l:l i=\"19\">Š</l:l>\n<l:l i=\"19\">š</l:l>\n<l:l i=\"20\">T</l:l>\n<l:l i=\"20\">t</l:l>\n<l:l i=\"21\">U</l:l>\n<l:l i=\"21\">u</l:l>\n<l:l i=\"21\">Ų</l:l>\n<l:l i=\"21\">ų</l:l>\n<l:l i=\"21\">Ū</l:l>\n<l:l i=\"21\">ū</l:l>\n<l:l i=\"22\">V</l:l>\n<l:l i=\"22\">v</l:l>\n<l:l i=\"23\">Z</l:l>\n<l:l i=\"23\">z</l:l>\n<l:l i=\"23\">Ž</l:l>\n<l:l i=\"23\">ž</l:l>\n<l:l i=\"24\">Q</l:l>\n<l:l i=\"24\">q</l:l>\n<l:l i=\"25\">W</l:l>\n<l:l i=\"25\">w</l:l>\n<l:l i=\"26\">X</l:l>\n<l:l i=\"26\">x</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/lv.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"lv\" english-language-name=\"Latvian\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/lv.xml -->\n<!-- * -->\n<!-- * E-mail the edited lv.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Anotācija\"/>\n<l:gentext key=\"abstract\" text=\"anotācija\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"A:\"/>\n<l:gentext key=\"answer\" text=\"a:\"/>\n<l:gentext key=\"Appendix\" text=\"Pielikums\"/>\n<l:gentext key=\"appendix\" text=\"pielikums\"/>\n<l:gentext key=\"Article\" text=\"Raksts\"/>\n<l:gentext key=\"article\" text=\"raksts\"/>\n<l:gentext key=\"Author\" text=\"Autors\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliogrāfija\"/>\n<l:gentext key=\"bibliography\" text=\"bibliogrāfija\"/>\n<l:gentext key=\"Book\" text=\"Grāmata\"/>\n<l:gentext key=\"book\" text=\"grāmata\"/>\n<l:gentext key=\"CAUTION\" text=\"UZMANĪBU\"/>\n<l:gentext key=\"Caution\" text=\"Uzmanību\"/>\n<l:gentext key=\"caution\" text=\"uzmanību\"/>\n<l:gentext key=\"Chapter\" text=\"Nodaļa\"/>\n<l:gentext key=\"chapter\" text=\"nodaļa\"/>\n<l:gentext key=\"Colophon\" text=\"Pēcvārds\"/>\n<l:gentext key=\"colophon\" text=\"pēcvārds\"/>\n<l:gentext key=\"Copyright\" text=\"Autortiesības\"/>\n<l:gentext key=\"copyright\" text=\"autortiesības\"/>\n<l:gentext key=\"Dedication\" text=\"Veltījums\"/>\n<l:gentext key=\"dedication\" text=\"veltījums\"/>\n<l:gentext key=\"Edition\" text=\"Izdevums\"/>\n<l:gentext key=\"edition\" text=\"izdevums\"/>\n<l:gentext key=\"Editor\" text=\"Redaktors\"/>\n<l:gentext key=\"Equation\" text=\"Vienādojums\"/>\n<l:gentext key=\"equation\" text=\"vienādojums\"/>\n<l:gentext key=\"Example\" text=\"Piemērs\"/>\n<l:gentext key=\"example\" text=\"piemērs\"/>\n<l:gentext key=\"Figure\" text=\"Ilustrācija\"/>\n<l:gentext key=\"figure\" text=\"ilustrācija\"/>\n<l:gentext key=\"Glossary\" text=\"Glosārijs\"/>\n<l:gentext key=\"glossary\" text=\"glosārijs\"/>\n<l:gentext key=\"GlossSee\" text=\"Skatīties\"/>\n<l:gentext key=\"glosssee\" text=\"skatīties\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Skatīt arī\"/>\n<l:gentext key=\"glossseealso\" text=\"skatīt arī\"/>\n<l:gentext key=\"IMPORTANT\" text=\"SVARĪGI\"/>\n<l:gentext key=\"important\" text=\"svarīgi\"/>\n<l:gentext key=\"Important\" text=\"svarīgs\"/>\n<l:gentext key=\"Index\" text=\"Indekss\"/>\n<l:gentext key=\"index\" text=\"indekss\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Autortiesības\"/>\n<l:gentext key=\"legalnotice\" text=\"autortiesības\"/>\n<l:gentext key=\"MsgAud\" text=\"Auditorija\"/>\n<l:gentext key=\"msgaud\" text=\"auditorija\"/>\n<l:gentext key=\"MsgLevel\" text=\"Ziņ.līmenis\"/>\n<l:gentext key=\"msglevel\" text=\"ziņ.līmenis\"/>\n<l:gentext key=\"MsgOrig\" text=\"Ziņ.izcelsme\"/>\n<l:gentext key=\"msgorig\" text=\"Ziņ.izcelsme\"/>\n<l:gentext key=\"NOTE\" text=\"PIEZĪME\"/>\n<l:gentext key=\"Note\" text=\"Piezīme\"/>\n<l:gentext key=\"note\" text=\"piezīme\"/>\n<l:gentext key=\"Part\" text=\"Daļa\"/>\n<l:gentext key=\"part\" text=\"daļa\"/>\n<l:gentext key=\"Preface\" text=\"Ievads\"/>\n<l:gentext key=\"preface\" text=\"ievads\"/>\n<l:gentext key=\"Procedure\" text=\"Procedūra\"/>\n<l:gentext key=\"procedure\" text=\"Procedūra\"/>\n<l:gentext key=\"ProductionSet\" text=\"Produkta\"/>\n<l:gentext key=\"PubDate\" text=\"Izdošanas datums\"/>\n<l:gentext key=\"pubdate\" text=\"Izdošanas datums\"/>\n<l:gentext key=\"Published\" text=\"Izdots\"/>\n<l:gentext key=\"published\" text=\"izdots\"/>\n<l:gentext key=\"Publisher\" text=\"Izdevējs\"/>\n<l:gentext key=\"Qandadiv\" text=\"J un A\"/>\n<l:gentext key=\"qandadiv\" text=\"J un A\"/>\n<l:gentext key=\"QandASet\" text=\"Bieži uzdotie jautājumi\"/>\n<l:gentext key=\"Question\" text=\"J:\"/>\n<l:gentext key=\"question\" text=\"J:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Atsauce\"/>\n<l:gentext key=\"reference\" text=\"atsauce\"/>\n<l:gentext key=\"References\" text=\"Norādes\"/>\n<l:gentext key=\"RefName\" text=\"Nosaukums\"/>\n<l:gentext key=\"refname\" text=\"nosaukums\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Sinopse\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"sinopse\"/>\n<l:gentext key=\"RevHistory\" text=\"Izmaiņu vēsture\"/>\n<l:gentext key=\"revhistory\" text=\"izmaiņu vēsture\"/>\n<l:gentext key=\"revision\" text=\"versija\"/>\n<l:gentext key=\"Revision\" text=\"Versija\"/>\n<l:gentext key=\"sect1\" text=\"Sadaļa\"/>\n<l:gentext key=\"sect2\" text=\"Sadaļa\"/>\n<l:gentext key=\"sect3\" text=\"Sadaļa\"/>\n<l:gentext key=\"sect4\" text=\"Sadaļa\"/>\n<l:gentext key=\"sect5\" text=\"Sadaļa\"/>\n<l:gentext key=\"section\" text=\"sadaļa\"/>\n<l:gentext key=\"Section\" text=\"Sadaļa\"/>\n<l:gentext key=\"see\" text=\"skatīt\"/>\n<l:gentext key=\"See\" text=\"Skatīt\"/>\n<l:gentext key=\"seealso\" text=\"skatīt arī\"/>\n<l:gentext key=\"Seealso\" text=\"skatīt arī\"/>\n<l:gentext key=\"SeeAlso\" text=\"Skatīt arī\"/>\n<l:gentext key=\"set\" text=\"Kolekcija\"/>\n<l:gentext key=\"Set\" text=\"Kolekcija\"/>\n<l:gentext key=\"setindex\" text=\"kolekcijas indekss\"/>\n<l:gentext key=\"SetIndex\" text=\"Kolekcijas indekss\"/>\n<l:gentext key=\"Sidebar\" text=\"Atkāpe\"/>\n<l:gentext key=\"sidebar\" text=\"atkāpe\"/>\n<l:gentext key=\"step\" text=\"solis\"/>\n<l:gentext key=\"Step\" text=\"Solis\"/>\n<l:gentext key=\"table\" text=\"Tabula\"/>\n<l:gentext key=\"Table\" text=\"Tabula\"/>\n<l:gentext key=\"task\" text=\"Uzdevums\"/>\n<l:gentext key=\"Task\" text=\"Uzdevums\"/>\n<l:gentext key=\"tip\" text=\"Ieteikums\"/>\n<l:gentext key=\"TIP\" text=\"IETEIKUMS\"/>\n<l:gentext key=\"Tip\" text=\"Ieteikums\"/>\n<l:gentext key=\"Warning\" text=\"Brīdinājums\"/>\n<l:gentext key=\"warning\" text=\"brīdinājums\"/>\n<l:gentext key=\"WARNING\" text=\"BRĪDINĀJUMS\"/>\n<l:gentext key=\"and\" text=\"un\"/>\n<l:gentext key=\"or\" text=\"vai\"/>\n<l:gentext key=\"by\" text=\"\"/>\n<l:gentext key=\"Edited\" text=\"Rediģēts\"/>\n<l:gentext key=\"edited\" text=\"rediģēts\"/>\n<l:gentext key=\"Editedby\" text=\"Rediģējis\"/>\n<l:gentext key=\"editedby\" text=\"rediģējis\"/>\n<l:gentext key=\"in\" text=\"iekš\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"piezīmes\"/>\n<l:gentext key=\"Notes\" text=\"Piezīmes\"/>\n<l:gentext key=\"Pgs\" text=\"Lpp.\"/>\n<l:gentext key=\"pgs\" text=\"lpp.\"/>\n<l:gentext key=\"Revisedby\" text=\"Pārskatījis: \"/>\n<l:gentext key=\"revisedby\" text=\"Pārskatījis: \"/>\n<l:gentext key=\"TableNotes\" text=\"Piezīmes\"/>\n<l:gentext key=\"tablenotes\" text=\"piezīmes\"/>\n<l:gentext key=\"TableofContents\" text=\"Saturs \"/>\n<l:gentext key=\"tableofcontents\" text=\"saturs\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Negaidīts elementa nosaukums\"/>\n<l:gentext key=\"unsupported\" text=\"neatbalstīts\"/>\n<l:gentext key=\"xrefto\" text=\"saite uz\"/>\n<l:gentext key=\"Authors\" text=\"Autori\"/>\n<l:gentext key=\"copyeditor\" text=\"Kopijas redaktors\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Grafikas dizaineris\"/>\n<l:gentext key=\"productioneditor\" text=\"Produkta redaktors\"/>\n<l:gentext key=\"technicaleditor\" text=\"Tehniskais redaktors\"/>\n<l:gentext key=\"translator\" text=\"Tulks\"/>\n<l:gentext key=\"listofequations\" text=\"vienādojumu saraksts\"/>\n<l:gentext key=\"ListofEquations\" text=\"Vienādojumu saraksts\"/>\n<l:gentext key=\"ListofExamples\" text=\"Piemēru saraksts\"/>\n<l:gentext key=\"listofexamples\" text=\"piemēru saraksts\"/>\n<l:gentext key=\"ListofFigures\" text=\"Ilustrāciju saraksts\"/>\n<l:gentext key=\"listoffigures\" text=\"ilustrāciju saraksts\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Procesu saraksts\"/>\n<l:gentext key=\"listofprocedures\" text=\"procesu saraksts\"/>\n<l:gentext key=\"listoftables\" text=\"tabulu saraksts\"/>\n<l:gentext key=\"ListofTables\" text=\"Tabulu saraksts\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Nezināmo saraksts\"/>\n<l:gentext key=\"listofunknown\" text=\"Nezināmo saraksts\"/>\n<l:gentext key=\"nav-home\" text=\"Sākums\"/>\n<l:gentext key=\"nav-next\" text=\"Nākamais\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Ātri uz priekšu\"/>\n<l:gentext key=\"nav-prev\" text=\"Priekšskatījums\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Ātri atpakaļ\"/>\n<l:gentext key=\"nav-up\" text=\"Uz augšu\"/>\n<l:gentext key=\"nav-toc\" text=\"Saturs\"/>\n<l:gentext key=\"Draft\" text=\"Uzmetums\"/>\n<l:gentext key=\"above\" text=\"virs\"/>\n<l:gentext key=\"below\" text=\"zem\"/>\n<l:gentext key=\"sectioncalled\" text=\"sadaļa ar nosaukumu\"/>\n<l:gentext key=\"index symbols\" text=\"Simboli\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"aābcčdeēfgģhiījkķlļmnņoprsštuūvzž\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"AĀBCČDEĒFGĢHIĪJKĶLĻMNŅOPRSŠTUŪVZŽ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Pielikums %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Nodaļa %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Vienādojums %n. %t\"/>\n<l:template name=\"example\" text=\"Piemērs %n. %t\"/>\n<l:template name=\"figure\" text=\"Ilustrācija %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Daļa %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Procedūra %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Produkta %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabula %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Pielikums %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Nodaļa %n. %t\"/>\n<l:template name=\"part\" text=\"Daļa %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"A: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"J: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"J: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" (%o)\"/>\n<l:template name=\"olink.page.citation\" text=\" (lpp. %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(lpp. %p)\"/>\n<l:template name=\"docname\" text=\" ( %o)\"/>\n<l:template name=\"docnamelong\" text=\" dokumentā ar nosaukumu %o\"/>\n<l:template name=\"pageabbrev\" text=\"(lpp. %p)\"/>\n<l:template name=\"Page\" text=\"Lappuse %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"sadaļa ar nosaukumu “%t”\"/>\n<l:template name=\"refsection\" text=\"sadaļa ar nosaukumu “%t”\"/>\n<l:template name=\"refsect1\" text=\"sadaļa ar nosaukumu “%t”\"/>\n<l:template name=\"refsect2\" text=\"sadaļa ar nosaukumu “%t”\"/>\n<l:template name=\"refsect3\" text=\"sadaļa ar nosaukumu “%t”\"/>\n<l:template name=\"sect1\" text=\"sadaļa ar nosaukumu “%t”\"/>\n<l:template name=\"sect2\" text=\"sadaļa ar nosaukumu “%t”\"/>\n<l:template name=\"sect3\" text=\"sadaļa ar nosaukumu “%t”\"/>\n<l:template name=\"sect4\" text=\"sadaļa ar nosaukumu “%t”\"/>\n<l:template name=\"sect5\" text=\"sadaļa ar nosaukumu “%t”\"/>\n<l:template name=\"section\" text=\"sadaļa ar nosaukumu “%t”\"/>\n<l:template name=\"simplesect\" text=\"sadaļa ar nosaukumu “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"A: %n\"/>\n<l:template name=\"appendix\" text=\"Pielikums %n\"/>\n<l:template name=\"bridgehead\" text=\"Sadaļa %n\"/>\n<l:template name=\"chapter\" text=\"Nodaļa %n\"/>\n<l:template name=\"equation\" text=\"Vienādojums %n\"/>\n<l:template name=\"example\" text=\"Piemērs %n\"/>\n<l:template name=\"figure\" text=\"Ilustrācija %n\"/>\n<l:template name=\"part\" text=\"Daļa %n\"/>\n<l:template name=\"procedure\" text=\"Procedūra %n\"/>\n<l:template name=\"productionset\" text=\"Produkta %n\"/>\n<l:template name=\"qandadiv\" text=\"J un A %n\"/>\n<l:template name=\"qandaentry\" text=\"J: %n\"/>\n<l:template name=\"question\" text=\"J: %n\"/>\n<l:template name=\"sect1\" text=\"Sadaļa %n\"/>\n<l:template name=\"sect2\" text=\"Sadaļa %n\"/>\n<l:template name=\"sect3\" text=\"Sadaļa %n\"/>\n<l:template name=\"sect4\" text=\"Sadaļa %n\"/>\n<l:template name=\"sect5\" text=\"Sadaļa %n\"/>\n<l:template name=\"section\" text=\"Sadaļa %n\"/>\n<l:template name=\"table\" text=\"Tabula %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Pielikums %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Sadaļa %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Nodaļa %n, %t\"/>\n<l:template name=\"equation\" text=\"Vienādojums %n, “%t”\"/>\n<l:template name=\"example\" text=\"Piemērs %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Ilustrācija %n, “%t”\"/>\n<l:template name=\"part\" text=\"Daļa %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Procedūra %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Produkta %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"J un A %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"sadaļa ar nosaukumu “%t”\"/>\n<l:template name=\"refsect2\" text=\"sadaļa ar nosaukumu “%t”\"/>\n<l:template name=\"refsect3\" text=\"sadaļa ar nosaukumu “%t”\"/>\n<l:template name=\"refsection\" text=\"sadaļa ar nosaukumu “%t”\"/>\n<l:template name=\"sect1\" text=\"Sadaļa %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Sadaļa %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Sadaļa %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Sadaļa %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Sadaļa %n, “%t”\"/>\n<l:template name=\"section\" text=\"Sadaļa %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"sadaļa ar nosaukumu “%t”\"/>\n<l:template name=\"table\" text=\"Tabula %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" un \"/>\n<l:template name=\"seplast\" text=\", un \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Skatīties %t.\"/>\n<l:template name=\"seealso\" text=\"Skatīt arī %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Auditorija: \"/>\n<l:template name=\"MsgLevel\" text=\"Ziņ.līmenis: \"/>\n<l:template name=\"MsgOrig\" text=\"Ziņ.izcelsme: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"January\" lang=\"en\"/>\n<l:template name=\"February\" text=\"February\" lang=\"en\"/>\n<l:template name=\"March\" text=\"March\" lang=\"en\"/>\n<l:template name=\"April\" text=\"April\" lang=\"en\"/>\n<l:template name=\"May\" text=\"Maijs\"/>\n<l:template name=\"June\" text=\"Jūnijs\"/>\n<l:template name=\"July\" text=\"Jūlijs\"/>\n<l:template name=\"August\" text=\"Augusts\"/>\n<l:template name=\"September\" text=\"Septembris\"/>\n<l:template name=\"October\" text=\"Octobris\"/>\n<l:template name=\"November\" text=\"Novembris\"/>\n<l:template name=\"December\" text=\"Decembris\"/>\n<l:template name=\"Monday\" text=\"Pirmdiena\"/>\n<l:template name=\"Tuesday\" text=\"Otrdiena\"/>\n<l:template name=\"Wednesday\" text=\"Trešdiena\"/>\n<l:template name=\"Thursday\" text=\"Ceturtdiena\"/>\n<l:template name=\"Friday\" text=\"Piektdiena\"/>\n<l:template name=\"Saturday\" text=\"Sestdiena\"/>\n<l:template name=\"Sunday\" text=\"Svētdiena\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\"/>\n<l:template name=\"Feb\" text=\"Feb\"/>\n<l:template name=\"Mar\" text=\"Mar\"/>\n<l:template name=\"Apr\" text=\"Apr\"/>\n<l:template name=\"May\" text=\"Mai\"/>\n<l:template name=\"Jun\" text=\"Jun\"/>\n<l:template name=\"Jul\" text=\"Jūl\"/>\n<l:template name=\"Aug\" text=\"Aug\"/>\n<l:template name=\"Sep\" text=\"Sep\"/>\n<l:template name=\"Oct\" text=\"Okt\"/>\n<l:template name=\"Nov\" text=\"Nov\"/>\n<l:template name=\"Dec\" text=\"Dec\"/>\n<l:template name=\"Mon\" text=\"Pr\"/>\n<l:template name=\"Tue\" text=\"Ot\"/>\n<l:template name=\"Wed\" text=\"Tr\"/>\n<l:template name=\"Thu\" text=\"Ce\"/>\n<l:template name=\"Fri\" text=\"Pk\"/>\n<l:template name=\"Sat\" text=\"Se\"/>\n<l:template name=\"Sun\" text=\"Sv\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0427 Latvian\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Pieejams \"/>\n<l:template name=\"acctoo\" text=\"Arī pieejams \"/>\n<l:template name=\"onwww\" text=\" www\"/>\n<l:template name=\"oninet\" text=\"internetā\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/ml.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"ml\" english-language-name=\"Malayalam\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/ml.xml -->\n<!-- * -->\n<!-- * E-mail the edited ml.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"സംഗ്രഹം\"/>\n<l:gentext key=\"abstract\" text=\"സംഗ്രഹം\"/>\n<l:gentext key=\"Acknowledgements\" text=\"നന്ദി\"/>\n<l:gentext key=\"acknowledgements\" text=\"നന്ദി\"/>\n<l:gentext key=\"Answer\" text=\"ഉ:\"/>\n<l:gentext key=\"answer\" text=\"ഉ:\"/>\n<l:gentext key=\"Appendix\" text=\"അനുബന്ധം\"/>\n<l:gentext key=\"appendix\" text=\"അനുബന്ധം\"/>\n<l:gentext key=\"Article\" text=\"ലേഖനം\"/>\n<l:gentext key=\"article\" text=\"ലേഖനം\"/>\n<l:gentext key=\"Author\" text=\"രചയിതാവു്\"/>\n<l:gentext key=\"Bibliography\" text=\"ഗ്രന്ഥസൂചി\"/>\n<l:gentext key=\"bibliography\" text=\"ഗ്രന്ഥസൂചി\"/>\n<l:gentext key=\"Book\" text=\"പുസ്തകം\"/>\n<l:gentext key=\"book\" text=\"പുസ്തകം\"/>\n<l:gentext key=\"CAUTION\" text=\"ശ്രദ്ധിക്കുക\"/>\n<l:gentext key=\"Caution\" text=\"ശ്രദ്ധിക്കുക\"/>\n<l:gentext key=\"caution\" text=\"ശ്രദ്ധിക്കുക\"/>\n<l:gentext key=\"Chapter\" text=\"പാഠം\"/>\n<l:gentext key=\"chapter\" text=\"പാഠം\"/>\n<l:gentext key=\"Colophon\" text=\"കോളോഫോണ്‍\"/>\n<l:gentext key=\"colophon\" text=\"കോളോഫോണ്‍\"/>\n<l:gentext key=\"Copyright\" text=\"പകര്‍പ്പവകാശം\"/>\n<l:gentext key=\"copyright\" text=\"പകര്‍പ്പവകാശം\"/>\n<l:gentext key=\"Dedication\" text=\"അര്‍പ്പണം\"/>\n<l:gentext key=\"dedication\" text=\"അര്‍പ്പണം\"/>\n<l:gentext key=\"Edition\" text=\"പ്രസദ്ധീകരണം\"/>\n<l:gentext key=\"edition\" text=\"പ്രസദ്ധീകരണം\"/>\n<l:gentext key=\"Editor\" text=\"എഡിറ്റര്‍\"/>\n<l:gentext key=\"Equation\" text=\"സമവാക്യം\"/>\n<l:gentext key=\"equation\" text=\"സമവാക്യം\"/>\n<l:gentext key=\"Example\" text=\"ഉദാഹരണം\"/>\n<l:gentext key=\"example\" text=\"ഉദാഹരണം\"/>\n<l:gentext key=\"Figure\" text=\"ചിത്രം\"/>\n<l:gentext key=\"figure\" text=\"ചിത്രം\"/>\n<l:gentext key=\"Glossary\" text=\"ഗ്ലോസ്സറി\"/>\n<l:gentext key=\"glossary\" text=\"ഗ്ലോസ്സറി\"/>\n<l:gentext key=\"GlossSee\" text=\"കാണുക\"/>\n<l:gentext key=\"glosssee\" text=\"കാണുക\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"ഇതും കാണുക\"/>\n<l:gentext key=\"glossseealso\" text=\"ഇതും കാണുക\"/>\n<l:gentext key=\"IMPORTANT\" text=\"പ്രധാനം\"/>\n<l:gentext key=\"important\" text=\"പ്രധാനം\"/>\n<l:gentext key=\"Important\" text=\"പ്രധാനം\"/>\n<l:gentext key=\"Index\" text=\"സൂചിക\"/>\n<l:gentext key=\"index\" text=\"സൂചിക\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"നിയമപരമായ കുറിപ്പു്\"/>\n<l:gentext key=\"legalnotice\" text=\"നിയമപരമായ കുറിപ്പു്\"/>\n<l:gentext key=\"MsgAud\" text=\"വായനക്കാര്‍\"/>\n<l:gentext key=\"msgaud\" text=\"വായനക്കാര്‍\"/>\n<l:gentext key=\"MsgLevel\" text=\"നില\"/>\n<l:gentext key=\"msglevel\" text=\"നില\"/>\n<l:gentext key=\"MsgOrig\" text=\"തുടക്കം\"/>\n<l:gentext key=\"msgorig\" text=\"തുടക്കം\"/>\n<l:gentext key=\"NOTE\" text=\"കുറിപ്പു്\"/>\n<l:gentext key=\"Note\" text=\"കുറിപ്പു്\"/>\n<l:gentext key=\"note\" text=\"കുറിപ്പു്\"/>\n<l:gentext key=\"Part\" text=\"ഭാഗം\"/>\n<l:gentext key=\"part\" text=\"ഭാഗം\"/>\n<l:gentext key=\"Preface\" text=\"ആമുഖം\"/>\n<l:gentext key=\"preface\" text=\"ആമുഖം\"/>\n<l:gentext key=\"Procedure\" text=\"പ്രക്രിയ\"/>\n<l:gentext key=\"procedure\" text=\"പ്രക്രിയ\"/>\n<l:gentext key=\"ProductionSet\" text=\"നിര്‍മ്മാണം\"/>\n<l:gentext key=\"PubDate\" text=\"പ്രസിദ്ധീകരണ തീയതി\"/>\n<l:gentext key=\"pubdate\" text=\"പ്രസിദ്ധീകരണ തീയതി\"/>\n<l:gentext key=\"Published\" text=\"പ്രസിദ്ധീകരിച്ചതു്\"/>\n<l:gentext key=\"published\" text=\"പ്രസിദ്ധീകരിച്ചതു്\"/>\n<l:gentext key=\"Publisher\" text=\"പ്രസിദ്ധീകര്‍ത്താവ്\"/>\n<l:gentext key=\"Qandadiv\" text=\"ചോ &amp; ഉ\"/>\n<l:gentext key=\"qandadiv\" text=\"ചോ &amp; ഉ\"/>\n<l:gentext key=\"QandASet\" text=\"സംശയങ്ങള്‍ക്കും ചോദ്യങ്ങള്‍ക്കുമുള്ള മറുപടികള്‍\"/>\n<l:gentext key=\"Question\" text=\"ചോ:\"/>\n<l:gentext key=\"question\" text=\"ചോ:\"/>\n<l:gentext key=\"RefEntry\" text=\"താള്‍\"/>\n<l:gentext key=\"refentry\" text=\"താള്‍\"/>\n<l:gentext key=\"Reference\" text=\"സൂചന\"/>\n<l:gentext key=\"reference\" text=\"സൂചന\"/>\n<l:gentext key=\"References\" text=\"സൂചനകള്‍\"/>\n<l:gentext key=\"RefName\" text=\"നാമം\"/>\n<l:gentext key=\"refname\" text=\"നാമം\"/>\n<l:gentext key=\"RefSection\" text=\"വിഭാഗം\"/>\n<l:gentext key=\"refsection\" text=\"വിഭാഗം\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"ചുരുക്കം\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"ചുരുക്കം\"/>\n<l:gentext key=\"RevHistory\" text=\"പുനര്‍നിരീക്ഷണ ചരിത്രം\"/>\n<l:gentext key=\"revhistory\" text=\"പുനര്‍നിരീക്ഷണ ചരിത്രം\"/>\n<l:gentext key=\"revision\" text=\"പുനര്‍നിരീക്ഷണം\"/>\n<l:gentext key=\"Revision\" text=\"പുനര്‍നിരീക്ഷണം\"/>\n<l:gentext key=\"sect1\" text=\"വിഭാഗം\"/>\n<l:gentext key=\"sect2\" text=\"വിഭാഗം\"/>\n<l:gentext key=\"sect3\" text=\"വിഭാഗം\"/>\n<l:gentext key=\"sect4\" text=\"വിഭാഗം\"/>\n<l:gentext key=\"sect5\" text=\"വിഭാഗം\"/>\n<l:gentext key=\"section\" text=\"വിഭാഗം\"/>\n<l:gentext key=\"Section\" text=\"വിഭാഗം\"/>\n<l:gentext key=\"see\" text=\"കാണുക\"/>\n<l:gentext key=\"See\" text=\"കാണുക\"/>\n<l:gentext key=\"seealso\" text=\"ഇതും കാണുക\"/>\n<l:gentext key=\"Seealso\" text=\"ഇതും കാണുക\"/>\n<l:gentext key=\"SeeAlso\" text=\"ഇതും കാണുക\"/>\n<l:gentext key=\"set\" text=\"ഗ്രൂപ്പ്\"/>\n<l:gentext key=\"Set\" text=\"ഗ്രൂപ്പ്\"/>\n<l:gentext key=\"setindex\" text=\"ഗ്രൂപ്പിനുള്ള സൂചിക\"/>\n<l:gentext key=\"SetIndex\" text=\"ഗ്രൂപ്പിനുള്ള സൂചിക\"/>\n<l:gentext key=\"Sidebar\" text=\"സൈഡ്ബാര്‍\"/>\n<l:gentext key=\"sidebar\" text=\"സൈഡ്ബാര്‍\"/>\n<l:gentext key=\"step\" text=\"നടപടി\"/>\n<l:gentext key=\"Step\" text=\"നടപടി\"/>\n<l:gentext key=\"table\" text=\"പട്ടിക\"/>\n<l:gentext key=\"Table\" text=\"പട്ടിക\"/>\n<l:gentext key=\"task\" text=\"ജോലി\"/>\n<l:gentext key=\"Task\" text=\"ജോലി\"/>\n<l:gentext key=\"tip\" text=\"സൂചന\"/>\n<l:gentext key=\"TIP\" text=\"സൂചന\"/>\n<l:gentext key=\"Tip\" text=\"സൂചന\"/>\n<l:gentext key=\"Warning\" text=\"മുന്നറിയിപ്പു്\"/>\n<l:gentext key=\"warning\" text=\"മുന്നറിയിപ്പു്\"/>\n<l:gentext key=\"WARNING\" text=\"മുന്നറിയിപ്പു്\"/>\n<l:gentext key=\"and\" text=\",\"/>\n<l:gentext key=\"or\" text=\"or\" lang=\"en\"/>\n<l:gentext key=\"by\" text=\".\"/>\n<l:gentext key=\"Edited\" text=\"ചിട്ടപ്പെടുത്തിയിരിക്കുന്നു\"/>\n<l:gentext key=\"edited\" text=\"ചിട്ടപ്പെടുത്തിയിരിക്കുന്നു\"/>\n<l:gentext key=\"Editedby\" text=\"ചിട്ടപ്പെടുത്തിയതു്\"/>\n<l:gentext key=\"editedby\" text=\"ചിട്ടപ്പെടുത്തിയതു്\"/>\n<l:gentext key=\"in\" text=\" \"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"കുറിപ്പുകള്‍\"/>\n<l:gentext key=\"Notes\" text=\"കുറിപ്പുകള്‍\"/>\n<l:gentext key=\"Pgs\" text=\"താളുകള്‍.\"/>\n<l:gentext key=\"pgs\" text=\"താളുകള്‍.\"/>\n<l:gentext key=\"Revisedby\" text=\"പുനഃപരിശോധിച്ചതു്: \"/>\n<l:gentext key=\"revisedby\" text=\"പുനഃപരിശോധിച്ചതു്: \"/>\n<l:gentext key=\"TableNotes\" text=\"കുറിപ്പുകള്‍\"/>\n<l:gentext key=\"tablenotes\" text=\"കുറിപ്പുകള്‍\"/>\n<l:gentext key=\"TableofContents\" text=\"ഉള്ളടക്കത്തിന്റെ പട്ടിക\"/>\n<l:gentext key=\"tableofcontents\" text=\"ഉള്ളടക്കത്തിന്റെ പട്ടിക\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"അപ്രതീക്ഷിതമായ എലമെന്റ് നാമം\"/>\n<l:gentext key=\"unsupported\" text=\"പിന്തുണയില്ലാത്ത\"/>\n<l:gentext key=\"xrefto\" text=\"xref \"/>\n<l:gentext key=\"Authors\" text=\"രചയിതാക്കള്‍\"/>\n<l:gentext key=\"copyeditor\" text=\"കോപ്പി എഡിറ്റര്‍\"/>\n<l:gentext key=\"graphicdesigner\" text=\"ഗ്രാഫിക് ഡിസൈനര്‍\"/>\n<l:gentext key=\"productioneditor\" text=\"പ്രൊഡക്ഷന്‍ എഡിറ്റര്‍\"/>\n<l:gentext key=\"technicaleditor\" text=\"ടെക്നിക്കല്‍ എഡിറ്റര്‍\"/>\n<l:gentext key=\"translator\" text=\"പരിഭാഷകന്‍\"/>\n<l:gentext key=\"listofequations\" text=\"സമവാക്യങ്ങളുടെ പട്ടിക\"/>\n<l:gentext key=\"ListofEquations\" text=\"സമവാക്യങ്ങളുടെ പട്ടിക\"/>\n<l:gentext key=\"ListofExamples\" text=\"ഉദാഹരണങ്ങളുടെ പട്ടിക\"/>\n<l:gentext key=\"listofexamples\" text=\"ഉദാഹരണങ്ങളുടെ പട്ടിക\"/>\n<l:gentext key=\"ListofFigures\" text=\"ചിത്രങ്ങളുടെ പട്ടിക\"/>\n<l:gentext key=\"listoffigures\" text=\"ചിത്രങ്ങളുടെ പട്ടിക\"/>\n<l:gentext key=\"ListofProcedures\" text=\"പ്രക്രിയകളുടെ പട്ടിക\"/>\n<l:gentext key=\"listofprocedures\" text=\"പ്രക്രിയകളുടെ പട്ടിക\"/>\n<l:gentext key=\"listoftables\" text=\"പട്ടികകളുടെ വിവരം\"/>\n<l:gentext key=\"ListofTables\" text=\"പട്ടികകളുടെ വിവരം\"/>\n<l:gentext key=\"ListofUnknown\" text=\"അപരിചിതമായവുടെ പട്ടിക\"/>\n<l:gentext key=\"listofunknown\" text=\"അപരിചിതമായവുടെ പട്ടിക\"/>\n<l:gentext key=\"nav-home\" text=\"ആസ്ഥാനം\"/>\n<l:gentext key=\"nav-next\" text=\"അടുത്തതു്\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"ഏറ്റവും മുമ്പോട്ട്\"/>\n<l:gentext key=\"nav-prev\" text=\"മുമ്പുള്ളതു്\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"ഏറ്റവും പുറകോട്ട്\"/>\n<l:gentext key=\"nav-up\" text=\"മുകളിലേക്ക്\"/>\n<l:gentext key=\"nav-toc\" text=\"ഉള്ളടക്കത്തിന്റെ പട്ടിക\"/>\n<l:gentext key=\"Draft\" text=\"പൂര്‍ത്തിയാകാത്ത രേഖ\"/>\n<l:gentext key=\"above\" text=\"മുകളില്‍\"/>\n<l:gentext key=\"below\" text=\"താഴെ\"/>\n<l:gentext key=\"sectioncalled\" text=\"വിഭാഗം\"/>\n<l:gentext key=\"index symbols\" text=\"ചിഹ്നങ്ങള്‍\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\" lang=\"en\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"അനുബന്ധം %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"പാഠം %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"സമവാക്യം %n. %t\"/>\n<l:template name=\"example\" text=\"ഉദാഹരണം %n. %t\"/>\n<l:template name=\"figure\" text=\"ചിത്രം %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"ഭാഗം %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"പ്രക്രിയ %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"നിര്‍മ്മാണം %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"പട്ടിക %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"അനുബന്ധം %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"പാഠം %n. %t\"/>\n<l:template name=\"part\" text=\"ഭാഗം %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"ഉ: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"ചോ: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"ചോ: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"വിഭാഗം “%t”\"/>\n<l:template name=\"refsection\" text=\"വിഭാഗം “%t”\"/>\n<l:template name=\"refsect1\" text=\"വിഭാഗം “%t”\"/>\n<l:template name=\"refsect2\" text=\"വിഭാഗം “%t”\"/>\n<l:template name=\"refsect3\" text=\"വിഭാഗം “%t”\"/>\n<l:template name=\"sect1\" text=\"വിഭാഗം “%t”\"/>\n<l:template name=\"sect2\" text=\"വിഭാഗം “%t”\"/>\n<l:template name=\"sect3\" text=\"വിഭാഗം “%t”\"/>\n<l:template name=\"sect4\" text=\"വിഭാഗം “%t”\"/>\n<l:template name=\"sect5\" text=\"വിഭാഗം “%t”\"/>\n<l:template name=\"section\" text=\"വിഭാഗം “%t”\"/>\n<l:template name=\"simplesect\" text=\"വിഭാഗം “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"ഉ: %n\"/>\n<l:template name=\"appendix\" text=\"അനുബന്ധം %n\"/>\n<l:template name=\"bridgehead\" text=\"വിഭാഗം %n\"/>\n<l:template name=\"chapter\" text=\"പാഠം %n\"/>\n<l:template name=\"equation\" text=\"സമവാക്യം %n\"/>\n<l:template name=\"example\" text=\"ഉദാഹരണം %n\"/>\n<l:template name=\"figure\" text=\"ചിത്രം %n\"/>\n<l:template name=\"part\" text=\"ഭാഗം %n\"/>\n<l:template name=\"procedure\" text=\"പ്രക്രിയ %n\"/>\n<l:template name=\"productionset\" text=\"നിര്‍മ്മാണം %n\"/>\n<l:template name=\"qandadiv\" text=\"ചോ &amp; ഉ %n\"/>\n<l:template name=\"qandaentry\" text=\"ചോ: %n\"/>\n<l:template name=\"question\" text=\"ചോ: %n\"/>\n<l:template name=\"sect1\" text=\"വിഭാഗം %n\"/>\n<l:template name=\"sect2\" text=\"വിഭാഗം %n\"/>\n<l:template name=\"sect3\" text=\"വിഭാഗം %n\"/>\n<l:template name=\"sect4\" text=\"വിഭാഗം %n\"/>\n<l:template name=\"sect5\" text=\"വിഭാഗം %n\"/>\n<l:template name=\"section\" text=\"വിഭാഗം %n\"/>\n<l:template name=\"table\" text=\"പട്ടിക %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"അനുബന്ധം %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"വിഭാഗം %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"പാഠം %n, %t\"/>\n<l:template name=\"equation\" text=\"സമവാക്യം %n, “%t”\"/>\n<l:template name=\"example\" text=\"ഉദാഹരണം %n, “%t”\"/>\n<l:template name=\"figure\" text=\"ചിത്രം %n, “%t”\"/>\n<l:template name=\"part\" text=\"ഭാഗം %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"പ്രക്രിയ %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"നിര്‍മ്മാണം %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"ചോ &amp; ഉ %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"വിഭാഗം “%t”\"/>\n<l:template name=\"refsect2\" text=\"വിഭാഗം “%t”\"/>\n<l:template name=\"refsect3\" text=\"വിഭാഗം “%t”\"/>\n<l:template name=\"refsection\" text=\"വിഭാഗം “%t”\"/>\n<l:template name=\"sect1\" text=\"വിഭാഗം %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"വിഭാഗം %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"വിഭാഗം %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"വിഭാഗം %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"വിഭാഗം %n, “%t”\"/>\n<l:template name=\"section\" text=\"വിഭാഗം %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"വിഭാഗം “%t”\"/>\n<l:template name=\"table\" text=\"പട്ടിക %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" , \"/>\n<l:template name=\"seplast\" text=\", , \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"കാണുക %t.\"/>\n<l:template name=\"seealso\" text=\"ഇതും കാണുക %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"വായനക്കാര്‍: \"/>\n<l:template name=\"MsgLevel\" text=\"നില: \"/>\n<l:template name=\"MsgOrig\" text=\"തുടക്കം: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"ജനുവരി\"/>\n<l:template name=\"February\" text=\"ഫെബ്രുവരി\"/>\n<l:template name=\"March\" text=\"മാര്‍ച്ച്\"/>\n<l:template name=\"April\" text=\"ഏപ്രില്‍\"/>\n<l:template name=\"May\" text=\"മെയ്\"/>\n<l:template name=\"June\" text=\"ജൂണ്‍\"/>\n<l:template name=\"July\" text=\"ജൂലൈ\"/>\n<l:template name=\"August\" text=\"ഓഗസ്റ്റ്\"/>\n<l:template name=\"September\" text=\"സെപ്റ്റംബര്‍\"/>\n<l:template name=\"October\" text=\"ഒക്ടോബര്‍\"/>\n<l:template name=\"November\" text=\"നവംബര്‍\"/>\n<l:template name=\"December\" text=\"ഡിസംബര്‍\"/>\n<l:template name=\"Monday\" text=\"തിങ്കള്‍\"/>\n<l:template name=\"Tuesday\" text=\"ചൊവ്വ\"/>\n<l:template name=\"Wednesday\" text=\"ബുധന്‍\"/>\n<l:template name=\"Thursday\" text=\"വ്യാഴം\"/>\n<l:template name=\"Friday\" text=\"വെള്ളി\"/>\n<l:template name=\"Saturday\" text=\"ശനി\"/>\n<l:template name=\"Sunday\" text=\"ഞായര്‍\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"ജനു\"/>\n<l:template name=\"Feb\" text=\"ഫെബ്രു\"/>\n<l:template name=\"Mar\" text=\"മാര്‍\"/>\n<l:template name=\"Apr\" text=\"ഏപ്രി\"/>\n<l:template name=\"May\" text=\"മെയ്\"/>\n<l:template name=\"Jun\" text=\"ജൂണ്‍\"/>\n<l:template name=\"Jul\" text=\"ജൂലൈ\"/>\n<l:template name=\"Aug\" text=\"ഓഗ\"/>\n<l:template name=\"Sep\" text=\"സെപ്\"/>\n<l:template name=\"Oct\" text=\"ഒക്ട്\"/>\n<l:template name=\"Nov\" text=\"നവം\"/>\n<l:template name=\"Dec\" text=\"ഡിസം\"/>\n<l:template name=\"Mon\" text=\"തി\"/>\n<l:template name=\"Tue\" text=\"ചൊ\"/>\n<l:template name=\"Wed\" text=\"ബു\"/>\n<l:template name=\"Thu\" text=\"വ്യാ\"/>\n<l:template name=\"Fri\" text=\"വെ\"/>\n<l:template name=\"Sat\" text=\"ശ\"/>\n<l:template name=\"Sun\" text=\"ഞാ\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x044c Malayalam\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">ചിഹ്നങ്ങള്‍</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/mn.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"mn\" english-language-name=\"Mongolian\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/mn.xml -->\n<!-- * -->\n<!-- * E-mail the edited mn.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Товч агуулга\"/>\n<l:gentext key=\"abstract\" text=\"товч агуулга\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"Х:\"/>\n<l:gentext key=\"answer\" text=\"Х:\"/>\n<l:gentext key=\"Appendix\" text=\"Хавсралт\"/>\n<l:gentext key=\"appendix\" text=\"хавсралт\"/>\n<l:gentext key=\"Article\" text=\"Өгүүлэл\"/>\n<l:gentext key=\"article\" text=\"өгүүлэл\"/>\n<l:gentext key=\"Author\" text=\"Зохиогч\"/>\n<l:gentext key=\"Bibliography\" text=\"Ном зүй\"/>\n<l:gentext key=\"bibliography\" text=\"ном зүй\"/>\n<l:gentext key=\"Book\" text=\"Ном\"/>\n<l:gentext key=\"book\" text=\"ном\"/>\n<l:gentext key=\"CAUTION\" text=\"АНХААРУУЛГА\"/>\n<l:gentext key=\"Caution\" text=\"Анхааруулга\"/>\n<l:gentext key=\"caution\" text=\"анхааруулга\"/>\n<l:gentext key=\"Chapter\" text=\"Бүлэг\"/>\n<l:gentext key=\"chapter\" text=\"бүлэг\"/>\n<l:gentext key=\"Colophon\" text=\"Сүүл тайлбар\"/>\n<l:gentext key=\"colophon\" text=\"сүүл тайлбар\"/>\n<l:gentext key=\"Copyright\" text=\"Зохиогчийн эрх\"/>\n<l:gentext key=\"copyright\" text=\"зохиогчийн эрх\"/>\n<l:gentext key=\"Dedication\" text=\"Зохиогчийн үг\"/>\n<l:gentext key=\"dedication\" text=\"зохиогчийн үг\"/>\n<l:gentext key=\"Edition\" text=\"Хэвлэл\"/>\n<l:gentext key=\"edition\" text=\"хэвлэл\"/>\n<l:gentext key=\"Editor\" text=\"Хянан тохиолдуулагч\"/>\n<l:gentext key=\"Equation\" text=\"Тэгшитгэл\"/>\n<l:gentext key=\"equation\" text=\"тэгшитгэл\"/>\n<l:gentext key=\"Example\" text=\"Жишээ\"/>\n<l:gentext key=\"example\" text=\"жишээ\"/>\n<l:gentext key=\"Figure\" text=\"Зураг\"/>\n<l:gentext key=\"figure\" text=\"зураг\"/>\n<l:gentext key=\"Glossary\" text=\"Нэр томъёо\"/>\n<l:gentext key=\"glossary\" text=\"нэр томъёо\"/>\n<l:gentext key=\"GlossSee\" text=\"харна уу\"/>\n<l:gentext key=\"glosssee\" text=\"харна уу\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Бас харна уу\"/>\n<l:gentext key=\"glossseealso\" text=\"бас харна уу\"/>\n<l:gentext key=\"IMPORTANT\" text=\"ЧУХАЛ\"/>\n<l:gentext key=\"important\" text=\"чухал\"/>\n<l:gentext key=\"Important\" text=\"Чухал\"/>\n<l:gentext key=\"Index\" text=\"Үгийн жагсаалт\"/>\n<l:gentext key=\"index\" text=\"үгийн жагсаалт\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Хуулийн заалт\"/>\n<l:gentext key=\"legalnotice\" text=\"хуулийн заалт\"/>\n<l:gentext key=\"MsgAud\" text=\"Зориулалт\"/>\n<l:gentext key=\"msgaud\" text=\"зориулалт\"/>\n<l:gentext key=\"MsgLevel\" text=\"Түвшин\"/>\n<l:gentext key=\"msglevel\" text=\"түвшин\"/>\n<l:gentext key=\"MsgOrig\" text=\"Үүсэл\"/>\n<l:gentext key=\"msgorig\" text=\"үүсэл\"/>\n<l:gentext key=\"NOTE\" text=\"ТЭМДЭГЛЭЛ\"/>\n<l:gentext key=\"Note\" text=\"Тэмдэглэл\"/>\n<l:gentext key=\"note\" text=\"тэмдэглэл\"/>\n<l:gentext key=\"Part\" text=\"хэсэг\"/>\n<l:gentext key=\"part\" text=\"Хэсэг\"/>\n<l:gentext key=\"Preface\" text=\"Өмнөх үг\"/>\n<l:gentext key=\"preface\" text=\"өмнөх үг\"/>\n<l:gentext key=\"Procedure\" text=\"Гүйцэтгэл\"/>\n<l:gentext key=\"procedure\" text=\"гүйцэтгэл\"/>\n<l:gentext key=\"ProductionSet\" text=\"Бүтээгдэхүүн\"/>\n<l:gentext key=\"PubDate\" text=\"Хэвлэгдсэн огноо\"/>\n<l:gentext key=\"pubdate\" text=\"хэвлэгдсэн огноо\"/>\n<l:gentext key=\"Published\" text=\"Хэвлэгдсэн\"/>\n<l:gentext key=\"published\" text=\"хэвлэгдсэн\"/>\n<l:gentext key=\"Publisher\" text=\"Хэвлэсэн компани\"/>\n<l:gentext key=\"Qandadiv\" text=\"А ба Х\"/>\n<l:gentext key=\"qandadiv\" text=\"А ба Х\"/>\n<l:gentext key=\"QandASet\" text=\"Түгээмэл тавигддаг асуултууд\"/>\n<l:gentext key=\"Question\" text=\"А:\"/>\n<l:gentext key=\"question\" text=\"А:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Ашигласан ном\"/>\n<l:gentext key=\"reference\" text=\"ашигласан ном\"/>\n<l:gentext key=\"References\" text=\"Ашигласан номнууд\"/>\n<l:gentext key=\"RefName\" text=\"Нэр\"/>\n<l:gentext key=\"refname\" text=\"нэр\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Ерөнхий агуулга\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"ерөнхий агуулга\"/>\n<l:gentext key=\"RevHistory\" text=\"Залруулалтын түүх\"/>\n<l:gentext key=\"revhistory\" text=\"залруулалтын түүх\"/>\n<l:gentext key=\"revision\" text=\"залруулалт\"/>\n<l:gentext key=\"Revision\" text=\"Залруулалт\"/>\n<l:gentext key=\"sect1\" text=\"Хэсэг\"/>\n<l:gentext key=\"sect2\" text=\"Хэсэг\"/>\n<l:gentext key=\"sect3\" text=\"Хэсэг\"/>\n<l:gentext key=\"sect4\" text=\"Хэсэг\"/>\n<l:gentext key=\"sect5\" text=\"Хэсэг\"/>\n<l:gentext key=\"section\" text=\"Хэсэг\"/>\n<l:gentext key=\"Section\" text=\"Хэсэг\"/>\n<l:gentext key=\"see\" text=\"Харна уу\"/>\n<l:gentext key=\"See\" text=\"харна уу\"/>\n<l:gentext key=\"seealso\" text=\"бас харна уу\"/>\n<l:gentext key=\"Seealso\" text=\"Бас харна уу\"/>\n<l:gentext key=\"SeeAlso\" text=\"Бас харна уу\"/>\n<l:gentext key=\"set\" text=\"цуглуулга\"/>\n<l:gentext key=\"Set\" text=\"Цуглуулга\"/>\n<l:gentext key=\"setindex\" text=\"цуглуулгын жагсаалт\"/>\n<l:gentext key=\"SetIndex\" text=\"Цуглуулгын жагсаалт\"/>\n<l:gentext key=\"Sidebar\" text=\"Хажуу самбар\"/>\n<l:gentext key=\"sidebar\" text=\"хажуу самбар\"/>\n<l:gentext key=\"step\" text=\"алхам\"/>\n<l:gentext key=\"Step\" text=\"Алхам\"/>\n<l:gentext key=\"table\" text=\"хүснэгт\"/>\n<l:gentext key=\"Table\" text=\"Хүснэгт\"/>\n<l:gentext key=\"task\" text=\"даалгавар\"/>\n<l:gentext key=\"Task\" text=\"Даалгавар\"/>\n<l:gentext key=\"tip\" text=\"зөвлөгөө\"/>\n<l:gentext key=\"TIP\" text=\"ЗӨВЛӨГӨӨ\"/>\n<l:gentext key=\"Tip\" text=\"Зөвлөгөө\"/>\n<l:gentext key=\"Warning\" text=\"Сануулга\"/>\n<l:gentext key=\"warning\" text=\"сануулга\"/>\n<l:gentext key=\"WARNING\" text=\"САНУУЛГА\"/>\n<l:gentext key=\"and\" text=\"ба\"/>\n<l:gentext key=\"or\" text=\"or\" lang=\"en\"/>\n<l:gentext key=\"by\" text=\"\"/>\n<l:gentext key=\"Edited\" text=\"Хянасан\"/>\n<l:gentext key=\"edited\" text=\"хянасан\"/>\n<l:gentext key=\"Editedby\" text=\"Хянан тохиолдуулсан\"/>\n<l:gentext key=\"editedby\" text=\"хянан тохиолдуулсан\"/>\n<l:gentext key=\"in\" text=\"дотор\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"тайлбар\"/>\n<l:gentext key=\"Notes\" text=\"Тайлбар\"/>\n<l:gentext key=\"Pgs\" text=\"Хуудас\"/>\n<l:gentext key=\"pgs\" text=\"хуудас\"/>\n<l:gentext key=\"Revisedby\" text=\"Залруулсан: \"/>\n<l:gentext key=\"revisedby\" text=\"залруулсан: \"/>\n<l:gentext key=\"TableNotes\" text=\"Тайлбар\"/>\n<l:gentext key=\"tablenotes\" text=\"тайлбар\"/>\n<l:gentext key=\"TableofContents\" text=\"Гарчиг\"/>\n<l:gentext key=\"tableofcontents\" text=\"гарчиг\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Санамсаргүй элемент\"/>\n<l:gentext key=\"unsupported\" text=\"дэмжигдээгүй\"/>\n<l:gentext key=\"xrefto\" text=\"xref руу\"/>\n<l:gentext key=\"Authors\" text=\"Зохиогчид\"/>\n<l:gentext key=\"copyeditor\" text=\"Хуулбар хянан тохиолдуулагч\"/>\n<l:gentext key=\"graphicdesigner\" text=\"График дизайнч\"/>\n<l:gentext key=\"productioneditor\" text=\"Бүтээгдэхүүн хянан тохиолдуулагч\"/>\n<l:gentext key=\"technicaleditor\" text=\"Техникийн хянан тохиолдуулагч\"/>\n<l:gentext key=\"translator\" text=\"Орчуулагч\"/>\n<l:gentext key=\"listofequations\" text=\"тэгшитгэлийн жагсаалт\"/>\n<l:gentext key=\"ListofEquations\" text=\"Тэгшитгэлийн жагсаалт\"/>\n<l:gentext key=\"ListofExamples\" text=\"Жишээний жагсаалт\"/>\n<l:gentext key=\"listofexamples\" text=\"жишээний жагсаалт\"/>\n<l:gentext key=\"ListofFigures\" text=\"Зургийн жагсаалт\"/>\n<l:gentext key=\"listoffigures\" text=\"зургийн жагсаалт\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Гүйцэтгэлийн жагсаалт\"/>\n<l:gentext key=\"listofprocedures\" text=\"гүйцэтгэлийн жагсаалт\"/>\n<l:gentext key=\"listoftables\" text=\"хүснэгтийн жагсаалт\"/>\n<l:gentext key=\"ListofTables\" text=\"Хүснэгтийн жагсаалт\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Тодорхойгүй жагсаалт\"/>\n<l:gentext key=\"listofunknown\" text=\"тодорхойгүй жагсаалт\"/>\n<l:gentext key=\"nav-home\" text=\"Эхлэл\"/>\n<l:gentext key=\"nav-next\" text=\"Дараах\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Дараах\"/>\n<l:gentext key=\"nav-prev\" text=\"Өмнөх\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Өмнөх\"/>\n<l:gentext key=\"nav-up\" text=\"Дээш\"/>\n<l:gentext key=\"nav-toc\" text=\"Гарчиг\"/>\n<l:gentext key=\"Draft\" text=\"Ноорог\"/>\n<l:gentext key=\"above\" text=\"дээр\"/>\n<l:gentext key=\"below\" text=\"доор\"/>\n<l:gentext key=\"sectioncalled\" text=\"Хэсгийн нэр\"/>\n<l:gentext key=\"index symbols\" text=\"тэмдэгтүүд\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"абвгдеёжзийклмноөпрстуүфхцчшщъыьэюя\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"АБВГДЕЁЖЗИЙКЛМНОӨПРСТУҮФХЦЧШЩЪЫЬЭЮЯ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"«\"/>\n<l:dingbat key=\"endquote\" text=\"»\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"„\"/>\n<l:dingbat key=\"nestedendquote\" text=\"“\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‚\"/>\n<l:dingbat key=\"singleendquote\" text=\"‘\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"3\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"овог-нэр\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Хавсралт %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Бүлэг %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Тэгшитгэл %n. %t\"/>\n<l:template name=\"example\" text=\"Жишээ %n. %t\"/>\n<l:template name=\"figure\" text=\"Зураг %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"хэсэг %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Гүйцэтгэл %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Бүтээгдэхүүн %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"А: %n\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Хүснэгт %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Хавсралт %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Бүлэг %n. %t\"/>\n<l:template name=\"part\" text=\"хэсэг %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"Х: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"А: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"А: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" %o \"/>\n<l:template name=\"olink.page.citation\" text=\" (хуудас %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(Хуудас %p)\"/>\n<l:template name=\"docname\" text=\" %o \"/>\n<l:template name=\"docnamelong\" text=\" %o гарчигтай баримтад\"/>\n<l:template name=\"pageabbrev\" text=\"(Х. %p)\"/>\n<l:template name=\"Page\" text=\"Хуудас %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"«%t»\"/>\n<l:template name=\"refsection\" text=\"«%t»\"/>\n<l:template name=\"refsect1\" text=\"«%t»\"/>\n<l:template name=\"refsect2\" text=\"«%t»\"/>\n<l:template name=\"refsect3\" text=\"«%t»\"/>\n<l:template name=\"sect1\" text=\"«%t»\"/>\n<l:template name=\"sect2\" text=\"«%t»\"/>\n<l:template name=\"sect3\" text=\"«%t»\"/>\n<l:template name=\"sect4\" text=\"«%t»\"/>\n<l:template name=\"sect5\" text=\"«%t»\"/>\n<l:template name=\"section\" text=\"«%t»\"/>\n<l:template name=\"simplesect\" text=\"«%t»\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Х: %n\"/>\n<l:template name=\"appendix\" text=\"Хавсралт %n\"/>\n<l:template name=\"bridgehead\" text=\"Хэсэг %n\"/>\n<l:template name=\"chapter\" text=\"Бүлэг %n\"/>\n<l:template name=\"equation\" text=\"Тэгшитгэл %n\"/>\n<l:template name=\"example\" text=\"Жишээ %n\"/>\n<l:template name=\"figure\" text=\"Зураг %n\"/>\n<l:template name=\"part\" text=\"хэсэг %n\"/>\n<l:template name=\"procedure\" text=\"Гүйцэтгэл %n\"/>\n<l:template name=\"productionset\" text=\"Бүтээгдэхүүн %n\"/>\n<l:template name=\"qandadiv\" text=\"А ба Х %n\"/>\n<l:template name=\"qandaentry\" text=\"А: %n\"/>\n<l:template name=\"question\" text=\"А: %n\"/>\n<l:template name=\"sect1\" text=\"Хэсэг %n\"/>\n<l:template name=\"sect2\" text=\"Хэсэг %n\"/>\n<l:template name=\"sect3\" text=\"Хэсэг %n\"/>\n<l:template name=\"sect4\" text=\"Хэсэг %n\"/>\n<l:template name=\"sect5\" text=\"Хэсэг %n\"/>\n<l:template name=\"section\" text=\"Хэсэг %n\"/>\n<l:template name=\"table\" text=\"Хүснэгт %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Хавсралт %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Хэсэг %n, «%t»\"/>\n<l:template name=\"chapter\" text=\"Бүлэг %n, %t\"/>\n<l:template name=\"equation\" text=\"Тэгшитгэл %n, «%t»\"/>\n<l:template name=\"example\" text=\"Жишээ %n, «%t»\"/>\n<l:template name=\"figure\" text=\"Зураг %n, «%t»\"/>\n<l:template name=\"part\" text=\"хэсэг %n, «%t»\"/>\n<l:template name=\"procedure\" text=\"Гүйцэтгэл %n, «%t»\"/>\n<l:template name=\"productionset\" text=\"Бүтээгдэхүүн %n, «%t»\"/>\n<l:template name=\"qandadiv\" text=\"А ба Х %n, «%t»\"/>\n<l:template name=\"refsect1\" text=\"Хэсгийн нэр «%t»\"/>\n<l:template name=\"refsect2\" text=\"Хэсгийн нэр «%t»\"/>\n<l:template name=\"refsect3\" text=\"Хэсгийн нэр «%t»\"/>\n<l:template name=\"refsection\" text=\"Хэсгийн нэр «%t»\"/>\n<l:template name=\"sect1\" text=\"Хэсэг %n, «%t»\"/>\n<l:template name=\"sect2\" text=\"Хэсэг %n, «%t»\"/>\n<l:template name=\"sect3\" text=\"Хэсэг %n, «%t»\"/>\n<l:template name=\"sect4\" text=\"Хэсэг %n, «%t»\"/>\n<l:template name=\"sect5\" text=\"Хэсэг %n, «%t»\"/>\n<l:template name=\"section\" text=\"Хэсэг %n, «%t»\"/>\n<l:template name=\"simplesect\" text=\"Хэсгийн нэр «%t»\"/>\n<l:template name=\"table\" text=\"Хүснэгт %n, «%t»\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" ба \"/>\n<l:template name=\"seplast\" text=\", ба \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"харна уу %t.\"/>\n<l:template name=\"seealso\" text=\"Бас харна уу %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Зориулалт: \"/>\n<l:template name=\"MsgLevel\" text=\"Түвшин: \"/>\n<l:template name=\"MsgOrig\" text=\"Үүсэл: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"Y/m/d\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Тодорхойлолт: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Хулгана сарын\"/>\n<l:template name=\"February\" text=\"Үхэр сарын\"/>\n<l:template name=\"March\" text=\"Бар сарын\"/>\n<l:template name=\"April\" text=\"Туулай сарын\"/>\n<l:template name=\"May\" text=\"Луу сарын\"/>\n<l:template name=\"June\" text=\"Могой сарын\"/>\n<l:template name=\"July\" text=\"Морь сарын\"/>\n<l:template name=\"August\" text=\"Хонь сарын\"/>\n<l:template name=\"September\" text=\"Бич сарын\"/>\n<l:template name=\"October\" text=\"Тахиа сарын\"/>\n<l:template name=\"November\" text=\"Нохой сарын\"/>\n<l:template name=\"December\" text=\"Гахай сарын\"/>\n<l:template name=\"Monday\" text=\"Даваа\"/>\n<l:template name=\"Tuesday\" text=\"Мягмар\"/>\n<l:template name=\"Wednesday\" text=\"Лхагва\"/>\n<l:template name=\"Thursday\" text=\"Пүрэв\"/>\n<l:template name=\"Friday\" text=\"Баасан\"/>\n<l:template name=\"Saturday\" text=\"Бямба\"/>\n<l:template name=\"Sunday\" text=\"Ням\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Хул\"/>\n<l:template name=\"Feb\" text=\"Үхэ\"/>\n<l:template name=\"Mar\" text=\"Бар\"/>\n<l:template name=\"Apr\" text=\"Туу\"/>\n<l:template name=\"May\" text=\"Луу\"/>\n<l:template name=\"Jun\" text=\"Мог\"/>\n<l:template name=\"Jul\" text=\"Мор\"/>\n<l:template name=\"Aug\" text=\"Хон\"/>\n<l:template name=\"Sep\" text=\"Бич\"/>\n<l:template name=\"Oct\" text=\"Тах\"/>\n<l:template name=\"Nov\" text=\"Нох\"/>\n<l:template name=\"Dec\" text=\"Гах\"/>\n<l:template name=\"Mon\" text=\"Да\"/>\n<l:template name=\"Tue\" text=\"Мя\"/>\n<l:template name=\"Wed\" text=\"Лх\"/>\n<l:template name=\"Thu\" text=\"Пү\"/>\n<l:template name=\"Fri\" text=\"Ба\"/>\n<l:template name=\"Sat\" text=\"Бя\"/>\n<l:template name=\"Sun\" text=\"Ня\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0450 Mongolian (MONGOLIA)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Тэмдэгтүүд</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"270\">А</l:l>\n<l:l i=\"270\">а</l:l>\n<l:l i=\"280\">Б</l:l>\n<l:l i=\"280\">б</l:l>\n<l:l i=\"290\">В</l:l>\n<l:l i=\"290\">в</l:l>\n<l:l i=\"300\">Г</l:l>\n<l:l i=\"300\">г</l:l>\n<l:l i=\"310\">Д</l:l>\n<l:l i=\"310\">д</l:l>\n<l:l i=\"320\">Е</l:l>\n<l:l i=\"320\">е</l:l>\n<l:l i=\"330\">Ё</l:l>\n<l:l i=\"330\">ё</l:l>\n<l:l i=\"340\">Ж</l:l>\n<l:l i=\"340\">ж</l:l>\n<l:l i=\"350\">З</l:l>\n<l:l i=\"350\">з</l:l>\n<l:l i=\"360\">И</l:l>\n<l:l i=\"360\">и</l:l>\n<l:l i=\"370\">Й</l:l>\n<l:l i=\"370\">й</l:l>\n<l:l i=\"380\">К</l:l>\n<l:l i=\"380\">к</l:l>\n<l:l i=\"390\">Л</l:l>\n<l:l i=\"390\">л</l:l>\n<l:l i=\"400\">М</l:l>\n<l:l i=\"400\">м</l:l>\n<l:l i=\"410\">Н</l:l>\n<l:l i=\"410\">н</l:l>\n<l:l i=\"420\">О</l:l>\n<l:l i=\"420\">о</l:l>\n<l:l i=\"430\">Ө</l:l>\n<l:l i=\"430\">ө</l:l>\n<l:l i=\"440\">П</l:l>\n<l:l i=\"440\">п</l:l>\n<l:l i=\"450\">Р</l:l>\n<l:l i=\"450\">р</l:l>\n<l:l i=\"460\">С</l:l>\n<l:l i=\"460\">с</l:l>\n<l:l i=\"470\">Т</l:l>\n<l:l i=\"470\">т</l:l>\n<l:l i=\"480\">У</l:l>\n<l:l i=\"480\">у</l:l>\n<l:l i=\"490\">Ү</l:l>\n<l:l i=\"490\">ү</l:l>\n<l:l i=\"500\">Ф</l:l>\n<l:l i=\"500\">ф</l:l>\n<l:l i=\"510\">Х</l:l>\n<l:l i=\"510\">х</l:l>\n<l:l i=\"520\">Ц</l:l>\n<l:l i=\"520\">ц</l:l>\n<l:l i=\"530\">Ч</l:l>\n<l:l i=\"530\">ч</l:l>\n<l:l i=\"540\">Ш</l:l>\n<l:l i=\"540\">ш</l:l>\n<l:l i=\"550\">Щ</l:l>\n<l:l i=\"550\">щ</l:l>\n<l:l i=\"560\">Ъ</l:l>\n<l:l i=\"560\">ъ</l:l>\n<l:l i=\"570\">Ы</l:l>\n<l:l i=\"570\">ы</l:l>\n<l:l i=\"580\">Ь</l:l>\n<l:l i=\"580\">ь</l:l>\n<l:l i=\"590\">Э</l:l>\n<l:l i=\"590\">э</l:l>\n<l:l i=\"600\">Ю</l:l>\n<l:l i=\"600\">ю</l:l>\n<l:l i=\"610\">Я</l:l>\n<l:l i=\"610\">я</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/mr.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"mr\" english-language-name=\"Marathi\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/mr.xml -->\n<!-- * -->\n<!-- * E-mail the edited mr.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"सारांश\"/>\n<l:gentext key=\"abstract\" text=\"सारांश\"/>\n<l:gentext key=\"Acknowledgements\" text=\"आभार\"/>\n<l:gentext key=\"acknowledgements\" text=\"आभार\"/>\n<l:gentext key=\"Answer\" text=\"A:\"/>\n<l:gentext key=\"answer\" text=\"a:\"/>\n<l:gentext key=\"Appendix\" text=\"परिशिष्ट\"/>\n<l:gentext key=\"appendix\" text=\"परिशिष्ट\"/>\n<l:gentext key=\"Article\" text=\"लेख\"/>\n<l:gentext key=\"article\" text=\"लेख\"/>\n<l:gentext key=\"Author\" text=\"लेखक\"/>\n<l:gentext key=\"Bibliography\" text=\"ग्रंथसूची\"/>\n<l:gentext key=\"bibliography\" text=\"ग्रंथसूची\"/>\n<l:gentext key=\"Book\" text=\"पुस्तक\"/>\n<l:gentext key=\"book\" text=\"पुस्तक\"/>\n<l:gentext key=\"CAUTION\" text=\"सावधगिरी\"/>\n<l:gentext key=\"Caution\" text=\"सावधगिरी\"/>\n<l:gentext key=\"caution\" text=\"सावधगिरी\"/>\n<l:gentext key=\"Chapter\" text=\"धडा\"/>\n<l:gentext key=\"chapter\" text=\"धडा\"/>\n<l:gentext key=\"Colophon\" text=\"कोलोफोन\"/>\n<l:gentext key=\"colophon\" text=\"कोलोफोन\"/>\n<l:gentext key=\"Copyright\" text=\"सर्वाहक्काधिकार\"/>\n<l:gentext key=\"copyright\" text=\"सर्वाहक्काधिकार\"/>\n<l:gentext key=\"Dedication\" text=\"समर्पण\"/>\n<l:gentext key=\"dedication\" text=\"समर्पण\"/>\n<l:gentext key=\"Edition\" text=\"आवृत्ती\"/>\n<l:gentext key=\"edition\" text=\"आवृत्ती\"/>\n<l:gentext key=\"Editor\" text=\"संपादक\"/>\n<l:gentext key=\"Equation\" text=\"समीकरण\"/>\n<l:gentext key=\"equation\" text=\"समीकरण\"/>\n<l:gentext key=\"Example\" text=\"उदाहरण\"/>\n<l:gentext key=\"example\" text=\"उदाहरण\"/>\n<l:gentext key=\"Figure\" text=\"आकृती\"/>\n<l:gentext key=\"figure\" text=\"आकृती\"/>\n<l:gentext key=\"Glossary\" text=\"शब्दकोष\"/>\n<l:gentext key=\"glossary\" text=\"शब्दकोष\"/>\n<l:gentext key=\"GlossSee\" text=\"पहा\"/>\n<l:gentext key=\"glosssee\" text=\"पहा\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"हे ही पहा\"/>\n<l:gentext key=\"glossseealso\" text=\"हे ही पहा\"/>\n<l:gentext key=\"IMPORTANT\" text=\"महत्तावचे\"/>\n<l:gentext key=\"important\" text=\"महत्तावचे\"/>\n<l:gentext key=\"Important\" text=\"महत्तावचे\"/>\n<l:gentext key=\"Index\" text=\"इंडेक्स्\"/>\n<l:gentext key=\"index\" text=\"इंडेक्स्\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"isbn\"/>\n<l:gentext key=\"LegalNotice\" text=\"कायदेशीर सूचना\"/>\n<l:gentext key=\"legalnotice\" text=\"कायदेशीर सूचना\"/>\n<l:gentext key=\"MsgAud\" text=\"प्रक्षेक\"/>\n<l:gentext key=\"msgaud\" text=\"प्रक्षेक\"/>\n<l:gentext key=\"MsgLevel\" text=\"स्तर\"/>\n<l:gentext key=\"msglevel\" text=\"स्तर\"/>\n<l:gentext key=\"MsgOrig\" text=\"मुळ\"/>\n<l:gentext key=\"msgorig\" text=\"मुळ\"/>\n<l:gentext key=\"NOTE\" text=\"टीप\"/>\n<l:gentext key=\"Note\" text=\"टीप\"/>\n<l:gentext key=\"note\" text=\"टीप\"/>\n<l:gentext key=\"Part\" text=\"भाग\"/>\n<l:gentext key=\"part\" text=\"भाग\"/>\n<l:gentext key=\"Preface\" text=\"प्रस्तावना\"/>\n<l:gentext key=\"preface\" text=\"प्रस्तावना\"/>\n<l:gentext key=\"Procedure\" text=\"कार्यपद्धत\"/>\n<l:gentext key=\"procedure\" text=\"कार्यपद्धत\"/>\n<l:gentext key=\"ProductionSet\" text=\"प्रस्तुति\"/>\n<l:gentext key=\"PubDate\" text=\"प्रकाशन दिनांक\"/>\n<l:gentext key=\"pubdate\" text=\"प्रकाशन दिनांक\"/>\n<l:gentext key=\"Published\" text=\"प्रकाशीत\"/>\n<l:gentext key=\"published\" text=\"प्रकाशीत\"/>\n<l:gentext key=\"Publisher\" text=\"प्रकाशक\"/>\n<l:gentext key=\"Qandadiv\" text=\"Q &amp; A\"/>\n<l:gentext key=\"qandadiv\" text=\"Q &amp; A\"/>\n<l:gentext key=\"QandASet\" text=\"नेहमी विचारलेली प्रश्न\"/>\n<l:gentext key=\"Question\" text=\"Q:\"/>\n<l:gentext key=\"question\" text=\"q:\"/>\n<l:gentext key=\"RefEntry\" text=\"पान\"/>\n<l:gentext key=\"refentry\" text=\"पान\"/>\n<l:gentext key=\"Reference\" text=\"संदर्भ\"/>\n<l:gentext key=\"reference\" text=\"संदर्भ\"/>\n<l:gentext key=\"References\" text=\"संदर्भ\"/>\n<l:gentext key=\"RefName\" text=\"नाव\"/>\n<l:gentext key=\"refname\" text=\"नाव\"/>\n<l:gentext key=\"RefSection\" text=\"विभाग\"/>\n<l:gentext key=\"refsection\" text=\"विभाग\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"रूपरेशा\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"रूपरेशा\"/>\n<l:gentext key=\"RevHistory\" text=\"आवृत्ती हतिहास\"/>\n<l:gentext key=\"revhistory\" text=\"आवृत्ती हतिहास\"/>\n<l:gentext key=\"revision\" text=\"आवृत्ती\"/>\n<l:gentext key=\"Revision\" text=\"आवृत्ती\"/>\n<l:gentext key=\"sect1\" text=\"विभाग\"/>\n<l:gentext key=\"sect2\" text=\"विभाग\"/>\n<l:gentext key=\"sect3\" text=\"विभाग\"/>\n<l:gentext key=\"sect4\" text=\"विभाग\"/>\n<l:gentext key=\"sect5\" text=\"विभाग\"/>\n<l:gentext key=\"section\" text=\"विभाग\"/>\n<l:gentext key=\"Section\" text=\"विभाग\"/>\n<l:gentext key=\"see\" text=\"पहा\"/>\n<l:gentext key=\"See\" text=\"पहा\"/>\n<l:gentext key=\"seealso\" text=\"हे ही पहा\"/>\n<l:gentext key=\"Seealso\" text=\"हे ही पहा\"/>\n<l:gentext key=\"SeeAlso\" text=\"हे ही पहा\"/>\n<l:gentext key=\"set\" text=\"गट\"/>\n<l:gentext key=\"Set\" text=\"गट\"/>\n<l:gentext key=\"setindex\" text=\"इंडेक्स् गट\"/>\n<l:gentext key=\"SetIndex\" text=\"इंडेक्स् गट\"/>\n<l:gentext key=\"Sidebar\" text=\"बाजूची पट्टी\"/>\n<l:gentext key=\"sidebar\" text=\"बाजूची पट्टी\"/>\n<l:gentext key=\"step\" text=\"कार्य\"/>\n<l:gentext key=\"Step\" text=\"कार्य\"/>\n<l:gentext key=\"table\" text=\"तक्ता\"/>\n<l:gentext key=\"Table\" text=\"तक्ता\"/>\n<l:gentext key=\"task\" text=\"कार्य\"/>\n<l:gentext key=\"Task\" text=\"कार्य\"/>\n<l:gentext key=\"tip\" text=\"टीप\"/>\n<l:gentext key=\"TIP\" text=\"टीप\"/>\n<l:gentext key=\"Tip\" text=\"टीप\"/>\n<l:gentext key=\"Warning\" text=\"सावधानता\"/>\n<l:gentext key=\"warning\" text=\"सावधानता\"/>\n<l:gentext key=\"WARNING\" text=\"सावधानता\"/>\n<l:gentext key=\"and\" text=\"व\"/>\n<l:gentext key=\"or\" text=\"or\" lang=\"en\"/>\n<l:gentext key=\"by\" text=\"द्वारे\"/>\n<l:gentext key=\"Edited\" text=\"संपादीत\"/>\n<l:gentext key=\"edited\" text=\"संपादीत\"/>\n<l:gentext key=\"Editedby\" text=\"द्वारे संपादीत\"/>\n<l:gentext key=\"editedby\" text=\"द्वारे संपादीत\"/>\n<l:gentext key=\"in\" text=\"मधील\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"टीपा\"/>\n<l:gentext key=\"Notes\" text=\"टीपा\"/>\n<l:gentext key=\"Pgs\" text=\"पाने\"/>\n<l:gentext key=\"pgs\" text=\"पाने\"/>\n<l:gentext key=\"Revisedby\" text=\"द्वारे सुधारीत: \"/>\n<l:gentext key=\"revisedby\" text=\"द्वारे सुधारीत: \"/>\n<l:gentext key=\"TableNotes\" text=\"टीपा\"/>\n<l:gentext key=\"tablenotes\" text=\"टीपा\"/>\n<l:gentext key=\"TableofContents\" text=\"अनुक्रमणिका\"/>\n<l:gentext key=\"tableofcontents\" text=\"अनुक्रमणिका\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"अनपेक्षीत घटकाचे नाव\"/>\n<l:gentext key=\"unsupported\" text=\"असमर्थीत\"/>\n<l:gentext key=\"xrefto\" text=\"xref\"/>\n<l:gentext key=\"Authors\" text=\"लेखक\"/>\n<l:gentext key=\"copyeditor\" text=\"प्रत संपादक\"/>\n<l:gentext key=\"graphicdesigner\" text=\"ग्राफिक्स् डिजाइनर\"/>\n<l:gentext key=\"productioneditor\" text=\"प्रोडक्शन संपादक\"/>\n<l:gentext key=\"technicaleditor\" text=\"तांत्रिक संपादक\"/>\n<l:gentext key=\"translator\" text=\"भाषांतरनकर्ता\"/>\n<l:gentext key=\"listofequations\" text=\"समीकरणांची सूची\"/>\n<l:gentext key=\"ListofEquations\" text=\"समीकरणांची सूची\"/>\n<l:gentext key=\"ListofExamples\" text=\"उदाहरणांची सूची\"/>\n<l:gentext key=\"listofexamples\" text=\"उदाहरणांची सूची\"/>\n<l:gentext key=\"ListofFigures\" text=\"आकृतींची सूची\"/>\n<l:gentext key=\"listoffigures\" text=\"आकृतींची सूची\"/>\n<l:gentext key=\"ListofProcedures\" text=\"कार्यपद्धतींची सूची\"/>\n<l:gentext key=\"listofprocedures\" text=\"कार्यपद्धतींची सूची\"/>\n<l:gentext key=\"listoftables\" text=\"तक्त्यांची सूची\"/>\n<l:gentext key=\"ListofTables\" text=\"तक्त्यांची सूची\"/>\n<l:gentext key=\"ListofUnknown\" text=\"अपरिचीतांची सूची\"/>\n<l:gentext key=\"listofunknown\" text=\"अपरिचीतांची सूची\"/>\n<l:gentext key=\"nav-home\" text=\"होम\"/>\n<l:gentext key=\"nav-next\" text=\"पुढील\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"पटकन पुढे चला\"/>\n<l:gentext key=\"nav-prev\" text=\"मागील\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"पटकन माघे चला\"/>\n<l:gentext key=\"nav-up\" text=\"वर\"/>\n<l:gentext key=\"nav-toc\" text=\"अनुक्रमणिका\"/>\n<l:gentext key=\"Draft\" text=\"मसुदा\"/>\n<l:gentext key=\"above\" text=\"वरील\"/>\n<l:gentext key=\"below\" text=\"खालील\"/>\n<l:gentext key=\"sectioncalled\" text=\"...नामक विभाग\"/>\n<l:gentext key=\"index symbols\" text=\"प्रतीक\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"परिशिष्ट %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"धडा %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"समीकरण %n. %t\"/>\n<l:template name=\"example\" text=\"उदाहरण %n. %t\"/>\n<l:template name=\"figure\" text=\"आकृती %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"भाग %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"कार्यपद्धत %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"प्रस्तुति %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"तक्ता %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"परिशिष्ट %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"धडा %n. %t\"/>\n<l:template name=\"part\" text=\"भाग %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"A: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Q: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Q: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"...नामक विभाग “%t”\"/>\n<l:template name=\"refsection\" text=\"...नामक विभाग “%t”\"/>\n<l:template name=\"refsect1\" text=\"...नामक विभाग “%t”\"/>\n<l:template name=\"refsect2\" text=\"...नामक विभाग “%t”\"/>\n<l:template name=\"refsect3\" text=\"...नामक विभाग “%t”\"/>\n<l:template name=\"sect1\" text=\"...नामक विभाग “%t”\"/>\n<l:template name=\"sect2\" text=\"...नामक विभाग “%t”\"/>\n<l:template name=\"sect3\" text=\"...नामक विभाग “%t”\"/>\n<l:template name=\"sect4\" text=\"...नामक विभाग “%t”\"/>\n<l:template name=\"sect5\" text=\"...नामक विभाग “%t”\"/>\n<l:template name=\"section\" text=\"...नामक विभाग “%t”\"/>\n<l:template name=\"simplesect\" text=\"...नामक विभाग “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"A: %n\"/>\n<l:template name=\"appendix\" text=\"परिशिष्ट %n\"/>\n<l:template name=\"bridgehead\" text=\"विभाग %n\"/>\n<l:template name=\"chapter\" text=\"धडा %n\"/>\n<l:template name=\"equation\" text=\"समीकरण %n\"/>\n<l:template name=\"example\" text=\"उदाहरण %n\"/>\n<l:template name=\"figure\" text=\"आकृती %n\"/>\n<l:template name=\"part\" text=\"भाग %n\"/>\n<l:template name=\"procedure\" text=\"कार्यपद्धत %n\"/>\n<l:template name=\"productionset\" text=\"प्रस्तुति %n\"/>\n<l:template name=\"qandadiv\" text=\"Q &amp; A %n\"/>\n<l:template name=\"qandaentry\" text=\"Q: %n\"/>\n<l:template name=\"question\" text=\"Q: %n\"/>\n<l:template name=\"sect1\" text=\"विभाग %n\"/>\n<l:template name=\"sect2\" text=\"विभाग %n\"/>\n<l:template name=\"sect3\" text=\"विभाग %n\"/>\n<l:template name=\"sect4\" text=\"विभाग %n\"/>\n<l:template name=\"sect5\" text=\"विभाग %n\"/>\n<l:template name=\"section\" text=\"विभाग %n\"/>\n<l:template name=\"table\" text=\"तक्ता %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"परिशिष्ट %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"विभाग %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"धडा %n, %t\"/>\n<l:template name=\"equation\" text=\"समीकरण %n, “%t”\"/>\n<l:template name=\"example\" text=\"उदाहरण %n, “%t”\"/>\n<l:template name=\"figure\" text=\"आकृती %n, “%t”\"/>\n<l:template name=\"part\" text=\"भाग %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"कार्यपद्धत %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"प्रस्तुति %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"Q &amp; A %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"...नामक विभाग “%t”\"/>\n<l:template name=\"refsect2\" text=\"...नामक विभाग “%t”\"/>\n<l:template name=\"refsect3\" text=\"...नामक विभाग “%t”\"/>\n<l:template name=\"refsection\" text=\"...नामक विभाग “%t”\"/>\n<l:template name=\"sect1\" text=\"विभाग %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"विभाग %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"विभाग %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"विभाग %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"विभाग %n, “%t”\"/>\n<l:template name=\"section\" text=\"विभाग %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"...नामक विभाग “%t”\"/>\n<l:template name=\"table\" text=\"तक्ता %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" व \"/>\n<l:template name=\"seplast\" text=\", व \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"पहा %t.\"/>\n<l:template name=\"seealso\" text=\"हे ही पहा %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"प्रक्षेक: \"/>\n<l:template name=\"MsgLevel\" text=\"स्तर: \"/>\n<l:template name=\"MsgOrig\" text=\"मुळ: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"जानेवारी\"/>\n<l:template name=\"February\" text=\"फेब्रुवारी\"/>\n<l:template name=\"March\" text=\"मार्च\"/>\n<l:template name=\"April\" text=\"एप्रिल\"/>\n<l:template name=\"May\" text=\"मे\"/>\n<l:template name=\"June\" text=\"जून\"/>\n<l:template name=\"July\" text=\"जुलै\"/>\n<l:template name=\"August\" text=\"ऑगस्ट\"/>\n<l:template name=\"September\" text=\"सप्टेंबर\"/>\n<l:template name=\"October\" text=\"ऑक्टोबर\"/>\n<l:template name=\"November\" text=\"नोव्हेंबर\"/>\n<l:template name=\"December\" text=\"डिसेंबर\"/>\n<l:template name=\"Monday\" text=\"सोमवार\"/>\n<l:template name=\"Tuesday\" text=\"मंगळवार\"/>\n<l:template name=\"Wednesday\" text=\"बुधवार\"/>\n<l:template name=\"Thursday\" text=\"गुरूवार\"/>\n<l:template name=\"Friday\" text=\"शुक्रवार\"/>\n<l:template name=\"Saturday\" text=\"शनिवार\"/>\n<l:template name=\"Sunday\" text=\"रविवार\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"जा\"/>\n<l:template name=\"Feb\" text=\"फेब्रुवारी\"/>\n<l:template name=\"Mar\" text=\"मार्च\"/>\n<l:template name=\"Apr\" text=\"एप्रिल\"/>\n<l:template name=\"May\" text=\"मे\"/>\n<l:template name=\"Jun\" text=\"जून\"/>\n<l:template name=\"Jul\" text=\"जुलै\"/>\n<l:template name=\"Aug\" text=\"ऑगस्ट\"/>\n<l:template name=\"Sep\" text=\"सप्टें\"/>\n<l:template name=\"Oct\" text=\"ऑक्टो\"/>\n<l:template name=\"Nov\" text=\"नोव्हेंबर\"/>\n<l:template name=\"Dec\" text=\"डिसेंबर\"/>\n<l:template name=\"Mon\" text=\"सोम\"/>\n<l:template name=\"Tue\" text=\"मंगळ\"/>\n<l:template name=\"Wed\" text=\"बुध\"/>\n<l:template name=\"Thu\" text=\"गुरू\"/>\n<l:template name=\"Fri\" text=\"शुक्र\"/>\n<l:template name=\"Sat\" text=\"शनि\"/>\n<l:template name=\"Sun\" text=\"रवि\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x044e Marathi\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">प्रतीक</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/nb.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"nb\" english-language-name=\"Norwegian Bokmål\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/nb.xml -->\n<!-- * -->\n<!-- * E-mail the edited nb.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Sammendrag\"/>\n<l:gentext key=\"abstract\" text=\"Sammendrag\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"Svar\"/>\n<l:gentext key=\"answer\" text=\"svar\"/>\n<l:gentext key=\"Appendix\" text=\"Tillegg\"/>\n<l:gentext key=\"appendix\" text=\"Tillegg\"/>\n<l:gentext key=\"Article\" text=\"Artikkel\"/>\n<l:gentext key=\"article\" text=\"artikkel\"/>\n<l:gentext key=\"Author\" text=\"Author\" lang=\"en\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografi\"/>\n<l:gentext key=\"bibliography\" text=\"Bibliografi\"/>\n<l:gentext key=\"Book\" text=\"Bok\"/>\n<l:gentext key=\"book\" text=\"bok\"/>\n<l:gentext key=\"CAUTION\" text=\"OBS\"/>\n<l:gentext key=\"Caution\" text=\"Obs\"/>\n<l:gentext key=\"caution\" text=\"obs\"/>\n<l:gentext key=\"Chapter\" text=\"Kapittel\"/>\n<l:gentext key=\"chapter\" text=\"Kapittel\"/>\n<l:gentext key=\"Colophon\" text=\"Kolofon\"/>\n<l:gentext key=\"colophon\" text=\"kolofon\"/>\n<l:gentext key=\"Copyright\" text=\"Opphavsrett\"/>\n<l:gentext key=\"copyright\" text=\"opphavsrett\"/>\n<l:gentext key=\"Dedication\" text=\"Dedikasjon\"/>\n<l:gentext key=\"dedication\" text=\"Dedikasjon\"/>\n<l:gentext key=\"Edition\" text=\"Utgave\"/>\n<l:gentext key=\"edition\" text=\"utgave\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Formel\"/>\n<l:gentext key=\"equation\" text=\"Formel\"/>\n<l:gentext key=\"Example\" text=\"Eksempel\"/>\n<l:gentext key=\"example\" text=\"Eksempel\"/>\n<l:gentext key=\"Figure\" text=\"Figur\"/>\n<l:gentext key=\"figure\" text=\"Figur\"/>\n<l:gentext key=\"Glossary\" text=\"Ordliste\"/>\n<l:gentext key=\"glossary\" text=\"Ordliste\"/>\n<l:gentext key=\"GlossSee\" text=\"Se\"/>\n<l:gentext key=\"glosssee\" text=\"Se\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Se også\"/>\n<l:gentext key=\"glossseealso\" text=\"se også\"/>\n<l:gentext key=\"IMPORTANT\" text=\"VIKTIG\"/>\n<l:gentext key=\"important\" text=\"viktig\"/>\n<l:gentext key=\"Important\" text=\"Viktig\"/>\n<l:gentext key=\"Index\" text=\"Register\"/>\n<l:gentext key=\"index\" text=\"register\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Rettslig merknad\"/>\n<l:gentext key=\"legalnotice\" text=\"rettslig merknad\"/>\n<l:gentext key=\"MsgAud\" text=\"Publikum\"/>\n<l:gentext key=\"msgaud\" text=\"Publikum\"/>\n<l:gentext key=\"MsgLevel\" text=\"Nivå\"/>\n<l:gentext key=\"msglevel\" text=\"Nivå\"/>\n<l:gentext key=\"MsgOrig\" text=\"Opphav\"/>\n<l:gentext key=\"msgorig\" text=\"Opphav\"/>\n<l:gentext key=\"NOTE\" text=\"NOTAT\"/>\n<l:gentext key=\"Note\" text=\"Notat\"/>\n<l:gentext key=\"note\" text=\"notat\"/>\n<l:gentext key=\"Part\" text=\"Del\"/>\n<l:gentext key=\"part\" text=\"del\"/>\n<l:gentext key=\"Preface\" text=\"Forord\"/>\n<l:gentext key=\"preface\" text=\"forord\"/>\n<l:gentext key=\"Procedure\" text=\"Prosedyre\"/>\n<l:gentext key=\"procedure\" text=\"prosedyre\"/>\n<l:gentext key=\"ProductionSet\" text=\"Produksjon\"/>\n<l:gentext key=\"PubDate\" text=\"Publication Date\" lang=\"en\"/>\n<l:gentext key=\"pubdate\" text=\"Publication date\" lang=\"en\"/>\n<l:gentext key=\"Published\" text=\"Publisert\"/>\n<l:gentext key=\"published\" text=\"publisert\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"Spørsmål og svar\"/>\n<l:gentext key=\"qandadiv\" text=\"spørsmål og svar\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"Spørsmål\"/>\n<l:gentext key=\"question\" text=\"spørsmål\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Referanse\"/>\n<l:gentext key=\"reference\" text=\"referanse\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Navn\"/>\n<l:gentext key=\"refname\" text=\"navn\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Synopsis\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Synopsis\"/>\n<l:gentext key=\"RevHistory\" text=\"Revisjonshistorie\"/>\n<l:gentext key=\"revhistory\" text=\"revisjonshistorie\"/>\n<l:gentext key=\"revision\" text=\"revisjon\"/>\n<l:gentext key=\"Revision\" text=\"Revisjon\"/>\n<l:gentext key=\"sect1\" text=\"Seksjon\"/>\n<l:gentext key=\"sect2\" text=\"Seksjon\"/>\n<l:gentext key=\"sect3\" text=\"Seksjon\"/>\n<l:gentext key=\"sect4\" text=\"Seksjon\"/>\n<l:gentext key=\"sect5\" text=\"Seksjon\"/>\n<l:gentext key=\"section\" text=\"seksjon\"/>\n<l:gentext key=\"Section\" text=\"Seksjon\"/>\n<l:gentext key=\"see\" text=\"Se\"/>\n<l:gentext key=\"See\" text=\"Se\"/>\n<l:gentext key=\"seealso\" text=\"se også\"/>\n<l:gentext key=\"Seealso\" text=\"Se også\"/>\n<l:gentext key=\"SeeAlso\" text=\"Se også\"/>\n<l:gentext key=\"set\" text=\"sett\"/>\n<l:gentext key=\"Set\" text=\"Sett\"/>\n<l:gentext key=\"setindex\" text=\"settindeks\"/>\n<l:gentext key=\"SetIndex\" text=\"Settindeks\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"\"/>\n<l:gentext key=\"step\" text=\"steg\"/>\n<l:gentext key=\"Step\" text=\"Steg\"/>\n<l:gentext key=\"table\" text=\"tabell\"/>\n<l:gentext key=\"Table\" text=\"Tabell\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"Tips\"/>\n<l:gentext key=\"TIP\" text=\"TIPS\"/>\n<l:gentext key=\"Tip\" text=\"Tips\"/>\n<l:gentext key=\"Warning\" text=\"Advarsel\"/>\n<l:gentext key=\"warning\" text=\"advarsel\"/>\n<l:gentext key=\"WARNING\" text=\"ADVARSEL\"/>\n<l:gentext key=\"and\" text=\"og\"/>\n<l:gentext key=\"or\" text=\"eller\"/>\n<l:gentext key=\"by\" text=\"av\"/>\n<l:gentext key=\"Edited\" text=\"Redigert\"/>\n<l:gentext key=\"edited\" text=\"redigert\"/>\n<l:gentext key=\"Editedby\" text=\"Redigert av\"/>\n<l:gentext key=\"editedby\" text=\"redigert av\"/>\n<l:gentext key=\"in\" text=\"i\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Sluttnotater\"/>\n<l:gentext key=\"Notes\" text=\"sluttnotater\"/>\n<l:gentext key=\"Pgs\" text=\"Sider\"/>\n<l:gentext key=\"pgs\" text=\"sider\"/>\n<l:gentext key=\"Revisedby\" text=\"Gjennomgått av: \"/>\n<l:gentext key=\"revisedby\" text=\"gjennomgått av: \"/>\n<l:gentext key=\"TableNotes\" text=\"Notater\"/>\n<l:gentext key=\"tablenotes\" text=\"notater\"/>\n<l:gentext key=\"TableofContents\" text=\"Innholdsfortegnelse\"/>\n<l:gentext key=\"tableofcontents\" text=\"innholdsfortegnelse\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"UVENTET-ELEMENTNAVN\"/>\n<l:gentext key=\"unsupported\" text=\"ikke støttet\"/>\n<l:gentext key=\"xrefto\" text=\"xref til\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"Formeloversikt\"/>\n<l:gentext key=\"ListofEquations\" text=\"formeloversikt\"/>\n<l:gentext key=\"ListofExamples\" text=\"Eksempeloversikt\"/>\n<l:gentext key=\"listofexamples\" text=\"eksempeloversikt\"/>\n<l:gentext key=\"ListofFigures\" text=\"Figuroversikt\"/>\n<l:gentext key=\"listoffigures\" text=\"figuroversikt\"/>\n<l:gentext key=\"ListofProcedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listofprocedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listoftables\" text=\"Tabelloversikt\"/>\n<l:gentext key=\"ListofTables\" text=\"tabelloversikt\"/>\n<l:gentext key=\"ListofUnknown\" text=\"???-oversikt\"/>\n<l:gentext key=\"listofunknown\" text=\"???-oversikt\"/>\n<l:gentext key=\"nav-home\" text=\"Hjem\"/>\n<l:gentext key=\"nav-next\" text=\"Neste\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Raskt fremover\"/>\n<l:gentext key=\"nav-prev\" text=\"Forrige\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Raskt bakover\"/>\n<l:gentext key=\"nav-up\" text=\"Opp\"/>\n<l:gentext key=\"nav-toc\" text=\"ToC\" lang=\"en\"/>\n<l:gentext key=\"Draft\" text=\"Utkast\"/>\n<l:gentext key=\"above\" text=\"over\"/>\n<l:gentext key=\"below\" text=\"under\"/>\n<l:gentext key=\"sectioncalled\" text=\"Seksjonen kalt\"/>\n<l:gentext key=\"index symbols\" text=\"Symboler\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyzæøå\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"«\"/>\n<l:dingbat key=\"endquote\" text=\"»\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"“\"/>\n<l:dingbat key=\"nestedendquote\" text=\"”\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Tillegg %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Kapittel %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Formel %n. %t\"/>\n<l:template name=\"example\" text=\"Eksempel %n. %t\"/>\n<l:template name=\"figure\" text=\"Figur %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Del %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Prosedyre %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Produksjon %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabell %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Tillegg %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Kapittel %n. %t\"/>\n<l:template name=\"part\" text=\"Del %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"Svar %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Spørsmål %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Spørsmål %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"«%t»\"/>\n<l:template name=\"refsection\" text=\"«%t»\"/>\n<l:template name=\"refsect1\" text=\"«%t»\"/>\n<l:template name=\"refsect2\" text=\"«%t»\"/>\n<l:template name=\"refsect3\" text=\"«%t»\"/>\n<l:template name=\"sect1\" text=\"«%t»\"/>\n<l:template name=\"sect2\" text=\"«%t»\"/>\n<l:template name=\"sect3\" text=\"«%t»\"/>\n<l:template name=\"sect4\" text=\"«%t»\"/>\n<l:template name=\"sect5\" text=\"«%t»\"/>\n<l:template name=\"section\" text=\"«%t»\"/>\n<l:template name=\"simplesect\" text=\"«%t»\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Svar %n\"/>\n<l:template name=\"appendix\" text=\"Tillegg %n\"/>\n<l:template name=\"bridgehead\" text=\"Seksjon %n\"/>\n<l:template name=\"chapter\" text=\"Kapittel %n\"/>\n<l:template name=\"equation\" text=\"Formel %n\"/>\n<l:template name=\"example\" text=\"Eksempel %n\"/>\n<l:template name=\"figure\" text=\"Figur %n\"/>\n<l:template name=\"part\" text=\"Del %n\"/>\n<l:template name=\"procedure\" text=\"Prosedyre %n\"/>\n<l:template name=\"productionset\" text=\"Produksjon %n\"/>\n<l:template name=\"qandadiv\" text=\"Spørsmål og svar %n\"/>\n<l:template name=\"qandaentry\" text=\"Spørsmål %n\"/>\n<l:template name=\"question\" text=\"Spørsmål %n\"/>\n<l:template name=\"sect1\" text=\"Seksjon %n\"/>\n<l:template name=\"sect2\" text=\"Seksjon %n\"/>\n<l:template name=\"sect3\" text=\"Seksjon %n\"/>\n<l:template name=\"sect4\" text=\"Seksjon %n\"/>\n<l:template name=\"sect5\" text=\"Seksjon %n\"/>\n<l:template name=\"section\" text=\"Seksjon %n\"/>\n<l:template name=\"table\" text=\"Tabell %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Tillegg %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Seksjon %n, «%t»\"/>\n<l:template name=\"chapter\" text=\"Kapittel %n, %t\"/>\n<l:template name=\"equation\" text=\"Formel %n, «%t»\"/>\n<l:template name=\"example\" text=\"Eksempel %n, «%t»\"/>\n<l:template name=\"figure\" text=\"Figur %n, «%t»\"/>\n<l:template name=\"part\" text=\"Del %n, «%t»\"/>\n<l:template name=\"procedure\" text=\"Prosedyre %n, «%t»\"/>\n<l:template name=\"productionset\" text=\"Produksjon %n, «%t»\"/>\n<l:template name=\"qandadiv\" text=\"Spørsmål og svar %n, «%t»\"/>\n<l:template name=\"refsect1\" text=\"Seksjonen kalt «%t»\"/>\n<l:template name=\"refsect2\" text=\"Seksjonen kalt «%t»\"/>\n<l:template name=\"refsect3\" text=\"Seksjonen kalt «%t»\"/>\n<l:template name=\"refsection\" text=\"Seksjonen kalt «%t»\"/>\n<l:template name=\"sect1\" text=\"Seksjon %n, «%t»\"/>\n<l:template name=\"sect2\" text=\"Seksjon %n, «%t»\"/>\n<l:template name=\"sect3\" text=\"Seksjon %n, «%t»\"/>\n<l:template name=\"sect4\" text=\"Seksjon %n, «%t»\"/>\n<l:template name=\"sect5\" text=\"Seksjon %n, «%t»\"/>\n<l:template name=\"section\" text=\"Seksjon %n, «%t»\"/>\n<l:template name=\"simplesect\" text=\"Seksjonen kalt «%t»\"/>\n<l:template name=\"table\" text=\"Tabell %n, «%t»\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" og \"/>\n<l:template name=\"seplast\" text=\", og \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Se %t.\"/>\n<l:template name=\"seealso\" text=\"Se også %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Publikum: \"/>\n<l:template name=\"MsgLevel\" text=\"Nivå: \"/>\n<l:template name=\"MsgOrig\" text=\"Opphav: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\" lang=\"en\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"January\" lang=\"en\"/>\n<l:template name=\"February\" text=\"February\" lang=\"en\"/>\n<l:template name=\"March\" text=\"March\" lang=\"en\"/>\n<l:template name=\"April\" text=\"April\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"June\" text=\"June\" lang=\"en\"/>\n<l:template name=\"July\" text=\"July\" lang=\"en\"/>\n<l:template name=\"August\" text=\"August\" lang=\"en\"/>\n<l:template name=\"September\" text=\"September\" lang=\"en\"/>\n<l:template name=\"October\" text=\"October\" lang=\"en\"/>\n<l:template name=\"November\" text=\"November\" lang=\"en\"/>\n<l:template name=\"December\" text=\"December\" lang=\"en\"/>\n<l:template name=\"Monday\" text=\"Monday\" lang=\"en\"/>\n<l:template name=\"Tuesday\" text=\"Tuesday\" lang=\"en\"/>\n<l:template name=\"Wednesday\" text=\"Wednesday\" lang=\"en\"/>\n<l:template name=\"Thursday\" text=\"Thursday\" lang=\"en\"/>\n<l:template name=\"Friday\" text=\"Friday\" lang=\"en\"/>\n<l:template name=\"Saturday\" text=\"Saturday\" lang=\"en\"/>\n<l:template name=\"Sunday\" text=\"Sunday\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\" lang=\"en\"/>\n<l:template name=\"Feb\" text=\"Feb\" lang=\"en\"/>\n<l:template name=\"Mar\" text=\"Mar\" lang=\"en\"/>\n<l:template name=\"Apr\" text=\"Apr\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"Jun\" text=\"Jun\" lang=\"en\"/>\n<l:template name=\"Jul\" text=\"Jul\" lang=\"en\"/>\n<l:template name=\"Aug\" text=\"Aug\" lang=\"en\"/>\n<l:template name=\"Sep\" text=\"Sep\" lang=\"en\"/>\n<l:template name=\"Oct\" text=\"Oct\" lang=\"en\"/>\n<l:template name=\"Nov\" text=\"Nov\" lang=\"en\"/>\n<l:template name=\"Dec\" text=\"Dec\" lang=\"en\"/>\n<l:template name=\"Mon\" text=\"Mon\" lang=\"en\"/>\n<l:template name=\"Tue\" text=\"Tue\" lang=\"en\"/>\n<l:template name=\"Wed\" text=\"Wed\" lang=\"en\"/>\n<l:template name=\"Thu\" text=\"Thu\" lang=\"en\"/>\n<l:template name=\"Fri\" text=\"Fri\" lang=\"en\"/>\n<l:template name=\"Sat\" text=\"Sat\" lang=\"en\"/>\n<l:template name=\"Sun\" text=\"Sun\" lang=\"en\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0414 Norwegian Bokmål\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters lang=\"en\"><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/nds.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"nds\" english-language-name=\"Low German\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/nds.xml -->\n<!-- * -->\n<!-- * E-mail the edited nds.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Tosammenfaten\"/>\n<l:gentext key=\"abstract\" text=\"Tosammenfaten\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Danksagungen\"/>\n<l:gentext key=\"acknowledgements\" text=\"Danksagungen\"/>\n<l:gentext key=\"Answer\" text=\"A:\"/>\n<l:gentext key=\"answer\" text=\"a:\"/>\n<l:gentext key=\"Appendix\" text=\"Anhang\"/>\n<l:gentext key=\"appendix\" text=\"Anhang\"/>\n<l:gentext key=\"Article\" text=\"Artikel\"/>\n<l:gentext key=\"article\" text=\"Artikel\"/>\n<l:gentext key=\"Author\" text=\"Schriever\"/>\n<l:gentext key=\"Bibliography\" text=\"Literaturverteeknis\"/>\n<l:gentext key=\"bibliography\" text=\"Literaturverteeknis\"/>\n<l:gentext key=\"Book\" text=\"Book\"/>\n<l:gentext key=\"book\" text=\"Book\"/>\n<l:gentext key=\"CAUTION\" text=\"ACHTUNG\"/>\n<l:gentext key=\"Caution\" text=\"Achtung\"/>\n<l:gentext key=\"caution\" text=\"Achtung\"/>\n<l:gentext key=\"Chapter\" text=\"Kapitel\"/>\n<l:gentext key=\"chapter\" text=\"Kapitel\"/>\n<l:gentext key=\"Colophon\" text=\"Kolophon\"/>\n<l:gentext key=\"colophon\" text=\"Kolophon\"/>\n<l:gentext key=\"Copyright\" text=\"Koperschood\"/>\n<l:gentext key=\"copyright\" text=\"Koperschood\"/>\n<l:gentext key=\"Dedication\" text=\"Widmung\"/>\n<l:gentext key=\"dedication\" text=\"Widmung\"/>\n<l:gentext key=\"Edition\" text=\"Utgav\"/>\n<l:gentext key=\"edition\" text=\"Utgav\"/>\n<l:gentext key=\"Editor\" text=\"Bewarker\"/>\n<l:gentext key=\"Equation\" text=\"Glieken\"/>\n<l:gentext key=\"equation\" text=\"Glieken\"/>\n<l:gentext key=\"Example\" text=\"Bispeel\"/>\n<l:gentext key=\"example\" text=\"Bispeel\"/>\n<l:gentext key=\"Figure\" text=\"Avbillen\"/>\n<l:gentext key=\"figure\" text=\"Avbillen\"/>\n<l:gentext key=\"Glossary\" text=\"Glossar\"/>\n<l:gentext key=\"glossary\" text=\"Glossar\"/>\n<l:gentext key=\"GlossSee\" text=\"Kiek\"/>\n<l:gentext key=\"glosssee\" text=\"kiek\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Kiek ook\"/>\n<l:gentext key=\"glossseealso\" text=\"kiek ook\"/>\n<l:gentext key=\"IMPORTANT\" text=\"WICHTIG\"/>\n<l:gentext key=\"important\" text=\"Wichtig\"/>\n<l:gentext key=\"Important\" text=\"Wichtig\"/>\n<l:gentext key=\"Index\" text=\"Index\"/>\n<l:gentext key=\"index\" text=\"Index\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Rechtlicher Henwies\"/>\n<l:gentext key=\"legalnotice\" text=\"rechtlicher Henwies\"/>\n<l:gentext key=\"MsgAud\" text=\"Täälgrupp\"/>\n<l:gentext key=\"msgaud\" text=\"Täälgrupp\"/>\n<l:gentext key=\"MsgLevel\" text=\"Ebene\"/>\n<l:gentext key=\"msglevel\" text=\"Ebene\"/>\n<l:gentext key=\"MsgOrig\" text=\"Ursprung\"/>\n<l:gentext key=\"msgorig\" text=\"Ursprung\"/>\n<l:gentext key=\"NOTE\" text=\"NOTIZ\"/>\n<l:gentext key=\"Note\" text=\"Notiz\"/>\n<l:gentext key=\"note\" text=\"Notiz\"/>\n<l:gentext key=\"Part\" text=\"Deel\"/>\n<l:gentext key=\"part\" text=\"Deel\"/>\n<l:gentext key=\"Preface\" text=\"Vorwoord\"/>\n<l:gentext key=\"preface\" text=\"Vorwoord\"/>\n<l:gentext key=\"Procedure\" text=\"Prozedur\"/>\n<l:gentext key=\"procedure\" text=\"Prozedur\"/>\n<l:gentext key=\"ProductionSet\" text=\"Produktschoon\"/>\n<l:gentext key=\"PubDate\" text=\"Veröpenlichendag\"/>\n<l:gentext key=\"pubdate\" text=\"Veröpenlichendag\"/>\n<l:gentext key=\"Published\" text=\"Veröpenlicht\"/>\n<l:gentext key=\"published\" text=\"Veröpenlicht\"/>\n<l:gentext key=\"Publisher\" text=\"Veröpenlicher\"/>\n<l:gentext key=\"Qandadiv\" text=\"F &amp; A\"/>\n<l:gentext key=\"qandadiv\" text=\"F &amp; A\"/>\n<l:gentext key=\"QandASet\" text=\"Oft stellte Fragen\"/>\n<l:gentext key=\"Question\" text=\"F:\"/>\n<l:gentext key=\"question\" text=\"F:\"/>\n<l:gentext key=\"RefEntry\" text=\"Siet\"/>\n<l:gentext key=\"refentry\" text=\"Siet\"/>\n<l:gentext key=\"Reference\" text=\"Verwies\"/>\n<l:gentext key=\"reference\" text=\"Verwies\"/>\n<l:gentext key=\"References\" text=\"Verwiese\"/>\n<l:gentext key=\"RefName\" text=\"Naam\"/>\n<l:gentext key=\"refname\" text=\"Naam\"/>\n<l:gentext key=\"RefSection\" text=\"Rebeet\"/>\n<l:gentext key=\"refsection\" text=\"Rebeet\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Synopsis\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Synopsis\"/>\n<l:gentext key=\"RevHistory\" text=\"Verschoonshistorie\"/>\n<l:gentext key=\"revhistory\" text=\"Verschoonshistorie\"/>\n<l:gentext key=\"revision\" text=\"Verschoon\"/>\n<l:gentext key=\"Revision\" text=\"Verschoon\"/>\n<l:gentext key=\"sect1\" text=\"Rebeet\"/>\n<l:gentext key=\"sect2\" text=\"Rebeet\"/>\n<l:gentext key=\"sect3\" text=\"Rebeet\"/>\n<l:gentext key=\"sect4\" text=\"Rebeet\"/>\n<l:gentext key=\"sect5\" text=\"Rebeet\"/>\n<l:gentext key=\"section\" text=\"Rebeet\"/>\n<l:gentext key=\"Section\" text=\"Rebeet\"/>\n<l:gentext key=\"see\" text=\"kiek\"/>\n<l:gentext key=\"See\" text=\"Kiek\"/>\n<l:gentext key=\"seealso\" text=\"kiek ook\"/>\n<l:gentext key=\"Seealso\" text=\"Kiek ook\"/>\n<l:gentext key=\"SeeAlso\" text=\"Kiek ook\"/>\n<l:gentext key=\"set\" text=\"Satt\"/>\n<l:gentext key=\"Set\" text=\"Satt\"/>\n<l:gentext key=\"setindex\" text=\"Stickwoordverteeknis\"/>\n<l:gentext key=\"SetIndex\" text=\"Stickwoordverteeknis\"/>\n<l:gentext key=\"Sidebar\" text=\"Randnotiz\"/>\n<l:gentext key=\"sidebar\" text=\"Randnotiz\"/>\n<l:gentext key=\"step\" text=\"Schritt\"/>\n<l:gentext key=\"Step\" text=\"Schritt\"/>\n<l:gentext key=\"table\" text=\"Tabell\"/>\n<l:gentext key=\"Table\" text=\"Tabell\"/>\n<l:gentext key=\"task\" text=\"Opgav\"/>\n<l:gentext key=\"Task\" text=\"Opgav\"/>\n<l:gentext key=\"tip\" text=\"Henwies\"/>\n<l:gentext key=\"TIP\" text=\"Henwies\"/>\n<l:gentext key=\"Tip\" text=\"Henwies\"/>\n<l:gentext key=\"Warning\" text=\"Warnung\"/>\n<l:gentext key=\"warning\" text=\"Warnung\"/>\n<l:gentext key=\"WARNING\" text=\"WARNUNG\"/>\n<l:gentext key=\"and\" text=\"un\"/>\n<l:gentext key=\"or\" text=\"or\" lang=\"en\"/>\n<l:gentext key=\"by\" text=\"vun\"/>\n<l:gentext key=\"Edited\" text=\"Bewarkt\"/>\n<l:gentext key=\"edited\" text=\"bewarkt\"/>\n<l:gentext key=\"Editedby\" text=\"Bewarkt vun\"/>\n<l:gentext key=\"editedby\" text=\"bewarkt vun\"/>\n<l:gentext key=\"in\" text=\"in\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Notizen\"/>\n<l:gentext key=\"Notes\" text=\"Notizen\"/>\n<l:gentext key=\"Pgs\" text=\"Sieten\"/>\n<l:gentext key=\"pgs\" text=\"Sieten\"/>\n<l:gentext key=\"Revisedby\" text=\"Ännert vun: \"/>\n<l:gentext key=\"revisedby\" text=\"ännert vun: \"/>\n<l:gentext key=\"TableNotes\" text=\"Notizen\"/>\n<l:gentext key=\"tablenotes\" text=\"Notizen\"/>\n<l:gentext key=\"TableofContents\" text=\"Inholltabell\"/>\n<l:gentext key=\"tableofcontents\" text=\"Inholltabell\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Unerwarteter Elementnaam\"/>\n<l:gentext key=\"unsupported\" text=\"nich unnerstütt\"/>\n<l:gentext key=\"xrefto\" text=\"xref op\"/>\n<l:gentext key=\"Authors\" text=\"Schrievers\"/>\n<l:gentext key=\"copyeditor\" text=\"Korrekteur\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Grafikdesigner\"/>\n<l:gentext key=\"productioneditor\" text=\"Produktschoonsbewarker\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technischer Bewarker\"/>\n<l:gentext key=\"translator\" text=\"Översetter\"/>\n<l:gentext key=\"listofequations\" text=\"Gliekenlist\"/>\n<l:gentext key=\"ListofEquations\" text=\"Gliekenlist\"/>\n<l:gentext key=\"ListofExamples\" text=\"Bispeellist\"/>\n<l:gentext key=\"listofexamples\" text=\"Bispeellist\"/>\n<l:gentext key=\"ListofFigures\" text=\"Avbillenlist\"/>\n<l:gentext key=\"listoffigures\" text=\"Avbillenlist\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Prozedurlist\"/>\n<l:gentext key=\"listofprocedures\" text=\"Prozedurlist\"/>\n<l:gentext key=\"listoftables\" text=\"Tabelllist\"/>\n<l:gentext key=\"ListofTables\" text=\"Tabelllist\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Unbekanntenlist\"/>\n<l:gentext key=\"listofunknown\" text=\"Unbekanntenlist\"/>\n<l:gentext key=\"nav-home\" text=\"Heem\"/>\n<l:gentext key=\"nav-next\" text=\"Nähster\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Foorts nah vorn\"/>\n<l:gentext key=\"nav-prev\" text=\"Voriger\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Foorts torügg\"/>\n<l:gentext key=\"nav-up\" text=\"Op\"/>\n<l:gentext key=\"nav-toc\" text=\"ToC\"/>\n<l:gentext key=\"Draft\" text=\"Entwurf\"/>\n<l:gentext key=\"above\" text=\"över\"/>\n<l:gentext key=\"below\" text=\"unner\"/>\n<l:gentext key=\"sectioncalled\" text=\"avröpter Rebeet\"/>\n<l:gentext key=\"index symbols\" text=\"Symbole\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyzäöüß\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜß\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Anhang %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Kapitel %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Glieken %n. %t\"/>\n<l:template name=\"example\" text=\"Bispeel %n. %t\"/>\n<l:template name=\"figure\" text=\"Avbillen %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Deel %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Prozedur %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Produktschoon %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabell %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Anhang %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Kapitel %n. %t\"/>\n<l:template name=\"part\" text=\"Deel %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"A: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"F: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"F: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"avröpter Rebeet “%t”\"/>\n<l:template name=\"refsection\" text=\"avröpter Rebeet “%t”\"/>\n<l:template name=\"refsect1\" text=\"avröpter Rebeet “%t”\"/>\n<l:template name=\"refsect2\" text=\"avröpter Rebeet “%t”\"/>\n<l:template name=\"refsect3\" text=\"avröpter Rebeet “%t”\"/>\n<l:template name=\"sect1\" text=\"avröpter Rebeet “%t”\"/>\n<l:template name=\"sect2\" text=\"avröpter Rebeet “%t”\"/>\n<l:template name=\"sect3\" text=\"avröpter Rebeet “%t”\"/>\n<l:template name=\"sect4\" text=\"avröpter Rebeet “%t”\"/>\n<l:template name=\"sect5\" text=\"avröpter Rebeet “%t”\"/>\n<l:template name=\"section\" text=\"avröpter Rebeet “%t”\"/>\n<l:template name=\"simplesect\" text=\"avröpter Rebeet “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"A: %n\"/>\n<l:template name=\"appendix\" text=\"Anhang %n\"/>\n<l:template name=\"bridgehead\" text=\"Rebeet %n\"/>\n<l:template name=\"chapter\" text=\"Kapitel %n\"/>\n<l:template name=\"equation\" text=\"Glieken %n\"/>\n<l:template name=\"example\" text=\"Bispeel %n\"/>\n<l:template name=\"figure\" text=\"Avbillen %n\"/>\n<l:template name=\"part\" text=\"Deel %n\"/>\n<l:template name=\"procedure\" text=\"Prozedur %n\"/>\n<l:template name=\"productionset\" text=\"Produktschoon %n\"/>\n<l:template name=\"qandadiv\" text=\"F &amp; A %n\"/>\n<l:template name=\"qandaentry\" text=\"F: %n\"/>\n<l:template name=\"question\" text=\"F: %n\"/>\n<l:template name=\"sect1\" text=\"Rebeet %n\"/>\n<l:template name=\"sect2\" text=\"Rebeet %n\"/>\n<l:template name=\"sect3\" text=\"Rebeet %n\"/>\n<l:template name=\"sect4\" text=\"Rebeet %n\"/>\n<l:template name=\"sect5\" text=\"Rebeet %n\"/>\n<l:template name=\"section\" text=\"Rebeet %n\"/>\n<l:template name=\"table\" text=\"Tabell %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Anhang %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Rebeet %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Kapitel %n, %t\"/>\n<l:template name=\"equation\" text=\"Glieken %n, “%t”\"/>\n<l:template name=\"example\" text=\"Bispeel %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Avbillen %n, “%t”\"/>\n<l:template name=\"part\" text=\"Deel %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Prozedur %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Produktschoon %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"F &amp; A %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"avröpter Rebeet “%t”\"/>\n<l:template name=\"refsect2\" text=\"avröpter Rebeet “%t”\"/>\n<l:template name=\"refsect3\" text=\"avröpter Rebeet “%t”\"/>\n<l:template name=\"refsection\" text=\"avröpter Rebeet “%t”\"/>\n<l:template name=\"sect1\" text=\"Rebeet %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Rebeet %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Rebeet %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Rebeet %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Rebeet %n, “%t”\"/>\n<l:template name=\"section\" text=\"Rebeet %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"avröpter Rebeet “%t”\"/>\n<l:template name=\"table\" text=\"Tabell %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" un \"/>\n<l:template name=\"seplast\" text=\", un \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Kiek %t.\"/>\n<l:template name=\"seealso\" text=\"Kiek ook %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Täälgrupp: \"/>\n<l:template name=\"MsgLevel\" text=\"Ebene: \"/>\n<l:template name=\"MsgOrig\" text=\"Ursprung: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definitschoon: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Januar\"/>\n<l:template name=\"February\" text=\"Februar\"/>\n<l:template name=\"March\" text=\"März\"/>\n<l:template name=\"April\" text=\"April\"/>\n<l:template name=\"May\" text=\"Mai\"/>\n<l:template name=\"June\" text=\"Juni\"/>\n<l:template name=\"July\" text=\"Juli\"/>\n<l:template name=\"August\" text=\"August\"/>\n<l:template name=\"September\" text=\"September\"/>\n<l:template name=\"October\" text=\"Oktober\"/>\n<l:template name=\"November\" text=\"November\"/>\n<l:template name=\"December\" text=\"Dezember\"/>\n<l:template name=\"Monday\" text=\"Mondag\"/>\n<l:template name=\"Tuesday\" text=\"Deensdag\"/>\n<l:template name=\"Wednesday\" text=\"Middeweeken\"/>\n<l:template name=\"Thursday\" text=\"Dünnersdag\"/>\n<l:template name=\"Friday\" text=\"Friedag\"/>\n<l:template name=\"Saturday\" text=\"Sünnavend\"/>\n<l:template name=\"Sunday\" text=\"Sünndag\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\"/>\n<l:template name=\"Feb\" text=\"Feb\"/>\n<l:template name=\"Mar\" text=\"Mär\"/>\n<l:template name=\"Apr\" text=\"Apr\"/>\n<l:template name=\"May\" text=\"Mai\"/>\n<l:template name=\"Jun\" text=\"Jun\"/>\n<l:template name=\"Jul\" text=\"Jul\"/>\n<l:template name=\"Aug\" text=\"Aug\"/>\n<l:template name=\"Sep\" text=\"Sep\"/>\n<l:template name=\"Oct\" text=\"Okt\"/>\n<l:template name=\"Nov\" text=\"Nov\"/>\n<l:template name=\"Dec\" text=\"Dez\"/>\n<l:template name=\"Mon\" text=\"Mon\"/>\n<l:template name=\"Tue\" text=\"Dee\"/>\n<l:template name=\"Wed\" text=\"Mid\"/>\n<l:template name=\"Thu\" text=\"Dün\"/>\n<l:template name=\"Fri\" text=\"Fri\"/>\n<l:template name=\"Sat\" text=\"Svd\"/>\n<l:template name=\"Sun\" text=\"Sün\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0409 English (UNITED STATES)\" lang=\"en\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbole</l:l>\n<l:l i=\"1\">A</l:l>\n<l:l i=\"1\">a</l:l>\n<l:l i=\"1\">Ä</l:l>\n<l:l i=\"1\">ä</l:l>\n<l:l i=\"2\">B</l:l>\n<l:l i=\"2\">b</l:l>\n<l:l i=\"3\">C</l:l>\n<l:l i=\"3\">c</l:l>\n<l:l i=\"4\">D</l:l>\n<l:l i=\"4\">d</l:l>\n<l:l i=\"5\">E</l:l>\n<l:l i=\"5\">e</l:l>\n<l:l i=\"6\">F</l:l>\n<l:l i=\"6\">f</l:l>\n<l:l i=\"7\">G</l:l>\n<l:l i=\"7\">g</l:l>\n<l:l i=\"8\">H</l:l>\n<l:l i=\"8\">h</l:l>\n<l:l i=\"9\">I</l:l>\n<l:l i=\"9\">i</l:l>\n<l:l i=\"10\">J</l:l>\n<l:l i=\"10\">j</l:l>\n<l:l i=\"11\">K</l:l>\n<l:l i=\"11\">k</l:l>\n<l:l i=\"12\">L</l:l>\n<l:l i=\"12\">l</l:l>\n<l:l i=\"13\">M</l:l>\n<l:l i=\"13\">m</l:l>\n<l:l i=\"14\">N</l:l>\n<l:l i=\"14\">n</l:l>\n<l:l i=\"15\">O</l:l>\n<l:l i=\"15\">o</l:l>\n<l:l i=\"15\">Ö</l:l>\n<l:l i=\"15\">ö</l:l>\n<l:l i=\"16\">P</l:l>\n<l:l i=\"16\">p</l:l>\n<l:l i=\"17\">Q</l:l>\n<l:l i=\"17\">q</l:l>\n<l:l i=\"18\">R</l:l>\n<l:l i=\"18\">r</l:l>\n<l:l i=\"19\">S</l:l>\n<l:l i=\"19\">s</l:l>\n<l:l i=\"20\">T</l:l>\n<l:l i=\"20\">t</l:l>\n<l:l i=\"21\">U</l:l>\n<l:l i=\"21\">u</l:l>\n<l:l i=\"21\">Ü</l:l>\n<l:l i=\"21\">ü</l:l>\n<l:l i=\"22\">V</l:l>\n<l:l i=\"22\">v</l:l>\n<l:l i=\"23\">W</l:l>\n<l:l i=\"23\">w</l:l>\n<l:l i=\"24\">X</l:l>\n<l:l i=\"24\">x</l:l>\n<l:l i=\"25\">Y</l:l>\n<l:l i=\"25\">y</l:l>\n<l:l i=\"26\">Z</l:l>\n<l:l i=\"26\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/nl.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"nl\" english-language-name=\"Dutch\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/nl.xml -->\n<!-- * -->\n<!-- * E-mail the edited nl.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Samenvatting\"/>\n<l:gentext key=\"abstract\" text=\"samenvatting\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Erkenning\"/>\n<l:gentext key=\"acknowledgements\" text=\"erkenning\"/>\n<l:gentext key=\"Answer\" text=\"Antwoord:\"/>\n<l:gentext key=\"answer\" text=\"antwoord:\"/>\n<l:gentext key=\"Appendix\" text=\"Bijlage\"/>\n<l:gentext key=\"appendix\" text=\"bijlage\"/>\n<l:gentext key=\"Article\" text=\"Artikel\"/>\n<l:gentext key=\"article\" text=\"artikel\"/>\n<l:gentext key=\"Author\" text=\"Auteur\"/>\n<l:gentext key=\"Bibliography\" text=\"Literatuurlijst\"/>\n<l:gentext key=\"bibliography\" text=\"literatuurlijst\"/>\n<l:gentext key=\"Book\" text=\"Boek\"/>\n<l:gentext key=\"book\" text=\"boek\"/>\n<l:gentext key=\"CAUTION\" text=\"LET OP\"/>\n<l:gentext key=\"Caution\" text=\"Let op\"/>\n<l:gentext key=\"caution\" text=\"let op\"/>\n<l:gentext key=\"Chapter\" text=\"Hoofdstuk\"/>\n<l:gentext key=\"chapter\" text=\"hoofdstuk\"/>\n<l:gentext key=\"Colophon\" text=\"Colofon\"/>\n<l:gentext key=\"colophon\" text=\"colofon\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"copyright\"/>\n<l:gentext key=\"Dedication\" text=\"Opdracht\"/>\n<l:gentext key=\"dedication\" text=\"opdracht\"/>\n<l:gentext key=\"Edition\" text=\"Uitgave\"/>\n<l:gentext key=\"edition\" text=\"uitgave\"/>\n<l:gentext key=\"Editor\" text=\"Redacteur\"/>\n<l:gentext key=\"Equation\" text=\"Vergelijking\"/>\n<l:gentext key=\"equation\" text=\"vergelijking\"/>\n<l:gentext key=\"Example\" text=\"Voorbeeld\"/>\n<l:gentext key=\"example\" text=\"voorbeeld\"/>\n<l:gentext key=\"Figure\" text=\"Afbeelding\"/>\n<l:gentext key=\"figure\" text=\"afbeelding\"/>\n<l:gentext key=\"Glossary\" text=\"Woordenlijst\"/>\n<l:gentext key=\"glossary\" text=\"woordenlijst\"/>\n<l:gentext key=\"GlossSee\" text=\"Zie\"/>\n<l:gentext key=\"glosssee\" text=\"zie\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Zie ook\"/>\n<l:gentext key=\"glossseealso\" text=\"zie ook\"/>\n<l:gentext key=\"IMPORTANT\" text=\"BELANGRIJK\"/>\n<l:gentext key=\"important\" text=\"Belangrijk\"/>\n<l:gentext key=\"Important\" text=\"Belangrijk\"/>\n<l:gentext key=\"Index\" text=\"Register\"/>\n<l:gentext key=\"index\" text=\"Register\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"isbn\"/>\n<l:gentext key=\"LegalNotice\" text=\"Juridische kennisgeving\"/>\n<l:gentext key=\"legalnotice\" text=\"juridische kennisgeving\"/>\n<l:gentext key=\"MsgAud\" text=\"Doelgroep\"/>\n<l:gentext key=\"msgaud\" text=\"doelgroep\"/>\n<l:gentext key=\"MsgLevel\" text=\"Niveau\"/>\n<l:gentext key=\"msglevel\" text=\"niveau\"/>\n<l:gentext key=\"MsgOrig\" text=\"Herkomst\"/>\n<l:gentext key=\"msgorig\" text=\"herkomst\"/>\n<l:gentext key=\"NOTE\" text=\"OPMERKING\"/>\n<l:gentext key=\"Note\" text=\"Opmerking\"/>\n<l:gentext key=\"note\" text=\"opmerking\"/>\n<l:gentext key=\"Part\" text=\"Deel\"/>\n<l:gentext key=\"part\" text=\"deel\"/>\n<l:gentext key=\"Preface\" text=\"Voorwoord\"/>\n<l:gentext key=\"preface\" text=\"voorwoord\"/>\n<l:gentext key=\"Procedure\" text=\"Procedure\"/>\n<l:gentext key=\"procedure\" text=\"procedure\"/>\n<l:gentext key=\"ProductionSet\" text=\"Productie\"/>\n<l:gentext key=\"PubDate\" text=\"Publicatie datum\"/>\n<l:gentext key=\"pubdate\" text=\"publicatie datum\"/>\n<l:gentext key=\"Published\" text=\"Uitgegeven\"/>\n<l:gentext key=\"published\" text=\"uitgegeven\"/>\n<l:gentext key=\"Publisher\" text=\"Uitgever\"/>\n<l:gentext key=\"Qandadiv\" text=\"Vraag en antwoord\"/>\n<l:gentext key=\"qandadiv\" text=\"vraag en antwoord\"/>\n<l:gentext key=\"QandASet\" text=\"Vaak gestelde vragen\"/>\n<l:gentext key=\"Question\" text=\"Vraag:\"/>\n<l:gentext key=\"question\" text=\"vraag:\"/>\n<l:gentext key=\"RefEntry\" text=\"Pagina\"/>\n<l:gentext key=\"refentry\" text=\"pagina\"/>\n<l:gentext key=\"Reference\" text=\"Referentie\"/>\n<l:gentext key=\"reference\" text=\"referentie\"/>\n<l:gentext key=\"References\" text=\"Referenties\"/>\n<l:gentext key=\"RefName\" text=\"Name\"/>\n<l:gentext key=\"refname\" text=\"name\"/>\n<l:gentext key=\"RefSection\" text=\"Paragraaf\"/>\n<l:gentext key=\"refsection\" text=\"paragraaf\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Samenvatting\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"samenvatting\"/>\n<l:gentext key=\"RevHistory\" text=\"Wijzigingsgeschiedenis\"/>\n<l:gentext key=\"revhistory\" text=\"wijzigingsgeschiedenis\"/>\n<l:gentext key=\"revision\" text=\"herziening\"/>\n<l:gentext key=\"Revision\" text=\"Herziening\"/>\n<l:gentext key=\"sect1\" text=\"Paragraaf\"/>\n<l:gentext key=\"sect2\" text=\"Paragraaf\"/>\n<l:gentext key=\"sect3\" text=\"Paragraaf\"/>\n<l:gentext key=\"sect4\" text=\"Paragraaf\"/>\n<l:gentext key=\"sect5\" text=\"Paragraaf\"/>\n<l:gentext key=\"section\" text=\"paragraaf\"/>\n<l:gentext key=\"Section\" text=\"Paragraaf\"/>\n<l:gentext key=\"see\" text=\"zie\"/>\n<l:gentext key=\"See\" text=\"Zie\"/>\n<l:gentext key=\"seealso\" text=\"zie ook\"/>\n<l:gentext key=\"Seealso\" text=\"Zie ook\"/>\n<l:gentext key=\"SeeAlso\" text=\"Zie ook\"/>\n<l:gentext key=\"set\" text=\"verzameling\"/>\n<l:gentext key=\"Set\" text=\"Verzameling\"/>\n<l:gentext key=\"setindex\" text=\"hoofdregister\"/>\n<l:gentext key=\"SetIndex\" text=\"Hoofdregister\"/>\n<l:gentext key=\"Sidebar\" text=\"Zijbalk\"/>\n<l:gentext key=\"sidebar\" text=\"zijbalk\"/>\n<l:gentext key=\"step\" text=\"stap\"/>\n<l:gentext key=\"Step\" text=\"Stap\"/>\n<l:gentext key=\"table\" text=\"tabel\"/>\n<l:gentext key=\"Table\" text=\"Tabel\"/>\n<l:gentext key=\"task\" text=\"taap\"/>\n<l:gentext key=\"Task\" text=\"Taap\"/>\n<l:gentext key=\"tip\" text=\"tip\"/>\n<l:gentext key=\"TIP\" text=\"TIP\"/>\n<l:gentext key=\"Tip\" text=\"Tip\"/>\n<l:gentext key=\"Warning\" text=\"Waarschuwing\"/>\n<l:gentext key=\"warning\" text=\"waarschuwing\"/>\n<l:gentext key=\"WARNING\" text=\"WAARSCHUWING\"/>\n<l:gentext key=\"and\" text=\"en\"/>\n<l:gentext key=\"or\" text=\"of\"/>\n<l:gentext key=\"by\" text=\"door\"/>\n<l:gentext key=\"Edited\" text=\"Redactie\"/>\n<l:gentext key=\"edited\" text=\"redactie\"/>\n<l:gentext key=\"Editedby\" text=\"Onder redactie van\"/>\n<l:gentext key=\"editedby\" text=\"onder redactie van\"/>\n<l:gentext key=\"in\" text=\"in\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"opmerkingen\"/>\n<l:gentext key=\"Notes\" text=\"Opmerkingen\"/>\n<l:gentext key=\"Pgs\" text=\"Blz.\"/>\n<l:gentext key=\"pgs\" text=\"blz.\"/>\n<l:gentext key=\"Revisedby\" text=\"Herzien door: \"/>\n<l:gentext key=\"revisedby\" text=\"Herzien door: \"/>\n<l:gentext key=\"TableNotes\" text=\"Opmerkingen\"/>\n<l:gentext key=\"tablenotes\" text=\"opmerkingen\"/>\n<l:gentext key=\"TableofContents\" text=\"Inhoudsopgave\"/>\n<l:gentext key=\"tableofcontents\" text=\"inhoudsopgave\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Onverwachte element naam\"/>\n<l:gentext key=\"unsupported\" text=\"niet ondersteund\"/>\n<l:gentext key=\"xrefto\" text=\"xref naar\"/>\n<l:gentext key=\"Authors\" text=\"Auteurs\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy redacteur\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Grafisch ontwerper\"/>\n<l:gentext key=\"productioneditor\" text=\"Productie redacteur\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technische redacteur\"/>\n<l:gentext key=\"translator\" text=\"Vertaler\"/>\n<l:gentext key=\"listofequations\" text=\"lijst van vergelijkingen\"/>\n<l:gentext key=\"ListofEquations\" text=\"Lijst van vergelijkingen\"/>\n<l:gentext key=\"ListofExamples\" text=\"Lijst van voorbeelden\"/>\n<l:gentext key=\"listofexamples\" text=\"lijst van voorbeelden\"/>\n<l:gentext key=\"ListofFigures\" text=\"Lijst van afbeeldingen\"/>\n<l:gentext key=\"listoffigures\" text=\"lijst van afbeeldingen\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Lijst van procedures\"/>\n<l:gentext key=\"listofprocedures\" text=\"lijst van procedures\"/>\n<l:gentext key=\"listoftables\" text=\"lijst van tabellen\"/>\n<l:gentext key=\"ListofTables\" text=\"Lijst van tabellen\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Lijst van onbekenden\"/>\n<l:gentext key=\"listofunknown\" text=\"lijst van onbekenden\"/>\n<l:gentext key=\"nav-home\" text=\"Begin\"/>\n<l:gentext key=\"nav-next\" text=\"Volgende\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Snel vooruit\"/>\n<l:gentext key=\"nav-prev\" text=\"Terug\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Snel terug\"/>\n<l:gentext key=\"nav-up\" text=\"Omhoog\"/>\n<l:gentext key=\"nav-toc\" text=\"Inhoudsopgave\"/>\n<l:gentext key=\"Draft\" text=\"Ontwerp\"/>\n<l:gentext key=\"above\" text=\"boven\"/>\n<l:gentext key=\"below\" text=\"onder\"/>\n<l:gentext key=\"sectioncalled\" text=\"de paragraaf met de naam\"/>\n<l:gentext key=\"index symbols\" text=\"Symbolen\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyzëïé\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZËÏÉ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Bijlage %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Hoofdstuk %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Vergelijking %n. %t\"/>\n<l:template name=\"example\" text=\"Voorbeeld %n. %t\"/>\n<l:template name=\"figure\" text=\"Afbeelding %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Deel %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Procedure %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Productie %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabel %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Bijlage %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Hoofdstuk %n. %t\"/>\n<l:template name=\"part\" text=\"Deel %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"Antwoord: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Vraag: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Vraag: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"de paragraaf met de naam “%t”\"/>\n<l:template name=\"refsection\" text=\"de paragraaf met de naam “%t”\"/>\n<l:template name=\"refsect1\" text=\"de paragraaf met de naam “%t”\"/>\n<l:template name=\"refsect2\" text=\"de paragraaf met de naam “%t”\"/>\n<l:template name=\"refsect3\" text=\"de paragraaf met de naam “%t”\"/>\n<l:template name=\"sect1\" text=\"de paragraaf met de naam “%t”\"/>\n<l:template name=\"sect2\" text=\"de paragraaf met de naam “%t”\"/>\n<l:template name=\"sect3\" text=\"de paragraaf met de naam “%t”\"/>\n<l:template name=\"sect4\" text=\"de paragraaf met de naam “%t”\"/>\n<l:template name=\"sect5\" text=\"de paragraaf met de naam “%t”\"/>\n<l:template name=\"section\" text=\"de paragraaf met de naam “%t”\"/>\n<l:template name=\"simplesect\" text=\"de paragraaf met de naam “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Antwoord: %n\"/>\n<l:template name=\"appendix\" text=\"Bijlage %n\"/>\n<l:template name=\"bridgehead\" text=\"Paragraaf %n\"/>\n<l:template name=\"chapter\" text=\"Hoofdstuk %n\"/>\n<l:template name=\"equation\" text=\"Vergelijking %n\"/>\n<l:template name=\"example\" text=\"Voorbeeld %n\"/>\n<l:template name=\"figure\" text=\"Afbeelding %n\"/>\n<l:template name=\"part\" text=\"Deel %n\"/>\n<l:template name=\"procedure\" text=\"Procedure %n\"/>\n<l:template name=\"productionset\" text=\"Productie %n\"/>\n<l:template name=\"qandadiv\" text=\"Vraag en antwoord %n\"/>\n<l:template name=\"qandaentry\" text=\"Vraag: %n\"/>\n<l:template name=\"question\" text=\"Vraag: %n\"/>\n<l:template name=\"sect1\" text=\"Paragraaf %n\"/>\n<l:template name=\"sect2\" text=\"Paragraaf %n\"/>\n<l:template name=\"sect3\" text=\"Paragraaf %n\"/>\n<l:template name=\"sect4\" text=\"Paragraaf %n\"/>\n<l:template name=\"sect5\" text=\"Paragraaf %n\"/>\n<l:template name=\"section\" text=\"Paragraaf %n\"/>\n<l:template name=\"table\" text=\"Tabel %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Bijlage %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Paragraaf %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Hoofdstuk %n, %t\"/>\n<l:template name=\"equation\" text=\"Vergelijking %n, “%t”\"/>\n<l:template name=\"example\" text=\"Voorbeeld %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Afbeelding %n, “%t”\"/>\n<l:template name=\"part\" text=\"Deel %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Procedure %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Productie %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"Vraag en antwoord %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"de paragraaf met de naam “%t”\"/>\n<l:template name=\"refsect2\" text=\"de paragraaf met de naam “%t”\"/>\n<l:template name=\"refsect3\" text=\"de paragraaf met de naam “%t”\"/>\n<l:template name=\"refsection\" text=\"de paragraaf met de naam “%t”\"/>\n<l:template name=\"sect1\" text=\"Paragraaf %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Paragraaf %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Paragraaf %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Paragraaf %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Paragraaf %n, “%t”\"/>\n<l:template name=\"section\" text=\"Paragraaf %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"de paragraaf met de naam “%t”\"/>\n<l:template name=\"table\" text=\"Tabel %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" en \"/>\n<l:template name=\"seplast\" text=\", en \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Zie %t.\"/>\n<l:template name=\"seealso\" text=\"Zie ook %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Doelgroep: \"/>\n<l:template name=\"MsgLevel\" text=\"Niveau: \"/>\n<l:template name=\"MsgOrig\" text=\"Herkomst: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definitie: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"januari\"/>\n<l:template name=\"February\" text=\"februari\"/>\n<l:template name=\"March\" text=\"maart\"/>\n<l:template name=\"April\" text=\"april\"/>\n<l:template name=\"May\" text=\"mei\"/>\n<l:template name=\"June\" text=\"juni\"/>\n<l:template name=\"July\" text=\"juli\"/>\n<l:template name=\"August\" text=\"augustus\"/>\n<l:template name=\"September\" text=\"september\"/>\n<l:template name=\"October\" text=\"october\"/>\n<l:template name=\"November\" text=\"november\"/>\n<l:template name=\"December\" text=\"december\"/>\n<l:template name=\"Monday\" text=\"maandag\"/>\n<l:template name=\"Tuesday\" text=\"dinsdag\"/>\n<l:template name=\"Wednesday\" text=\"woensdag\"/>\n<l:template name=\"Thursday\" text=\"donderdag\"/>\n<l:template name=\"Friday\" text=\"vrijdag\"/>\n<l:template name=\"Saturday\" text=\"zaterdag\"/>\n<l:template name=\"Sunday\" text=\"zondag\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"jan\"/>\n<l:template name=\"Feb\" text=\"feb\"/>\n<l:template name=\"Mar\" text=\"maa\"/>\n<l:template name=\"Apr\" text=\"apr\"/>\n<l:template name=\"May\" text=\"mei\"/>\n<l:template name=\"Jun\" text=\"jun\"/>\n<l:template name=\"Jul\" text=\"jul\"/>\n<l:template name=\"Aug\" text=\"aug\"/>\n<l:template name=\"Sep\" text=\"sep\"/>\n<l:template name=\"Oct\" text=\"oct\"/>\n<l:template name=\"Nov\" text=\"nov\"/>\n<l:template name=\"Dec\" text=\"dec\"/>\n<l:template name=\"Mon\" text=\"maa\"/>\n<l:template name=\"Tue\" text=\"din\"/>\n<l:template name=\"Wed\" text=\"woe\"/>\n<l:template name=\"Thu\" text=\"don\"/>\n<l:template name=\"Fri\" text=\"vrij\"/>\n<l:template name=\"Sat\" text=\"zat\"/>\n<l:template name=\"Sun\" text=\"zon\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0413 Dutch\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbolen</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/nn.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"nn\" english-language-name=\"Norwegian Nynorsk\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/nn.xml -->\n<!-- * -->\n<!-- * E-mail the edited nn.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Samandrag\"/>\n<l:gentext key=\"abstract\" text=\"Samandrag\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"Svar\"/>\n<l:gentext key=\"answer\" text=\"svar\"/>\n<l:gentext key=\"Appendix\" text=\"Tillegg\"/>\n<l:gentext key=\"appendix\" text=\"tillegg\"/>\n<l:gentext key=\"Article\" text=\"Artikkel\"/>\n<l:gentext key=\"article\" text=\"artikkel\"/>\n<l:gentext key=\"Author\" text=\"Author\" lang=\"en\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografi\"/>\n<l:gentext key=\"bibliography\" text=\"bibliografi\"/>\n<l:gentext key=\"Book\" text=\"Bok\"/>\n<l:gentext key=\"book\" text=\"bok\"/>\n<l:gentext key=\"CAUTION\" text=\"OBS\"/>\n<l:gentext key=\"Caution\" text=\"Obs\"/>\n<l:gentext key=\"caution\" text=\"OBS\"/>\n<l:gentext key=\"Chapter\" text=\"Kapittel\"/>\n<l:gentext key=\"chapter\" text=\"kapittel\"/>\n<l:gentext key=\"Colophon\" text=\"Kolofon\"/>\n<l:gentext key=\"colophon\" text=\"kolofon\"/>\n<l:gentext key=\"Copyright\" text=\"Opphavsrett\"/>\n<l:gentext key=\"copyright\" text=\"opphavsrett\"/>\n<l:gentext key=\"Dedication\" text=\"Dedikasjon\"/>\n<l:gentext key=\"dedication\" text=\"dedikasjon\"/>\n<l:gentext key=\"Edition\" text=\"Utgåve\"/>\n<l:gentext key=\"edition\" text=\"utgåve\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Formel\"/>\n<l:gentext key=\"equation\" text=\"formel\"/>\n<l:gentext key=\"Example\" text=\"Døme\"/>\n<l:gentext key=\"example\" text=\"døme\"/>\n<l:gentext key=\"Figure\" text=\"Figur\"/>\n<l:gentext key=\"figure\" text=\"figur\"/>\n<l:gentext key=\"Glossary\" text=\"Ordliste\"/>\n<l:gentext key=\"glossary\" text=\"ordliste\"/>\n<l:gentext key=\"GlossSee\" text=\"Sjå\"/>\n<l:gentext key=\"glosssee\" text=\"sjå\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Sjå òg\"/>\n<l:gentext key=\"glossseealso\" text=\"sjå òg\"/>\n<l:gentext key=\"IMPORTANT\" text=\"VIKTIG\"/>\n<l:gentext key=\"important\" text=\"viktig\"/>\n<l:gentext key=\"Important\" text=\"Viktig\"/>\n<l:gentext key=\"Index\" text=\"Register\"/>\n<l:gentext key=\"index\" text=\"register\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"\"/>\n<l:gentext key=\"legalnotice\" text=\"\"/>\n<l:gentext key=\"MsgAud\" text=\"Publikum\"/>\n<l:gentext key=\"msgaud\" text=\"publikum\"/>\n<l:gentext key=\"MsgLevel\" text=\"Nivå\"/>\n<l:gentext key=\"msglevel\" text=\"nivå\"/>\n<l:gentext key=\"MsgOrig\" text=\"Opphav\"/>\n<l:gentext key=\"msgorig\" text=\"Opphav\"/>\n<l:gentext key=\"NOTE\" text=\"NOTAT\"/>\n<l:gentext key=\"Note\" text=\"Notat\"/>\n<l:gentext key=\"note\" text=\"NOTAT\"/>\n<l:gentext key=\"Part\" text=\"Del\"/>\n<l:gentext key=\"part\" text=\"del\"/>\n<l:gentext key=\"Preface\" text=\"Forord\"/>\n<l:gentext key=\"preface\" text=\"forord\"/>\n<l:gentext key=\"Procedure\" text=\"Prosedyre\"/>\n<l:gentext key=\"procedure\" text=\"prosedyre\"/>\n<l:gentext key=\"ProductionSet\" text=\"Production\"/>\n<l:gentext key=\"PubDate\" text=\"Publication Date\" lang=\"en\"/>\n<l:gentext key=\"pubdate\" text=\"Publication date\" lang=\"en\"/>\n<l:gentext key=\"Published\" text=\"Utgitt\"/>\n<l:gentext key=\"published\" text=\"utgitt\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"Spørsmål og Svar\"/>\n<l:gentext key=\"qandadiv\" text=\"Spørsmål og Svar\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"Spørsmål\"/>\n<l:gentext key=\"question\" text=\"spørsmål\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Referanse\"/>\n<l:gentext key=\"reference\" text=\"referanse\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Namn\"/>\n<l:gentext key=\"refname\" text=\"namn\"/>\n<l:gentext key=\"RefSection\" text=\"Del\"/>\n<l:gentext key=\"refsection\" text=\"del\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Oversyn\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"oversyn\"/>\n<l:gentext key=\"RevHistory\" text=\"Revisjonshistorie\"/>\n<l:gentext key=\"revhistory\" text=\"revisjonshistorie\"/>\n<l:gentext key=\"revision\" text=\"revisjon\"/>\n<l:gentext key=\"Revision\" text=\"Revisjon\"/>\n<l:gentext key=\"sect1\" text=\"Section\"/>\n<l:gentext key=\"sect2\" text=\"Section\"/>\n<l:gentext key=\"sect3\" text=\"Section\"/>\n<l:gentext key=\"sect4\" text=\"Section\"/>\n<l:gentext key=\"sect5\" text=\"Section\"/>\n<l:gentext key=\"section\" text=\"del\"/>\n<l:gentext key=\"Section\" text=\"Del\"/>\n<l:gentext key=\"see\" text=\"sjå\"/>\n<l:gentext key=\"See\" text=\"Sjå\"/>\n<l:gentext key=\"seealso\" text=\"sjå òg\"/>\n<l:gentext key=\"Seealso\" text=\"Sjå òg\"/>\n<l:gentext key=\"SeeAlso\" text=\"Sjå òg\"/>\n<l:gentext key=\"set\" text=\"set\"/>\n<l:gentext key=\"Set\" text=\"Set\"/>\n<l:gentext key=\"setindex\" text=\"Indeks\"/>\n<l:gentext key=\"SetIndex\" text=\"Indeks\"/>\n<l:gentext key=\"Sidebar\" text=\"Sidestolpe\"/>\n<l:gentext key=\"sidebar\" text=\"sidestolpe\"/>\n<l:gentext key=\"step\" text=\"steg\"/>\n<l:gentext key=\"Step\" text=\"Steg\"/>\n<l:gentext key=\"table\" text=\"tabell\"/>\n<l:gentext key=\"Table\" text=\"Tabell\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"tips\"/>\n<l:gentext key=\"TIP\" text=\"TIPS\"/>\n<l:gentext key=\"Tip\" text=\"Tips\"/>\n<l:gentext key=\"Warning\" text=\"Åtvaring\"/>\n<l:gentext key=\"warning\" text=\"åtvaring\"/>\n<l:gentext key=\"WARNING\" text=\"ÅTVARING\"/>\n<l:gentext key=\"and\" text=\"og\"/>\n<l:gentext key=\"or\" text=\"or\" lang=\"en\"/>\n<l:gentext key=\"by\" text=\"av\"/>\n<l:gentext key=\"Edited\" text=\"Redigert\"/>\n<l:gentext key=\"edited\" text=\"redigert\"/>\n<l:gentext key=\"Editedby\" text=\"Redigert av\"/>\n<l:gentext key=\"editedby\" text=\"redigert av\"/>\n<l:gentext key=\"in\" text=\"i\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"merknader\"/>\n<l:gentext key=\"Notes\" text=\"Merknader\"/>\n<l:gentext key=\"Pgs\" text=\"Sider\"/>\n<l:gentext key=\"pgs\" text=\"sider\"/>\n<l:gentext key=\"Revisedby\" text=\"Revidert av: \"/>\n<l:gentext key=\"revisedby\" text=\"revidert av: \"/>\n<l:gentext key=\"TableNotes\" text=\"Merknader\"/>\n<l:gentext key=\"tablenotes\" text=\"merknader\"/>\n<l:gentext key=\"TableofContents\" text=\"Innhald\"/>\n<l:gentext key=\"tableofcontents\" text=\"Innhald\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"UVENTA-ELEMENTNAVN\"/>\n<l:gentext key=\"unsupported\" text=\"ikkje støtta\"/>\n<l:gentext key=\"xrefto\" text=\"xref til\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"formeloversikt\"/>\n<l:gentext key=\"ListofEquations\" text=\"Formeloversikt\"/>\n<l:gentext key=\"ListofExamples\" text=\"Dømeoversikt\"/>\n<l:gentext key=\"listofexamples\" text=\"dømeoversikt\"/>\n<l:gentext key=\"ListofFigures\" text=\"Figuroversikt\"/>\n<l:gentext key=\"listoffigures\" text=\"figuroversikt\"/>\n<l:gentext key=\"ListofProcedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listofprocedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listoftables\" text=\"tabelloversikt\"/>\n<l:gentext key=\"ListofTables\" text=\"Tabelloversikt\"/>\n<l:gentext key=\"ListofUnknown\" text=\"???-oversikt\"/>\n<l:gentext key=\"listofunknown\" text=\"???-oversikt\"/>\n<l:gentext key=\"nav-home\" text=\"Heim\"/>\n<l:gentext key=\"nav-next\" text=\"Fram\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Raskt framover\"/>\n<l:gentext key=\"nav-prev\" text=\"Att\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Raskt bakover\"/>\n<l:gentext key=\"nav-up\" text=\"Opp\"/>\n<l:gentext key=\"nav-toc\" text=\"ToC\" lang=\"en\"/>\n<l:gentext key=\"Draft\" text=\"Draft\"/>\n<l:gentext key=\"above\" text=\"above\"/>\n<l:gentext key=\"below\" text=\"below\"/>\n<l:gentext key=\"sectioncalled\" text=\"the section called\"/>\n<l:gentext key=\"index symbols\" text=\"Symbols\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"«\"/>\n<l:dingbat key=\"endquote\" text=\"»\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"“\"/>\n<l:dingbat key=\"nestedendquote\" text=\"”\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Tillegg %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Kapittel %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Formel %n. %t\"/>\n<l:template name=\"example\" text=\"Døme %n. %t\"/>\n<l:template name=\"figure\" text=\"Figur %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Del %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Prosedyre %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Production %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabell %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Tillegg %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Kapittel %n. %t\"/>\n<l:template name=\"part\" text=\"Del %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"Svar %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Spørsmål %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Spørsmål %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"«%t»\"/>\n<l:template name=\"refsection\" text=\"«%t»\"/>\n<l:template name=\"refsect1\" text=\"«%t»\"/>\n<l:template name=\"refsect2\" text=\"«%t»\"/>\n<l:template name=\"refsect3\" text=\"«%t»\"/>\n<l:template name=\"sect1\" text=\"«%t»\"/>\n<l:template name=\"sect2\" text=\"«%t»\"/>\n<l:template name=\"sect3\" text=\"«%t»\"/>\n<l:template name=\"sect4\" text=\"«%t»\"/>\n<l:template name=\"sect5\" text=\"«%t»\"/>\n<l:template name=\"section\" text=\"«%t»\"/>\n<l:template name=\"simplesect\" text=\"«%t»\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Svar %n\"/>\n<l:template name=\"appendix\" text=\"Tillegg %n\"/>\n<l:template name=\"bridgehead\" text=\"Del %n\"/>\n<l:template name=\"chapter\" text=\"Kapittel %n\"/>\n<l:template name=\"equation\" text=\"Formel %n\"/>\n<l:template name=\"example\" text=\"Døme %n\"/>\n<l:template name=\"figure\" text=\"Figur %n\"/>\n<l:template name=\"part\" text=\"Del %n\"/>\n<l:template name=\"procedure\" text=\"Prosedyre %n\"/>\n<l:template name=\"productionset\" text=\"Production %n\"/>\n<l:template name=\"qandadiv\" text=\"Spørsmål og Svar %n\"/>\n<l:template name=\"qandaentry\" text=\"Spørsmål %n\"/>\n<l:template name=\"question\" text=\"Spørsmål %n\"/>\n<l:template name=\"sect1\" text=\"Del %n\"/>\n<l:template name=\"sect2\" text=\"Del %n\"/>\n<l:template name=\"sect3\" text=\"Del %n\"/>\n<l:template name=\"sect4\" text=\"Del %n\"/>\n<l:template name=\"sect5\" text=\"Del %n\"/>\n<l:template name=\"section\" text=\"Del %n\"/>\n<l:template name=\"table\" text=\"Tabell %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Tillegg %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Del %n, «%t»\"/>\n<l:template name=\"chapter\" text=\"Kapittel %n, %t\"/>\n<l:template name=\"equation\" text=\"Formel %n, «%t»\"/>\n<l:template name=\"example\" text=\"Døme %n, «%t»\"/>\n<l:template name=\"figure\" text=\"Figur %n, «%t»\"/>\n<l:template name=\"part\" text=\"Del %n, «%t»\"/>\n<l:template name=\"procedure\" text=\"Prosedyre %n, «%t»\"/>\n<l:template name=\"productionset\" text=\"Production %n, «%t»\"/>\n<l:template name=\"qandadiv\" text=\"Spørsmål og Svar %n, «%t»\"/>\n<l:template name=\"refsect1\" text=\"the section called «%t»\"/>\n<l:template name=\"refsect2\" text=\"the section called «%t»\"/>\n<l:template name=\"refsect3\" text=\"the section called «%t»\"/>\n<l:template name=\"refsection\" text=\"the section called «%t»\"/>\n<l:template name=\"sect1\" text=\"Del %n, «%t»\"/>\n<l:template name=\"sect2\" text=\"Del %n, «%t»\"/>\n<l:template name=\"sect3\" text=\"Del %n, «%t»\"/>\n<l:template name=\"sect4\" text=\"Del %n, «%t»\"/>\n<l:template name=\"sect5\" text=\"Del %n, «%t»\"/>\n<l:template name=\"section\" text=\"Del %n, «%t»\"/>\n<l:template name=\"simplesect\" text=\"the section called «%t»\"/>\n<l:template name=\"table\" text=\"Tabell %n, «%t»\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" og \"/>\n<l:template name=\"seplast\" text=\", og \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Sjå %t.\"/>\n<l:template name=\"seealso\" text=\"Sjå òg %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Publikum: \"/>\n<l:template name=\"MsgLevel\" text=\"Nivå: \"/>\n<l:template name=\"MsgOrig\" text=\"Opphav: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\" lang=\"en\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"January\" lang=\"en\"/>\n<l:template name=\"February\" text=\"February\" lang=\"en\"/>\n<l:template name=\"March\" text=\"March\" lang=\"en\"/>\n<l:template name=\"April\" text=\"April\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"June\" text=\"June\" lang=\"en\"/>\n<l:template name=\"July\" text=\"July\" lang=\"en\"/>\n<l:template name=\"August\" text=\"August\" lang=\"en\"/>\n<l:template name=\"September\" text=\"September\" lang=\"en\"/>\n<l:template name=\"October\" text=\"October\" lang=\"en\"/>\n<l:template name=\"November\" text=\"November\" lang=\"en\"/>\n<l:template name=\"December\" text=\"December\" lang=\"en\"/>\n<l:template name=\"Monday\" text=\"Monday\" lang=\"en\"/>\n<l:template name=\"Tuesday\" text=\"Tuesday\" lang=\"en\"/>\n<l:template name=\"Wednesday\" text=\"Wednesday\" lang=\"en\"/>\n<l:template name=\"Thursday\" text=\"Thursday\" lang=\"en\"/>\n<l:template name=\"Friday\" text=\"Friday\" lang=\"en\"/>\n<l:template name=\"Saturday\" text=\"Saturday\" lang=\"en\"/>\n<l:template name=\"Sunday\" text=\"Sunday\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\" lang=\"en\"/>\n<l:template name=\"Feb\" text=\"Feb\" lang=\"en\"/>\n<l:template name=\"Mar\" text=\"Mar\" lang=\"en\"/>\n<l:template name=\"Apr\" text=\"Apr\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"Jun\" text=\"Jun\" lang=\"en\"/>\n<l:template name=\"Jul\" text=\"Jul\" lang=\"en\"/>\n<l:template name=\"Aug\" text=\"Aug\" lang=\"en\"/>\n<l:template name=\"Sep\" text=\"Sep\" lang=\"en\"/>\n<l:template name=\"Oct\" text=\"Oct\" lang=\"en\"/>\n<l:template name=\"Nov\" text=\"Nov\" lang=\"en\"/>\n<l:template name=\"Dec\" text=\"Dec\" lang=\"en\"/>\n<l:template name=\"Mon\" text=\"Mon\" lang=\"en\"/>\n<l:template name=\"Tue\" text=\"Tue\" lang=\"en\"/>\n<l:template name=\"Wed\" text=\"Wed\" lang=\"en\"/>\n<l:template name=\"Thu\" text=\"Thu\" lang=\"en\"/>\n<l:template name=\"Fri\" text=\"Fri\" lang=\"en\"/>\n<l:template name=\"Sat\" text=\"Sat\" lang=\"en\"/>\n<l:template name=\"Sun\" text=\"Sun\" lang=\"en\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0814 Norwegian (Nynorsk)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters lang=\"en\"><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/olink.xsl",
    "content": "<?xml version=\"1.0\"?>\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: olink.xsl 9650 2012-10-26 18:24:02Z bobstayton $\n     ********************************************************************\n\n     This file is part of the DocBook XSL Stylesheet distribution.\n     See ../README or http://docbook.sf.net/ for copyright\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- Create keys for quickly looking up olink targets -->\n<xsl:key name=\"targetdoc-key\" match=\"document\" use=\"@targetdoc\" />\n<xsl:key name=\"targetptr-key\"  match=\"div|obj\"\n         use=\"concat(ancestor::document/@targetdoc, '/',\n                     @targetptr, '/', ancestor::document/@lang)\" />\n\n<!-- Return filename of database -->\n<xsl:template name=\"select.target.database\">\n  <xsl:param name=\"targetdoc.att\" select=\"''\"/>\n  <xsl:param name=\"targetptr.att\" select=\"''\"/>\n  <xsl:param name=\"olink.lang\" select=\"''\"/>\n\n  <!-- use root's xml:base if exists -->\n  <xsl:variable name=\"xml.base\" select=\"/*/@xml:base\"/>\n\n  <!-- This selection can be customized if needed -->\n  <xsl:variable name=\"target.database.filename\">\n    <xsl:choose>\n      <xsl:when test=\"$xml.base != '' and\n                   not(starts-with($target.database.document, 'file:/')) and\n                   not(starts-with($target.database.document, '/'))\">\n        <xsl:call-template name=\"systemIdToBaseURI\">\n          <xsl:with-param name=\"systemId\" select=\"$xml.base\"/>\n        </xsl:call-template>\n        <xsl:value-of select=\"$target.database.document\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$target.database.document\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"target.database\" \n      select=\"document($target.database.filename,/)\"/>\n\n  <xsl:choose>\n    <!-- Was the database document parameter not set? -->\n    <xsl:when test=\"$target.database.document = ''\">\n      <xsl:message>\n        <xsl:text>Olinks not processed: must specify a </xsl:text>\n        <xsl:text>$target.database.document parameter&#10;</xsl:text>\n        <xsl:text>when using olinks with targetdoc </xsl:text>\n        <xsl:text>and targetptr attributes.</xsl:text>\n      </xsl:message>\n    </xsl:when>\n    <xsl:when test=\"namespace-uri($target.database/*) != ''\">\n      <xsl:message>\n        <xsl:text>Olink error: the targetset element and children in '</xsl:text>\n        <xsl:value-of select=\"$target.database.document\"/>\n        <xsl:text>' should not be in any namespace.</xsl:text>\n      </xsl:message>\n    </xsl:when>\n    <!-- Did it not open? Should be a targetset element -->\n    <xsl:when test=\"not($target.database/*)\">\n      <xsl:message>\n        <xsl:text>Olink error: could not open target database '</xsl:text>\n        <xsl:value-of select=\"$target.database.filename\"/>\n        <xsl:text>'.</xsl:text>\n      </xsl:message>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$target.database.filename\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"select.olink.key\">\n  <xsl:param name=\"targetdoc.att\" select=\"''\"/>\n  <xsl:param name=\"targetptr.att\" select=\"''\"/>\n  <xsl:param name=\"olink.lang\" select=\"''\"/>\n  <xsl:param name=\"target.database\"/>\n\n  <xsl:if test=\"$target.database/*\">\n    <xsl:variable name=\"olink.fallback.sequence\">\n      <xsl:call-template name=\"select.olink.lang.fallback\">\n        <xsl:with-param name=\"olink.lang\" select=\"$olink.lang\"/>\n      </xsl:call-template>\n    </xsl:variable>\n  \n    <!-- Recurse through the languages until you find a match -->\n    <xsl:call-template name=\"select.olink.key.in.lang\">\n      <xsl:with-param name=\"targetdoc.att\" select=\"$targetdoc.att\"/>\n      <xsl:with-param name=\"targetptr.att\" select=\"$targetptr.att\"/>\n      <xsl:with-param name=\"olink.lang\" select=\"$olink.lang\"/>\n      <xsl:with-param name=\"target.database\" select=\"$target.database\"/>\n      <xsl:with-param name=\"fallback.index\" select=\"1\"/>\n      <xsl:with-param name=\"olink.fallback.sequence\"\n                      select=\"$olink.fallback.sequence\"/>\n    </xsl:call-template>\n  </xsl:if>\n  \n</xsl:template>\n\n<!-- Locate olink key in a particular language -->\n<xsl:template name=\"select.olink.key.in.lang\">\n  <xsl:param name=\"targetdoc.att\" select=\"''\"/>\n  <xsl:param name=\"targetptr.att\" select=\"''\"/>\n  <xsl:param name=\"olink.lang\" select=\"''\"/>\n  <xsl:param name=\"target.database\"/>\n  <xsl:param name=\"fallback.index\" select=\"1\"/>\n  <xsl:param name=\"olink.fallback.sequence\" select=\"''\"/>\n  \n  <xsl:variable name=\"target.lang\">\n    <xsl:call-template name=\"select.target.lang\">\n      <xsl:with-param name=\"fallback.index\" select=\"$fallback.index\"/>\n      <xsl:with-param name=\"olink.fallback.sequence\"\n                      select=\"$olink.fallback.sequence\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:if test=\"$olink.debug != 0\">\n    <xsl:message><xsl:text>Olink debug: cases for targetdoc='</xsl:text>\n      <xsl:value-of select=\"$targetdoc.att\"/>\n      <xsl:text>' and targetptr='</xsl:text>\n      <xsl:value-of select=\"$targetptr.att\"/>\n      <xsl:text>' in language '</xsl:text>\n      <xsl:value-of select=\"$target.lang\"/>\n      <xsl:text>'.</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n  <!-- Customize these cases if you want different selection logic -->\n  <xsl:variable name=\"CaseA\">\n    <!-- targetdoc.att = not blank\n         targetptr.att = not blank\n    -->\n    <xsl:if test=\"$targetdoc.att != '' and\n                  $targetptr.att != ''\">\n      <xsl:for-each select=\"$target.database\">\n        <xsl:variable name=\"key\" \n                      select=\"concat($targetdoc.att, '/', \n                                     $targetptr.att, '/',\n                                     $target.lang)\"/>\n        <xsl:choose>\n          <xsl:when test=\"key('targetptr-key', $key)[1]/@href != ''\">\n            <xsl:value-of select=\"$key\"/>\n            <xsl:if test=\"$olink.debug != 0\">\n              <xsl:message>Olink debug: CaseA matched.</xsl:message>\n            </xsl:if>\n          </xsl:when>\n          <xsl:when test=\"$olink.debug != 0\">\n            <xsl:message>Olink debug: CaseA NOT matched</xsl:message>\n          </xsl:when>\n        </xsl:choose>\n      </xsl:for-each>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"CaseB\">\n    <!-- targetdoc.att = not blank\n         targetptr.att = not blank\n         prefer.internal.olink = not zero\n         current.docid = not blank \n    -->\n    <xsl:if test=\"$targetdoc.att != '' and\n                  $targetptr.att != '' and\n                  $current.docid != '' and\n                  $prefer.internal.olink != 0\">\n      <xsl:for-each select=\"$target.database\">\n        <xsl:variable name=\"key\" \n                      select=\"concat($current.docid, '/', \n                                     $targetptr.att, '/',\n                                     $target.lang)\"/>\n        <xsl:choose>\n          <xsl:when test=\"key('targetptr-key', $key)[1]/@href != ''\">\n            <xsl:value-of select=\"$key\"/>\n            <xsl:if test=\"$olink.debug != 0\">\n              <xsl:message>Olink debug: CaseB matched.</xsl:message>\n            </xsl:if>\n          </xsl:when>\n          <xsl:when test=\"$olink.debug != 0\">\n            <xsl:message>Olink debug: CaseB NOT matched</xsl:message>\n          </xsl:when>\n        </xsl:choose>\n      </xsl:for-each>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"CaseC\">\n    <!-- targetdoc.att = blank\n         targetptr.att = not blank\n         current.docid = not blank \n    -->\n    <xsl:if test=\"string-length($targetdoc.att) = 0 and\n                  $targetptr.att != '' and\n                  $current.docid != ''\">\n      <!-- Must use a for-each to change context for keys to work -->\n      <xsl:for-each select=\"$target.database\">\n        <xsl:variable name=\"key\" \n                      select=\"concat($current.docid, '/', \n                                     $targetptr.att, '/',\n                                     $target.lang)\"/>\n        <xsl:choose>\n          <xsl:when test=\"key('targetptr-key', $key)[1]/@href != ''\">\n            <xsl:value-of select=\"$key\"/>\n            <xsl:if test=\"$olink.debug != 0\">\n              <xsl:message>Olink debug: CaseC matched.</xsl:message>\n            </xsl:if>\n          </xsl:when>\n          <xsl:when test=\"$olink.debug != 0\">\n            <xsl:message>Olink debug: CaseC NOT matched.</xsl:message>\n          </xsl:when>\n        </xsl:choose>\n      </xsl:for-each>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"CaseD\">\n    <!-- targetdoc.att = blank\n         targetptr.att = not blank\n         current.docid = blank \n    -->\n    <!-- This is possible if only one document in the database -->\n    <xsl:if test=\"string-length($targetdoc.att) = 0 and\n                  $targetptr.att != '' and\n                  string-length($current.docid) = 0 and\n                  count($target.database//document) = 1\">\n      <xsl:for-each select=\"$target.database\">\n        <xsl:variable name=\"key\" \n                      select=\"concat(.//document/@targetdoc, '/', \n                                     $targetptr.att, '/',\n                                     $target.lang)\"/>\n        <xsl:choose>\n          <xsl:when test=\"key('targetptr-key', $key)[1]/@href != ''\">\n            <xsl:value-of select=\"$key\"/>\n            <xsl:if test=\"$olink.debug != 0\">\n              <xsl:message>Olink debug: CaseD matched.</xsl:message>\n            </xsl:if>\n          </xsl:when>\n          <xsl:when test=\"$olink.debug != 0\">\n            <xsl:message>Olink debug: CaseD NOT matched</xsl:message>\n          </xsl:when>\n        </xsl:choose>\n      </xsl:for-each>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"CaseE\">\n    <!-- targetdoc.att = not blank\n         targetptr.att = blank\n    -->\n    <xsl:if test=\"$targetdoc.att != '' and\n                  string-length($targetptr.att) = 0\">\n\n      <!-- Try the document's root element id -->\n      <xsl:variable name=\"rootid\">\n        <xsl:choose>\n          <xsl:when test=\"$target.lang != ''\">\n            <xsl:value-of select=\"$target.database//document[@targetdoc = $targetdoc.att and @lang = $target.lang]/*[1]/@targetptr\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"$target.database//document[@targetdoc = $targetdoc.att and not(@lang)]/*[1]/@targetptr\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:variable>\n\n      <xsl:for-each select=\"$target.database\">\n        <xsl:variable name=\"key\" \n                      select=\"concat($targetdoc.att, '/', \n                                     $rootid, '/',\n                                     $target.lang)\"/>\n        <xsl:choose>\n          <xsl:when test=\"key('targetptr-key', $key)[1]/@href != ''\">\n            <xsl:value-of select=\"$key\"/>\n            <xsl:if test=\"$olink.debug != 0\">\n              <xsl:message>Olink debug: CaseE matched.</xsl:message>\n            </xsl:if>\n          </xsl:when>\n          <xsl:when test=\"$olink.debug != 0\">\n            <xsl:message>Olink debug: CaseE NOT matched.</xsl:message>\n          </xsl:when>\n        </xsl:choose>\n      </xsl:for-each>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"CaseF\">\n    <!-- targetdoc.att = not blank\n         targetptr.att = blank\n         prefer.internal.olink = not zero\n         current.docid = not blank \n    -->\n    <xsl:if test=\"$targetdoc.att != '' and\n                  string-length($targetptr.att) = 0 and\n                  $current.docid != '' and\n                  $prefer.internal.olink != 0\">\n      <!-- Try the document's root element id -->\n      <xsl:variable name=\"rootid\">\n        <xsl:choose>\n          <xsl:when test=\"$target.lang != ''\">\n            <xsl:value-of select=\"$target.database//document[@targetdoc = $current.docid and @lang = $target.lang]/*[1]/@targetptr\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"$target.database//document[@targetdoc = $current.docid and not(@lang)]/*[1]/@targetptr\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:variable>\n\n      <xsl:for-each select=\"$target.database\">\n        <xsl:variable name=\"key\" \n                      select=\"concat($current.docid, '/', \n                                     $rootid, '/',\n                                     $target.lang)\"/>\n        <xsl:choose>\n          <xsl:when test=\"key('targetptr-key', $key)[1]/@href != ''\">\n            <xsl:value-of select=\"$key\"/>\n            <xsl:if test=\"$olink.debug != 0\">\n              <xsl:message>Olink debug: CaseF matched.</xsl:message>\n            </xsl:if>\n          </xsl:when>\n          <xsl:when test=\"$olink.debug != 0\">\n            <xsl:message>Olink debug: CaseF NOT matched.</xsl:message>\n          </xsl:when>\n        </xsl:choose>\n      </xsl:for-each>\n    </xsl:if>\n  </xsl:variable>\n\n  <!-- Now select the best match. Customize the order if needed -->\n  <xsl:variable name=\"selected.key\">\n    <xsl:choose>\n      <xsl:when test=\"$CaseB != ''\">\n        <xsl:value-of select=\"$CaseB\"/>\n        <xsl:if test=\"$olink.debug != 0\">\n          <xsl:message>\n            <xsl:text>Olink debug: CaseB key is the final selection: </xsl:text>\n            <xsl:value-of select=\"$CaseB\"/>\n          </xsl:message>\n        </xsl:if>\n      </xsl:when>\n      <xsl:when test=\"$CaseA != ''\">\n        <xsl:value-of select=\"$CaseA\"/>\n        <xsl:if test=\"$olink.debug != 0\">\n          <xsl:message>\n            <xsl:text>Olink debug: CaseA key is the final selection: </xsl:text>\n            <xsl:value-of select=\"$CaseA\"/>\n          </xsl:message>\n        </xsl:if>\n      </xsl:when>\n      <xsl:when test=\"$CaseC != ''\">\n        <xsl:value-of select=\"$CaseC\"/>\n        <xsl:if test=\"$olink.debug != 0\">\n          <xsl:message>\n            <xsl:text>Olink debug: CaseC key is the final selection: </xsl:text>\n            <xsl:value-of select=\"$CaseC\"/>\n          </xsl:message>\n        </xsl:if>\n      </xsl:when>\n      <xsl:when test=\"$CaseD != ''\">\n        <xsl:value-of select=\"$CaseD\"/>\n        <xsl:if test=\"$olink.debug != 0\">\n          <xsl:message>\n            <xsl:text>Olink debug: CaseD key is the final selection: </xsl:text>\n            <xsl:value-of select=\"$CaseD\"/>\n          </xsl:message>\n        </xsl:if>\n      </xsl:when>\n      <xsl:when test=\"$CaseF != ''\">\n        <xsl:value-of select=\"$CaseF\"/>\n        <xsl:if test=\"$olink.debug != 0\">\n          <xsl:message>\n            <xsl:text>Olink debug: CaseF key is the final selection: </xsl:text>\n            <xsl:value-of select=\"$CaseF\"/>\n          </xsl:message>\n        </xsl:if>\n      </xsl:when>\n      <xsl:when test=\"$CaseE != ''\">\n        <xsl:value-of select=\"$CaseE\"/>\n        <xsl:if test=\"$olink.debug != 0\">\n          <xsl:message>\n            <xsl:text>Olink debug: CaseE key is the final selection: </xsl:text>\n            <xsl:value-of select=\"$CaseE\"/>\n          </xsl:message>\n        </xsl:if>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:if test=\"$olink.debug != 0\">\n          <xsl:message>\n            <xsl:text>Olink debug: No case matched for lang '</xsl:text>\n            <xsl:value-of select=\"$target.lang\"/>\n            <xsl:text>'.</xsl:text>\n          </xsl:message>\n        </xsl:if>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$selected.key != ''\">\n      <xsl:value-of select=\"$selected.key\"/>\n    </xsl:when>\n    <xsl:when test=\"string-length($selected.key) = 0 and \n                    string-length($target.lang) = 0\">\n      <!-- No match on last try, and we are done -->\n    </xsl:when>\n    <xsl:otherwise>\n      <!-- Recurse through next language -->\n      <xsl:call-template name=\"select.olink.key.in.lang\">\n        <xsl:with-param name=\"targetdoc.att\" select=\"$targetdoc.att\"/>\n        <xsl:with-param name=\"targetptr.att\" select=\"$targetptr.att\"/>\n        <xsl:with-param name=\"olink.lang\" select=\"$olink.lang\"/>\n        <xsl:with-param name=\"target.database\" select=\"$target.database\"/>\n        <xsl:with-param name=\"fallback.index\" select=\"$fallback.index + 1\"/>\n        <xsl:with-param name=\"olink.fallback.sequence\"\n                        select=\"$olink.fallback.sequence\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n\n</xsl:template>\n\n<xsl:template name=\"select.target.lang\">\n  <xsl:param name=\"fallback.index\" select=\"1\"/>\n  <xsl:param name=\"olink.fallback.sequence\" select=\"''\"/>\n\n  <!-- recurse backwards to find the lang matching the index -->\n  <xsl:variable name=\"firstlang\" \n                select=\"substring-before($olink.fallback.sequence, ' ')\"/>\n  <xsl:variable name=\"rest\" \n                select=\"substring-after($olink.fallback.sequence, ' ')\"/>\n  <xsl:choose>\n    <xsl:when test=\"$fallback.index = 1\">\n      <xsl:value-of select=\"$firstlang\"/>\n    </xsl:when>\n    <xsl:when test=\"$fallback.index &gt; 1\">\n      <xsl:call-template name=\"select.target.lang\">\n        <xsl:with-param name=\"fallback.index\" select=\"$fallback.index - 1\"/>\n        <xsl:with-param name=\"olink.fallback.sequence\"\n                        select=\"$rest\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"select.olink.lang.fallback\">\n  <xsl:param name=\"olink.lang\" select=\"''\"/>\n\n  <!-- Prefer language of the olink element -->\n  <xsl:value-of select=\"concat(normalize-space(concat($olink.lang, ' ', \n                        $olink.lang.fallback.sequence)), ' ')\"/>\n</xsl:template>\n\n<!-- Returns the complete olink href value if found -->\n<xsl:template name=\"make.olink.href\">\n  <xsl:param name=\"olink.key\" select=\"''\"/>\n  <xsl:param name=\"target.database\"/>\n\n  <xsl:if test=\"$olink.key != ''\">\n    <xsl:variable name=\"target.href\" >\n      <xsl:for-each select=\"$target.database\" >\n        <xsl:value-of select=\"key('targetptr-key', $olink.key)[1]/@href\" />\n      </xsl:for-each>\n    </xsl:variable>\n  \n    <xsl:variable name=\"targetdoc\">\n      <xsl:value-of select=\"substring-before($olink.key, '/')\"/>\n    </xsl:variable>\n  \n    <!-- Does the target database use a sitemap? -->\n    <xsl:variable name=\"use.sitemap\">\n      <xsl:choose>\n        <xsl:when test=\"$target.database//sitemap\">1</xsl:when>\n        <xsl:otherwise>0</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n  \n  \n    <!-- Get the baseuri for this targetptr -->\n    <xsl:variable name=\"baseuri\" >\n      <xsl:choose>\n        <!-- Does the database use a sitemap? -->\n        <xsl:when test=\"$use.sitemap != 0\" >\n          <xsl:choose>\n            <!-- Was current.docid parameter set? -->\n            <xsl:when test=\"$current.docid != ''\">\n              <!-- Was it found in the database? -->\n              <xsl:variable name=\"currentdoc.key\" >\n                <xsl:for-each select=\"$target.database\" >\n                  <xsl:value-of select=\"key('targetdoc-key',\n                                        $current.docid)[1]/@targetdoc\" />\n                </xsl:for-each>\n              </xsl:variable>\n              <xsl:choose>\n                <xsl:when test=\"$currentdoc.key != ''\">\n                  <xsl:for-each select=\"$target.database\" >\n                    <xsl:call-template name=\"targetpath\" >\n                      <xsl:with-param name=\"dirnode\" \n                          select=\"key('targetdoc-key', $current.docid)[1]/parent::dir\"/>\n                      <xsl:with-param name=\"targetdoc\" select=\"$targetdoc\"/>\n                    </xsl:call-template>\n                  </xsl:for-each >\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:message>\n                    <xsl:text>Olink error: cannot compute relative </xsl:text>\n                    <xsl:text>sitemap path because $current.docid '</xsl:text>\n                    <xsl:value-of select=\"$current.docid\"/>\n                    <xsl:text>' not found in target database.</xsl:text>\n                  </xsl:message>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:message>\n                <xsl:text>Olink warning: cannot compute relative </xsl:text>\n                <xsl:text>sitemap path without $current.docid parameter</xsl:text>\n              </xsl:message>\n            </xsl:otherwise>\n          </xsl:choose> \n          <!-- In either case, add baseuri from its document entry-->\n          <xsl:variable name=\"docbaseuri\">\n            <xsl:for-each select=\"$target.database\" >\n              <xsl:value-of select=\"key('targetdoc-key', $targetdoc)[1]/@baseuri\" />\n            </xsl:for-each>\n          </xsl:variable>\n          <xsl:if test=\"$docbaseuri != ''\" >\n            <xsl:value-of select=\"$docbaseuri\"/>\n          </xsl:if>\n        </xsl:when>\n        <!-- No database sitemap in use -->\n        <xsl:otherwise>\n          <!-- Just use any baseuri from its document entry -->\n          <xsl:variable name=\"docbaseuri\">\n            <xsl:for-each select=\"$target.database\" >\n              <xsl:value-of select=\"key('targetdoc-key', $targetdoc)[1]/@baseuri\" />\n            </xsl:for-each>\n          </xsl:variable>\n          <xsl:if test=\"$docbaseuri != ''\" >\n            <xsl:value-of select=\"$docbaseuri\"/>\n          </xsl:if>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n  \n    <!-- Is this olink to be active? -->\n    <xsl:variable name=\"active.olink\">\n      <xsl:choose>\n        <xsl:when test=\"$activate.external.olinks = 0\">\n          <xsl:choose>\n            <xsl:when test=\"$current.docid = ''\">1</xsl:when>\n            <xsl:when test=\"$targetdoc = ''\">1</xsl:when>\n            <xsl:when test=\"$targetdoc = $current.docid\">1</xsl:when>\n            <xsl:otherwise>0</xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n\n    <!-- Form the href information -->\n    <xsl:if test=\"$active.olink != 0\">\n      <xsl:if test=\"$baseuri != ''\">\n        <xsl:value-of select=\"$baseuri\"/>\n        <xsl:if test=\"substring($target.href,1,1) != '#'\">\n          <!--xsl:text>/</xsl:text-->\n        </xsl:if>\n      </xsl:if>\n      <!-- optionally turn off frag for PDF references -->\n      <xsl:if test=\"not($insert.olink.pdf.frag = 0 and\n            translate(substring($baseuri, string-length($baseuri) - 3),\n                      'PDF', 'pdf') = '.pdf'\n            and starts-with($target.href, '#') )\">\n        <xsl:value-of select=\"$target.href\"/>\n      </xsl:if>\n    </xsl:if>\n  </xsl:if>\n</xsl:template>\n\n<!-- Computes the href of the object containing the olink element -->\n<xsl:template name=\"olink.from.uri\">\n  <xsl:param name=\"target.database\"/>\n  <xsl:param name=\"object\" select=\"NotAnElement\"/>\n  <xsl:param name=\"object.targetdoc\" select=\"$current.docid\"/>\n  <xsl:param name=\"object.lang\" \n           select=\"concat($object/ancestor::*[last()]/@lang,\n                          $object/ancestor::*[last()]/@xml:lang)\"/>\n\n  <xsl:variable name=\"parent.id\">\n    <xsl:call-template name=\"object.id\">\n      <xsl:with-param name=\"object\" select=\"$object\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <!-- Get the olink key for the parent of olink element -->\n  <xsl:variable name=\"from.key\">\n    <xsl:call-template name=\"select.olink.key\">\n      <xsl:with-param name=\"targetdoc.att\" select=\"$object.targetdoc\"/>\n      <xsl:with-param name=\"targetptr.att\" select=\"$parent.id\"/>\n      <xsl:with-param name=\"olink.lang\" select=\"$object.lang\"/>\n      <xsl:with-param name=\"target.database\" select=\"$target.database\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"from.olink.href\">\n    <xsl:for-each select=\"$target.database\" >\n      <xsl:value-of select=\"key('targetptr-key', $from.key)[1]/@href\" />\n    </xsl:for-each>\n  </xsl:variable>\n\n  <xsl:choose>\n    <!-- we found the olink object -->\n    <xsl:when test=\"$from.olink.href != ''\">\n      <xsl:value-of select=\"$from.olink.href\"/>\n    </xsl:when>\n    <xsl:when test=\"not($object/parent::*)\">\n      <xsl:value-of select=\"$from.olink.href\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <!-- recurse upward in current document -->\n      <xsl:call-template name=\"olink.from.uri\">\n        <xsl:with-param name=\"target.database\" select=\"$target.database\"/>\n        <xsl:with-param name=\"object\" select=\"$object/parent::*\"/>\n        <xsl:with-param name=\"object.targetdoc\" select=\"$object.targetdoc\"/>\n        <xsl:with-param name=\"object.lang\" select=\"$object.lang\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n\n</xsl:template>\n\n<xsl:template name=\"olink.hottext\">\n  <xsl:param name=\"target.database\"/>\n  <xsl:param name=\"olink.lang\" select=\"''\"/>\n  <xsl:param name=\"olink.key\" select=\"''\"/>\n  <xsl:param name=\"referrer\" select=\".\"/>\n  <xsl:param name=\"xrefstyle\">\n    <xsl:choose>\n      <xsl:when test=\"@role and not(@xrefstyle) \n                      and $use.role.as.xrefstyle != 0\">\n        <xsl:value-of select=\"@role\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"@xrefstyle\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:param>\n\n  <xsl:choose>\n    <!-- If it has elements or text (not just PI or comment) -->\n    <xsl:when test=\"child::text() or child::*\">\n      <xsl:apply-templates/>\n    </xsl:when>\n    <xsl:when test=\"$olink.key != ''\">\n      <!-- Get the xref text for this record -->\n      <xsl:variable name=\"xref.text\" >\n        <xsl:for-each select=\"$target.database\" >\n          <xsl:call-template name=\"insert.targetdb.data\">\n            <xsl:with-param name=\"data\"\n                  select=\"key('targetptr-key', $olink.key)[1]/xreftext/node()\" />\n          </xsl:call-template>\n        </xsl:for-each>\n      </xsl:variable>\n\n      <xsl:variable name=\"xref.number\" >\n        <xsl:for-each select=\"$target.database\" >\n          <xsl:value-of select=\"key('targetptr-key', $olink.key)[1]/@number\" />\n        </xsl:for-each>\n      </xsl:variable>\n\n      <xsl:variable name=\"target.elem\" >\n        <xsl:for-each select=\"$target.database\" >\n          <xsl:value-of select=\"key('targetptr-key', $olink.key)[1]/@element\" />\n        </xsl:for-each>\n      </xsl:variable>\n\n      <xsl:variable name=\"lang\">\n        <xsl:variable name=\"candidate\">\n          <xsl:for-each select=\"$target.database\" >\n            <xsl:value-of \n                      select=\"key('targetptr-key', $olink.key)[1]/@lang\" />\n          </xsl:for-each>\n        </xsl:variable>\n        <xsl:choose>\n          <xsl:when test=\"$candidate != ''\">\n            <xsl:value-of select=\"$candidate\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"$olink.lang\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:variable>\n\n      <xsl:variable name=\"targetdoc\">\n        <xsl:value-of select=\"substring-before($olink.key, '/')\"/>\n      </xsl:variable>\n\n      <xsl:choose>\n        <xsl:when test=\"$xrefstyle != '' and\n                        starts-with(normalize-space($xrefstyle), 'select:') and\n                        (contains($xrefstyle, 'nodocname') or\n                        contains($xrefstyle, 'nopage')) and\n                        not(contains($xrefstyle, 'title')) and\n                        not(contains($xrefstyle, 'label'))\"> \n          <xsl:copy-of select=\"$xref.text\"/>\n        </xsl:when>\n        <xsl:when test=\"$xrefstyle != ''\">\n          <xsl:if test=\"$olink.debug != 0\">\n            <xsl:message>\n              <xsl:text>xrefstyle is '</xsl:text>\n              <xsl:value-of select=\"$xrefstyle\"/>\n              <xsl:text>'.</xsl:text>\n            </xsl:message>\n          </xsl:if>\n          <xsl:variable name=\"template\">\n            <xsl:choose>\n              <xsl:when test=\"starts-with(normalize-space($xrefstyle),\n                                          'select:')\">\n                <xsl:call-template name=\"make.gentext.template\">\n                  <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n                  <xsl:with-param name=\"purpose\" select=\"'olink'\"/>\n                  <xsl:with-param name=\"referrer\" select=\".\"/>\n                  <xsl:with-param name=\"target.elem\" select=\"$target.elem\"/>\n                </xsl:call-template>\n              </xsl:when>\n              <xsl:when test=\"starts-with(normalize-space($xrefstyle),\n                                          'template:')\">\n                <xsl:value-of select=\"substring-after(\n                                 normalize-space($xrefstyle), 'template:')\"/>\n              </xsl:when>\n              <xsl:otherwise>\n                <!-- Look for Gentext template with @style attribute -->\n                <!-- Must compare to no style value because gentext.template\n                     falls back to no style -->\n\n                <xsl:variable name=\"xref-context\">\n                  <xsl:call-template name=\"gentext.template\">\n                    <xsl:with-param name=\"context\" select=\"'xref'\"/>\n                    <xsl:with-param name=\"name\" select=\"$target.elem\"/>\n                    <xsl:with-param name=\"lang\" select=\"$lang\"/>\n                  </xsl:call-template>\n                </xsl:variable>\n\n                <xsl:variable name=\"styled-xref-context\">\n                  <xsl:call-template name=\"gentext.template\">\n                    <xsl:with-param name=\"context\" select=\"'xref'\"/>\n                    <xsl:with-param name=\"name\" select=\"$target.elem\"/>\n                    <xsl:with-param name=\"lang\" select=\"$lang\"/>\n                    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n                  </xsl:call-template>\n                </xsl:variable>\n\n                <xsl:variable name=\"xref-number-context\">\n                  <xsl:call-template name=\"gentext.template\">\n                    <xsl:with-param name=\"context\" select=\"'xref-number'\"/>\n                    <xsl:with-param name=\"name\" select=\"$target.elem\"/>\n                    <xsl:with-param name=\"lang\" select=\"$lang\"/>\n                  </xsl:call-template>\n                </xsl:variable>\n\n                <xsl:variable name=\"styled-xref-number-context\">\n                  <xsl:call-template name=\"gentext.template\">\n                    <xsl:with-param name=\"context\" select=\"'xref-number'\"/>\n                    <xsl:with-param name=\"name\" select=\"$target.elem\"/>\n                    <xsl:with-param name=\"lang\" select=\"$lang\"/>\n                    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n                  </xsl:call-template>\n                </xsl:variable>\n\n                <xsl:variable name=\"xref-number-and-title-context\">\n                  <xsl:call-template name=\"gentext.template\">\n                    <xsl:with-param name=\"context\" \n                                    select=\"'xref-number-and-title'\"/>\n                    <xsl:with-param name=\"name\" select=\"$target.elem\"/>\n                    <xsl:with-param name=\"lang\" select=\"$lang\"/>\n                  </xsl:call-template>\n                </xsl:variable>\n\n                <xsl:variable name=\"styled-xref-number-and-title-context\">\n                  <xsl:call-template name=\"gentext.template\">\n                    <xsl:with-param name=\"context\" \n                                    select=\"'xref-number-and-title'\"/>\n                    <xsl:with-param name=\"name\" select=\"$target.elem\"/>\n                    <xsl:with-param name=\"lang\" select=\"$lang\"/>\n                    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n                  </xsl:call-template>\n                </xsl:variable>\n\n                <xsl:choose>\n                  <xsl:when test=\"$xref-number-and-title-context != \n                                 $styled-xref-number-and-title-context and\n                                 $xref.number != '' and\n                                 $xref.with.number.and.title != 0\">\n                    <xsl:value-of \n                            select=\"$styled-xref-number-and-title-context\"/>\n                  </xsl:when>\n                  <xsl:when test=\"$xref-number-context != \n                                 $styled-xref-number-context and\n                                 $xref.number != ''\">\n                    <xsl:value-of select=\"$styled-xref-number-context\"/>\n                  </xsl:when>\n                  <xsl:when test=\"$xref-context != $styled-xref-context\">\n                    <xsl:value-of select=\"$styled-xref-context\"/>\n                  </xsl:when>\n                  <xsl:when test=\"$xref-number-and-title-context != '' and\n                                 $xref.number != '' and\n                                 $xref.with.number.and.title != 0\">\n                    <xsl:value-of \n                            select=\"$xref-number-and-title-context\"/>\n                    <xsl:if test=\"$olink.debug\">\n                      <xsl:message>\n                        <xsl:text>Olink error: no gentext template</xsl:text>\n                        <xsl:text> exists for xrefstyle '</xsl:text>\n                        <xsl:value-of select=\"$xrefstyle\"/>\n                        <xsl:text>' for element '</xsl:text>\n                        <xsl:value-of select=\"$target.elem\"/>\n                        <xsl:text>' in language '</xsl:text>\n                        <xsl:value-of select=\"$lang\"/>\n                        <xsl:text>' in context 'xref-number-and-title</xsl:text>\n                        <xsl:text>'. Using template without @style.</xsl:text>\n                      </xsl:message>\n                    </xsl:if>\n                  </xsl:when>\n                  <xsl:when test=\"$xref-number-context != '' and\n                                 $xref.number != ''\">\n                    <xsl:value-of select=\"$xref-number-context\"/>\n                    <xsl:if test=\"$olink.debug\">\n                      <xsl:message>\n                        <xsl:text>Olink error: no gentext template</xsl:text>\n                        <xsl:text> exists for xrefstyle '</xsl:text>\n                        <xsl:value-of select=\"$xrefstyle\"/>\n                        <xsl:text>' for element '</xsl:text>\n                        <xsl:value-of select=\"$target.elem\"/>\n                        <xsl:text>' in language '</xsl:text>\n                        <xsl:value-of select=\"$lang\"/>\n                        <xsl:text>' in context 'xref-number</xsl:text>\n                        <xsl:text>'. Using template without @style.</xsl:text>\n                      </xsl:message>\n                    </xsl:if>\n                  </xsl:when>\n                  <xsl:when test=\"$xref-context != ''\">\n                    <xsl:value-of select=\"$xref-context\"/>\n                    <xsl:if test=\"$olink.debug\">\n                      <xsl:message>\n                        <xsl:text>Olink error: no gentext template</xsl:text>\n                        <xsl:text> exists for xrefstyle '</xsl:text>\n                        <xsl:value-of select=\"$xrefstyle\"/>\n                        <xsl:text>' for element '</xsl:text>\n                        <xsl:value-of select=\"$target.elem\"/>\n                        <xsl:text>' in language '</xsl:text>\n                        <xsl:value-of select=\"$lang\"/>\n                        <xsl:text>' in context 'xref</xsl:text>\n                        <xsl:text>'. Using template without @style.</xsl:text>\n                      </xsl:message>\n                    </xsl:if>\n                  </xsl:when>\n                  <xsl:otherwise>\n                    <xsl:message>\n                      <xsl:text>Olink error: no gentext template</xsl:text>\n                      <xsl:text> exists for xrefstyle '</xsl:text>\n                      <xsl:value-of select=\"$xrefstyle\"/>\n                      <xsl:text>' for element '</xsl:text>\n                      <xsl:value-of select=\"$target.elem\"/>\n                      <xsl:text>' in language '</xsl:text>\n                      <xsl:value-of select=\"$lang\"/>\n                      <xsl:text>'. Trying '%t'.</xsl:text>\n                    </xsl:message>\n                    <xsl:value-of select=\"'%t'\"/>\n                  </xsl:otherwise>\n                </xsl:choose>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:variable>\n\n          <xsl:if test=\"$olink.debug != 0\">\n            <xsl:message>\n              <xsl:text>Olink debug: xrefstyle template is '</xsl:text>\n              <xsl:value-of select=\"$template\"/>\n              <xsl:text>'.</xsl:text>\n            </xsl:message>\n          </xsl:if>\n\n          <xsl:call-template name=\"substitute-markup\">\n            <xsl:with-param name=\"template\" select=\"$template\"/>\n            <xsl:with-param name=\"title\">\n              <xsl:for-each select=\"$target.database\" >\n                <xsl:call-template name=\"insert.targetdb.data\">\n                  <xsl:with-param name=\"data\"\n                                  select=\"key('targetptr-key', $olink.key)/ttl/node()\"/>\n                </xsl:call-template>\n              </xsl:for-each>\n            </xsl:with-param>\n            <xsl:with-param name=\"label\">\n              <xsl:for-each select=\"$target.database\" >\n                <xsl:value-of \n                        select=\"key('targetptr-key', $olink.key)[1]/@number\" />\n              </xsl:for-each>\n            </xsl:with-param>\n            <xsl:with-param name=\"pagenumber\">\n              <xsl:for-each select=\"$target.database\" >\n                <xsl:value-of \n                        select=\"key('targetptr-key', $olink.key)[1]/@page\" />\n              </xsl:for-each>\n            </xsl:with-param>\n            <xsl:with-param name=\"docname\">\n              <xsl:for-each select=\"$target.database\" >\n                <xsl:call-template name=\"insert.targetdb.data\">\n                  <xsl:with-param name=\"data\"\n                       select=\"key('targetdoc-key', $targetdoc)[1]/div[1]/ttl/node()\" />\n                </xsl:call-template>\n              </xsl:for-each>\n            </xsl:with-param>\n          </xsl:call-template>\n        </xsl:when>\n\n        <xsl:when test=\"$use.local.olink.style != 0\">\n\n          <!-- Is autonumbering on? -->\n          <xsl:variable name=\"target.number\">\n            <xsl:for-each select=\"$target.database\" >\n              <xsl:value-of \n                      select=\"key('targetptr-key', $olink.key)[1]/@number\" />\n            </xsl:for-each>\n          </xsl:variable>\n\n          <xsl:variable name=\"autonumber\">\n            <xsl:choose>\n              <xsl:when test=\"$target.number != ''\">1</xsl:when>\n              <xsl:otherwise>0</xsl:otherwise>\n            </xsl:choose>\n          </xsl:variable>\n        \n          <xsl:variable name=\"number-and-title-template\">\n            <xsl:call-template name=\"gentext.template.exists\">\n              <xsl:with-param name=\"context\" select=\"'xref-number-and-title'\"/>\n              <xsl:with-param name=\"name\" select=\"$target.elem\"/>\n            </xsl:call-template>\n          </xsl:variable>\n        \n          <xsl:variable name=\"number-template\">\n            <xsl:call-template name=\"gentext.template.exists\">\n              <xsl:with-param name=\"context\" select=\"'xref-number'\"/>\n              <xsl:with-param name=\"name\" select=\"$target.elem\"/>\n            </xsl:call-template>\n          </xsl:variable>\n        \n          <xsl:variable name=\"context\">\n            <xsl:choose>\n              <xsl:when test=\"string($autonumber) != 0 \n                              and $number-and-title-template != 0\n                              and $xref.with.number.and.title != 0\">\n                 <xsl:value-of select=\"'xref-number-and-title'\"/>\n              </xsl:when>\n              <xsl:when test=\"string($autonumber) != 0 \n                              and $number-template != 0\">\n                 <xsl:value-of select=\"'xref-number'\"/>\n              </xsl:when>\n              <xsl:otherwise>\n                 <xsl:value-of select=\"'xref'\"/>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:variable>\n        \n          <xsl:variable name=\"template\">\n            <xsl:call-template name=\"gentext.template\">\n              <xsl:with-param name=\"context\" select=\"$context\"/>\n              <xsl:with-param name=\"name\" select=\"$target.elem\"/>\n              <xsl:with-param name=\"lang\" select=\"$lang\"/>\n            </xsl:call-template>\n          </xsl:variable>\n\n          <xsl:call-template name=\"substitute-markup\">\n            <xsl:with-param name=\"template\" select=\"$template\"/>\n            <xsl:with-param name=\"title\">\n              <xsl:for-each select=\"$target.database\" >\n                <xsl:call-template name=\"insert.targetdb.data\">\n                  <xsl:with-param name=\"data\"\n                               select=\"key('targetptr-key', $olink.key)[1]/ttl/node()\" />\n                </xsl:call-template>\n              </xsl:for-each>\n            </xsl:with-param>\n            <xsl:with-param name=\"label\">\n              <xsl:for-each select=\"$target.database\" >\n                <xsl:call-template name=\"insert.targetdb.data\">\n                  <xsl:with-param name=\"data\"\n                          select=\"key('targetptr-key', $olink.key)[1]/@number\" />\n                </xsl:call-template>\n              </xsl:for-each>\n            </xsl:with-param>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:when test=\"$xref.text !=''\">\n          <xsl:copy-of select=\"$xref.text\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:message>\n            <xsl:text>Olink error: no generated text for </xsl:text>\n            <xsl:text>targetdoc/targetptr/lang = '</xsl:text>\n            <xsl:value-of select=\"$olink.key\"/>\n            <xsl:text>'.</xsl:text>\n          </xsl:message>\n          <xsl:text>????</xsl:text>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:if test=\"$olink.key != ''\">\n        <xsl:message>\n          <xsl:text>Olink error: no generated text for </xsl:text>\n          <xsl:text>targetdoc/targetptr/lang = '</xsl:text>\n          <xsl:value-of select=\"$olink.key\"/>\n          <xsl:text>'.</xsl:text>\n        </xsl:message>\n      </xsl:if>\n      <xsl:text>????</xsl:text>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"insert.targetdb.data\">\n  <xsl:param name=\"data\"/>\n  <!-- Customize this to massage data further -->\n  <xsl:copy-of select=\"$data\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"olink.docname.markup\">\n  <!-- No-op for now -->\n</xsl:template>\n\n<xsl:template name=\"targetpath\">\n  <xsl:param name=\"dirnode\" />\n  <xsl:param name=\"targetdoc\" select=\"''\"/>\n\n<!-- \n<xsl:message>dirnode is <xsl:value-of select=\"$dirnode/@name\"/></xsl:message>\n<xsl:message>targetdoc is <xsl:value-of select=\"$targetdoc\"/></xsl:message>\n-->\n  <!-- recursive template generates path to olink target directory -->\n  <xsl:choose>\n    <!-- Have we arrived at the final path step? -->\n    <xsl:when test=\"$dirnode/child::document[@targetdoc = $targetdoc]\">\n      <!-- We are done -->\n    </xsl:when>\n    <!-- Have we reached the top without a match? -->\n    <xsl:when test=\"local-name($dirnode) != 'dir'\" >\n        <xsl:message>Olink error: cannot locate targetdoc <xsl:value-of select=\"$targetdoc\"/> in sitemap</xsl:message>\n    </xsl:when>\n    <!-- Is the target in a descendant? -->\n    <xsl:when test=\"$dirnode/descendant::document/@targetdoc = $targetdoc\">\n      <xsl:variable name=\"step\" select=\"$dirnode/child::dir[descendant::document/@targetdoc = $targetdoc]\"/>\n      <xsl:if test = \"$step\">\n        <xsl:value-of select=\"$step/@name\"/>\n        <xsl:text>/</xsl:text>\n      </xsl:if>\n      <!-- Now recurse with the child -->\n      <xsl:call-template name=\"targetpath\" >\n        <xsl:with-param name=\"dirnode\" select=\"$step\"/>\n        <xsl:with-param name=\"targetdoc\" select=\"$targetdoc\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <!-- Otherwise we need to move up a step -->\n    <xsl:otherwise>\n      <xsl:if test=\"$dirnode/parent::dir\">\n        <xsl:text>../</xsl:text>\n      </xsl:if>\n      <xsl:call-template name=\"targetpath\" >\n        <xsl:with-param name=\"dirnode\" select=\"$dirnode/parent::*\"/>\n        <xsl:with-param name=\"targetdoc\" select=\"$targetdoc\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"olink.page.citation\">\n  <xsl:param name=\"olink.key\" select=\"''\"/>\n  <xsl:param name=\"olink.lang\" select=\"'en'\"/>\n  <xsl:param name=\"target.database\"/>\n  <xsl:param name=\"linkend\" select=\"''\"/>\n  <xsl:param name=\"xrefstyle\">\n    <xsl:choose>\n      <xsl:when test=\"@role and not(@xrefstyle) \n                      and $use.role.as.xrefstyle != 0\">\n        <xsl:value-of select=\"@role\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"@xrefstyle\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:param>\n\n  <xsl:variable name=\"targetdoc\">\n    <xsl:value-of select=\"substring-before($olink.key, '/')\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$linkend != ''\">\n      <xsl:call-template name=\"xref.page.citation\">\n        <xsl:with-param name=\"linkend\" select=\"$linkend\"/>\n        <xsl:with-param name=\"target\" select=\"key('id', $linkend)\"/>\n        <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"not(starts-with(normalize-space($xrefstyle),\n                        'select:') \n                and (contains($xrefstyle, 'page')\n                     or contains($xrefstyle, 'Page')))\n                and $current.docid != '' \n                and $current.docid != $targetdoc\n                and $insert.olink.page.number = 'yes' \">\n  \n      <xsl:variable name=\"page-number\">\n        <xsl:for-each select=\"$target.database\" >\n          <xsl:value-of \n                 select=\"key('targetptr-key', $olink.key)[1]/@page\" />\n        </xsl:for-each>\n      </xsl:variable>\n  \n      <xsl:if test=\"$page-number != ''\">\n        <xsl:call-template name=\"substitute-markup\">\n          <xsl:with-param name=\"template\">\n            <xsl:call-template name=\"gentext.template\">\n              <xsl:with-param name=\"name\" select=\"'olink.page.citation'\"/>\n              <xsl:with-param name=\"context\" select=\"'xref'\"/>\n              <xsl:with-param name=\"lang\" select=\"$olink.lang\"/>\n            </xsl:call-template>\n          </xsl:with-param>\n          <xsl:with-param name=\"pagenumber\" select=\"$page-number\"/>\n        </xsl:call-template>\n      </xsl:if>\n  \n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"olink.document.citation\">\n  <xsl:param name=\"olink.key\" select=\"''\"/>\n  <xsl:param name=\"olink.lang\" select=\"'en'\"/>\n  <xsl:param name=\"target.database\"/>\n  <xsl:param name=\"xrefstyle\">\n    <xsl:choose>\n      <xsl:when test=\"@role and not(@xrefstyle) \n                      and $use.role.as.xrefstyle != 0\">\n        <xsl:value-of select=\"@role\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"@xrefstyle\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:param>\n\n  <xsl:variable name=\"page\">\n    <xsl:for-each select=\"$target.database\" >\n      <xsl:value-of \n             select=\"key('targetptr-key', $olink.key)[1]/@page\" />\n    </xsl:for-each>\n  </xsl:variable>\n\n  <xsl:variable name=\"targetdoc\">\n    <xsl:value-of select=\"substring-before($olink.key, '/')\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"targetptr\">\n    <xsl:value-of \n          select=\"substring-before(substring-after($olink.key, '/'), '/')\"/>\n  </xsl:variable>\n\n  <!-- Don't add docname if pointing to root element -->\n  <xsl:variable name=\"rootptr\">\n    <xsl:for-each select=\"$target.database\" >\n      <xsl:value-of \n             select=\"key('targetdoc-key', $targetdoc)[1]/div[1]/@targetptr\" />\n    </xsl:for-each>\n  </xsl:variable>\n\n  <xsl:variable name=\"docname\">\n    <xsl:for-each select=\"$target.database\" >\n      <xsl:call-template name=\"insert.targetdb.data\">\n        <xsl:with-param name=\"data\"\n             select=\"key('targetdoc-key', $targetdoc)[1]/div[1]/ttl/node()\" />\n      </xsl:call-template>\n    </xsl:for-each>\n  </xsl:variable>\n\n  <xsl:if test=\"not(starts-with(normalize-space($xrefstyle), 'select:') \n              and (contains($xrefstyle, 'docname')))\n              and ($olink.doctitle = 'yes' or $olink.doctitle = '1')\n              and $current.docid != '' \n              and $rootptr != $targetptr\n              and $current.docid != $targetdoc\n              and $docname != ''\">\n    <xsl:call-template name=\"substitute-markup\">\n      <xsl:with-param name=\"template\">\n        <xsl:call-template name=\"gentext.template\">\n          <xsl:with-param name=\"name\" select=\"'olink.document.citation'\"/>\n          <xsl:with-param name=\"context\" select=\"'xref'\"/>\n          <xsl:with-param name=\"lang\" select=\"$olink.lang\"/>\n        </xsl:call-template>\n      </xsl:with-param>\n      <xsl:with-param name=\"docname\" select=\"$docname\"/>\n      <xsl:with-param name=\"pagenumber\" select=\"$page\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"xref.page.citation\">\n  <!-- Determine if this xref should have a page citation.\n       Context node is the xref or local olink element -->\n  <xsl:param name=\"linkend\" select=\"@linkend\"/>\n  <xsl:param name=\"target\" select=\"key('id', $linkend)\"/>\n  <xsl:param name=\"xrefstyle\">\n    <xsl:choose>\n      <xsl:when test=\"@role and not(@xrefstyle) \n                      and $use.role.as.xrefstyle != 0\">\n        <xsl:value-of select=\"@role\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"@xrefstyle\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:param>\n\n  <xsl:if test=\"not(starts-with(normalize-space($xrefstyle),'select:')\n                    and (contains($xrefstyle, 'page')\n                         or contains($xrefstyle, 'Page')))\n                and ( $insert.xref.page.number = 'yes' \n                   or $insert.xref.page.number = '1')\n                or local-name($target) = 'para'\">\n    <xsl:apply-templates select=\"$target\" mode=\"page.citation\">\n      <xsl:with-param name=\"id\" select=\"$linkend\"/>\n    </xsl:apply-templates>\n  </xsl:if>\n</xsl:template>\n\n</xsl:stylesheet>\n\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/or.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"or\" english-language-name=\"Oriya\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/or.xml -->\n<!-- * -->\n<!-- * E-mail the edited or.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"ସାରାଂଶ\"/>\n<l:gentext key=\"abstract\" text=\"ସାରାଂଶ\"/>\n<l:gentext key=\"Acknowledgements\" text=\"ପ୍ରାପ୍ତି ସୂଚନା\"/>\n<l:gentext key=\"acknowledgements\" text=\"ପ୍ରାପ୍ତି ସୂଚନା\"/>\n<l:gentext key=\"Answer\" text=\"ଉ:\"/>\n<l:gentext key=\"answer\" text=\"ଉ:\"/>\n<l:gentext key=\"Appendix\" text=\"ପରିଶିଷ୍ଠ\"/>\n<l:gentext key=\"appendix\" text=\"ପରିଶିଷ୍ଠ\"/>\n<l:gentext key=\"Article\" text=\"ନିବନ୍ଧ\"/>\n<l:gentext key=\"article\" text=\"ନିବନ୍ଧ\"/>\n<l:gentext key=\"Author\" text=\"ଲେଖକ\"/>\n<l:gentext key=\"Bibliography\" text=\"ଗ୍ରନ୍ଥସୂଚୀ\"/>\n<l:gentext key=\"bibliography\" text=\"ଗ୍ରନ୍ଥସୂଚୀ\"/>\n<l:gentext key=\"Book\" text=\"ପୁସ୍ତକ\"/>\n<l:gentext key=\"book\" text=\"ପୁସ୍ତକ\"/>\n<l:gentext key=\"CAUTION\" text=\"ସାବଧାନ\"/>\n<l:gentext key=\"Caution\" text=\"ସାବଧାନ\"/>\n<l:gentext key=\"caution\" text=\"ସାବଧାନ\"/>\n<l:gentext key=\"Chapter\" text=\"ଅଧ୍ଯାୟ\"/>\n<l:gentext key=\"chapter\" text=\"ଅଧ୍ଯାୟ\"/>\n<l:gentext key=\"Colophon\" text=\"ପୁସ୍ତକ ପରିଚୟ\"/>\n<l:gentext key=\"colophon\" text=\"ପୁସ୍ତକ ପରିଚୟ\"/>\n<l:gentext key=\"Copyright\" text=\"ସ୍ବତ୍ତ୍ବାଧୀକାର\"/>\n<l:gentext key=\"copyright\" text=\"ସ୍ବତ୍ତ୍ବାଧୀକାର\"/>\n<l:gentext key=\"Dedication\" text=\"ସମର୍ପଣ\"/>\n<l:gentext key=\"dedication\" text=\"ସମର୍ପଣ\"/>\n<l:gentext key=\"Edition\" text=\"ସଂସକରଣ\"/>\n<l:gentext key=\"edition\" text=\"ସଂସକରଣ\"/>\n<l:gentext key=\"Editor\" text=\"ସମ୍ପାଦକ\"/>\n<l:gentext key=\"Equation\" text=\"ସମୀକରଣ\"/>\n<l:gentext key=\"equation\" text=\"ସମୀକରଣ\"/>\n<l:gentext key=\"Example\" text=\"ଉଦାହରଣ\"/>\n<l:gentext key=\"example\" text=\"ଉଦାହରଣ\"/>\n<l:gentext key=\"Figure\" text=\"ଚିତ୍ର\"/>\n<l:gentext key=\"figure\" text=\"ଚିତ୍ର\"/>\n<l:gentext key=\"Glossary\" text=\"ଶବ୍ଦକୋଷ\"/>\n<l:gentext key=\"glossary\" text=\"ଶବ୍ଦକୋଷ\"/>\n<l:gentext key=\"GlossSee\" text=\"ଦେଖନ୍ତୁ\"/>\n<l:gentext key=\"glosssee\" text=\"ଦେଖନ୍ତୁ\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"ଏହା ଭି ଦେଖନ୍ତୁ\"/>\n<l:gentext key=\"glossseealso\" text=\"ଏହା ଭି ଦେଖନ୍ତୁ\"/>\n<l:gentext key=\"IMPORTANT\" text=\"ଗୁରୁତ୍ବପୂର୍ଣ୍ଣ\"/>\n<l:gentext key=\"important\" text=\"ଗୁରୁତ୍ବପୂର୍ଣ୍ଣ\"/>\n<l:gentext key=\"Important\" text=\"ଗୁରୁତ୍ବପୂର୍ଣ୍ଣ\"/>\n<l:gentext key=\"Index\" text=\"ଅନୁକ୍ରମଣିକା\"/>\n<l:gentext key=\"index\" text=\"ଅନୁକ୍ରମଣିକା\"/>\n<l:gentext key=\"ISBN\" text=\"ଆଇ.ଏସ.ବି.ଏନ.\"/>\n<l:gentext key=\"isbn\" text=\"ଆଇ.ଏସ.ବି.ଏନ.\"/>\n<l:gentext key=\"LegalNotice\" text=\"ବୈଧାନିକ ସୂଚନା\"/>\n<l:gentext key=\"legalnotice\" text=\"ବୈଧାନିକ ସୂଚନା\"/>\n<l:gentext key=\"MsgAud\" text=\"ଶ୍ରୋତୃବର୍ଗ\"/>\n<l:gentext key=\"msgaud\" text=\"ଶ୍ରୋତୃବର୍ଗ\"/>\n<l:gentext key=\"MsgLevel\" text=\"ସ୍ତର\"/>\n<l:gentext key=\"msglevel\" text=\"ସ୍ତର\"/>\n<l:gentext key=\"MsgOrig\" text=\"ଉତ୍ପତ୍ତି\"/>\n<l:gentext key=\"msgorig\" text=\"ଉତ୍ପତ୍ତି\"/>\n<l:gentext key=\"NOTE\" text=\"ଟୀକା\"/>\n<l:gentext key=\"Note\" text=\"ଟୀକା\"/>\n<l:gentext key=\"note\" text=\"ଟୀକା\"/>\n<l:gentext key=\"Part\" text=\"ଭାଗ\"/>\n<l:gentext key=\"part\" text=\"ଭାଗ\"/>\n<l:gentext key=\"Preface\" text=\"ଭୂମିକା\"/>\n<l:gentext key=\"preface\" text=\"ଭୂମିକା\"/>\n<l:gentext key=\"Procedure\" text=\"କାର୍ଯ୍ଯବିଧି\"/>\n<l:gentext key=\"procedure\" text=\"କାର୍ଯ୍ଯବିଧି\"/>\n<l:gentext key=\"ProductionSet\" text=\"ଉତ୍ପାଦନ\"/>\n<l:gentext key=\"PubDate\" text=\"ପ୍ରକାଶନ ତାରୀଖ\"/>\n<l:gentext key=\"pubdate\" text=\"ପ୍ରକାଶନ ତାରୀଖ\"/>\n<l:gentext key=\"Published\" text=\"ପ୍ରକାଶିତ\"/>\n<l:gentext key=\"published\" text=\"ପ୍ରକାଶିତ\"/>\n<l:gentext key=\"Publisher\" text=\"ପ୍ରକାଶକ\"/>\n<l:gentext key=\"Qandadiv\" text=\"ପ୍ର &amp; ଉ\"/>\n<l:gentext key=\"qandadiv\" text=\"ପ୍ର &amp; ଉ\"/>\n<l:gentext key=\"QandASet\" text=\"ବାରମ୍ବାର ପଚରାଯାଉଥିବା ପ୍ରଶ୍ନଗୁଡ଼ିକ\"/>\n<l:gentext key=\"Question\" text=\"ପ୍ର:\"/>\n<l:gentext key=\"question\" text=\"ପ୍ର:\"/>\n<l:gentext key=\"RefEntry\" text=\"ପୃଷ୍ଠା\"/>\n<l:gentext key=\"refentry\" text=\"ପୃଷ୍ଠା\"/>\n<l:gentext key=\"Reference\" text=\"ସନ୍ଦର୍ଭ\"/>\n<l:gentext key=\"reference\" text=\"ସନ୍ଦର୍ଭ\"/>\n<l:gentext key=\"References\" text=\"ସନ୍ଦର୍ଭ\"/>\n<l:gentext key=\"RefName\" text=\"ନାମ\"/>\n<l:gentext key=\"refname\" text=\"ନାମ\"/>\n<l:gentext key=\"RefSection\" text=\"ଅଂଶ\"/>\n<l:gentext key=\"refsection\" text=\"ଅଂଶ\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"ସାରାଂଶ\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"ସାରାଂଶ\"/>\n<l:gentext key=\"RevHistory\" text=\"ସଂଶୋଧନ ଇତିହାସ\"/>\n<l:gentext key=\"revhistory\" text=\"ସଂଶୋଧନ ଇତିହାସ\"/>\n<l:gentext key=\"revision\" text=\"ସଂଶୋଧନ\"/>\n<l:gentext key=\"Revision\" text=\"ସଂଶୋଧନ\"/>\n<l:gentext key=\"sect1\" text=\"ଅଂଶ\"/>\n<l:gentext key=\"sect2\" text=\"ଅଂଶ\"/>\n<l:gentext key=\"sect3\" text=\"ଅଂଶ\"/>\n<l:gentext key=\"sect4\" text=\"ଅଂଶ\"/>\n<l:gentext key=\"sect5\" text=\"ଅଂଶ\"/>\n<l:gentext key=\"section\" text=\"ଅଂଶ\"/>\n<l:gentext key=\"Section\" text=\"ଅଂଶ\"/>\n<l:gentext key=\"see\" text=\"ଦେଖନ୍ତୁ\"/>\n<l:gentext key=\"See\" text=\"ଦେଖନ୍ତୁ\"/>\n<l:gentext key=\"seealso\" text=\"ଏହା ଭି ଦେଖନ୍ତୁ\"/>\n<l:gentext key=\"Seealso\" text=\"ଏହା ଭି ଦେଖନ୍ତୁ\"/>\n<l:gentext key=\"SeeAlso\" text=\"ଏହା ଭି ଦେଖନ୍ତୁ\"/>\n<l:gentext key=\"set\" text=\"ବିନ୍ଯାସ କରନ୍ତୁ\"/>\n<l:gentext key=\"Set\" text=\"ବିନ୍ଯାସ କରନ୍ତୁ\"/>\n<l:gentext key=\"setindex\" text=\"ଅନୁକ୍ରମଣିକା ବିନ୍ଯାସ କରନ୍ତୁ\"/>\n<l:gentext key=\"SetIndex\" text=\"ଅନୁକ୍ରମଣିକା ବିନ୍ଯାସ କରନ୍ତୁ\"/>\n<l:gentext key=\"Sidebar\" text=\"ପାର୍ଶ୍ବପଟି\"/>\n<l:gentext key=\"sidebar\" text=\"ପାର୍ଶ୍ବପଟି\"/>\n<l:gentext key=\"step\" text=\"ପଦକ୍ଷେପ\"/>\n<l:gentext key=\"Step\" text=\"ପଦକ୍ଷେପ\"/>\n<l:gentext key=\"table\" text=\"ସାରଣୀ\"/>\n<l:gentext key=\"Table\" text=\"ସାରଣୀ\"/>\n<l:gentext key=\"task\" text=\"କାର୍ଯ୍ୟସୂଚୀ\"/>\n<l:gentext key=\"Task\" text=\"କାର୍ଯ୍ୟସୂଚୀ\"/>\n<l:gentext key=\"tip\" text=\"ସଂକେତ\"/>\n<l:gentext key=\"TIP\" text=\"ସଂକେତ\"/>\n<l:gentext key=\"Tip\" text=\"ସଂକେତ\"/>\n<l:gentext key=\"Warning\" text=\"ଚେତାବନୀ\"/>\n<l:gentext key=\"warning\" text=\"ଚେତାବନୀ\"/>\n<l:gentext key=\"WARNING\" text=\"ଚେତାବନୀ\"/>\n<l:gentext key=\"and\" text=\"ଓ\"/>\n<l:gentext key=\"or\" text=\"or\" lang=\"en\"/>\n<l:gentext key=\"by\" text=\"ଦ୍ବାରା\"/>\n<l:gentext key=\"Edited\" text=\"ସମ୍ପାଦିତ\"/>\n<l:gentext key=\"edited\" text=\"ସମ୍ପାଦିତ\"/>\n<l:gentext key=\"Editedby\" text=\"ଦ୍ବାରା ସମ୍ପାଦିତ\"/>\n<l:gentext key=\"editedby\" text=\"ଦ୍ବାରା ସମ୍ପାଦିତ\"/>\n<l:gentext key=\"in\" text=\"ଭିତରେ\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"ଟୀକା\"/>\n<l:gentext key=\"Notes\" text=\"ଟୀକା\"/>\n<l:gentext key=\"Pgs\" text=\"ପୃଷ୍ଠା\"/>\n<l:gentext key=\"pgs\" text=\"ପୃଷ୍ଠା\"/>\n<l:gentext key=\"Revisedby\" text=\"ଦ୍ବାରା ସଂଶୋଧିତ: \"/>\n<l:gentext key=\"revisedby\" text=\"ଦ୍ବାରା ସଂଶୋଧିତ: \"/>\n<l:gentext key=\"TableNotes\" text=\"ଟୀକା\"/>\n<l:gentext key=\"tablenotes\" text=\"ଟୀକା\"/>\n<l:gentext key=\"TableofContents\" text=\"ସୂଚୀପତ୍ର\"/>\n<l:gentext key=\"tableofcontents\" text=\"ସୂଚୀପତ୍ର\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"ଅପ୍ରତ୍ଯାଶିତ ଉପାଦାନ ନାମ\"/>\n<l:gentext key=\"unsupported\" text=\"ଅସହାୟକ\"/>\n<l:gentext key=\"xrefto\" text=\"ସହିତ ପ୍ରାସଙ୍ଗିକ ସନ୍ଦର୍ଭ କରନ୍ତୁ\"/>\n<l:gentext key=\"Authors\" text=\"ଲେଖକ\"/>\n<l:gentext key=\"copyeditor\" text=\"ନକଲ ସମ୍ପାଦକ\"/>\n<l:gentext key=\"graphicdesigner\" text=\"ଆଲେଖୀ ରଚନାକାରୀ\"/>\n<l:gentext key=\"productioneditor\" text=\"ଉତ୍ପାଦନ ସମ୍ପାଦକ\"/>\n<l:gentext key=\"technicaleditor\" text=\"ଯାନ୍ତ୍ରିକ ସମ୍ପାଦକ\"/>\n<l:gentext key=\"translator\" text=\"ଅନୁବାଦକ\"/>\n<l:gentext key=\"listofequations\" text=\"ସମୀକରଣ ତାଲିକା\"/>\n<l:gentext key=\"ListofEquations\" text=\"ସମୀକରଣ ତାଲିକା\"/>\n<l:gentext key=\"ListofExamples\" text=\"ଉଦାହରଣ ତାଲିକା\"/>\n<l:gentext key=\"listofexamples\" text=\"ଉଦାହରଣ ତାଲିକା\"/>\n<l:gentext key=\"ListofFigures\" text=\"ଚିତ୍ର ତାଲିକା\"/>\n<l:gentext key=\"listoffigures\" text=\"ଚିତ୍ର ତାଲିକା\"/>\n<l:gentext key=\"ListofProcedures\" text=\"କାର୍ଯ୍ଯବିଧି ତାଲିକା\"/>\n<l:gentext key=\"listofprocedures\" text=\"କାର୍ଯ୍ଯବିଧି ତାଲିକା\"/>\n<l:gentext key=\"listoftables\" text=\"ସାରଣୀ ତାଲିକା\"/>\n<l:gentext key=\"ListofTables\" text=\"ସାରଣୀ ତାଲିକା\"/>\n<l:gentext key=\"ListofUnknown\" text=\"ଅଜଣାର ତାଲିକା\"/>\n<l:gentext key=\"listofunknown\" text=\"ଅଜଣାର ତାଲିକା\"/>\n<l:gentext key=\"nav-home\" text=\"ମୂଳ ସ୍ଥାନ\"/>\n<l:gentext key=\"nav-next\" text=\"ପରବର୍ତ୍ତୀ\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"ଦ୍ରୁତ ଆଗକୁ\"/>\n<l:gentext key=\"nav-prev\" text=\"ପୂର୍ବ\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"ଦ୍ରୁତ ପଛକୁ\"/>\n<l:gentext key=\"nav-up\" text=\"ଉପରକୁ\"/>\n<l:gentext key=\"nav-toc\" text=\"ସୂଚୀପତ୍ର\"/>\n<l:gentext key=\"Draft\" text=\"ଡ୍ରାଫ୍ଟ\"/>\n<l:gentext key=\"above\" text=\"ଉପରେ\"/>\n<l:gentext key=\"below\" text=\"ତଳେ\"/>\n<l:gentext key=\"sectioncalled\" text=\"ଏହି ଅଂଶର ନାମ\"/>\n<l:gentext key=\"index symbols\" text=\"ପ୍ରତୀକ\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"ଅଆଇଈଉଊଋଏଐଓଔକଖଗଘଙଚଛଜଝଞଟଠଡଢଣତଥଦଧନପଫବଭମଯୟରଲଳୱଶଷସହ\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ଅଆଇଈଉଊଋଏଐଓଔକଖଗଘଙଚଛଜଝଞଟଠଡଢଣତଥଦଧନପଫବଭମଯୟରଲଳୱଶଷସହ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"ପ୍ରଥମ-ଶେଷ\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"ପରିଶିଷ୍ଠ %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"ଅଧ୍ଯାୟ %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"ସମୀକରଣ %n. %t\"/>\n<l:template name=\"example\" text=\"ଉଦାହରଣ %n. %t\"/>\n<l:template name=\"figure\" text=\"ଚିତ୍ର %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"ଭାଗ %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"କାର୍ଯ୍ଯବିଧି %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"ଉତ୍ପାଦନ %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"ସାରଣୀ %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"ପରିଶିଷ୍ଠ %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"ଅଧ୍ଯାୟ %n. %t\"/>\n<l:template name=\"part\" text=\"ଭାଗ %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"ଉ: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"ପ୍ର: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"ପ୍ର: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\"%oରେ\"/>\n<l:template name=\"olink.page.citation\" text=\" (ପୃଷ୍ଠା %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(ପୃଷ୍ଠା %p)\"/>\n<l:template name=\"docname\" text=\"%oରେ\"/>\n<l:template name=\"docnamelong\" text=\"%o ନାମକ ଦଲିଲରେ\"/>\n<l:template name=\"pageabbrev\" text=\"(ପୃ. %p)\"/>\n<l:template name=\"Page\" text=\"ପୃଷ୍ଠା %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"ଏହି ଅଂଶର ନାମ “%t”\"/>\n<l:template name=\"refsection\" text=\"ଏହି ଅଂଶର ନାମ “%t”\"/>\n<l:template name=\"refsect1\" text=\"ଏହି ଅଂଶର ନାମ “%t”\"/>\n<l:template name=\"refsect2\" text=\"ଏହି ଅଂଶର ନାମ “%t”\"/>\n<l:template name=\"refsect3\" text=\"ଏହି ଅଂଶର ନାମ “%t”\"/>\n<l:template name=\"sect1\" text=\"ଏହି ଅଂଶର ନାମ “%t”\"/>\n<l:template name=\"sect2\" text=\"ଏହି ଅଂଶର ନାମ “%t”\"/>\n<l:template name=\"sect3\" text=\"ଏହି ଅଂଶର ନାମ “%t”\"/>\n<l:template name=\"sect4\" text=\"ଏହି ଅଂଶର ନାମ “%t”\"/>\n<l:template name=\"sect5\" text=\"ଏହି ଅଂଶର ନାମ “%t”\"/>\n<l:template name=\"section\" text=\"ଏହି ଅଂଶର ନାମ “%t”\"/>\n<l:template name=\"simplesect\" text=\"ଏହି ଅଂଶର ନାମ “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"ଉ: %n\"/>\n<l:template name=\"appendix\" text=\"ପରିଶିଷ୍ଠ %n\"/>\n<l:template name=\"bridgehead\" text=\"ଅଂଶ %n\"/>\n<l:template name=\"chapter\" text=\"ଅଧ୍ଯାୟ %n\"/>\n<l:template name=\"equation\" text=\"ସମୀକରଣ %n\"/>\n<l:template name=\"example\" text=\"ଉଦାହରଣ %n\"/>\n<l:template name=\"figure\" text=\"ଚିତ୍ର %n\"/>\n<l:template name=\"part\" text=\"ଭାଗ %n\"/>\n<l:template name=\"procedure\" text=\"କାର୍ଯ୍ଯବିଧି %n\"/>\n<l:template name=\"productionset\" text=\"ଉତ୍ପାଦନ %n\"/>\n<l:template name=\"qandadiv\" text=\"ପ୍ର &amp; ଉ %n\"/>\n<l:template name=\"qandaentry\" text=\"ପ୍ର: %n\"/>\n<l:template name=\"question\" text=\"ପ୍ର: %n\"/>\n<l:template name=\"sect1\" text=\"ଅଂଶ %n\"/>\n<l:template name=\"sect2\" text=\"ଅଂଶ %n\"/>\n<l:template name=\"sect3\" text=\"ଅଂଶ %n\"/>\n<l:template name=\"sect4\" text=\"ଅଂଶ %n\"/>\n<l:template name=\"sect5\" text=\"ଅଂଶ %n\"/>\n<l:template name=\"section\" text=\"ଅଂଶ %n\"/>\n<l:template name=\"table\" text=\"ସାରଣୀ %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"ପରିଶିଷ୍ଠ %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"ଅଂଶ %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"ଅଧ୍ଯାୟ %n, %t\"/>\n<l:template name=\"equation\" text=\"ସମୀକରଣ %n, “%t”\"/>\n<l:template name=\"example\" text=\"ଉଦାହରଣ %n, “%t”\"/>\n<l:template name=\"figure\" text=\"ଚିତ୍ର %n, “%t”\"/>\n<l:template name=\"part\" text=\"ଭାଗ %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"କାର୍ଯ୍ଯବିଧି %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"ଉତ୍ପାଦନ %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"ପ୍ର &amp; ଉ %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"ଏହି ଅଂଶର ନାମ “%t”\"/>\n<l:template name=\"refsect2\" text=\"ଏହି ଅଂଶର ନାମ “%t”\"/>\n<l:template name=\"refsect3\" text=\"ଏହି ଅଂଶର ନାମ “%t”\"/>\n<l:template name=\"refsection\" text=\"ଏହି ଅଂଶର ନାମ “%t”\"/>\n<l:template name=\"sect1\" text=\"ଅଂଶ %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"ଅଂଶ %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"ଅଂଶ %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"ଅଂଶ %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"ଅଂଶ %n, “%t”\"/>\n<l:template name=\"section\" text=\"ଅଂଶ %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"ଏହି ଅଂଶର ନାମ “%t”\"/>\n<l:template name=\"table\" text=\"ସାରଣୀ %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" ଓ \"/>\n<l:template name=\"seplast\" text=\", ଓ \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"ଦେଖନ୍ତୁ %t.\"/>\n<l:template name=\"seealso\" text=\"ଏହା ଭି ଦେଖନ୍ତୁ %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"ଶ୍ରୋତୃବର୍ଗ: \"/>\n<l:template name=\"MsgLevel\" text=\"ସ୍ତର: \"/>\n<l:template name=\"MsgOrig\" text=\"ଉତ୍ପତ୍ତି: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"ମାସ/ଦିନ/ବର୍ଷ\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[ବ୍ଯାଖ୍ଯା: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"ଜାନୁଆରି\"/>\n<l:template name=\"February\" text=\"ଫେବ୍ରୁଆରି\"/>\n<l:template name=\"March\" text=\"ମାର୍ଚ୍ଚ\"/>\n<l:template name=\"April\" text=\"ଏପ୍ରିଲ\"/>\n<l:template name=\"May\" text=\"ମେ\"/>\n<l:template name=\"June\" text=\"ଜୁନ\"/>\n<l:template name=\"July\" text=\"ଜୁଲାଇ\"/>\n<l:template name=\"August\" text=\"ଅଗଷ୍ଟ\"/>\n<l:template name=\"September\" text=\"ସେପ୍ଟେମ୍ବର\"/>\n<l:template name=\"October\" text=\"ଅକ୍ଟୋବର\"/>\n<l:template name=\"November\" text=\"ନଭେମ୍ବର\"/>\n<l:template name=\"December\" text=\"ଡିସେମ୍ବର\"/>\n<l:template name=\"Monday\" text=\"ସୋମବାର\"/>\n<l:template name=\"Tuesday\" text=\"ମଙ୍ଗଳବାର\"/>\n<l:template name=\"Wednesday\" text=\"ବୁଧବାର\"/>\n<l:template name=\"Thursday\" text=\"ଗୁରୁବାର\"/>\n<l:template name=\"Friday\" text=\"ଶୁକ୍ରବାର\"/>\n<l:template name=\"Saturday\" text=\"ଶନିବାର\"/>\n<l:template name=\"Sunday\" text=\"ରବିବାର\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"ଜାନ\"/>\n<l:template name=\"Feb\" text=\"ଫେବ\"/>\n<l:template name=\"Mar\" text=\"ମାର\"/>\n<l:template name=\"Apr\" text=\"ଏପ୍ର\"/>\n<l:template name=\"May\" text=\"ମେ\"/>\n<l:template name=\"Jun\" text=\"ଜୁନ\"/>\n<l:template name=\"Jul\" text=\"ଜୁଲ\"/>\n<l:template name=\"Aug\" text=\"ଅଗ\"/>\n<l:template name=\"Sep\" text=\"ସେପ\"/>\n<l:template name=\"Oct\" text=\"ଅକ୍ଟ\"/>\n<l:template name=\"Nov\" text=\"ନଭ\"/>\n<l:template name=\"Dec\" text=\"ଡିସ\"/>\n<l:template name=\"Mon\" text=\"ସୋମ\"/>\n<l:template name=\"Tue\" text=\"ମଂଗଳ\"/>\n<l:template name=\"Wed\" text=\"ବୁଧ\"/>\n<l:template name=\"Thu\" text=\"ଗୁରୁ\"/>\n<l:template name=\"Fri\" text=\"ଶୁକ୍ର\"/>\n<l:template name=\"Sat\" text=\"ଶନି\"/>\n<l:template name=\"Sun\" text=\"ରବି\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0448 Oriya\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">ପ୍ରତୀକ</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/pa.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"pa\" english-language-name=\"Punjabi\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/pa.xml -->\n<!-- * -->\n<!-- * E-mail the edited pa.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"ਸਾਰ\"/>\n<l:gentext key=\"abstract\" text=\"ਸਾਰ\"/>\n<l:gentext key=\"Acknowledgements\" text=\"ਰਸੀਦਾਂ\"/>\n<l:gentext key=\"acknowledgements\" text=\"ਰਸੀਦਾਂ\"/>\n<l:gentext key=\"Answer\" text=\"A:\"/>\n<l:gentext key=\"answer\" text=\"a:\"/>\n<l:gentext key=\"Appendix\" text=\"ਅੰਤਿਕਾ\"/>\n<l:gentext key=\"appendix\" text=\"ਅੰਤਿਕਾ\"/>\n<l:gentext key=\"Article\" text=\"ਲੇਖ\"/>\n<l:gentext key=\"article\" text=\"ਲੇਖ\"/>\n<l:gentext key=\"Author\" text=\"ਲੇਖਕ\"/>\n<l:gentext key=\"Bibliography\" text=\"ਪੁਸਤਕ-ਸੂਚੀ\"/>\n<l:gentext key=\"bibliography\" text=\"ਪੁਸਤਕ-ਸੂਚੀ\"/>\n<l:gentext key=\"Book\" text=\"ਪੁਸਤਕ\"/>\n<l:gentext key=\"book\" text=\"ਪੁਸਤਕ\"/>\n<l:gentext key=\"CAUTION\" text=\"ਸਾਵਧਾਨ\"/>\n<l:gentext key=\"Caution\" text=\"ਸਾਵਧਾਨ\"/>\n<l:gentext key=\"caution\" text=\"ਸਾਵਧਾਨ\"/>\n<l:gentext key=\"Chapter\" text=\"ਅਧਿਆਇ\"/>\n<l:gentext key=\"chapter\" text=\"ਅਧਿਆਇ\"/>\n<l:gentext key=\"Colophon\" text=\"ਲੇਖਕਾਂਬਾਰੇ\"/>\n<l:gentext key=\"colophon\" text=\"ਲੇਖਕਾਂਬਾਰੇ\"/>\n<l:gentext key=\"Copyright\" text=\"ਹੱਕਰਾਖਵੇਂਹਨ\"/>\n<l:gentext key=\"copyright\" text=\"ਹੱਕਰਾਖਵੇਂਹਨ\"/>\n<l:gentext key=\"Dedication\" text=\"ਸਮਰਪਣ\"/>\n<l:gentext key=\"dedication\" text=\"ਸਮਰਪਣ\"/>\n<l:gentext key=\"Edition\" text=\"ਪ੍ਰਕਾਸ਼ਨ\"/>\n<l:gentext key=\"edition\" text=\"ਪ੍ਰਕਾਸ਼ਨ\"/>\n<l:gentext key=\"Editor\" text=\"ਪ੍ਰਕਾਸ਼ਕ\"/>\n<l:gentext key=\"Equation\" text=\"ਸਮੀਕਰਨ\"/>\n<l:gentext key=\"equation\" text=\"ਸਮੀਕਰਨ\"/>\n<l:gentext key=\"Example\" text=\"ਉਦਾਹਰਨ\"/>\n<l:gentext key=\"example\" text=\"ਉਦਾਹਰਨ\"/>\n<l:gentext key=\"Figure\" text=\"ਚਿੱਤਰ\"/>\n<l:gentext key=\"figure\" text=\"ਚਿੱਤਰ\"/>\n<l:gentext key=\"Glossary\" text=\"ਸ਼ਬਦਾਵਲੀ\"/>\n<l:gentext key=\"glossary\" text=\"ਸ਼ਬਦਾਵਲੀ\"/>\n<l:gentext key=\"GlossSee\" text=\"ਵੇਖੋ\"/>\n<l:gentext key=\"glosssee\" text=\"ਵੇਖੋ\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"ਇਹਵੀਵੇਖੋ\"/>\n<l:gentext key=\"glossseealso\" text=\"ਇਹਵੀਵੇਖੋ\"/>\n<l:gentext key=\"IMPORTANT\" text=\"ਖਾਸ\"/>\n<l:gentext key=\"important\" text=\"ਖਾਸ\"/>\n<l:gentext key=\"Important\" text=\"ਖਾਸ\"/>\n<l:gentext key=\"Index\" text=\"ਤਤਕਰਾ\"/>\n<l:gentext key=\"index\" text=\"ਤਤਕਰਾ\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"ਕਾਨੂੰਨੀ ਸੂਚਨਾ\"/>\n<l:gentext key=\"legalnotice\" text=\"ਕਾਨੂੰਨੀ ਸੂਚਨਾ\"/>\n<l:gentext key=\"MsgAud\" text=\"ਪਾਠਕ\"/>\n<l:gentext key=\"msgaud\" text=\"ਪਾਠਕ\"/>\n<l:gentext key=\"MsgLevel\" text=\"ਪੱਧਰ\"/>\n<l:gentext key=\"msglevel\" text=\"ਪੱਧਰ\"/>\n<l:gentext key=\"MsgOrig\" text=\"ਮੁੱਢ\"/>\n<l:gentext key=\"msgorig\" text=\"ਮੁੱਢ\"/>\n<l:gentext key=\"NOTE\" text=\"ਸੂਚਨਾ\"/>\n<l:gentext key=\"Note\" text=\"ਸੂਚਨਾ\"/>\n<l:gentext key=\"note\" text=\"ਸੂਚਨਾ\"/>\n<l:gentext key=\"Part\" text=\"ਭਾਗ\"/>\n<l:gentext key=\"part\" text=\"ਭਾਗ\"/>\n<l:gentext key=\"Preface\" text=\"ਭੂਮਿਕਾ\"/>\n<l:gentext key=\"preface\" text=\"ਭੂਮਿਕਾ\"/>\n<l:gentext key=\"Procedure\" text=\"ਤਰੀਕਾ\"/>\n<l:gentext key=\"procedure\" text=\"ਤਰੀਕਾ\"/>\n<l:gentext key=\"ProductionSet\" text=\"ਉਤਪਾਦਨ\"/>\n<l:gentext key=\"PubDate\" text=\"ਪ੍ਰਕਾਸ਼ਨ ਮਿਤੀ\"/>\n<l:gentext key=\"pubdate\" text=\"ਪ੍ਰਕਾਸ਼ਨ ਮਿਤੀ\"/>\n<l:gentext key=\"Published\" text=\"ਪ੍ਰਕਾਸ਼ਿਤ\"/>\n<l:gentext key=\"published\" text=\"ਪ੍ਰਕਾਸ਼ਿਤ\"/>\n<l:gentext key=\"Publisher\" text=\"ਪ੍ਰਕਾਸ਼ਕ\"/>\n<l:gentext key=\"Qandadiv\" text=\"Q &amp; A\"/>\n<l:gentext key=\"qandadiv\" text=\"q &amp; a\"/>\n<l:gentext key=\"QandASet\" text=\"ਆਮ ਸਵਾਲ ਜਵਾਬ\"/>\n<l:gentext key=\"Question\" text=\"Q:\"/>\n<l:gentext key=\"question\" text=\"q:\"/>\n<l:gentext key=\"RefEntry\" text=\"ਸਫਾ\"/>\n<l:gentext key=\"refentry\" text=\"ਸਫਾ\"/>\n<l:gentext key=\"Reference\" text=\"ਹਵਾਲਾ\"/>\n<l:gentext key=\"reference\" text=\"ਹਵਾਲਾ\"/>\n<l:gentext key=\"References\" text=\"ਹਵਾਲਾ\"/>\n<l:gentext key=\"RefName\" text=\"ਨਾਂ\"/>\n<l:gentext key=\"refname\" text=\"ਨਾਂ\"/>\n<l:gentext key=\"RefSection\" text=\"ਹਿੱਸਾ\"/>\n<l:gentext key=\"refsection\" text=\"ਹਿੱਸਾ\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"ਖੁਲਾਸਾ\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"ਖੁਲਾਸਾ\"/>\n<l:gentext key=\"RevHistory\" text=\"ਸੁਧਾਈ ਅਤੀਤ\"/>\n<l:gentext key=\"revhistory\" text=\"ਸੁਧਾਈ ਅਤੀਤ\"/>\n<l:gentext key=\"revision\" text=\"ਸੁਧਾਈ\"/>\n<l:gentext key=\"Revision\" text=\"ਸੁਧਾਈ\"/>\n<l:gentext key=\"sect1\" text=\"ਹਿੱਸਾ\"/>\n<l:gentext key=\"sect2\" text=\"ਹਿੱਸਾ\"/>\n<l:gentext key=\"sect3\" text=\"ਹਿੱਸਾ\"/>\n<l:gentext key=\"sect4\" text=\"ਹਿੱਸਾ\"/>\n<l:gentext key=\"sect5\" text=\"ਹਿੱਸਾ\"/>\n<l:gentext key=\"section\" text=\"ਹਿੱਸਾ\"/>\n<l:gentext key=\"Section\" text=\"ਹਿੱਸਾ\"/>\n<l:gentext key=\"see\" text=\"ਵੇਖੋ\"/>\n<l:gentext key=\"See\" text=\"ਵੇਖੋ\"/>\n<l:gentext key=\"seealso\" text=\"ਇਹਵੀਵੇਖੋ\"/>\n<l:gentext key=\"Seealso\" text=\"ਇਹਵੀਵੇਖੋ\"/>\n<l:gentext key=\"SeeAlso\" text=\"ਇਹਵੀਵੇਖੋ\"/>\n<l:gentext key=\"set\" text=\"ਨਿਰਧਾਰਿਤ\"/>\n<l:gentext key=\"Set\" text=\"ਨਿਰਧਾਰਿਤ\"/>\n<l:gentext key=\"setindex\" text=\"ਤਤਕਰਾ ਨਿਰਧਾਰਨ\"/>\n<l:gentext key=\"SetIndex\" text=\"ਤਤਕਰਾ ਨਿਰਧਾਰਨ\"/>\n<l:gentext key=\"Sidebar\" text=\"ਬਾਹੀ\"/>\n<l:gentext key=\"sidebar\" text=\"ਬਾਹੀ\"/>\n<l:gentext key=\"step\" text=\"ਪਗ਼\"/>\n<l:gentext key=\"Step\" text=\"ਪਗ਼\"/>\n<l:gentext key=\"table\" text=\"ਸਾਰਣੀ\"/>\n<l:gentext key=\"Table\" text=\"ਸਾਰਣੀ\"/>\n<l:gentext key=\"task\" text=\"ਕਾਰਜ\"/>\n<l:gentext key=\"Task\" text=\"ਕਾਰਜ\"/>\n<l:gentext key=\"tip\" text=\"ਸੰਕੇਤ\"/>\n<l:gentext key=\"TIP\" text=\"ਸੰਕੇਤ\"/>\n<l:gentext key=\"Tip\" text=\"ਸੰਕੇਤ\"/>\n<l:gentext key=\"Warning\" text=\"ਸਾਵਧਾਨ\"/>\n<l:gentext key=\"warning\" text=\"ਸਾਵਧਾਨ\"/>\n<l:gentext key=\"WARNING\" text=\"ਸਾਵਧਾਨ\"/>\n<l:gentext key=\"and\" text=\"ਅਤੇ\"/>\n<l:gentext key=\"or\" text=\"or\" lang=\"en\"/>\n<l:gentext key=\"by\" text=\"ਲਈ\"/>\n<l:gentext key=\"Edited\" text=\"ਸੰਪਾਦਨ\"/>\n<l:gentext key=\"edited\" text=\"ਸੰਪਾਦਨ\"/>\n<l:gentext key=\"Editedby\" text=\"ਸੰਪਾਦਨ ਕੀਤਾ\"/>\n<l:gentext key=\"editedby\" text=\"ਸੰਪਾਦਨ ਕੀਤਾ\"/>\n<l:gentext key=\"in\" text=\"ਵਿੱਚ\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"ਸੂਚਨਾ\"/>\n<l:gentext key=\"Notes\" text=\"ਸੂਚਨਾ\"/>\n<l:gentext key=\"Pgs\" text=\"ਸਫ਼ੇ\"/>\n<l:gentext key=\"pgs\" text=\"ਸਫ਼ੇ\"/>\n<l:gentext key=\"Revisedby\" text=\"ਸੁਧਾਈ ਕੀਤੀ: \"/>\n<l:gentext key=\"revisedby\" text=\"ਸੁਧਾਈ ਕੀਤੀ: \"/>\n<l:gentext key=\"TableNotes\" text=\"ਸੂਚਨਾ\"/>\n<l:gentext key=\"tablenotes\" text=\"ਸੂਚਨਾ\"/>\n<l:gentext key=\"TableofContents\" text=\"ਭਾਗ ਸਾਰਣੀ\"/>\n<l:gentext key=\"tableofcontents\" text=\"ਭਾਗ ਸਾਰਣੀ\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"ਨਾ-ਲੋੜੀਦਾ ਇਕਾਈ ਨਾਂ\"/>\n<l:gentext key=\"unsupported\" text=\"ਨਾ-ਸਹਾਇਕ\"/>\n<l:gentext key=\"xrefto\" text=\"xref ਨੂੰ\"/>\n<l:gentext key=\"Authors\" text=\"ਲੇਖਕ\"/>\n<l:gentext key=\"copyeditor\" text=\"ਨਕਲ ਸੰਪਾਦਕ\"/>\n<l:gentext key=\"graphicdesigner\" text=\"ਗਰਾਫਿਕ ਡਿਜ਼ਾਈਨਰ\"/>\n<l:gentext key=\"productioneditor\" text=\"ਉਤਪਾਦਨ ਸੰਪਾਦਕ\"/>\n<l:gentext key=\"technicaleditor\" text=\"ਤਕਨੀਕੀ ਸੰਪਾਦਕ\"/>\n<l:gentext key=\"translator\" text=\"ਅਨੁਵਾਦਕ\"/>\n<l:gentext key=\"listofequations\" text=\"ਸਮੀਕਰਨ ਸੂਚੀ\"/>\n<l:gentext key=\"ListofEquations\" text=\"ਸਮੀਕਰਨ ਸੂਚੀ\"/>\n<l:gentext key=\"ListofExamples\" text=\"ਉਦਾਹਰਨ ਸੂਚੀ\"/>\n<l:gentext key=\"listofexamples\" text=\"ਉਦਾਹਰਨ ਸੂਚੀ\"/>\n<l:gentext key=\"ListofFigures\" text=\"ਚਿੱਤਰ ਸੂਚੀ\"/>\n<l:gentext key=\"listoffigures\" text=\"ਚਿੱਤਰ ਸੂਚੀ\"/>\n<l:gentext key=\"ListofProcedures\" text=\"ਕਾਰਵਾਈ ਸੂਚੀ\"/>\n<l:gentext key=\"listofprocedures\" text=\"ਕਾਰਵਾਈ ਸੂਚੀ\"/>\n<l:gentext key=\"listoftables\" text=\"ਸਾਰਣੀ ਸੂਚੀ\"/>\n<l:gentext key=\"ListofTables\" text=\"ਸਾਰਣੀ ਸੂਚੀ\"/>\n<l:gentext key=\"ListofUnknown\" text=\"ਅਣਜਾਣ ਸੂਚੀ\"/>\n<l:gentext key=\"listofunknown\" text=\"ਅਣਜਾਣ ਸੂਚੀ\"/>\n<l:gentext key=\"nav-home\" text=\"ਘਰ\"/>\n<l:gentext key=\"nav-next\" text=\"ਅੱਗੇ\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"ਤੇਜ਼ ਅੱਗੇ\"/>\n<l:gentext key=\"nav-prev\" text=\"ਪਿੱਛੇ\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"ਤੇਜ਼ ਪਿੱਛੇ\"/>\n<l:gentext key=\"nav-up\" text=\"ਉੱਪਰ\"/>\n<l:gentext key=\"nav-toc\" text=\"ਸਾਰਣੀ\"/>\n<l:gentext key=\"Draft\" text=\"ਡਰਾਫਟ\"/>\n<l:gentext key=\"above\" text=\"ਉੱਪਰ\"/>\n<l:gentext key=\"below\" text=\"ਹੇਠਾਂ\"/>\n<l:gentext key=\"sectioncalled\" text=\"ਭਾਗ ਕਹਿੰਦੇ ਨੇ\"/>\n<l:gentext key=\"index symbols\" text=\"ਚਿੰਨ\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"ਅੰਤਿਕਾ %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"ਅਧਿਆਇ %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"ਸਮੀਕਰਨ %n. %t\"/>\n<l:template name=\"example\" text=\"ਉਦਾਹਰਨ %n. %t\"/>\n<l:template name=\"figure\" text=\"ਚਿੱਤਰ %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"ਭਾਗ %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"ਤਰੀਕਾ %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"ਉਤਪਾਦਨ %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"ਸਾਰਣੀ %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"ਅੰਤਿਕਾ %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"ਅਧਿਆਇ %n. %t\"/>\n<l:template name=\"part\" text=\"ਭਾਗ %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"A: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Q: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Q: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"ਭਾਗ ਕਹਿੰਦੇ ਨੇ “%t”\"/>\n<l:template name=\"refsection\" text=\"ਭਾਗ ਕਹਿੰਦੇ ਨੇ “%t”\"/>\n<l:template name=\"refsect1\" text=\"ਭਾਗ ਕਹਿੰਦੇ ਨੇ “%t”\"/>\n<l:template name=\"refsect2\" text=\"ਭਾਗ ਕਹਿੰਦੇ ਨੇ “%t”\"/>\n<l:template name=\"refsect3\" text=\"ਭਾਗ ਕਹਿੰਦੇ ਨੇ “%t”\"/>\n<l:template name=\"sect1\" text=\"ਭਾਗ ਕਹਿੰਦੇ ਨੇ “%t”\"/>\n<l:template name=\"sect2\" text=\"ਭਾਗ ਕਹਿੰਦੇ ਨੇ “%t”\"/>\n<l:template name=\"sect3\" text=\"ਭਾਗ ਕਹਿੰਦੇ ਨੇ “%t”\"/>\n<l:template name=\"sect4\" text=\"ਭਾਗ ਕਹਿੰਦੇ ਨੇ “%t”\"/>\n<l:template name=\"sect5\" text=\"ਭਾਗ ਕਹਿੰਦੇ ਨੇ “%t”\"/>\n<l:template name=\"section\" text=\"ਭਾਗ ਕਹਿੰਦੇ ਨੇ “%t”\"/>\n<l:template name=\"simplesect\" text=\"ਭਾਗ ਕਹਿੰਦੇ ਨੇ “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"A: %n\"/>\n<l:template name=\"appendix\" text=\"ਅੰਤਿਕਾ %n\"/>\n<l:template name=\"bridgehead\" text=\"ਹਿੱਸਾ %n\"/>\n<l:template name=\"chapter\" text=\"ਅਧਿਆਇ %n\"/>\n<l:template name=\"equation\" text=\"ਸਮੀਕਰਨ %n\"/>\n<l:template name=\"example\" text=\"ਉਦਾਹਰਨ %n\"/>\n<l:template name=\"figure\" text=\"ਚਿੱਤਰ %n\"/>\n<l:template name=\"part\" text=\"ਭਾਗ %n\"/>\n<l:template name=\"procedure\" text=\"ਤਰੀਕਾ %n\"/>\n<l:template name=\"productionset\" text=\"ਉਤਪਾਦਨ %n\"/>\n<l:template name=\"qandadiv\" text=\"Q &amp; A %n\"/>\n<l:template name=\"qandaentry\" text=\"Q: %n\"/>\n<l:template name=\"question\" text=\"Q: %n\"/>\n<l:template name=\"sect1\" text=\"ਹਿੱਸਾ %n\"/>\n<l:template name=\"sect2\" text=\"ਹਿੱਸਾ %n\"/>\n<l:template name=\"sect3\" text=\"ਹਿੱਸਾ %n\"/>\n<l:template name=\"sect4\" text=\"ਹਿੱਸਾ %n\"/>\n<l:template name=\"sect5\" text=\"ਹਿੱਸਾ %n\"/>\n<l:template name=\"section\" text=\"ਹਿੱਸਾ %n\"/>\n<l:template name=\"table\" text=\"ਸਾਰਣੀ %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"ਅੰਤਿਕਾ %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"ਹਿੱਸਾ %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"ਅਧਿਆਇ %n, %t\"/>\n<l:template name=\"equation\" text=\"ਸਮੀਕਰਨ %n, “%t”\"/>\n<l:template name=\"example\" text=\"ਉਦਾਹਰਨ %n, “%t”\"/>\n<l:template name=\"figure\" text=\"ਚਿੱਤਰ %n, “%t”\"/>\n<l:template name=\"part\" text=\"ਭਾਗ %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"ਤਰੀਕਾ %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"ਉਤਪਾਦਨ %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"Q &amp; A %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"ਭਾਗ ਕਹਿੰਦੇ ਨੇ “%t”\"/>\n<l:template name=\"refsect2\" text=\"ਭਾਗ ਕਹਿੰਦੇ ਨੇ “%t”\"/>\n<l:template name=\"refsect3\" text=\"ਭਾਗ ਕਹਿੰਦੇ ਨੇ “%t”\"/>\n<l:template name=\"refsection\" text=\"ਭਾਗ ਕਹਿੰਦੇ ਨੇ “%t”\"/>\n<l:template name=\"sect1\" text=\"ਹਿੱਸਾ %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"ਹਿੱਸਾ %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"ਹਿੱਸਾ %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"ਹਿੱਸਾ %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"ਹਿੱਸਾ %n, “%t”\"/>\n<l:template name=\"section\" text=\"ਹਿੱਸਾ %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"ਭਾਗ ਕਹਿੰਦੇ ਨੇ “%t”\"/>\n<l:template name=\"table\" text=\"ਸਾਰਣੀ %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" ਅਤੇ \"/>\n<l:template name=\"seplast\" text=\", ਅਤੇ \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"ਵੇਖੋ %t.\"/>\n<l:template name=\"seealso\" text=\"ਇਹਵੀਵੇਖੋ %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"ਪਾਠਕ: \"/>\n<l:template name=\"MsgLevel\" text=\"ਪੱਧਰ: \"/>\n<l:template name=\"MsgOrig\" text=\"ਮੁੱਢ: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"ਜਨਵਰੀ\"/>\n<l:template name=\"February\" text=\"ਫਰਵਰੀ\"/>\n<l:template name=\"March\" text=\"ਮਾਰਚ\"/>\n<l:template name=\"April\" text=\"ਅਪ੍ਰੈਲ\"/>\n<l:template name=\"May\" text=\"ਮਈ\"/>\n<l:template name=\"June\" text=\"ਜੂਨ\"/>\n<l:template name=\"July\" text=\"ਜੁਲਾਈ\"/>\n<l:template name=\"August\" text=\"ਅਗਸਤ\"/>\n<l:template name=\"September\" text=\"ਸਤੰਬਰ\"/>\n<l:template name=\"October\" text=\"ਅਕਤੂਬਰ\"/>\n<l:template name=\"November\" text=\"ਨਵੰਬਰ\"/>\n<l:template name=\"December\" text=\"ਦਸੰਬਰ\"/>\n<l:template name=\"Monday\" text=\"ਸੋਮਵਾਰ\"/>\n<l:template name=\"Tuesday\" text=\"ਮੰਗਲਵਾਰ\"/>\n<l:template name=\"Wednesday\" text=\"ਬੁੱਧਵਾਰ\"/>\n<l:template name=\"Thursday\" text=\"ਵੀਰਵਾਰ\"/>\n<l:template name=\"Friday\" text=\"ਸ਼ੁੱਕਰਵਾਰ\"/>\n<l:template name=\"Saturday\" text=\"ਸ਼ਨੀਵਾਰ\"/>\n<l:template name=\"Sunday\" text=\"ਐਤਵਾਰ\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"ਜੈਨ\"/>\n<l:template name=\"Feb\" text=\"ਫੈਬ\"/>\n<l:template name=\"Mar\" text=\"ਮਾਰ\"/>\n<l:template name=\"Apr\" text=\"ਅਪ੍ਰੈ\"/>\n<l:template name=\"May\" text=\"ਮਈ\"/>\n<l:template name=\"Jun\" text=\"ਜੂਨ\"/>\n<l:template name=\"Jul\" text=\"ਜੁਲ\"/>\n<l:template name=\"Aug\" text=\"ਅਗ\"/>\n<l:template name=\"Sep\" text=\"ਸਤੰ\"/>\n<l:template name=\"Oct\" text=\"ਅਕਤੂ\"/>\n<l:template name=\"Nov\" text=\"ਨਵੰ\"/>\n<l:template name=\"Dec\" text=\"ਦਸੰ\"/>\n<l:template name=\"Mon\" text=\"ਸੋਮ\"/>\n<l:template name=\"Tue\" text=\"ਮੰਗਲ\"/>\n<l:template name=\"Wed\" text=\"ਬੁੱਧ\"/>\n<l:template name=\"Thu\" text=\"ਵੀਰ\"/>\n<l:template name=\"Fri\" text=\"ਸ਼ੁੱਕਰ\"/>\n<l:template name=\"Sat\" text=\"ਸ਼ਨੀ\"/>\n<l:template name=\"Sun\" text=\"ਐਤ\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0446 Punjabi\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">ਚਿੰਨ</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/pi.xml",
    "content": "<?xml version=\"1.0\"?>\n\n<reference><info><title>Common Processing Instruction Reference</title>\n    <releaseinfo role=\"meta\">\n      $Id: pi.xsl 8782 2010-07-27 21:15:17Z mzjn $\n    </releaseinfo>\n  </info>\n  <partintro xml:id=\"partintro\">\n    <title>Introduction</title>\n    \n<para>This is generated reference documentation for all\n      user-specifiable processing instructions (PIs) in the\n      “common” part of the DocBook XSL stylesheets.\n      <note>\n        \n<para>You add these PIs at particular points in a document to\n          cause specific “exceptions” to formatting/output behavior. To\n          make global changes in formatting/output behavior across an\n          entire document, it’s better to do it by setting an\n          appropriate stylesheet parameter (if there is one).</para>\n\n      </note>\n    </para>\n\n  </partintro>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"dbchoice_choice\">\n<refnamediv>\n<refname>dbchoice_choice</refname>\n<refpurpose>Generates a localized choice separator</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n\n    <synopsis><tag class=\"xmlpi\">dbchoice choice=\"and\"|\"or\"|<replaceable>string</replaceable>\"</tag></synopsis>\n  \n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>Use the <tag class=\"xmlpi\">dbchoice choice</tag> PI to\n      generate an appropriate localized “choice” separator (for\n      example, <literal>and</literal> or <literal>or</literal>)\n      before the final item in an inline <tag>simplelist</tag></para>\n\n    <warning>\n      \n<para>This PI is a less-than-ideal hack; support for it may\n        disappear in the future (particularly if and when a more\n        appropriate means for marking up \"choice\" lists becomes\n        available in DocBook).</para>\n\n    </warning>\n  </refsect1><refsect1><title>Parameters</title>\n    \n<variablelist>\n      <varlistentry><term>choice=\"and\"</term>\n        <listitem>\n          \n<para>generates a localized <literal>and</literal> separator</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>choice=\"or\"</term>\n        <listitem>\n          \n<para>generates a localized <literal>or</literal> separator</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>choice=\"<replaceable>string</replaceable>\"</term>\n        <listitem>\n          \n<para>generates a literal <replaceable>string</replaceable> separator</para>\n\n        </listitem>\n      </varlistentry>\n    </variablelist>\n\n  </refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"dbtimestamp\">\n<refnamediv>\n<refname>dbtimestamp</refname>\n<refpurpose>Inserts a date timestamp</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n\n    <synopsis><tag class=\"xmlpi\">dbtimestamp format=\"<replaceable>formatstring</replaceable>\" [padding=\"0\"|\"1\"]</tag></synopsis>\n  \n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>Use the <tag class=\"xmlpi\">dbtimestamp</tag> PI at any point in a\n      source document to cause a date timestamp (a formatted\n      string representing the current date and time) to be\n      inserted in output of the document.</para>\n\n  </refsect1><refsect1><title>Parameters</title>\n    \n<variablelist>\n      <varlistentry><term>format=\"<replaceable>formatstring</replaceable>\"</term>\n        <listitem>\n          \n<para>Specifies format in which the date and time are\n            output</para>\n\n        <note>\n          \n<para>For details of the content of the format string,\n            see <link role=\"tcg\" xlink:href=\"Datetime.html\">Date and time</link>.</para>\n\n        </note>\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>padding=\"0\"|\"1\"</term>\n        <listitem>\n          \n<para>Specifies padding behavior; if non-zero, padding is is added</para>\n\n        </listitem>\n      </varlistentry>\n    </variablelist>\n\n  </refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"dbtex_delims\">\n<refnamediv>\n<refname>dbtex_delims</refname>\n<refpurpose>Generates delimiters around embedded TeX equations\n    in output</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n\n    <synopsis><tag class=\"xmlpi\">dbtex delims=\"no\"|\"yes\"</tag></synopsis>\n  \n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>Use the <tag class=\"xmlpi\">dbtex delims</tag> PI as a\n      child of a <tag>textobject</tag> containing embedded TeX\n      markup, to cause that markup to be surrounded by\n      <literal>$</literal> delimiter characters in output.</para>\n\n      <warning>\n       \n<para>This feature is useful for print/PDF output only if you\n       use the obsolete and now unsupported PassiveTeX XSL-FO\n       engine.</para>\n\n      </warning>\n  </refsect1><refsect1><title>Parameters</title>\n    \n<variablelist>\n      <varlistentry><term>dbtex delims=\"no\"|\"yes\"</term>\n        <listitem>\n          \n<para>Specifies whether delimiters are output</para>\n\n        </listitem>\n      </varlistentry>\n    </variablelist>\n\n  </refsect1><refsect1 role=\"params\"><title>Related Global Parameters</title>\n    \n<para><parameter>tex.math.delims</parameter></para>\n\n  </refsect1></refentry>\n</reference>\n\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/pi.xsl",
    "content": "<?xml version='1.0'?>\n<xsl:stylesheet\n  xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n  xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\"\n  xmlns:date=\"http://exslt.org/dates-and-times\"\n  xmlns:exsl=\"http://exslt.org/common\"\n  xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n  exclude-result-prefixes=\"doc date exsl\"\n  extension-element-prefixes=\"date exsl\"\n  version='1.0'>\n\n<!-- ********************************************************************\n     $Id: pi.xsl 8782 2010-07-27 21:15:17Z mzjn $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<doc:reference xmlns=\"\"><info><title>Common Processing Instruction Reference</title>\n    <releaseinfo role=\"meta\">\n      $Id: pi.xsl 8782 2010-07-27 21:15:17Z mzjn $\n    </releaseinfo>\n  </info>\n  <partintro id=\"partintro\">\n    <title>Introduction</title>\n    <para>This is generated reference documentation for all\n      user-specifiable processing instructions (PIs) in the\n      “common” part of the DocBook XSL stylesheets.\n      <note>\n        <para>You add these PIs at particular points in a document to\n          cause specific “exceptions” to formatting/output behavior. To\n          make global changes in formatting/output behavior across an\n          entire document, it’s better to do it by setting an\n          appropriate stylesheet parameter (if there is one).</para>\n      </note>\n    </para>\n  </partintro>\n</doc:reference>\n\n<!-- ==================================================================== -->\n<doc:pi name=\"dbchoice_choice\" xmlns=\"\">\n  <refpurpose>Generates a localized choice separator</refpurpose>\n  <refdescription id=\"select.choice.separator-desc\">\n    <para>Use the <tag class=\"xmlpi\">dbchoice choice</tag> PI to\n      generate an appropriate localized “choice” separator (for\n      example, <literal>and</literal> or <literal>or</literal>)\n      before the final item in an inline <tag>simplelist</tag></para>\n    <warning>\n      <para>This PI is a less-than-ideal hack; support for it may\n        disappear in the future (particularly if and when a more\n        appropriate means for marking up \"choice\" lists becomes\n        available in DocBook).</para>\n    </warning>\n  </refdescription>\n  <refsynopsisdiv>\n    <synopsis><tag class=\"xmlpi\">dbchoice choice=\"and\"|\"or\"|<replaceable>string</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter>\n    <variablelist>\n      <varlistentry><term>choice=\"and\"</term>\n        <listitem>\n          <para>generates a localized <literal>and</literal> separator</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>choice=\"or\"</term>\n        <listitem>\n          <para>generates a localized <literal>or</literal> separator</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>choice=\"<replaceable>string</replaceable>\"</term>\n        <listitem>\n          <para>generates a literal <replaceable>string</replaceable> separator</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n</doc:pi>\n<xsl:template name=\"pi.dbchoice_choice\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"pi-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbchoice')\"/>\n    <xsl:with-param name=\"attribute\">choice</xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi name=\"dbtimestamp\" xmlns=\"\">\n  <refpurpose>Inserts a date timestamp</refpurpose>\n  <refdescription>\n    <para>Use the <tag class=\"xmlpi\">dbtimestamp</tag> PI at any point in a\n      source document to cause a date timestamp (a formatted\n      string representing the current date and time) to be\n      inserted in output of the document.</para>\n  </refdescription>\n  <refsynopsisdiv>\n    <synopsis><tag class=\"xmlpi\">dbtimestamp format=\"<replaceable>formatstring</replaceable>\" [padding=\"0\"|\"1\"]</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter>\n    <variablelist>\n      <varlistentry><term>format=\"<replaceable>formatstring</replaceable>\"</term>\n        <listitem>\n          <para>Specifies format in which the date and time are\n            output</para>\n        <note>\n          <para>For details of the content of the format string,\n            see <link role=\"tcg\" xlink:href=\"Datetime.html\"\n              >Date and time</link>.</para>\n        </note>\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>padding=\"0\"|\"1\"</term>\n        <listitem>\n          <para>Specifies padding behavior; if non-zero, padding is is added</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n</doc:pi>\n<xsl:template name=\"pi.dbtimestamp\">\n  <xsl:variable name=\"format\">\n    <xsl:variable name=\"pi-format\">\n      <xsl:call-template name=\"pi-attribute\">\n        <xsl:with-param name=\"pis\" select=\".\"/>\n        <xsl:with-param name=\"attribute\">format</xsl:with-param>\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:choose>\n      <xsl:when test=\"$pi-format != ''\">\n        <xsl:value-of select=\"$pi-format\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"gentext.template\">\n          <xsl:with-param name=\"context\" select=\"'datetime'\"/>\n          <xsl:with-param name=\"name\" select=\"'format'\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable> \n  <xsl:variable name=\"padding\">\n    <xsl:variable name=\"pi-padding\">\n      <xsl:call-template name=\"pi-attribute\">\n        <xsl:with-param name=\"pis\" select=\".\"/>\n        <xsl:with-param name=\"attribute\">padding</xsl:with-param>\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:choose>\n      <xsl:when test=\"$pi-padding != ''\">\n        <xsl:value-of select=\"$pi-padding\"/>\n      </xsl:when>\n      <xsl:otherwise>1</xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n  <xsl:variable name=\"date\">\n    <xsl:choose>\n      <xsl:when test=\"function-available('date:date-time')\">\n        <xsl:value-of select=\"date:date-time()\"/>\n      </xsl:when>\n      <xsl:when test=\"function-available('date:dateTime')\">\n        <!-- Xalan quirk -->\n        <xsl:value-of select=\"date:dateTime()\"/>\n      </xsl:when>\n    </xsl:choose>\n  </xsl:variable>\n  <xsl:choose>\n    <xsl:when test=\"function-available('date:date-time') or\n      function-available('date:dateTime')\">\n      <xsl:call-template name=\"datetime.format\">\n        <xsl:with-param name=\"date\" select=\"$date\"/>\n        <xsl:with-param name=\"format\" select=\"$format\"/>\n        <xsl:with-param name=\"padding\" select=\"$padding\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:message>\n        Timestamp processing requires XSLT processor with EXSLT date support.\n      </xsl:message>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<doc:pi name=\"dbtex_delims\" xmlns=\"\">\n  <refpurpose>Generates delimiters around embedded TeX equations\n    in output</refpurpose>\n  <refdescription>\n    <para>Use the <tag class=\"xmlpi\">dbtex delims</tag> PI as a\n      child of a <tag>textobject</tag> containing embedded TeX\n      markup, to cause that markup to be surrounded by\n      <literal>$</literal> delimiter characters in output.</para>\n      <warning>\n       <para>This feature is useful for print/PDF output only if you\n       use the obsolete and now unsupported PassiveTeX XSL-FO\n       engine.</para>\n      </warning>\n  </refdescription>\n  <refsynopsisdiv>\n    <synopsis><tag class=\"xmlpi\">dbtex delims=\"no\"|\"yes\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter>\n    <variablelist>\n      <varlistentry><term>dbtex delims=\"no\"|\"yes\"</term>\n        <listitem>\n          <para>Specifies whether delimiters are output</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n\n  <refsee role=\"params\">\n    <para><parameter>tex.math.delims</parameter></para>\n  </refsee>\n \n</doc:pi>\n<xsl:template name=\"pi.dbtex_delims\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"pi-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbtex')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'delims'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"processing-instruction()\" mode=\"titlepage.mode\">\n  <!-- * Als process PIs on title pages -->\n  <xsl:apply-templates select=\".\"/>\n</xsl:template>\n\n<xsl:template match=\"processing-instruction('dbtimestamp')\">\n  <xsl:call-template name=\"pi.dbtimestamp\"/>\n</xsl:template>\n\n<xsl:template name=\"datetime.format\">\n  <xsl:param name=\"date\"/>\n  <xsl:param name=\"format\"/>\n  <xsl:param name=\"padding\" select=\"1\"/>\n  <xsl:if test=\"$format != ''\">\n    <!-- replace any whitespace in the format string with a non-breaking space -->\n    <xsl:variable name=\"format-nbsp\"\n      select=\"translate($format,\n      '&#x20;&#x9;&#xd;&#xa;',\n      '&#xa0;&#xa0;&#xa0;&#xa0;')\"/>\n    <xsl:variable name=\"tokenized-format-string\">\n      <xsl:call-template name=\"str.tokenize.keep.delimiters\">\n        <xsl:with-param name=\"string\" select=\"$format-nbsp\"/>\n        <xsl:with-param name=\"delimiters\" select=\"'&#xa0;,./-()[]:'\"/>\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:choose>\n      <xsl:when test=\"$exsl.node.set.available != 0\">\n        <!-- We must preserve context node in order to get valid language -->\n        <xsl:variable name=\"context\" select=\".\"/>\n        <xsl:for-each select=\"exsl:node-set($tokenized-format-string)/node()\">\n          <xsl:variable name=\"token\">\n            <xsl:value-of select=\".\"/>\n          </xsl:variable>\n          <!-- Restore context node -->\n          <xsl:for-each select=\"$context\">\n            <xsl:choose>\n              <xsl:when test=\"$token = 'a'\">\n                <xsl:call-template name=\"gentext.template\">\n                  <xsl:with-param name=\"context\" select=\"'datetime-abbrev'\"/>\n                  <xsl:with-param name=\"name\" select=\"date:day-abbreviation($date)\"/>\n                </xsl:call-template>\n              </xsl:when>\n              <xsl:when test=\"$token = 'A'\">\n                <xsl:call-template name=\"gentext.template\">\n                  <xsl:with-param name=\"context\" select=\"'datetime-full'\"/>\n                  <xsl:with-param name=\"name\" select=\"date:day-name($date)\"/>\n                </xsl:call-template>\n              </xsl:when>\n              <xsl:when test=\"$token = 'b'\">\n                <xsl:call-template name=\"gentext.template\">\n                  <xsl:with-param name=\"context\" select=\"'datetime-abbrev'\"/>\n                  <xsl:with-param name=\"name\" select=\"date:month-abbreviation($date)\"/>\n                </xsl:call-template>\n              </xsl:when>\n              <xsl:when test=\"$token = 'c'\">\n                <xsl:value-of select=\"date:date($date)\"/>\n                <xsl:text> </xsl:text>\n                <xsl:value-of select=\"date:time($date)\"/>\n              </xsl:when>\n              <xsl:when test=\"$token = 'B'\">\n                <xsl:call-template name=\"gentext.template\">\n                  <xsl:with-param name=\"context\" select=\"'datetime-full'\"/>\n                  <xsl:with-param name=\"name\" select=\"date:month-name($date)\"/>\n                </xsl:call-template>\n              </xsl:when>\n              <xsl:when test=\"$token = 'd'\">\n                <xsl:if test=\"$padding = 1 and\n                  string-length(date:day-in-month($date)) = 1\">0</xsl:if>\n                <xsl:value-of select=\"date:day-in-month($date)\"/>\n              </xsl:when>\n              <xsl:when test=\"$token = 'H'\">\n                <xsl:if test=\"$padding = 1 and string-length(date:hour-in-day($date)) = 1\">0</xsl:if>\n                <xsl:value-of select=\"date:hour-in-day($date)\"/>\n              </xsl:when>\n              <xsl:when test=\"$token = 'j'\">\n                <xsl:value-of select=\"date:day-in-year($date)\"/>\n              </xsl:when>\n              <xsl:when test=\"$token = 'm'\">\n                <xsl:if test=\"$padding = 1 and string-length(date:month-in-year($date)) = 1\">0</xsl:if>\n                <xsl:value-of select=\"date:month-in-year($date)\"/>\n              </xsl:when>\n              <xsl:when test=\"$token = 'M'\">\n                <xsl:if test=\"string-length(date:minute-in-hour($date)) = 1\">0</xsl:if>\n                <xsl:value-of select=\"date:minute-in-hour($date)\"/>\n              </xsl:when>\n              <xsl:when test=\"$token = 'S'\">\n                <xsl:if test=\"string-length(date:second-in-minute($date)) = 1\">0</xsl:if>\n                <xsl:value-of select=\"date:second-in-minute($date)\"/>\n              </xsl:when>\n              <xsl:when test=\"$token = 'U'\">\n                <xsl:value-of select=\"date:week-in-year($date)\"/>\n              </xsl:when>\n              <xsl:when test=\"$token = 'w'\">\n                <xsl:value-of select=\"date:day-in-week($date)\"/>\n              </xsl:when>\n              <xsl:when test=\"$token = 'x'\">\n                <xsl:value-of select=\"date:date($date)\"/>\n              </xsl:when>\n              <xsl:when test=\"$token = 'X'\">\n                <xsl:value-of select=\"date:time($date)\"/>\n              </xsl:when>\n              <xsl:when test=\"$token = 'Y'\">\n                <xsl:value-of select=\"date:year($date)\"/>\n              </xsl:when>\n              <xsl:otherwise>\n                <xsl:value-of select=\"$token\"/>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:for-each>\n        </xsl:for-each>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:message>\n          Timestamp processing requires an XSLT processor with support\n          for the EXSLT node-set() function.\n        </xsl:message>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:if>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/pl.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"pl\" english-language-name=\"Polish\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/pl.xml -->\n<!-- * -->\n<!-- * E-mail the edited pl.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Abstrakt\"/>\n<l:gentext key=\"abstract\" text=\"abstrakt\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Podziękowania\"/>\n<l:gentext key=\"acknowledgements\" text=\"podziękowania\"/>\n<l:gentext key=\"Answer\" text=\"Odp.:\"/>\n<l:gentext key=\"answer\" text=\"odp.:\"/>\n<l:gentext key=\"Appendix\" text=\"Dodatek\"/>\n<l:gentext key=\"appendix\" text=\"dodatek\"/>\n<l:gentext key=\"Article\" text=\"Artykuł\"/>\n<l:gentext key=\"article\" text=\"artykuł\"/>\n<l:gentext key=\"Author\" text=\"Autor\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografia\"/>\n<l:gentext key=\"bibliography\" text=\"bibliografia\"/>\n<l:gentext key=\"Book\" text=\"Książka\"/>\n<l:gentext key=\"book\" text=\"książka\"/>\n<l:gentext key=\"CAUTION\" text=\"OSTRZEŻENIE\"/>\n<l:gentext key=\"Caution\" text=\"Ostrzeżenie\"/>\n<l:gentext key=\"caution\" text=\"ostrzeżenie\"/>\n<l:gentext key=\"Chapter\" text=\"Rozdział\"/>\n<l:gentext key=\"chapter\" text=\"rozdział\"/>\n<l:gentext key=\"Colophon\" text=\"Kolofon\"/>\n<l:gentext key=\"colophon\" text=\"kolofon\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"Copyright\"/>\n<l:gentext key=\"Dedication\" text=\"Dedykacja\"/>\n<l:gentext key=\"dedication\" text=\"dedykacja\"/>\n<l:gentext key=\"Edition\" text=\"Wydanie\"/>\n<l:gentext key=\"edition\" text=\"wydanie\"/>\n<l:gentext key=\"Editor\" text=\"Redaktor\"/>\n<l:gentext key=\"Equation\" text=\"Równanie\"/>\n<l:gentext key=\"equation\" text=\"równanie\"/>\n<l:gentext key=\"Example\" text=\"Przykład\"/>\n<l:gentext key=\"example\" text=\"przykład\"/>\n<l:gentext key=\"Figure\" text=\"Rysunek\"/>\n<l:gentext key=\"figure\" text=\"rysunek\"/>\n<l:gentext key=\"Glossary\" text=\"Glosariusz\"/>\n<l:gentext key=\"glossary\" text=\"glosariusz\"/>\n<l:gentext key=\"GlossSee\" text=\"Patrz\"/>\n<l:gentext key=\"glosssee\" text=\"patrz\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Patrz też\"/>\n<l:gentext key=\"glossseealso\" text=\"patrz też\"/>\n<l:gentext key=\"IMPORTANT\" text=\"WAŻNE\"/>\n<l:gentext key=\"important\" text=\"ważne\"/>\n<l:gentext key=\"Important\" text=\"Ważne\"/>\n<l:gentext key=\"Index\" text=\"Indeks\"/>\n<l:gentext key=\"index\" text=\"indeks\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Informacja Prawna\"/>\n<l:gentext key=\"legalnotice\" text=\"informacja prawna\"/>\n<l:gentext key=\"MsgAud\" text=\"Odbiorcy\"/>\n<l:gentext key=\"msgaud\" text=\"odbiorcy\"/>\n<l:gentext key=\"MsgLevel\" text=\"Poziom\"/>\n<l:gentext key=\"msglevel\" text=\"poziom\"/>\n<l:gentext key=\"MsgOrig\" text=\"Nadawca\"/>\n<l:gentext key=\"msgorig\" text=\"nadawca\"/>\n<l:gentext key=\"NOTE\" text=\"UWAGA\"/>\n<l:gentext key=\"Note\" text=\"Uwaga\"/>\n<l:gentext key=\"note\" text=\"uwaga\"/>\n<l:gentext key=\"Part\" text=\"Część\"/>\n<l:gentext key=\"part\" text=\"część\"/>\n<l:gentext key=\"Preface\" text=\"Przedmowa\"/>\n<l:gentext key=\"preface\" text=\"przedmowa\"/>\n<l:gentext key=\"Procedure\" text=\"Procedura\"/>\n<l:gentext key=\"procedure\" text=\"procedura\"/>\n<l:gentext key=\"ProductionSet\" text=\"Produkcja\"/>\n<l:gentext key=\"PubDate\" text=\"Data wydania\"/>\n<l:gentext key=\"pubdate\" text=\"data wydania\"/>\n<l:gentext key=\"Published\" text=\"Wydano\"/>\n<l:gentext key=\"published\" text=\"wydano\"/>\n<l:gentext key=\"Publisher\" text=\"Wydawca\"/>\n<l:gentext key=\"Qandadiv\" text=\"Pytania i odpowiedzi\"/>\n<l:gentext key=\"qandadiv\" text=\"Pytania i odpowiedzi\"/>\n<l:gentext key=\"QandASet\" text=\"Najczęściej zadawane pytania\"/>\n<l:gentext key=\"Question\" text=\"Pyt.:\"/>\n<l:gentext key=\"question\" text=\"Pyt.:\"/>\n<l:gentext key=\"RefEntry\" text=\"Strona\"/>\n<l:gentext key=\"refentry\" text=\"strona\"/>\n<l:gentext key=\"Reference\" text=\"Materiały źródłowe\"/>\n<l:gentext key=\"reference\" text=\"Materiały źródłowe\"/>\n<l:gentext key=\"References\" text=\"Materiały źródłowe\"/>\n<l:gentext key=\"RefName\" text=\"Nazwa\"/>\n<l:gentext key=\"refname\" text=\"nazwa\"/>\n<l:gentext key=\"RefSection\" text=\"Sekcja\"/>\n<l:gentext key=\"refsection\" text=\"sekcja\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Streszczenie\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"streszczenie\"/>\n<l:gentext key=\"RevHistory\" text=\"Historia zmian\"/>\n<l:gentext key=\"revhistory\" text=\"Historia zmian\"/>\n<l:gentext key=\"revision\" text=\"Zmiana\"/>\n<l:gentext key=\"Revision\" text=\"Zmiana\"/>\n<l:gentext key=\"sect1\" text=\"Sekcja\"/>\n<l:gentext key=\"sect2\" text=\"Sekcja\"/>\n<l:gentext key=\"sect3\" text=\"Sekcja\"/>\n<l:gentext key=\"sect4\" text=\"Sekcja\"/>\n<l:gentext key=\"sect5\" text=\"Sekcja\"/>\n<l:gentext key=\"section\" text=\"sekcja\"/>\n<l:gentext key=\"Section\" text=\"Sekcja\"/>\n<l:gentext key=\"see\" text=\"patrz\"/>\n<l:gentext key=\"See\" text=\"Patrz\"/>\n<l:gentext key=\"seealso\" text=\"patrz też\"/>\n<l:gentext key=\"Seealso\" text=\"Patrz też\"/>\n<l:gentext key=\"SeeAlso\" text=\"Patrz też\"/>\n<l:gentext key=\"set\" text=\"zestaw\"/>\n<l:gentext key=\"Set\" text=\"Zestaw\"/>\n<l:gentext key=\"setindex\" text=\"Indeks\"/>\n<l:gentext key=\"SetIndex\" text=\"Indeks\"/>\n<l:gentext key=\"Sidebar\" text=\"Panel boczny\"/>\n<l:gentext key=\"sidebar\" text=\"panel boczny\"/>\n<l:gentext key=\"step\" text=\"krok\"/>\n<l:gentext key=\"Step\" text=\"Krok\"/>\n<l:gentext key=\"table\" text=\"Tabela\"/>\n<l:gentext key=\"Table\" text=\"Tabela\"/>\n<l:gentext key=\"task\" text=\"zadanie\"/>\n<l:gentext key=\"Task\" text=\"Zadanie\"/>\n<l:gentext key=\"tip\" text=\"podpowiedź\"/>\n<l:gentext key=\"TIP\" text=\"PODPOWIEDŹ\"/>\n<l:gentext key=\"Tip\" text=\"Podpowiedź\"/>\n<l:gentext key=\"Warning\" text=\"Ostrzeżenie\"/>\n<l:gentext key=\"warning\" text=\"ostrzeżenie\"/>\n<l:gentext key=\"WARNING\" text=\"OSTRZEŻENIE\"/>\n<l:gentext key=\"and\" text=\"i\"/>\n<l:gentext key=\"or\" text=\"lub\"/>\n<l:gentext key=\"by\" text=\"autorstwa\"/>\n<l:gentext key=\"Edited\" text=\"Redakcja\"/>\n<l:gentext key=\"edited\" text=\"redakcja\"/>\n<l:gentext key=\"Editedby\" text=\"Redakcja: \"/>\n<l:gentext key=\"editedby\" text=\"Redakcja: \"/>\n<l:gentext key=\"in\" text=\"w\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"przypisy\"/>\n<l:gentext key=\"Notes\" text=\"Przypisy\"/>\n<l:gentext key=\"Pgs\" text=\"S.\"/>\n<l:gentext key=\"pgs\" text=\"s.\"/>\n<l:gentext key=\"Revisedby\" text=\"Korekta: \"/>\n<l:gentext key=\"revisedby\" text=\"korekta: \"/>\n<l:gentext key=\"TableNotes\" text=\"Przypisy\"/>\n<l:gentext key=\"tablenotes\" text=\"przypisy\"/>\n<l:gentext key=\"TableofContents\" text=\"Spis treści\"/>\n<l:gentext key=\"tableofcontents\" text=\"spis treści\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Nieoczekiwana nazwa elementu\"/>\n<l:gentext key=\"unsupported\" text=\"niewspierane\"/>\n<l:gentext key=\"xrefto\" text=\"xref do\"/>\n<l:gentext key=\"Authors\" text=\"Autorzy\"/>\n<l:gentext key=\"copyeditor\" text=\"Redaktor kopii\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Projektant graficzny\"/>\n<l:gentext key=\"productioneditor\" text=\"Redaktor produkcji\"/>\n<l:gentext key=\"technicaleditor\" text=\"Redaktor techniczny\"/>\n<l:gentext key=\"translator\" text=\"Tłumacz\"/>\n<l:gentext key=\"listofequations\" text=\"spis równań\"/>\n<l:gentext key=\"ListofEquations\" text=\"Spis równań\"/>\n<l:gentext key=\"ListofExamples\" text=\"Spis przykładów\"/>\n<l:gentext key=\"listofexamples\" text=\"spis przykładów\"/>\n<l:gentext key=\"ListofFigures\" text=\"Spis rysunków\"/>\n<l:gentext key=\"listoffigures\" text=\"spis rysunków\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Spis procedur\"/>\n<l:gentext key=\"listofprocedures\" text=\"spis procedur\"/>\n<l:gentext key=\"listoftables\" text=\"spis tabel\"/>\n<l:gentext key=\"ListofTables\" text=\"Spis tabel\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Spis nieznanych\"/>\n<l:gentext key=\"listofunknown\" text=\"spis nieznanych\"/>\n<l:gentext key=\"nav-home\" text=\"Spis treści\"/>\n<l:gentext key=\"nav-next\" text=\"Następny\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Następny rozdział\"/>\n<l:gentext key=\"nav-prev\" text=\"Poprzedni\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Poprzedni rozdział\"/>\n<l:gentext key=\"nav-up\" text=\"Początek rozdziału\"/>\n<l:gentext key=\"nav-toc\" text=\"Spis treści\"/>\n<l:gentext key=\"Draft\" text=\"Szkic\"/>\n<l:gentext key=\"above\" text=\"powyżej\"/>\n<l:gentext key=\"below\" text=\"poniżej\"/>\n<l:gentext key=\"sectioncalled\" text=\"sekcja o nazwie\"/>\n<l:gentext key=\"index symbols\" text=\"Symbole\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"aąbcćdeęfghijklłmnńoópqrsśtuvwxyzźż\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"AĄBCĆDEĘFGHIJKLŁMNŃOÓPQRSŚTUVWXYZŹŻ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"„\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"«\"/>\n<l:dingbat key=\"nestedendquote\" text=\"»\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"ߦ\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Dodatek %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Rozdział %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Równanie %n. %t\"/>\n<l:template name=\"example\" text=\"Przykład %n. %t\"/>\n<l:template name=\"figure\" text=\"Rysunek %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Część %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Procedura %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Produkcja %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabela %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Dodatek %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Rozdział %n. %t\"/>\n<l:template name=\"part\" text=\"Część %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"Odp.: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Pyt.: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Pyt.: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"„%t”\"/>\n<l:template name=\"refsection\" text=\"„%t”\"/>\n<l:template name=\"refsect1\" text=\"„%t”\"/>\n<l:template name=\"refsect2\" text=\"„%t”\"/>\n<l:template name=\"refsect3\" text=\"„%t”\"/>\n<l:template name=\"sect1\" text=\"„%t”\"/>\n<l:template name=\"sect2\" text=\"„%t”\"/>\n<l:template name=\"sect3\" text=\"„%t”\"/>\n<l:template name=\"sect4\" text=\"„%t”\"/>\n<l:template name=\"sect5\" text=\"„%t”\"/>\n<l:template name=\"section\" text=\"„%t”\"/>\n<l:template name=\"simplesect\" text=\"„%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Odp.: %n\"/>\n<l:template name=\"appendix\" text=\"Dodatek %n\"/>\n<l:template name=\"bridgehead\" text=\"Sekcja %n\"/>\n<l:template name=\"chapter\" text=\"Rozdział %n\"/>\n<l:template name=\"equation\" text=\"Równanie %n\"/>\n<l:template name=\"example\" text=\"Przykład %n\"/>\n<l:template name=\"figure\" text=\"Rysunek %n\"/>\n<l:template name=\"part\" text=\"Część %n\"/>\n<l:template name=\"procedure\" text=\"Procedura %n\"/>\n<l:template name=\"productionset\" text=\"Produkcja %n\"/>\n<l:template name=\"qandadiv\" text=\"Pytania i odpowiedzi %n\"/>\n<l:template name=\"qandaentry\" text=\"Pyt.: %n\"/>\n<l:template name=\"question\" text=\"Pyt.: %n\"/>\n<l:template name=\"sect1\" text=\"Sekcja %n\"/>\n<l:template name=\"sect2\" text=\"Sekcja %n\"/>\n<l:template name=\"sect3\" text=\"Sekcja %n\"/>\n<l:template name=\"sect4\" text=\"Sekcja %n\"/>\n<l:template name=\"sect5\" text=\"Sekcja %n\"/>\n<l:template name=\"section\" text=\"Sekcja %n\"/>\n<l:template name=\"table\" text=\"Tabela %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Dodatek %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Sekcja %n, „%t”\"/>\n<l:template name=\"chapter\" text=\"Rozdział %n, %t\"/>\n<l:template name=\"equation\" text=\"Równanie %n, „%t”\"/>\n<l:template name=\"example\" text=\"Przykład %n, „%t”\"/>\n<l:template name=\"figure\" text=\"Rysunek %n, „%t”\"/>\n<l:template name=\"part\" text=\"Część %n, „%t”\"/>\n<l:template name=\"procedure\" text=\"Procedura %n, „%t”\"/>\n<l:template name=\"productionset\" text=\"Produkcja %n, „%t”\"/>\n<l:template name=\"qandadiv\" text=\"Pytania i odpowiedzi %n, „%t”\"/>\n<l:template name=\"refsect1\" text=\"sekcja o nazwie „%t”\"/>\n<l:template name=\"refsect2\" text=\"sekcja o nazwie „%t”\"/>\n<l:template name=\"refsect3\" text=\"sekcja o nazwie „%t”\"/>\n<l:template name=\"refsection\" text=\"sekcja o nazwie „%t”\"/>\n<l:template name=\"sect1\" text=\"Sekcja %n, „%t”\"/>\n<l:template name=\"sect2\" text=\"Sekcja %n, „%t”\"/>\n<l:template name=\"sect3\" text=\"Sekcja %n, „%t”\"/>\n<l:template name=\"sect4\" text=\"Sekcja %n, „%t”\"/>\n<l:template name=\"sect5\" text=\"Sekcja %n, „%t”\"/>\n<l:template name=\"section\" text=\"Sekcja %n, „%t”\"/>\n<l:template name=\"simplesect\" text=\"sekcja o nazwie „%t”\"/>\n<l:template name=\"table\" text=\"Tabela %n, „%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" i \"/>\n<l:template name=\"seplast\" text=\", i \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Patrz %t.\"/>\n<l:template name=\"seealso\" text=\"Patrz też %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Odbiorcy: \"/>\n<l:template name=\"MsgLevel\" text=\"Poziom: \"/>\n<l:template name=\"MsgOrig\" text=\"Nadawca: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definicja: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"styczeń\"/>\n<l:template name=\"February\" text=\"luty\"/>\n<l:template name=\"March\" text=\"marzec\"/>\n<l:template name=\"April\" text=\"kwiecień\"/>\n<l:template name=\"May\" text=\"maj\"/>\n<l:template name=\"June\" text=\"czerwiec\"/>\n<l:template name=\"July\" text=\"lipiec\"/>\n<l:template name=\"August\" text=\"sierpień\"/>\n<l:template name=\"September\" text=\"wrzesień\"/>\n<l:template name=\"October\" text=\"październik\"/>\n<l:template name=\"November\" text=\"listopad\"/>\n<l:template name=\"December\" text=\"grudzień\"/>\n<l:template name=\"Monday\" text=\"poniedziałek\"/>\n<l:template name=\"Tuesday\" text=\"wtorek\"/>\n<l:template name=\"Wednesday\" text=\"środa\"/>\n<l:template name=\"Thursday\" text=\"czwartek\"/>\n<l:template name=\"Friday\" text=\"piątek\"/>\n<l:template name=\"Saturday\" text=\"sobota\"/>\n<l:template name=\"Sunday\" text=\"niedziela\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"sty\"/>\n<l:template name=\"Feb\" text=\"lut\"/>\n<l:template name=\"Mar\" text=\"mar\"/>\n<l:template name=\"Apr\" text=\"kwi\"/>\n<l:template name=\"May\" text=\"maj\"/>\n<l:template name=\"Jun\" text=\"cze\"/>\n<l:template name=\"Jul\" text=\"lip\"/>\n<l:template name=\"Aug\" text=\"sie\"/>\n<l:template name=\"Sep\" text=\"wrz\"/>\n<l:template name=\"Oct\" text=\"paź\"/>\n<l:template name=\"Nov\" text=\"lis\"/>\n<l:template name=\"Dec\" text=\"gru\"/>\n<l:template name=\"Mon\" text=\"pon\"/>\n<l:template name=\"Tue\" text=\"wto\"/>\n<l:template name=\"Wed\" text=\"śro\"/>\n<l:template name=\"Thu\" text=\"czw\"/>\n<l:template name=\"Fri\" text=\"pią\"/>\n<l:template name=\"Sat\" text=\"sob\"/>\n<l:template name=\"Sun\" text=\"nie\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0415 Polish\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbole</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">Ą</l:l>\n<l:l i=\"20\">ą</l:l>\n<l:l i=\"30\">B</l:l>\n<l:l i=\"30\">b</l:l>\n<l:l i=\"40\">C</l:l>\n<l:l i=\"40\">c</l:l>\n<l:l i=\"50\">Ć</l:l>\n<l:l i=\"50\">ć</l:l>\n<l:l i=\"60\">D</l:l>\n<l:l i=\"60\">d</l:l>\n<l:l i=\"70\">E</l:l>\n<l:l i=\"70\">e</l:l>\n<l:l i=\"80\">Ę</l:l>\n<l:l i=\"80\">ę</l:l>\n<l:l i=\"90\">F</l:l>\n<l:l i=\"90\">f</l:l>\n<l:l i=\"100\">G</l:l>\n<l:l i=\"100\">g</l:l>\n<l:l i=\"110\">H</l:l>\n<l:l i=\"110\">h</l:l>\n<l:l i=\"120\">I</l:l>\n<l:l i=\"120\">i</l:l>\n<l:l i=\"130\">J</l:l>\n<l:l i=\"130\">j</l:l>\n<l:l i=\"140\">K</l:l>\n<l:l i=\"140\">k</l:l>\n<l:l i=\"150\">L</l:l>\n<l:l i=\"150\">l</l:l>\n<l:l i=\"160\">Ł</l:l>\n<l:l i=\"160\">ł</l:l>\n<l:l i=\"170\">M</l:l>\n<l:l i=\"170\">m</l:l>\n<l:l i=\"180\">N</l:l>\n<l:l i=\"180\">n</l:l>\n<l:l i=\"190\">Ń</l:l>\n<l:l i=\"190\">ń</l:l>\n<l:l i=\"200\">O</l:l>\n<l:l i=\"200\">o</l:l>\n<l:l i=\"210\">Ó</l:l>\n<l:l i=\"210\">ó</l:l>\n<l:l i=\"220\">P</l:l>\n<l:l i=\"220\">p</l:l>\n<l:l i=\"230\">Q</l:l>\n<l:l i=\"230\">q</l:l>\n<l:l i=\"240\">R</l:l>\n<l:l i=\"240\">r</l:l>\n<l:l i=\"250\">S</l:l>\n<l:l i=\"250\">s</l:l>\n<l:l i=\"260\">Ś</l:l>\n<l:l i=\"260\">ś</l:l>\n<l:l i=\"270\">T</l:l>\n<l:l i=\"270\">t</l:l>\n<l:l i=\"280\">U</l:l>\n<l:l i=\"280\">u</l:l>\n<l:l i=\"290\">V</l:l>\n<l:l i=\"290\">v</l:l>\n<l:l i=\"300\">W</l:l>\n<l:l i=\"300\">w</l:l>\n<l:l i=\"310\">X</l:l>\n<l:l i=\"310\">x</l:l>\n<l:l i=\"320\">Y</l:l>\n<l:l i=\"320\">y</l:l>\n<l:l i=\"330\">Z</l:l>\n<l:l i=\"330\">z</l:l>\n<l:l i=\"340\">Ź</l:l>\n<l:l i=\"340\">ź</l:l>\n<l:l i=\"350\">Ż</l:l>\n<l:l i=\"350\">ż</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/pt.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"pt\" english-language-name=\"Portuguese\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/pt.xml -->\n<!-- * -->\n<!-- * E-mail the edited pt.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Resumo\"/>\n<l:gentext key=\"abstract\" text=\"resumo\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Agradecimentos\"/>\n<l:gentext key=\"acknowledgements\" text=\"agradecimentos\"/>\n<l:gentext key=\"Answer\" text=\"R:\"/>\n<l:gentext key=\"answer\" text=\"r:\"/>\n<l:gentext key=\"Appendix\" text=\"Apêndice\"/>\n<l:gentext key=\"appendix\" text=\"apêndice\"/>\n<l:gentext key=\"Article\" text=\"Artigo\"/>\n<l:gentext key=\"article\" text=\"artigo\"/>\n<l:gentext key=\"Author\" text=\"Autor\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografia\"/>\n<l:gentext key=\"bibliography\" text=\"bibliografia\"/>\n<l:gentext key=\"Book\" text=\"Livro\"/>\n<l:gentext key=\"book\" text=\"Livro\"/>\n<l:gentext key=\"CAUTION\" text=\"CUIDADO\"/>\n<l:gentext key=\"Caution\" text=\"Cuidado\"/>\n<l:gentext key=\"caution\" text=\"buidado\"/>\n<l:gentext key=\"Chapter\" text=\"Capítulo\"/>\n<l:gentext key=\"chapter\" text=\"bapítulo\"/>\n<l:gentext key=\"Colophon\" text=\"Ficha Técnica\"/>\n<l:gentext key=\"colophon\" text=\"ficha técnica\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"copyright\"/>\n<l:gentext key=\"Dedication\" text=\"Dedicatória\"/>\n<l:gentext key=\"dedication\" text=\"dedicatória\"/>\n<l:gentext key=\"Edition\" text=\"Edição\"/>\n<l:gentext key=\"edition\" text=\"edição\"/>\n<l:gentext key=\"Editor\" text=\"Editor\"/>\n<l:gentext key=\"Equation\" text=\"Equação\"/>\n<l:gentext key=\"equation\" text=\"equação\"/>\n<l:gentext key=\"Example\" text=\"Exemplo\"/>\n<l:gentext key=\"example\" text=\"exemplo\"/>\n<l:gentext key=\"Figure\" text=\"Figura\"/>\n<l:gentext key=\"figure\" text=\"figura\"/>\n<l:gentext key=\"Glossary\" text=\"Glossário\"/>\n<l:gentext key=\"glossary\" text=\"glossário\"/>\n<l:gentext key=\"GlossSee\" text=\"Ver\"/>\n<l:gentext key=\"glosssee\" text=\"ver\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Ver Também\"/>\n<l:gentext key=\"glossseealso\" text=\"ver também\"/>\n<l:gentext key=\"IMPORTANT\" text=\"IMPORTANTE\"/>\n<l:gentext key=\"important\" text=\"importante\"/>\n<l:gentext key=\"Important\" text=\"Importante\"/>\n<l:gentext key=\"Index\" text=\"Índice Remissivo\"/>\n<l:gentext key=\"index\" text=\"índice remissivo\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"isbn\"/>\n<l:gentext key=\"LegalNotice\" text=\"Aviso Legal\"/>\n<l:gentext key=\"legalnotice\" text=\"aviso legal\"/>\n<l:gentext key=\"MsgAud\" text=\"Audiência\"/>\n<l:gentext key=\"msgaud\" text=\"audiência\"/>\n<l:gentext key=\"MsgLevel\" text=\"Nível\"/>\n<l:gentext key=\"msglevel\" text=\"nível\"/>\n<l:gentext key=\"MsgOrig\" text=\"Origem\"/>\n<l:gentext key=\"msgorig\" text=\"origem\"/>\n<l:gentext key=\"NOTE\" text=\"NOTA\"/>\n<l:gentext key=\"Note\" text=\"Nota\"/>\n<l:gentext key=\"note\" text=\"nota\"/>\n<l:gentext key=\"Part\" text=\"Parte\"/>\n<l:gentext key=\"part\" text=\"parte\"/>\n<l:gentext key=\"Preface\" text=\"Prefácio\"/>\n<l:gentext key=\"preface\" text=\"prefácio\"/>\n<l:gentext key=\"Procedure\" text=\"Procedimento\"/>\n<l:gentext key=\"procedure\" text=\"procedimento\"/>\n<l:gentext key=\"ProductionSet\" text=\"produção\"/>\n<l:gentext key=\"PubDate\" text=\"Data de Publicação\"/>\n<l:gentext key=\"pubdate\" text=\"data de publicação\"/>\n<l:gentext key=\"Published\" text=\"Publicado\"/>\n<l:gentext key=\"published\" text=\"publicado\"/>\n<l:gentext key=\"Publisher\" text=\"Editor\"/>\n<l:gentext key=\"Qandadiv\" text=\"P &amp; R\"/>\n<l:gentext key=\"qandadiv\" text=\"P &amp; R\"/>\n<l:gentext key=\"QandASet\" text=\"Questões Frequentes\"/>\n<l:gentext key=\"Question\" text=\"P:\"/>\n<l:gentext key=\"question\" text=\"P:\"/>\n<l:gentext key=\"RefEntry\" text=\"Página\"/>\n<l:gentext key=\"refentry\" text=\"página\"/>\n<l:gentext key=\"Reference\" text=\"Referência\"/>\n<l:gentext key=\"reference\" text=\"referência\"/>\n<l:gentext key=\"References\" text=\"Referências\"/>\n<l:gentext key=\"RefName\" text=\"Nome\"/>\n<l:gentext key=\"refname\" text=\"nome\"/>\n<l:gentext key=\"RefSection\" text=\"Secção\"/>\n<l:gentext key=\"refsection\" text=\"secção\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Sinopse\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"sinopse\"/>\n<l:gentext key=\"RevHistory\" text=\"Historial de Revisões\"/>\n<l:gentext key=\"revhistory\" text=\"historial de revisões\"/>\n<l:gentext key=\"revision\" text=\"revisão\"/>\n<l:gentext key=\"Revision\" text=\"Revisão\"/>\n<l:gentext key=\"sect1\" text=\"Secção\"/>\n<l:gentext key=\"sect2\" text=\"Secção\"/>\n<l:gentext key=\"sect3\" text=\"Secção\"/>\n<l:gentext key=\"sect4\" text=\"Secção\"/>\n<l:gentext key=\"sect5\" text=\"Secção\"/>\n<l:gentext key=\"section\" text=\"secção\"/>\n<l:gentext key=\"Section\" text=\"Secção\"/>\n<l:gentext key=\"see\" text=\"ver\"/>\n<l:gentext key=\"See\" text=\"Ver\"/>\n<l:gentext key=\"seealso\" text=\"ver também\"/>\n<l:gentext key=\"Seealso\" text=\"Ver também\"/>\n<l:gentext key=\"SeeAlso\" text=\"Ver Também\"/>\n<l:gentext key=\"set\" text=\"conjunto\"/>\n<l:gentext key=\"Set\" text=\"Conjunto\"/>\n<l:gentext key=\"setindex\" text=\"índice de Conjuntos\"/>\n<l:gentext key=\"SetIndex\" text=\"Índice de Conjuntos\"/>\n<l:gentext key=\"Sidebar\" text=\"Barra Lateral\"/>\n<l:gentext key=\"sidebar\" text=\"barra lateral\"/>\n<l:gentext key=\"step\" text=\"passo\"/>\n<l:gentext key=\"Step\" text=\"Passo\"/>\n<l:gentext key=\"table\" text=\"Tabela\"/>\n<l:gentext key=\"Table\" text=\"Tabela\"/>\n<l:gentext key=\"task\" text=\"tarefa\"/>\n<l:gentext key=\"Task\" text=\"Tarefa\"/>\n<l:gentext key=\"tip\" text=\"dica\"/>\n<l:gentext key=\"TIP\" text=\"DICA\"/>\n<l:gentext key=\"Tip\" text=\"Dica\"/>\n<l:gentext key=\"Warning\" text=\"Atenção\"/>\n<l:gentext key=\"warning\" text=\"Atenção\"/>\n<l:gentext key=\"WARNING\" text=\"ATENÇÃO\"/>\n<l:gentext key=\"and\" text=\"e\"/>\n<l:gentext key=\"or\" text=\"ou\"/>\n<l:gentext key=\"by\" text=\"por\"/>\n<l:gentext key=\"Edited\" text=\"Editado\"/>\n<l:gentext key=\"edited\" text=\"Editado\"/>\n<l:gentext key=\"Editedby\" text=\"Editado por\"/>\n<l:gentext key=\"editedby\" text=\"Editado por\"/>\n<l:gentext key=\"in\" text=\"em\"/>\n<l:gentext key=\"lastlistcomma\" text=\"\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"notas\"/>\n<l:gentext key=\"Notes\" text=\"Notas\"/>\n<l:gentext key=\"Pgs\" text=\"Páginas\"/>\n<l:gentext key=\"pgs\" text=\"páginas\"/>\n<l:gentext key=\"Revisedby\" text=\"Revisto por: \"/>\n<l:gentext key=\"revisedby\" text=\"Revisto por: \"/>\n<l:gentext key=\"TableNotes\" text=\"Notas\"/>\n<l:gentext key=\"tablenotes\" text=\"Notas\"/>\n<l:gentext key=\"TableofContents\" text=\"Índice\"/>\n<l:gentext key=\"tableofcontents\" text=\"índice\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Nome de elemento inesperado\"/>\n<l:gentext key=\"unsupported\" text=\"não suportado\"/>\n<l:gentext key=\"xrefto\" text=\"referência cruzada para\"/>\n<l:gentext key=\"Authors\" text=\"Autores\"/>\n<l:gentext key=\"copyeditor\" text=\"Editor\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Designer\"/>\n<l:gentext key=\"productioneditor\" text=\"Produtor\"/>\n<l:gentext key=\"technicaleditor\" text=\"Editor Técnico\"/>\n<l:gentext key=\"translator\" text=\"Tradutor\"/>\n<l:gentext key=\"listofequations\" text=\"lista de equações\"/>\n<l:gentext key=\"ListofEquations\" text=\"Lista de Equações\"/>\n<l:gentext key=\"ListofExamples\" text=\"Lista de Exemplos\"/>\n<l:gentext key=\"listofexamples\" text=\"lista de exemplos\"/>\n<l:gentext key=\"ListofFigures\" text=\"Lista de Figuras\"/>\n<l:gentext key=\"listoffigures\" text=\"lista de figuras\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Lista de Procedimentos\"/>\n<l:gentext key=\"listofprocedures\" text=\"lista de procedimentos\"/>\n<l:gentext key=\"listoftables\" text=\"lista de tabelas\"/>\n<l:gentext key=\"ListofTables\" text=\"Lista de Tabelas\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Lista de Desconhecido\"/>\n<l:gentext key=\"listofunknown\" text=\"lista de desconhecido\"/>\n<l:gentext key=\"nav-home\" text=\"Início\"/>\n<l:gentext key=\"nav-next\" text=\"Próximo\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Avanço Rápido\"/>\n<l:gentext key=\"nav-prev\" text=\"Anterior\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Recuo Rápido\"/>\n<l:gentext key=\"nav-up\" text=\"Subir\"/>\n<l:gentext key=\"nav-toc\" text=\"Índice\"/>\n<l:gentext key=\"Draft\" text=\"Rascunho\"/>\n<l:gentext key=\"above\" text=\"acima\"/>\n<l:gentext key=\"below\" text=\"abaixo\"/>\n<l:gentext key=\"sectioncalled\" text=\"a secção chamada\"/>\n<l:gentext key=\"index symbols\" text=\"Símbolos\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Apêndice %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Capítulo %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Equação %n. %t\"/>\n<l:template name=\"example\" text=\"Exemplo %n. %t\"/>\n<l:template name=\"figure\" text=\"Figura %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Parte %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Procedimento %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"produção %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Pergunta %n\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabela %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Apêndice %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Capítulo %n. %t\"/>\n<l:template name=\"part\" text=\"Parte %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"R: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"P: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"P: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"“%t”\"/>\n<l:template name=\"refsection\" text=\"“%t”\"/>\n<l:template name=\"refsect1\" text=\"“%t”\"/>\n<l:template name=\"refsect2\" text=\"“%t”\"/>\n<l:template name=\"refsect3\" text=\"“%t”\"/>\n<l:template name=\"sect1\" text=\"“%t”\"/>\n<l:template name=\"sect2\" text=\"“%t”\"/>\n<l:template name=\"sect3\" text=\"“%t”\"/>\n<l:template name=\"sect4\" text=\"“%t”\"/>\n<l:template name=\"sect5\" text=\"“%t”\"/>\n<l:template name=\"section\" text=\"“%t”\"/>\n<l:template name=\"simplesect\" text=\"“%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"R: %n\"/>\n<l:template name=\"appendix\" text=\"Apêndice %n\"/>\n<l:template name=\"bridgehead\" text=\"Secção %n\"/>\n<l:template name=\"chapter\" text=\"Capítulo %n\"/>\n<l:template name=\"equation\" text=\"Equação %n\"/>\n<l:template name=\"example\" text=\"Exemplo %n\"/>\n<l:template name=\"figure\" text=\"Figura %n\"/>\n<l:template name=\"part\" text=\"Parte %n\"/>\n<l:template name=\"procedure\" text=\"Procedimento %n\"/>\n<l:template name=\"productionset\" text=\"produção %n\"/>\n<l:template name=\"qandadiv\" text=\"P &amp; R %n\"/>\n<l:template name=\"qandaentry\" text=\"P: %n\"/>\n<l:template name=\"question\" text=\"P: %n\"/>\n<l:template name=\"sect1\" text=\"Secção %n\"/>\n<l:template name=\"sect2\" text=\"Secção %n\"/>\n<l:template name=\"sect3\" text=\"Secção %n\"/>\n<l:template name=\"sect4\" text=\"Secção %n\"/>\n<l:template name=\"sect5\" text=\"Secção %n\"/>\n<l:template name=\"section\" text=\"Secção %n\"/>\n<l:template name=\"table\" text=\"Tabela %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Apêndice %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Secção %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Capítulo %n, %t\"/>\n<l:template name=\"equation\" text=\"Equação %n, “%t”\"/>\n<l:template name=\"example\" text=\"Exemplo %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Figura %n, “%t”\"/>\n<l:template name=\"part\" text=\"Parte %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Procedimento %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"produção %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"P &amp; R %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"a secção chamada “%t”\"/>\n<l:template name=\"refsect2\" text=\"a secção chamada “%t”\"/>\n<l:template name=\"refsect3\" text=\"a secção chamada “%t”\"/>\n<l:template name=\"refsection\" text=\"a secção chamada “%t”\"/>\n<l:template name=\"sect1\" text=\"Secção %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Secção %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Secção %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Secção %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Secção %n, “%t”\"/>\n<l:template name=\"section\" text=\"Secção %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"a secção chamada “%t”\"/>\n<l:template name=\"table\" text=\"Tabela %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" e \"/>\n<l:template name=\"seplast\" text=\" e \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Ver %t.\"/>\n<l:template name=\"seealso\" text=\"Ver Também %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Audiência: \"/>\n<l:template name=\"MsgLevel\" text=\"Nível: \"/>\n<l:template name=\"MsgOrig\" text=\"Origem: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definição: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Janeiro\"/>\n<l:template name=\"February\" text=\"Fevereiro\"/>\n<l:template name=\"March\" text=\"Março\"/>\n<l:template name=\"April\" text=\"Abril\"/>\n<l:template name=\"May\" text=\"Maio\"/>\n<l:template name=\"June\" text=\"Junho\"/>\n<l:template name=\"July\" text=\"Julho\"/>\n<l:template name=\"August\" text=\"Agosto\"/>\n<l:template name=\"September\" text=\"Setembro\"/>\n<l:template name=\"October\" text=\"Outubro\"/>\n<l:template name=\"November\" text=\"Novembro\"/>\n<l:template name=\"December\" text=\"Dezembro\"/>\n<l:template name=\"Monday\" text=\"Segunda-Feira\"/>\n<l:template name=\"Tuesday\" text=\"Terça-Feira\"/>\n<l:template name=\"Wednesday\" text=\"Quarta-Feira\"/>\n<l:template name=\"Thursday\" text=\"Quinta-Feira\"/>\n<l:template name=\"Friday\" text=\"Sexta-Feira\"/>\n<l:template name=\"Saturday\" text=\"Sábado\"/>\n<l:template name=\"Sunday\" text=\"Domingo\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\"/>\n<l:template name=\"Feb\" text=\"Fev\"/>\n<l:template name=\"Mar\" text=\"Mar\"/>\n<l:template name=\"Apr\" text=\"Abr\"/>\n<l:template name=\"May\" text=\"Mai\"/>\n<l:template name=\"Jun\" text=\"Jun\"/>\n<l:template name=\"Jul\" text=\"Jul\"/>\n<l:template name=\"Aug\" text=\"Ago\"/>\n<l:template name=\"Sep\" text=\"Set\"/>\n<l:template name=\"Oct\" text=\"Out\"/>\n<l:template name=\"Nov\" text=\"Nov\"/>\n<l:template name=\"Dec\" text=\"Dez\"/>\n<l:template name=\"Mon\" text=\"Seg\"/>\n<l:template name=\"Tue\" text=\"Ter\"/>\n<l:template name=\"Wed\" text=\"Qua\"/>\n<l:template name=\"Thu\" text=\"Qui\"/>\n<l:template name=\"Fri\" text=\"Sex\"/>\n<l:template name=\"Sat\" text=\"Sab\"/>\n<l:template name=\"Sun\" text=\"Dom\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0816 Portuguese (PORTUGAL)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Símbolos</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/pt_br.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"pt_br\" english-language-name=\"Portuguese (Brazil)\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/pt_br.xml -->\n<!-- * -->\n<!-- * E-mail the edited pt_br.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Resumo\"/>\n<l:gentext key=\"abstract\" text=\"resumo\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Agradecimentos\"/>\n<l:gentext key=\"acknowledgements\" text=\"agradecimentos\"/>\n<l:gentext key=\"Answer\" text=\"R:\"/>\n<l:gentext key=\"answer\" text=\"r:\"/>\n<l:gentext key=\"Appendix\" text=\"Apêndice\"/>\n<l:gentext key=\"appendix\" text=\"apêndice\"/>\n<l:gentext key=\"Article\" text=\"Artigo\"/>\n<l:gentext key=\"article\" text=\"artigo\"/>\n<l:gentext key=\"Author\" text=\"Autor\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografia\"/>\n<l:gentext key=\"bibliography\" text=\"bibliografia\"/>\n<l:gentext key=\"Book\" text=\"Livro\"/>\n<l:gentext key=\"book\" text=\"livro\"/>\n<l:gentext key=\"CAUTION\" text=\"CUIDADO\"/>\n<l:gentext key=\"Caution\" text=\"Cuidado\"/>\n<l:gentext key=\"caution\" text=\"cuidado\"/>\n<l:gentext key=\"Chapter\" text=\"Capítulo\"/>\n<l:gentext key=\"chapter\" text=\"capítulo\"/>\n<l:gentext key=\"Colophon\" text=\"Considerações finais\"/>\n<l:gentext key=\"colophon\" text=\"considerações finais\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"copyright\"/>\n<l:gentext key=\"Dedication\" text=\"Dedicatória\"/>\n<l:gentext key=\"dedication\" text=\"dedicatória\"/>\n<l:gentext key=\"Edition\" text=\"Edição\"/>\n<l:gentext key=\"edition\" text=\"edição\"/>\n<l:gentext key=\"Editor\" text=\"Editor\"/>\n<l:gentext key=\"Equation\" text=\"Equação\"/>\n<l:gentext key=\"equation\" text=\"equação\"/>\n<l:gentext key=\"Example\" text=\"Exemplo\"/>\n<l:gentext key=\"example\" text=\"exemplo\"/>\n<l:gentext key=\"Figure\" text=\"Figura\"/>\n<l:gentext key=\"figure\" text=\"figura\"/>\n<l:gentext key=\"Glossary\" text=\"Glossário\"/>\n<l:gentext key=\"glossary\" text=\"glossário\"/>\n<l:gentext key=\"GlossSee\" text=\"Ver\"/>\n<l:gentext key=\"glosssee\" text=\"ver\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Ver Também\"/>\n<l:gentext key=\"glossseealso\" text=\"ver também\"/>\n<l:gentext key=\"IMPORTANT\" text=\"IMPORTANTE\"/>\n<l:gentext key=\"important\" text=\"Importante\"/>\n<l:gentext key=\"Important\" text=\"Importante\"/>\n<l:gentext key=\"Index\" text=\"Índice Remissivo\"/>\n<l:gentext key=\"index\" text=\"índice remissivo\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Nota Legal\"/>\n<l:gentext key=\"legalnotice\" text=\"nota legal\"/>\n<l:gentext key=\"MsgAud\" text=\"Audiência\"/>\n<l:gentext key=\"msgaud\" text=\"audiência\"/>\n<l:gentext key=\"MsgLevel\" text=\"Nível\"/>\n<l:gentext key=\"msglevel\" text=\"nível\"/>\n<l:gentext key=\"MsgOrig\" text=\"Origem\"/>\n<l:gentext key=\"msgorig\" text=\"origem\"/>\n<l:gentext key=\"NOTE\" text=\"NOTA\"/>\n<l:gentext key=\"Note\" text=\"Nota\"/>\n<l:gentext key=\"note\" text=\"nota\"/>\n<l:gentext key=\"Part\" text=\"Parte\"/>\n<l:gentext key=\"part\" text=\"parte\"/>\n<l:gentext key=\"Preface\" text=\"Prefácio\"/>\n<l:gentext key=\"preface\" text=\"prefácio\"/>\n<l:gentext key=\"Procedure\" text=\"Procedimento\"/>\n<l:gentext key=\"procedure\" text=\"procedimento\"/>\n<l:gentext key=\"ProductionSet\" text=\"Produção\"/>\n<l:gentext key=\"PubDate\" text=\"Data de Publicação\"/>\n<l:gentext key=\"pubdate\" text=\"data de publicação\"/>\n<l:gentext key=\"Published\" text=\"Publicado\"/>\n<l:gentext key=\"published\" text=\"publicado\"/>\n<l:gentext key=\"Publisher\" text=\"Publicador\"/>\n<l:gentext key=\"Qandadiv\" text=\"P &amp; R\"/>\n<l:gentext key=\"qandadiv\" text=\"P &amp; R\"/>\n<l:gentext key=\"QandASet\" text=\"Perguntas Frequentes\"/>\n<l:gentext key=\"Question\" text=\"P:\"/>\n<l:gentext key=\"question\" text=\"P:\"/>\n<l:gentext key=\"RefEntry\" text=\"Página\"/>\n<l:gentext key=\"refentry\" text=\"página\"/>\n<l:gentext key=\"Reference\" text=\"Referência\"/>\n<l:gentext key=\"reference\" text=\"referência\"/>\n<l:gentext key=\"References\" text=\"Referências\"/>\n<l:gentext key=\"RefName\" text=\"Nome\"/>\n<l:gentext key=\"refname\" text=\"nome\"/>\n<l:gentext key=\"RefSection\" text=\"Seção\"/>\n<l:gentext key=\"refsection\" text=\"seção\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Sinopse\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"sinopse\"/>\n<l:gentext key=\"RevHistory\" text=\"Histórico de Revisões\"/>\n<l:gentext key=\"revhistory\" text=\"histórico de revisões\"/>\n<l:gentext key=\"revision\" text=\"revisão\"/>\n<l:gentext key=\"Revision\" text=\"Revisão\"/>\n<l:gentext key=\"sect1\" text=\"Seção\"/>\n<l:gentext key=\"sect2\" text=\"Seção\"/>\n<l:gentext key=\"sect3\" text=\"Seção\"/>\n<l:gentext key=\"sect4\" text=\"Seção\"/>\n<l:gentext key=\"sect5\" text=\"Seção\"/>\n<l:gentext key=\"section\" text=\"seção\"/>\n<l:gentext key=\"Section\" text=\"Seção\"/>\n<l:gentext key=\"see\" text=\"ver\"/>\n<l:gentext key=\"See\" text=\"Ver\"/>\n<l:gentext key=\"seealso\" text=\"ver também\"/>\n<l:gentext key=\"Seealso\" text=\"Ver também\"/>\n<l:gentext key=\"SeeAlso\" text=\"Ver Também\"/>\n<l:gentext key=\"set\" text=\"Conjunto\"/>\n<l:gentext key=\"Set\" text=\"Conjunto\"/>\n<l:gentext key=\"setindex\" text=\"Índice do Conjunto\"/>\n<l:gentext key=\"SetIndex\" text=\"Índice do Conjunto\"/>\n<l:gentext key=\"Sidebar\" text=\"Quadro Lateral\"/>\n<l:gentext key=\"sidebar\" text=\"quadro lateral\"/>\n<l:gentext key=\"step\" text=\"passo\"/>\n<l:gentext key=\"Step\" text=\"Passo\"/>\n<l:gentext key=\"table\" text=\"tabela\"/>\n<l:gentext key=\"Table\" text=\"Tabela\"/>\n<l:gentext key=\"task\" text=\"tarefa\"/>\n<l:gentext key=\"Task\" text=\"Tarefa\"/>\n<l:gentext key=\"tip\" text=\"dica\"/>\n<l:gentext key=\"TIP\" text=\"DICA\"/>\n<l:gentext key=\"Tip\" text=\"Dica\"/>\n<l:gentext key=\"Warning\" text=\"Atenção\"/>\n<l:gentext key=\"warning\" text=\"Atenção\"/>\n<l:gentext key=\"WARNING\" text=\"ATENÇÃO\"/>\n<l:gentext key=\"and\" text=\"e\"/>\n<l:gentext key=\"or\" text=\"ou\"/>\n<l:gentext key=\"by\" text=\"por\"/>\n<l:gentext key=\"Edited\" text=\"Editado\"/>\n<l:gentext key=\"edited\" text=\"editado\"/>\n<l:gentext key=\"Editedby\" text=\"Editado por\"/>\n<l:gentext key=\"editedby\" text=\"editado por\"/>\n<l:gentext key=\"in\" text=\"dentro\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"notas\"/>\n<l:gentext key=\"Notes\" text=\"Notas\"/>\n<l:gentext key=\"Pgs\" text=\"Páginas\"/>\n<l:gentext key=\"pgs\" text=\"páginas\"/>\n<l:gentext key=\"Revisedby\" text=\"Revisado por: \"/>\n<l:gentext key=\"revisedby\" text=\"revisado por: \"/>\n<l:gentext key=\"TableNotes\" text=\"Notas\"/>\n<l:gentext key=\"tablenotes\" text=\"notas\"/>\n<l:gentext key=\"TableofContents\" text=\"Índice\"/>\n<l:gentext key=\"tableofcontents\" text=\"índice\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Nome de elemento inesperado\"/>\n<l:gentext key=\"unsupported\" text=\"não suportado\"/>\n<l:gentext key=\"xrefto\" text=\"xref para\"/>\n<l:gentext key=\"Authors\" text=\"Autores\"/>\n<l:gentext key=\"copyeditor\" text=\"Copidesque\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Designer Gráfico\"/>\n<l:gentext key=\"productioneditor\" text=\"Editor de Produção\"/>\n<l:gentext key=\"technicaleditor\" text=\"Editor Técnico\"/>\n<l:gentext key=\"translator\" text=\"Tradutor\"/>\n<l:gentext key=\"listofequations\" text=\"lista de equações\"/>\n<l:gentext key=\"ListofEquations\" text=\"Lista de Equações\"/>\n<l:gentext key=\"ListofExamples\" text=\"Lista de Exemplos\"/>\n<l:gentext key=\"listofexamples\" text=\"lista de exemplos\"/>\n<l:gentext key=\"ListofFigures\" text=\"Lista de Figuras\"/>\n<l:gentext key=\"listoffigures\" text=\"lista de figuras\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Lista de Procedimentos\"/>\n<l:gentext key=\"listofprocedures\" text=\"lista de procedimentos\"/>\n<l:gentext key=\"listoftables\" text=\"lista de tabelas\"/>\n<l:gentext key=\"ListofTables\" text=\"Lista de Tabelas\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Lista de ???\"/>\n<l:gentext key=\"listofunknown\" text=\"Lista de ???\"/>\n<l:gentext key=\"nav-home\" text=\"Principal\"/>\n<l:gentext key=\"nav-next\" text=\"Próxima\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Fim\"/>\n<l:gentext key=\"nav-prev\" text=\"Anterior\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Início\"/>\n<l:gentext key=\"nav-up\" text=\"Acima\"/>\n<l:gentext key=\"nav-toc\" text=\"TdC\"/>\n<l:gentext key=\"Draft\" text=\"Rascunho\"/>\n<l:gentext key=\"above\" text=\"acima\"/>\n<l:gentext key=\"below\" text=\"abaixo\"/>\n<l:gentext key=\"sectioncalled\" text=\"A seção chamada\"/>\n<l:gentext key=\"index symbols\" text=\"Símbolos\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Apêndice %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Capítulo %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Equação %n. %t\"/>\n<l:template name=\"example\" text=\"Exemplo %n. %t\"/>\n<l:template name=\"figure\" text=\"Figura %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Parte %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Procedimento %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Produção %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabela %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Apêndice %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Capítulo %n. %t\"/>\n<l:template name=\"part\" text=\"Parte %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"R: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"P: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"P: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"“%t”\"/>\n<l:template name=\"refsection\" text=\"“%t”\"/>\n<l:template name=\"refsect1\" text=\"“%t”\"/>\n<l:template name=\"refsect2\" text=\"“%t”\"/>\n<l:template name=\"refsect3\" text=\"“%t”\"/>\n<l:template name=\"sect1\" text=\"“%t”\"/>\n<l:template name=\"sect2\" text=\"“%t”\"/>\n<l:template name=\"sect3\" text=\"“%t”\"/>\n<l:template name=\"sect4\" text=\"“%t”\"/>\n<l:template name=\"sect5\" text=\"“%t”\"/>\n<l:template name=\"section\" text=\"“%t”\"/>\n<l:template name=\"simplesect\" text=\"“%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"R: %n\"/>\n<l:template name=\"appendix\" text=\"Apêndice %n\"/>\n<l:template name=\"bridgehead\" text=\"Seção %n\"/>\n<l:template name=\"chapter\" text=\"Capítulo %n\"/>\n<l:template name=\"equation\" text=\"Equação %n\"/>\n<l:template name=\"example\" text=\"Exemplo %n\"/>\n<l:template name=\"figure\" text=\"Figura %n\"/>\n<l:template name=\"part\" text=\"Parte %n\"/>\n<l:template name=\"procedure\" text=\"Procedimento %n\"/>\n<l:template name=\"productionset\" text=\"Produção %n\"/>\n<l:template name=\"qandadiv\" text=\"P &amp; R %n\"/>\n<l:template name=\"qandaentry\" text=\"P: %n\"/>\n<l:template name=\"question\" text=\"P: %n\"/>\n<l:template name=\"sect1\" text=\"Seção %n\"/>\n<l:template name=\"sect2\" text=\"Seção %n\"/>\n<l:template name=\"sect3\" text=\"Seção %n\"/>\n<l:template name=\"sect4\" text=\"Seção %n\"/>\n<l:template name=\"sect5\" text=\"Seção %n\"/>\n<l:template name=\"section\" text=\"Seção %n\"/>\n<l:template name=\"table\" text=\"Tabela %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Apêndice %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Seção %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Capítulo %n, %t\"/>\n<l:template name=\"equation\" text=\"Equação %n, “%t”\"/>\n<l:template name=\"example\" text=\"Exemplo %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Figura %n, “%t”\"/>\n<l:template name=\"part\" text=\"Parte %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Procedimento %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Produção %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"P &amp; R %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"A seção chamada “%t”\"/>\n<l:template name=\"refsect2\" text=\"A seção chamada “%t”\"/>\n<l:template name=\"refsect3\" text=\"A seção chamada “%t”\"/>\n<l:template name=\"refsection\" text=\"A seção chamada “%t”\"/>\n<l:template name=\"sect1\" text=\"Seção %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Seção %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Seção %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Seção %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Seção %n, “%t”\"/>\n<l:template name=\"section\" text=\"Seção %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"A seção chamada “%t”\"/>\n<l:template name=\"table\" text=\"Tabela %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" e \"/>\n<l:template name=\"seplast\" text=\", e \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Ver %t.\"/>\n<l:template name=\"seealso\" text=\"Ver Também %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Audiência: \"/>\n<l:template name=\"MsgLevel\" text=\"Nível: \"/>\n<l:template name=\"MsgOrig\" text=\"Origem: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Janeiro\"/>\n<l:template name=\"February\" text=\"Fevereiri\"/>\n<l:template name=\"March\" text=\"Março\"/>\n<l:template name=\"April\" text=\"Abril\"/>\n<l:template name=\"May\" text=\"Maio\"/>\n<l:template name=\"June\" text=\"Junho\"/>\n<l:template name=\"July\" text=\"Jullho\"/>\n<l:template name=\"August\" text=\"Agosto\"/>\n<l:template name=\"September\" text=\"Setembro\"/>\n<l:template name=\"October\" text=\"Outubro\"/>\n<l:template name=\"November\" text=\"Novembro\"/>\n<l:template name=\"December\" text=\"Dezembro\"/>\n<l:template name=\"Monday\" text=\"Segunda-feira\"/>\n<l:template name=\"Tuesday\" text=\"Terça-feira\"/>\n<l:template name=\"Wednesday\" text=\"Quarta-feira\"/>\n<l:template name=\"Thursday\" text=\"Quinta-feira\"/>\n<l:template name=\"Friday\" text=\"Sexta-feira\"/>\n<l:template name=\"Saturday\" text=\"Sabado\"/>\n<l:template name=\"Sunday\" text=\"Domingo\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\"/>\n<l:template name=\"Feb\" text=\"Fev\"/>\n<l:template name=\"Mar\" text=\"Mar\"/>\n<l:template name=\"Apr\" text=\"Abr\"/>\n<l:template name=\"May\" text=\"Maio\"/>\n<l:template name=\"Jun\" text=\"Jun\"/>\n<l:template name=\"Jul\" text=\"Jul\"/>\n<l:template name=\"Aug\" text=\"Ago\"/>\n<l:template name=\"Sep\" text=\"Set\"/>\n<l:template name=\"Oct\" text=\"Out\"/>\n<l:template name=\"Nov\" text=\"Nov\"/>\n<l:template name=\"Dec\" text=\"Dez\"/>\n<l:template name=\"Mon\" text=\"Seg\"/>\n<l:template name=\"Tue\" text=\"Ter\"/>\n<l:template name=\"Wed\" text=\"Qua\"/>\n<l:template name=\"Thu\" text=\"Qui\"/>\n<l:template name=\"Fri\" text=\"Sex\"/>\n<l:template name=\"Sat\" text=\"Sab\"/>\n<l:template name=\"Sun\" text=\"Dom\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0416 Portuguese (BRAZIL)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Símbolos</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/refentry.xml",
    "content": "<?xml version=\"1.0\"?>\n\n<reference xml:id=\"refentry\">\n  <info>\n    <title>Common » Refentry Metadata Template Reference</title>\n    <releaseinfo role=\"meta\">\n      $Id: refentry.xsl 7867 2008-03-07 09:54:25Z xmldoc $\n    </releaseinfo>\n  </info>\n  \n  <partintro xml:id=\"partintro\">\n    <title>Introduction</title>\n    \n<para>This is technical reference documentation for the “refentry\n    metadata” templates in the DocBook XSL Stylesheets.</para>\n\n    \n<para>This is not intended to be user documentation. It is provided\n    for developers writing customization layers for the stylesheets.</para>\n\n    <note>\n      \n<para>Currently, only the manpages stylesheets make use of these\n      templates. They are, however, potentially useful elsewhere.</para>\n\n    </note>\n  </partintro>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.get.refentry.metadata\">\n<refnamediv>\n<refname>get.refentry.metadata</refname>\n<refpurpose>Gathers metadata from a refentry and its ancestors</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"get.refentry.metadata\"&gt;\n&lt;xsl:param name=\"refname\"/&gt;\n&lt;xsl:param name=\"info\"/&gt;\n&lt;xsl:param name=\"prefs\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>Reference documentation for particular commands, functions,\n    etc., is sometimes viewed in isolation from its greater \"context\". For\n    example, users view Unix man pages as, well, individual pages, not as\n    part of a \"book\" of some kind. Therefore, it is sometimes necessary to\n    embed \"context\" information in output for each <tag>refentry</tag>.</para>\n\n\n    \n<para>However, one problem is that different users mark up that\n    context information in different ways. Often (usually), the\n    context information is not actually part of the content of the\n    <tag>refentry</tag> itself, but instead part of the content of a\n    parent or ancestor element to the <tag>refentry</tag>. And\n    even then, DocBook provides a variety of elements that users might\n    potentially use to mark up the same kind of information. One user\n    might use the <tag>productnumber</tag> element to mark up version\n    information about a particular product, while another might use\n    the <tag>releaseinfo</tag> element.</para>\n\n\n    \n<para>Taking all that in mind, the\n    <function>get.refentry.metadata</function> template tries to gather\n    metadata from a <tag>refentry</tag> element and its ancestor\n    elements in an intelligent and user-configurable way. The basic\n    mechanism used in the XPath expressions throughout this stylesheet\n    is to select the relevant metadata from the *info element that is\n    closest to the actual <tag>refentry</tag> – either on the\n    <tag>refentry</tag> itself, or on its nearest ancestor.</para>\n\n\n    <note>\n      \n<para>The <function>get.refentry.metadata</function>\n        template is actually just sort of a \"driver\" template; it\n        calls other templates that do the actual data collection,\n        then returns the data as a set.</para>\n\n    </note>\n\n  </refsect1><refsect1><title>Parameters</title>\n    \n<variablelist>\n      <varlistentry>\n        <term>refname</term>\n        <listitem>\n          \n<para>The first <tag>refname</tag> in the refentry</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>info</term>\n        <listitem>\n          \n<para>A set of info nodes (from a <tag>refentry</tag>\n          element and its ancestors)</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>prefs</term>\n        <listitem>\n          \n<para>A node containing user preferences (from global\n          stylesheet parameters)</para>\n\n        </listitem>\n      </varlistentry>\n    </variablelist>\n\n  </refsect1><refsect1><title>Returns</title>\n    \n<para>Returns a node set with the following elements. The\n    descriptions are verbatim from the <literal>man(7)</literal> man\n    page.\n    \n<variablelist>\n      <varlistentry>\n        <term>title</term>\n        <listitem>\n          \n<para>the title of the man page (e.g., <literal>MAN</literal>)</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>section</term>\n        <listitem>\n          \n<para>the section number the man page should be placed in (e.g.,\n          <literal>7</literal>)</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>date</term>\n        <listitem>\n          \n<para>the date of the last revision</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>source</term>\n        <listitem>\n          \n<para>the source of the command</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>manual</term>\n        <listitem>\n          \n<para>the title of the manual (e.g., <citetitle>Linux\n          Programmer's Manual</citetitle>)</para>\n\n        </listitem>\n      </varlistentry>\n    </variablelist>\n\n    </para>\n\n  </refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.get.refentry.title\">\n<refnamediv>\n<refname>get.refentry.title</refname>\n<refpurpose>Gets title metadata for a refentry</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"get.refentry.title\"&gt;\n&lt;xsl:param name=\"refname\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>The <literal>man(7)</literal> man page describes this as \"the\n    title of the man page (e.g., <literal>MAN</literal>). This differs\n    from <tag>refname</tag> in that, if the <tag>refentry</tag> has a\n    <tag>refentrytitle</tag>, we use that as the <tag>title</tag>;\n    otherwise, we just use first <tag>refname</tag> in the first\n    <tag>refnamediv</tag> in the source.</para>\n\n  </refsect1><refsect1><title>Parameters</title>\n    \n<variablelist>\n      <varlistentry>\n        <term>refname</term>\n        <listitem>\n          \n<para>The first <tag>refname</tag> in the refentry</para>\n\n        </listitem>\n      </varlistentry>\n    </variablelist>\n\n  </refsect1><refsect1><title>Returns</title>\n  \n<para>Returns a <tag>title</tag> node.</para>\n</refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.get.refentry.section\">\n<refnamediv>\n<refname>get.refentry.section</refname>\n<refpurpose>Gets section metadata for a refentry</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"get.refentry.section\"&gt;\n&lt;xsl:param name=\"refname\"/&gt;\n&lt;xsl:param name=\"quiet\" select=\"0\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>The <literal>man(7)</literal> man page describes this as \"the\n    section number the man page should be placed in (e.g.,\n    <literal>7</literal>)\". If we do not find a <tag>manvolnum</tag>\n    specified in the source, and we find that the <tag>refentry</tag> is\n    for a function, we use the section number <literal>3</literal>\n    [\"Library calls (functions within program libraries)\"]; otherwise, we\n    default to using <literal>1</literal> [\"Executable programs or shell\n    commands\"].</para>\n\n  </refsect1><refsect1><title>Parameters</title>\n    \n<variablelist>\n      <varlistentry>\n        <term>refname</term>\n        <listitem>\n          \n<para>The first <tag>refname</tag> in the refentry</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>quiet</term>\n        <listitem>\n          \n<para>If non-zero, no \"missing\" message is emitted</para>\n\n        </listitem>\n      </varlistentry>\n    </variablelist>\n\n  </refsect1><refsect1><title>Returns</title>\n  \n<para>Returns a string representing a section number.</para>\n</refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.get.refentry.date\">\n<refnamediv>\n<refname>get.refentry.date</refname>\n<refpurpose>Gets date metadata for a refentry</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"get.refentry.date\"&gt;\n&lt;xsl:param name=\"refname\"/&gt;\n&lt;xsl:param name=\"info\"/&gt;\n&lt;xsl:param name=\"prefs\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>The <literal>man(7)</literal> man page describes this as \"the\n    date of the last revision\". If we cannot find a date in the source, we\n    generate one.</para>\n\n  </refsect1><refsect1><title>Parameters</title>\n    \n<variablelist>\n      <varlistentry>\n        <term>refname</term>\n        <listitem>\n          \n<para>The first <tag>refname</tag> in the refentry</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>info</term>\n        <listitem>\n          \n<para>A set of info nodes (from a <tag>refentry</tag>\n          element and its ancestors)</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>prefs</term>\n        <listitem>\n          \n<para>A node containing users preferences (from global stylesheet parameters)</para>\n\n        </listitem>\n      </varlistentry>\n    </variablelist>\n\n  </refsect1><refsect1><title>Returns</title>\n    \n<para>Returns a <tag>date</tag> node.</para>\n\n  </refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.get.refentry.source\">\n<refnamediv>\n<refname>get.refentry.source</refname>\n<refpurpose>Gets source metadata for a refentry</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"get.refentry.source\"&gt;\n&lt;xsl:param name=\"refname\"/&gt;\n&lt;xsl:param name=\"info\"/&gt;\n&lt;xsl:param name=\"prefs\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>The <literal>man(7)</literal> man page describes this as \"the\n    source of the command\", and provides the following examples:\n    \n<itemizedlist>\n      <listitem>\n        \n<para>For binaries, use something like: GNU, NET-2, SLS\n        Distribution, MCC Distribution.</para>\n\n      </listitem>\n      <listitem>\n        \n<para>For system calls, use the version of the kernel that you are\n        currently looking at: Linux 0.99.11.</para>\n\n      </listitem>\n      <listitem>\n        \n<para>For library calls, use the source of the function: GNU, BSD\n        4.3, Linux DLL 4.4.1.</para>\n\n      </listitem>\n    </itemizedlist>\n\n    </para>\n\n\n    \n<para>The <literal>solbook(5)</literal> man page describes\n    something very much like what <literal>man(7)</literal> calls\n    \"source\", except that <literal>solbook(5)</literal> names it\n    \"software\" and describes it like this:\n    <blockquote>\n      \n<para>This is the name of the software product that the topic\n      discussed on the reference page belongs to. For example UNIX\n      commands are part of the <literal>SunOS x.x</literal>\n      release.</para>\n\n    </blockquote>\n    </para>\n\n\n    \n<para>In practice, there are many pages that simply have a version\n    number in the \"source\" field. So, it looks like what we have is a\n    two-part field,\n    <replaceable>Name</replaceable> <replaceable>Version</replaceable>,\n    where:\n    \n<variablelist>\n      <varlistentry>\n        <term>Name</term>\n        <listitem>\n          \n<para>product name (e.g., BSD) or org. name (e.g., GNU)</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>Version</term>\n        <listitem>\n          \n<para>version name</para>\n\n        </listitem>\n      </varlistentry>\n    </variablelist>\n\n    Each part is optional. If the <replaceable>Name</replaceable> is a\n    product name, then the <replaceable>Version</replaceable> is probably\n    the version of the product. Or there may be no\n    <replaceable>Name</replaceable>, in which case, if there is a\n    <replaceable>Version</replaceable>, it is probably the version of the\n    item itself, not the product it is part of. Or, if the\n    <replaceable>Name</replaceable> is an organization name, then there\n    probably will be no <replaceable>Version</replaceable>.\n    </para>\n\n  </refsect1><refsect1><title>Parameters</title>\n    \n<variablelist>\n      <varlistentry>\n        <term>refname</term>\n        <listitem>\n          \n<para>The first <tag>refname</tag> in the refentry</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>info</term>\n        <listitem>\n          \n<para>A set of info nodes (from a <tag>refentry</tag>\n          element and its ancestors)</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>prefs</term>\n        <listitem>\n          \n<para>A node containing users preferences (from global\n          stylesheet parameters)</para>\n\n        </listitem>\n      </varlistentry>\n    </variablelist>\n\n  </refsect1><refsect1><title>Returns</title>\n    \n<para>Returns a <tag>source</tag> node.</para>\n\n  </refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.get.refentry.source.name\">\n<refnamediv>\n<refname>get.refentry.source.name</refname>\n<refpurpose>Gets source-name metadata for a refentry</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"get.refentry.source.name\"&gt;\n&lt;xsl:param name=\"refname\"/&gt;\n&lt;xsl:param name=\"info\"/&gt;\n&lt;xsl:param name=\"prefs\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>A \"source name\" is one part of a (potentially) two-part\n    <replaceable>Name</replaceable> <replaceable>Version</replaceable>\n    source field. For more details, see the documentation for the\n    <function>get.refentry.source</function> template.</para>\n\n  </refsect1><refsect1><title>Parameters</title>\n    \n<variablelist>\n      <varlistentry>\n        <term>refname</term>\n        <listitem>\n          \n<para>The first <tag>refname</tag> in the refentry</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>info</term>\n        <listitem>\n          \n<para>A set of info nodes (from a <tag>refentry</tag>\n          element and its ancestors)</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>prefs</term>\n        <listitem>\n          \n<para>A node containing users preferences (from global\n          stylesheet parameters)</para>\n\n        </listitem>\n      </varlistentry>\n    </variablelist>\n\n  </refsect1><refsect1><title>Returns</title>\n    \n<para>Depending on what output method is used for the\n  current stylesheet, either returns a text node or possibly an element\n  node, containing \"source name\" data.</para>\n\n  </refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.get.refentry.version\">\n<refnamediv>\n<refname>get.refentry.version</refname>\n<refpurpose>Gets version metadata for a refentry</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"get.refentry.version\"&gt;\n&lt;xsl:param name=\"refname\"/&gt;\n&lt;xsl:param name=\"info\"/&gt;\n&lt;xsl:param name=\"prefs\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>A \"version\" is one part of a (potentially) two-part\n    <replaceable>Name</replaceable> <replaceable>Version</replaceable>\n    source field. For more details, see the documentation for the\n    <function>get.refentry.source</function> template.</para>\n\n  </refsect1><refsect1><title>Parameters</title>\n    \n<variablelist>\n      <varlistentry>\n        <term>refname</term>\n        <listitem>\n          \n<para>The first <tag>refname</tag> in the refentry</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>info</term>\n        <listitem>\n          \n<para>A set of info nodes (from a <tag>refentry</tag>\n          element and its ancestors)</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>prefs</term>\n        <listitem>\n          \n<para>A node containing users preferences (from global\n          stylesheet parameters)</para>\n\n        </listitem>\n      </varlistentry>\n    </variablelist>\n\n  </refsect1><refsect1><title>Returns</title>\n    \n<para>Depending on what output method is used for the\n  current stylesheet, either returns a text node or possibly an element\n  node, containing \"version\" data.</para>\n\n  </refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.get.refentry.manual\">\n<refnamediv>\n<refname>get.refentry.manual</refname>\n<refpurpose>Gets source metadata for a refentry</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"get.refentry.manual\"&gt;\n&lt;xsl:param name=\"refname\"/&gt;\n&lt;xsl:param name=\"info\"/&gt;\n&lt;xsl:param name=\"prefs\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>The <literal>man(7)</literal> man page describes this as \"the\n    title of the manual (e.g., <citetitle>Linux Programmer's\n    Manual</citetitle>)\". Here are some examples from existing man pages:\n    \n<itemizedlist>\n      <listitem>\n        \n<para><citetitle>dpkg utilities</citetitle>\n        (<command>dpkg-name</command>)</para>\n\n      </listitem>\n      <listitem>\n        \n<para><citetitle>User Contributed Perl Documentation</citetitle>\n        (<command>GET</command>)</para>\n\n      </listitem>\n      <listitem>\n        \n<para><citetitle>GNU Development Tools</citetitle>\n        (<command>ld</command>)</para>\n\n      </listitem>\n      <listitem>\n        \n<para><citetitle>Emperor Norton Utilities</citetitle>\n        (<command>ddate</command>)</para>\n\n      </listitem>\n      <listitem>\n        \n<para><citetitle>Debian GNU/Linux manual</citetitle>\n        (<command>faked</command>)</para>\n\n      </listitem>\n      <listitem>\n        \n<para><citetitle>GIMP Manual Pages</citetitle>\n        (<command>gimp</command>)</para>\n\n      </listitem>\n      <listitem>\n        \n<para><citetitle>KDOC Documentation System</citetitle>\n        (<command>qt2kdoc</command>)</para>\n\n      </listitem>\n    </itemizedlist>\n\n    </para>\n\n\n    \n<para>The <literal>solbook(5)</literal> man page describes\n    something very much like what <literal>man(7)</literal> calls\n    \"manual\", except that <literal>solbook(5)</literal> names it\n    \"sectdesc\" and describes it like this:\n    <blockquote>\n      \n<para>This is the section title of the reference page; for\n      example <literal>User Commands</literal>.</para>\n\n    </blockquote>\n    </para>\n\n\n  </refsect1><refsect1><title>Parameters</title>\n    \n<variablelist>\n      <varlistentry>\n        <term>refname</term>\n        <listitem>\n          \n<para>The first <tag>refname</tag> in the refentry</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>info</term>\n        <listitem>\n          \n<para>A set of info nodes (from a <tag>refentry</tag>\n          element and its ancestors)</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>prefs</term>\n        <listitem>\n          \n<para>A node containing users preferences (from global\n          stylesheet parameters)</para>\n\n        </listitem>\n      </varlistentry>\n    </variablelist>\n\n  </refsect1><refsect1><title>Returns</title>\n    \n<para>Returns a <tag>manual</tag> node.</para>\n\n  </refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.get.refentry.metadata.prefs\">\n<refnamediv>\n<refname>get.refentry.metadata.prefs</refname>\n<refpurpose>Gets user preferences for refentry metadata gathering</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"get.refentry.metadata.prefs\"/&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>The DocBook XSL stylesheets include several user-configurable\n    global stylesheet parameters for controlling <tag>refentry</tag>\n    metadata gathering. Those parameters are not read directly by the\n    other <tag>refentry</tag> metadata-gathering\n    templates. Instead, they are read only by the\n    <function>get.refentry.metadata.prefs</function> template,\n    which assembles them into a structure that is then passed to\n    the other <tag>refentry</tag> metadata-gathering\n    templates.</para>\n\n\n    \n<para>So the, <function>get.refentry.metadata.prefs</function>\n    template is the only interface to collecting stylesheet parameters for\n    controlling <tag>refentry</tag> metadata gathering.</para>\n\n  </refsect1><refsect1><title>Parameters</title>\n    \n<para>There are no local parameters for this template; however, it\n    does rely on a number of global parameters.</para>\n\n  </refsect1><refsect1><title>Returns</title>\n    \n<para>Returns a <tag>manual</tag> node.</para>\n\n  </refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.set.refentry.metadata\">\n<refnamediv>\n<refname>set.refentry.metadata</refname>\n<refpurpose>Sets content of a refentry metadata item</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"set.refentry.metadata\"&gt;\n&lt;xsl:param name=\"refname\"/&gt;\n&lt;xsl:param name=\"info\"/&gt;\n&lt;xsl:param name=\"contents\"/&gt;\n&lt;xsl:param name=\"context\"/&gt;\n&lt;xsl:param name=\"preferred\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>The <function>set.refentry.metadata</function> template is\n    called each time a suitable source element is found for a certain\n    metadata field.</para>\n\n  </refsect1><refsect1><title>Parameters</title>\n    \n<variablelist>\n      <varlistentry>\n        <term>refname</term>\n        <listitem>\n          \n<para>The first <tag>refname</tag> in the refentry</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>info</term>\n        <listitem>\n          \n<para>A single *info node that contains the selected source element.</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>contents</term>\n        <listitem>\n          \n<para>A node containing the selected source element.</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>context</term>\n        <listitem>\n          \n<para>A string describing the metadata context in which the\n          <function>set.refentry.metadata</function> template was\n          called: either \"date\", \"source\", \"version\", or \"manual\".</para>\n\n        </listitem>\n      </varlistentry>\n    </variablelist>\n\n  </refsect1><refsect1><title>Returns</title>\n  \n<para>Returns formatted contents of a selected source element.</para>\n</refsect1></refentry>\n</reference>\n\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/refentry.xsl",
    "content": "<?xml version='1.0'?>\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\"\n                xmlns:date=\"http://exslt.org/dates-and-times\"\n                exclude-result-prefixes=\"doc date\"\n                version='1.0'>\n\n<!-- ********************************************************************\n     $Id: refentry.xsl 7867 2008-03-07 09:54:25Z xmldoc $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n<doc:reference xmlns=\"\" xml:id=\"refentry\">\n  <info>\n    <title>Common » Refentry Metadata Template Reference</title>\n    <releaseinfo role=\"meta\">\n      $Id: refentry.xsl 7867 2008-03-07 09:54:25Z xmldoc $\n    </releaseinfo>\n  </info>\n  <!-- * yes, partintro is a valid child of a reference... -->\n  <partintro xml:id=\"partintro\">\n    <title>Introduction</title>\n    <para>This is technical reference documentation for the “refentry\n    metadata” templates in the DocBook XSL Stylesheets.</para>\n    <para>This is not intended to be user documentation. It is provided\n    for developers writing customization layers for the stylesheets.</para>\n    <note>\n      <para>Currently, only the manpages stylesheets make use of these\n      templates. They are, however, potentially useful elsewhere.</para>\n    </note>\n  </partintro>\n</doc:reference>\n\n<!-- ==================================================================== -->\n<doc:template name=\"get.refentry.metadata\" xmlns=\"\">\n  <refpurpose>Gathers metadata from a refentry and its ancestors</refpurpose>\n  <refdescription id=\"get.refentry.metadata-desc\">\n    <para>Reference documentation for particular commands, functions,\n    etc., is sometimes viewed in isolation from its greater \"context\". For\n    example, users view Unix man pages as, well, individual pages, not as\n    part of a \"book\" of some kind. Therefore, it is sometimes necessary to\n    embed \"context\" information in output for each <tag>refentry</tag>.</para>\n\n    <para>However, one problem is that different users mark up that\n    context information in different ways. Often (usually), the\n    context information is not actually part of the content of the\n    <tag>refentry</tag> itself, but instead part of the content of a\n    parent or ancestor element to the <tag>refentry</tag>. And\n    even then, DocBook provides a variety of elements that users might\n    potentially use to mark up the same kind of information. One user\n    might use the <tag>productnumber</tag> element to mark up version\n    information about a particular product, while another might use\n    the <tag>releaseinfo</tag> element.</para>\n\n    <para>Taking all that in mind, the\n    <function>get.refentry.metadata</function> template tries to gather\n    metadata from a <tag>refentry</tag> element and its ancestor\n    elements in an intelligent and user-configurable way. The basic\n    mechanism used in the XPath expressions throughout this stylesheet\n    is to select the relevant metadata from the *info element that is\n    closest to the actual <tag>refentry</tag>&#160;– either on the\n    <tag>refentry</tag> itself, or on its nearest ancestor.</para>\n\n    <note>\n      <para>The <function>get.refentry.metadata</function>\n        template is actually just sort of a \"driver\" template; it\n        calls other templates that do the actual data collection,\n        then returns the data as a set.</para>\n    </note>\n\n  </refdescription>\n  <refparameter id=\"get.refentry.metadata-params\">\n    <variablelist>\n      <varlistentry>\n        <term>refname</term>\n        <listitem>\n          <para>The first <tag>refname</tag> in the refentry</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>info</term>\n        <listitem>\n          <para>A set of info nodes (from a <tag>refentry</tag>\n          element and its ancestors)</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>prefs</term>\n        <listitem>\n          <para>A node containing user preferences (from global\n          stylesheet parameters)</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refreturn id=\"get.refentry.metadata-returns\">\n    <para>Returns a node set with the following elements. The\n    descriptions are verbatim from the <literal>man(7)</literal> man\n    page.\n    <variablelist>\n      <varlistentry>\n        <term>title</term>\n        <listitem>\n          <para>the title of the man page (e.g., <literal>MAN</literal>)</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>section</term>\n        <listitem>\n          <para>the section number the man page should be placed in (e.g.,\n          <literal>7</literal>)</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>date</term>\n        <listitem>\n          <para>the date of the last revision</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>source</term>\n        <listitem>\n          <para>the source of the command</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>manual</term>\n        <listitem>\n          <para>the title of the manual (e.g., <citetitle>Linux\n          Programmer's Manual</citetitle>)</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n    </para>\n  </refreturn>\n</doc:template>\n<xsl:template name=\"get.refentry.metadata\">\n  <xsl:param name=\"refname\"/>\n  <xsl:param name=\"info\"/>\n  <xsl:param name=\"prefs\"/>\n  <title>\n    <xsl:call-template name=\"get.refentry.title\">\n      <xsl:with-param name=\"refname\" select=\"$refname\"/>\n    </xsl:call-template>\n  </title>\n  <section>\n    <xsl:call-template name=\"get.refentry.section\">\n      <xsl:with-param name=\"refname\" select=\"$refname\"/>\n    </xsl:call-template>\n  </section>\n  <date>\n    <xsl:call-template name=\"get.refentry.date\">\n      <xsl:with-param name=\"info\" select=\"$info\"/>\n      <xsl:with-param name=\"refname\" select=\"$refname\"/>\n      <xsl:with-param name=\"prefs\" select=\"$prefs/DatePrefs\"/>\n    </xsl:call-template>\n  </date>\n  <source>\n    <xsl:call-template name=\"get.refentry.source\">\n      <xsl:with-param name=\"info\" select=\"$info\"/>\n      <xsl:with-param name=\"refname\" select=\"$refname\"/>\n      <xsl:with-param name=\"prefs\" select=\"$prefs/SourcePrefs\"/>\n    </xsl:call-template>\n  </source>\n  <manual>\n    <xsl:call-template name=\"get.refentry.manual\">\n      <xsl:with-param name=\"info\" select=\"$info\"/>\n      <xsl:with-param name=\"refname\" select=\"$refname\"/>\n      <xsl:with-param name=\"prefs\" select=\"$prefs/ManualPrefs\"/>\n    </xsl:call-template>\n  </manual>\n</xsl:template>\n\n<!-- ====================================================================== -->\n<doc:template name=\"get.refentry.title\" xmlns=\"\">\n  <refpurpose>Gets title metadata for a refentry</refpurpose>\n  <refdescription id=\"get.refentry.title-desc\">\n    <para>The <literal>man(7)</literal> man page describes this as \"the\n    title of the man page (e.g., <literal>MAN</literal>). This differs\n    from <tag>refname</tag> in that, if the <tag>refentry</tag> has a\n    <tag>refentrytitle</tag>, we use that as the <tag>title</tag>;\n    otherwise, we just use first <tag>refname</tag> in the first\n    <tag>refnamediv</tag> in the source.</para>\n  </refdescription>\n  <refparameter id=\"get.refentry.title-params\">\n    <variablelist>\n      <varlistentry>\n        <term>refname</term>\n        <listitem>\n          <para>The first <tag>refname</tag> in the refentry</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refreturn id=\"get.refentry.title-returns\">\n  <para>Returns a <tag>title</tag> node.</para></refreturn>\n</doc:template>\n<xsl:template name=\"get.refentry.title\">\n  <xsl:param name=\"refname\"/>\n  <xsl:choose>\n    <xsl:when test=\"refmeta/refentrytitle\">\n      <xsl:copy>\n        <xsl:apply-templates select=\"refmeta/refentrytitle/node()\"/>\n      </xsl:copy>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy-of select=\"$refname\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n<doc:template name=\"get.refentry.section\" xmlns=\"\">\n  <refpurpose>Gets section metadata for a refentry</refpurpose>\n  <refdescription id=\"get.refentry.section-desc\">\n    <para>The <literal>man(7)</literal> man page describes this as \"the\n    section number the man page should be placed in (e.g.,\n    <literal>7</literal>)\". If we do not find a <tag>manvolnum</tag>\n    specified in the source, and we find that the <tag>refentry</tag> is\n    for a function, we use the section number <literal>3</literal>\n    [\"Library calls (functions within program libraries)\"]; otherwise, we\n    default to using <literal>1</literal> [\"Executable programs or shell\n    commands\"].</para>\n  </refdescription>\n  <refparameter id=\"get.refentry.section-params\">\n    <variablelist>\n      <varlistentry>\n        <term>refname</term>\n        <listitem>\n          <para>The first <tag>refname</tag> in the refentry</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>quiet</term>\n        <listitem>\n          <para>If non-zero, no \"missing\" message is emitted</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refreturn id=\"get.refentry.section-returns\">\n  <para>Returns a string representing a section number.</para></refreturn>\n</doc:template>\n<xsl:template name=\"get.refentry.section\">\n  <xsl:param name=\"refname\"/>\n  <xsl:param name=\"quiet\" select=\"0\"/>\n  <xsl:choose>\n    <xsl:when test=\"refmeta/manvolnum\">\n      <xsl:value-of select=\"refmeta/manvolnum\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:if test=\"$quiet = 0\">\n        <xsl:if test=\"$refentry.meta.get.quietly = 0\">\n          <xsl:call-template name=\"log.message\">\n            <xsl:with-param name=\"level\">Note</xsl:with-param>\n            <xsl:with-param name=\"source\" select=\"$refname\"/>\n            <xsl:with-param name=\"context-desc\">meta manvol</xsl:with-param>\n            <xsl:with-param name=\"message\">\n              <xsl:text>no refentry/refmeta/manvolnum</xsl:text>\n            </xsl:with-param>\n          </xsl:call-template>\n          <xsl:call-template name=\"log.message\">\n            <xsl:with-param name=\"level\">Note</xsl:with-param>\n            <xsl:with-param name=\"source\" select=\"$refname\"/>\n            <xsl:with-param name=\"context-desc\">meta manvol</xsl:with-param>\n            <xsl:with-param name=\"message\">\n              <xsl:text>see http://docbook.sf.net/el/manvolnum</xsl:text>\n            </xsl:with-param>\n          </xsl:call-template>\n        </xsl:if>\n      </xsl:if>\n      <xsl:choose>\n        <xsl:when test=\".//funcsynopsis\">\n          <xsl:if test=\"$quiet = 0\">\n            <xsl:if test=\"$refentry.meta.get.quietly = 0\">\n              <xsl:call-template name=\"log.message\">\n                <xsl:with-param name=\"level\">Note</xsl:with-param>\n                <xsl:with-param name=\"source\" select=\"$refname\"/>\n                <xsl:with-param name=\"context-desc\">meta manvol</xsl:with-param>\n                <xsl:with-param name=\"message\">\n                  <xsl:text>Setting man section to 3</xsl:text>\n                </xsl:with-param>\n              </xsl:call-template>\n            </xsl:if>\n          </xsl:if>\n          <xsl:text>3</xsl:text>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:text>1</xsl:text>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n<doc:template name=\"get.refentry.date\" xmlns=\"\">\n  <refpurpose>Gets date metadata for a refentry</refpurpose>\n  <refdescription id=\"get.refentry.date-desc\">\n    <para>The <literal>man(7)</literal> man page describes this as \"the\n    date of the last revision\". If we cannot find a date in the source, we\n    generate one.</para>\n  </refdescription>\n  <refparameter id=\"get.refentry.date-params\">\n    <variablelist>\n      <varlistentry>\n        <term>refname</term>\n        <listitem>\n          <para>The first <tag>refname</tag> in the refentry</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>info</term>\n        <listitem>\n          <para>A set of info nodes (from a <tag>refentry</tag>\n          element and its ancestors)</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>prefs</term>\n        <listitem>\n          <para>A node containing users preferences (from global stylesheet parameters)</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refreturn id=\"get.refentry.date-returns\">\n    <para>Returns a <tag>date</tag> node.</para>\n  </refreturn>\n</doc:template>\n<xsl:template name=\"get.refentry.date\">\n  <xsl:param name=\"refname\"/>\n  <xsl:param name=\"info\"/>\n  <xsl:param name=\"prefs\"/>\n  <xsl:variable name=\"Date\">\n    <xsl:choose>\n      <!-- * if profiling is enabled for date, and the date -->\n      <!-- * profile is non-empty, use it -->\n      <xsl:when test=\"not($prefs/@profileEnabled = 0) and\n                      not($prefs/@profile = '')\">\n        <xsl:call-template name=\"evaluate.info.profile\">\n          <xsl:with-param name=\"profile\" select=\"$prefs/@profile\"/>\n          <xsl:with-param name=\"info\" select=\"$info\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <!-- * either profiling is not enabled for date, or the-->\n        <!-- * date profile is empty, so we need to look for date -->\n        <!-- * in *info -->\n        <xsl:choose>\n          <!-- * look for date or pubdate in *info -->\n          <xsl:when test=\"$info/date/node()\n                          |$info/pubdate/node()\">\n            <xsl:apply-templates\n                select=\"(($info[date])[last()]/date)[1]|\n                        (($info[pubdate])[last()]/pubdate)[1]\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <!-- * found no Date or Pubdate -->\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n  <xsl:choose>\n    <xsl:when test=\"not($Date = '')\">\n      <xsl:value-of select=\"$Date\"/>\n    </xsl:when>\n    <!-- * We couldn't find a date, so we generate a date. -->\n    <!-- * And we make it an appropriately localized date. -->\n    <xsl:otherwise>\n      <!-- * The following block is commented out because: -->\n      <!-- *  -->\n      <!-- * - having a missing date in the source doesn’t result in -->\n      <!-- *   any information being missing from the generated man -->\n      <!-- *   page (since we generate the needed date) -->\n      <!-- *  -->\n      <!-- * - experience has shown the many users omit the date -->\n      <!-- *   intentionally, because they want to be it generated -->\n      <!-- *  -->\n      <!-- * - in practice it’s not really a condition that most users -->\n      <!-- *   want reported to them -->\n      <!-- *  -->\n      <!-- * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->\n      <!-- * <xsl:if test=\"$refentry.meta.get.quietly = 0\"> -->\n        <!-- * <xsl:call-template name=\"log.message\"> -->\n          <!-- * <xsl:with-param name=\"level\">Note</xsl:with-param> -->\n          <!-- * <xsl:with-param name=\"source\" select=\"$refname\"/> -->\n          <!-- * <xsl:with-param name=\"context-desc\">meta date</xsl:with-param> -->\n          <!-- * <xsl:with-param name=\"message\"> -->\n            <!-- * <xsl:text>no date; using generated date</xsl:text> -->\n          <!-- * </xsl:with-param> -->\n        <!-- * </xsl:call-template> -->\n        <!-- * <xsl:call-template name=\"log.message\"> -->\n          <!-- * <xsl:with-param name=\"level\">Note</xsl:with-param> -->\n          <!-- * <xsl:with-param name=\"source\" select=\"$refname\"/> -->\n          <!-- * <xsl:with-param name=\"context-desc\">meta date</xsl:with-param> -->\n          <!-- * <xsl:with-param name=\"message\"> -->\n            <!-- * <xsl:text>see http://docbook.sf.net/el/date</xsl:text> -->\n          <!-- * </xsl:with-param> -->\n        <!-- * </xsl:call-template> -->\n      <!-- * </xsl:if> -->\n      <!-- * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->\n      <xsl:call-template name=\"datetime.format\">\n        <xsl:with-param name=\"date\">\n          <xsl:choose>\n            <xsl:when test=\"function-available('date:date-time')\">\n              <xsl:value-of select=\"date:date-time()\"/>\n            </xsl:when>\n            <xsl:when test=\"function-available('date:dateTime')\">\n              <!-- Xalan quirk -->\n              <xsl:value-of select=\"date:dateTime()\"/>\n            </xsl:when>\n          </xsl:choose>\n        </xsl:with-param>\n        <xsl:with-param name=\"format\">\n          <xsl:call-template name=\"gentext.template\">\n            <xsl:with-param name=\"context\" select=\"'datetime'\"/>\n            <xsl:with-param name=\"name\" select=\"'format'\"/>\n          </xsl:call-template>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n<doc:template name=\"get.refentry.source\" xmlns=\"\">\n  <refpurpose>Gets source metadata for a refentry</refpurpose>\n  <refdescription id=\"get.refentry.source-desc\">\n    <para>The <literal>man(7)</literal> man page describes this as \"the\n    source of the command\", and provides the following examples:\n    <itemizedlist>\n      <listitem>\n        <para>For binaries, use something like: GNU, NET-2, SLS\n        Distribution, MCC Distribution.</para>\n      </listitem>\n      <listitem>\n        <para>For system calls, use the version of the kernel that you are\n        currently looking at: Linux 0.99.11.</para>\n      </listitem>\n      <listitem>\n        <para>For library calls, use the source of the function: GNU, BSD\n        4.3, Linux DLL 4.4.1.</para>\n      </listitem>\n    </itemizedlist>\n    </para>\n\n    <para>The <literal>solbook(5)</literal> man page describes\n    something very much like what <literal>man(7)</literal> calls\n    \"source\", except that <literal>solbook(5)</literal> names it\n    \"software\" and describes it like this:\n    <blockquote>\n      <para>This is the name of the software product that the topic\n      discussed on the reference page belongs to. For example UNIX\n      commands are part of the <literal>SunOS x.x</literal>\n      release.</para>\n    </blockquote>\n    </para>\n\n    <para>In practice, there are many pages that simply have a version\n    number in the \"source\" field. So, it looks like what we have is a\n    two-part field,\n    <replaceable>Name</replaceable>&#160;<replaceable>Version</replaceable>,\n    where:\n    <variablelist>\n      <varlistentry>\n        <term>Name</term>\n        <listitem>\n          <para>product name (e.g., BSD) or org. name (e.g., GNU)</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>Version</term>\n        <listitem>\n          <para>version name</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n    Each part is optional. If the <replaceable>Name</replaceable> is a\n    product name, then the <replaceable>Version</replaceable> is probably\n    the version of the product. Or there may be no\n    <replaceable>Name</replaceable>, in which case, if there is a\n    <replaceable>Version</replaceable>, it is probably the version of the\n    item itself, not the product it is part of. Or, if the\n    <replaceable>Name</replaceable> is an organization name, then there\n    probably will be no <replaceable>Version</replaceable>.\n    </para>\n  </refdescription>\n  <refparameter id=\"get.refentry.source-params\">\n    <variablelist>\n      <varlistentry>\n        <term>refname</term>\n        <listitem>\n          <para>The first <tag>refname</tag> in the refentry</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>info</term>\n        <listitem>\n          <para>A set of info nodes (from a <tag>refentry</tag>\n          element and its ancestors)</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>prefs</term>\n        <listitem>\n          <para>A node containing users preferences (from global\n          stylesheet parameters)</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refreturn id=\"get.refentry.source-returns\">\n    <para>Returns a <tag>source</tag> node.</para>\n  </refreturn>\n</doc:template>\n<xsl:template name=\"get.refentry.source\">\n  <xsl:param name=\"refname\"/>\n  <xsl:param name=\"info\"/>\n  <xsl:param name=\"prefs\"/>\n  <xsl:variable name=\"Name\">\n    <xsl:if test=\"$prefs/Name/@suppress = 0\">\n      <xsl:call-template name=\"get.refentry.source.name\">\n        <xsl:with-param name=\"info\" select=\"$info\"/>\n        <xsl:with-param name=\"refname\" select=\"$refname\"/>\n        <xsl:with-param name=\"prefs\" select=\"$prefs/Name\"/>\n      </xsl:call-template>\n    </xsl:if>\n  </xsl:variable>\n  <xsl:variable name=\"Version\">\n    <xsl:if test=\"$prefs/Version/@suppress = 0\">\n      <xsl:call-template name=\"get.refentry.version\">\n        <xsl:with-param name=\"info\" select=\"$info\"/>\n        <xsl:with-param name=\"refname\" select=\"$refname\"/>\n        <xsl:with-param name=\"prefs\" select=\"$prefs/Version\"/>\n      </xsl:call-template>\n    </xsl:if>\n  </xsl:variable>\n  <xsl:choose>\n    <!-- * if we have a Name and/or Version, use either or both -->\n    <!-- * of those, in the form \"Name Version\" or just \"Name\" -->\n    <!-- * or just \"Version\" -->\n    <xsl:when test=\"not($Name = '') or not($Version = '')\">\n      <xsl:choose>\n        <xsl:when test=\"not($Name = '') and not($Version = '')\">\n          <xsl:copy-of select=\"$Name\"/>\n          <xsl:text> </xsl:text>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:copy-of select=\"$Name\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n      <xsl:copy-of select=\"$Version\"/>\n    </xsl:when>\n    <!-- * if no Name and no Version, use fallback (if any) -->\n    <xsl:when test=\"not($prefs/@fallback = '')\">\n      <xsl:variable name=\"source.fallback\">\n        <xsl:call-template name=\"evaluate.info.profile\">\n          <xsl:with-param name=\"profile\" select=\"$prefs/@fallback\"/>\n          <xsl:with-param name=\"info\" select=\"$info\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <!-- * At this point, we know that we don't have properly marked-up -->\n      <!-- * source metadata, so even if we do have source fallback -->\n      <!-- * content, we still report to the user that it should be -->\n      <!-- * marked up properly instead. -->\n      <xsl:if test=\"$refentry.meta.get.quietly = 0\">\n        <xsl:call-template name=\"report.missing.source.name\">\n          <xsl:with-param name=\"refname\" select=\"$refname\"/>\n        </xsl:call-template>\n        <xsl:call-template name=\"report.missing.version\">\n          <xsl:with-param name=\"refname\" select=\"$refname\"/>\n        </xsl:call-template>\n      </xsl:if>\n      <xsl:choose>\n        <xsl:when test=\"not($source.fallback = '')\">\n          <xsl:value-of select=\"$source.fallback\"/>\n          <xsl:if test=\"$refentry.meta.get.quietly = 0\">\n            <xsl:call-template name=\"log.message\">\n              <xsl:with-param name=\"level\">Warn</xsl:with-param>\n              <xsl:with-param name=\"source\" select=\"$refname\"/>\n              <xsl:with-param name=\"context-desc\">meta source</xsl:with-param>\n              <xsl:with-param name=\"message\">\n                <xsl:text>using</xsl:text>\n                <xsl:text> \"</xsl:text>\n                <xsl:value-of select=\"$source.fallback\"/>\n                <xsl:text>\" </xsl:text>\n                <xsl:text>for \"source\"</xsl:text>\n              </xsl:with-param>\n            </xsl:call-template>\n          </xsl:if>\n        </xsl:when>\n        <xsl:otherwise>\n          <!-- * we have no Name, no Version, and no fallback content, so -->\n          <!-- * insert a fixme -->\n          <xsl:text>[FIXME: source]</xsl:text>\n          <xsl:if test=\"$refentry.meta.get.quietly = 0\">\n            <xsl:call-template name=\"log.message\">\n              <xsl:with-param name=\"level\">Warn</xsl:with-param>\n              <xsl:with-param name=\"source\" select=\"$refname\"/>\n              <xsl:with-param name=\"context-desc\">meta source</xsl:with-param>\n              <xsl:with-param name=\"message\">\n                <xsl:text>no fallback for source, so inserted a fixme</xsl:text>\n              </xsl:with-param>\n            </xsl:call-template>\n          </xsl:if>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <!-- * we have no Name, no Version, and no fallback given, so -->\n      <!-- * insert a fixme -->\n      <xsl:text>[FIXME: source]</xsl:text>\n      <xsl:if test=\"$refentry.meta.get.quietly = 0\">\n        <xsl:call-template name=\"log.message\">\n          <xsl:with-param name=\"level\">Warn</xsl:with-param>\n          <xsl:with-param name=\"source\" select=\"$refname\"/>\n          <xsl:with-param name=\"context-desc\">meta source</xsl:with-param>\n          <xsl:with-param name=\"message\">\n            <xsl:text>no source fallback given, so inserted a fixme</xsl:text>\n          </xsl:with-param>\n        </xsl:call-template>\n      </xsl:if>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n<doc:template name=\"get.refentry.source.name\" xmlns=\"\">\n  <refpurpose>Gets source-name metadata for a refentry</refpurpose>\n  <refdescription id=\"get.refentry.source.name-desc\">\n    <para>A \"source name\" is one part of a (potentially) two-part\n    <replaceable>Name</replaceable>&#160;<replaceable>Version</replaceable>\n    source field. For more details, see the documentation for the\n    <function>get.refentry.source</function> template.</para>\n  </refdescription>\n  <refparameter id=\"get.refentry.source.name-params\">\n    <variablelist>\n      <varlistentry>\n        <term>refname</term>\n        <listitem>\n          <para>The first <tag>refname</tag> in the refentry</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>info</term>\n        <listitem>\n          <para>A set of info nodes (from a <tag>refentry</tag>\n          element and its ancestors)</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>prefs</term>\n        <listitem>\n          <para>A node containing users preferences (from global\n          stylesheet parameters)</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refreturn id=\"get.refentry.source.name-returns\">\n    <para>Depending on what output method is used for the\n  current stylesheet, either returns a text node or possibly an element\n  node, containing \"source name\" data.</para>\n  </refreturn>\n</doc:template>\n<xsl:template name=\"get.refentry.source.name\">\n  <xsl:param name=\"refname\"/>\n  <xsl:param name=\"info\"/>\n  <xsl:param name=\"prefs\"/>\n  <xsl:choose>\n    <!-- * if profiling is enabled for source.name, and the -->\n    <!-- * source.name profile is non-empty, use it -->\n    <xsl:when test=\"not($prefs/@profileEnabled = 0) and\n                    not($prefs/@profile = '')\">\n      <xsl:call-template name=\"evaluate.info.profile\">\n        <xsl:with-param name=\"profile\" select=\"$prefs/@profile\"/>\n        <xsl:with-param name=\"info\" select=\"$info\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <!-- * either profiling for source.name is not enabled, or-->\n      <!-- * the source.name profile is empty; so we need to look -->\n      <!-- * for a name to use -->\n      <xsl:choose>\n        <xsl:when test=\"refmeta/refmiscinfo[@class = 'source' or @class = 'software']\">\n          <xsl:apply-templates \n              select=\"refmeta/refmiscinfo[@class = 'source' or @class='software'][1]/node()\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:choose>\n            <xsl:when test=\"$info/productname\">\n              <xsl:call-template name=\"set.refentry.metadata\">\n                <xsl:with-param name=\"refname\" select=\"$refname\"/>\n                <xsl:with-param\n                    name=\"info\"\n                    select=\"($info[productname])[last()]\"/>\n                <xsl:with-param\n                    name=\"contents\"\n                    select=\"(($info[productname])[last()]/productname)[1]\"/>\n                <xsl:with-param name=\"context\">source</xsl:with-param>\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:when test=\"$info/corpname\">\n              <xsl:call-template name=\"set.refentry.metadata\">\n                <xsl:with-param name=\"refname\" select=\"$refname\"/>\n                <xsl:with-param\n                    name=\"info\"\n                    select=\"($info[corpname])[last()]\"/>\n                <xsl:with-param\n                    name=\"contents\"\n                    select=\"(($info[corpname])[last()]/corpname)[1]\"/>\n                <xsl:with-param name=\"context\">source</xsl:with-param>\n                <xsl:with-param name=\"preferred\">productname</xsl:with-param>\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:when test=\"$info/corpcredit\">\n              <xsl:call-template name=\"set.refentry.metadata\">\n                <xsl:with-param name=\"refname\" select=\"$refname\"/>\n                <xsl:with-param\n                    name=\"info\"\n                    select=\"($info[corpcredit])[last()]\"/>\n                <xsl:with-param\n                    name=\"contents\"\n                    select=\"(($info[corpcredit])[last()]/corpcredit)[1]\"/>\n                <xsl:with-param name=\"context\">source</xsl:with-param>\n                <xsl:with-param name=\"preferred\">productname</xsl:with-param>\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:when test=\"$info/corpauthor\">\n              <xsl:call-template name=\"set.refentry.metadata\">\n                <xsl:with-param name=\"refname\" select=\"$refname\"/>\n                <xsl:with-param\n                    name=\"info\"\n                    select=\"($info[corpauthor])[last()]\"/>\n                <xsl:with-param\n                    name=\"contents\"\n                    select=\"(($info[corpauthor])[last()]/corpauthor)[1]\"/>\n                <xsl:with-param name=\"context\">source</xsl:with-param>\n                <xsl:with-param name=\"preferred\">productname</xsl:with-param>\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:when test=\"$info//orgname\">\n              <xsl:call-template name=\"set.refentry.metadata\">\n                <xsl:with-param name=\"refname\" select=\"$refname\"/>\n                <xsl:with-param\n                    name=\"info\"\n                    select=\"($info[//orgname])[last()]\"/>\n                <xsl:with-param\n                    name=\"contents\"\n                    select=\"(($info[//orgname])[last()]//orgname)[1]\"/>\n                <xsl:with-param name=\"context\">source</xsl:with-param>\n                <xsl:with-param name=\"preferred\">productname</xsl:with-param>\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:when test=\"$info//publishername\">\n              <xsl:call-template name=\"set.refentry.metadata\">\n                <xsl:with-param name=\"refname\" select=\"$refname\"/>\n                <xsl:with-param\n                    name=\"info\"\n                    select=\"($info[//publishername])[last()]\"/>\n                <xsl:with-param\n                    name=\"contents\"\n                    select=\"(($info[//publishername])[last()]//publishername)[1]\"/>\n                <xsl:with-param name=\"context\">source</xsl:with-param>\n                <xsl:with-param name=\"preferred\">productname</xsl:with-param>\n              </xsl:call-template>\n            </xsl:when>\n          </xsl:choose>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"report.missing.source.name\">\n  <xsl:param name=\"refname\"/>\n  <xsl:call-template name=\"log.message\">\n    <xsl:with-param name=\"level\">Note</xsl:with-param>\n    <xsl:with-param name=\"source\" select=\"$refname\"/>\n    <xsl:with-param name=\"context-desc\">meta source</xsl:with-param>\n    <xsl:with-param name=\"message\">\n      <xsl:text>no *info/productname or alternative</xsl:text>\n    </xsl:with-param>\n  </xsl:call-template>\n  <xsl:call-template name=\"log.message\">\n    <xsl:with-param name=\"level\">Note</xsl:with-param>\n    <xsl:with-param name=\"source\" select=\"$refname\"/>\n    <xsl:with-param name=\"context-desc\">meta source</xsl:with-param>\n    <xsl:with-param name=\"message\">\n      <xsl:text>see http://docbook.sf.net/el/productname</xsl:text>\n    </xsl:with-param>\n  </xsl:call-template>\n  <xsl:call-template name=\"log.message\">\n    <xsl:with-param name=\"level\">Note</xsl:with-param>\n    <xsl:with-param name=\"source\" select=\"$refname\"/>\n    <xsl:with-param name=\"context-desc\">meta source</xsl:with-param>\n    <xsl:with-param name=\"message\">\n      <xsl:text>no refentry/refmeta/refmiscinfo@class=source</xsl:text>\n    </xsl:with-param>\n  </xsl:call-template>\n  <xsl:call-template name=\"log.message\">\n    <xsl:with-param name=\"level\">Note</xsl:with-param>\n    <xsl:with-param name=\"source\" select=\"$refname\"/>\n    <xsl:with-param name=\"context-desc\">meta source</xsl:with-param>\n    <xsl:with-param name=\"message\">\n      <xsl:text>see http://docbook.sf.net/el/refmiscinfo</xsl:text>\n    </xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<!-- ==================================================================== -->\n<doc:template name=\"get.refentry.version\" xmlns=\"\">\n  <refpurpose>Gets version metadata for a refentry</refpurpose>\n  <refdescription id=\"get.refentry.version-desc\">\n    <para>A \"version\" is one part of a (potentially) two-part\n    <replaceable>Name</replaceable>&#160;<replaceable>Version</replaceable>\n    source field. For more details, see the documentation for the\n    <function>get.refentry.source</function> template.</para>\n  </refdescription>\n  <refparameter id=\"get.refentry.version-params\">\n    <variablelist>\n      <varlistentry>\n        <term>refname</term>\n        <listitem>\n          <para>The first <tag>refname</tag> in the refentry</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>info</term>\n        <listitem>\n          <para>A set of info nodes (from a <tag>refentry</tag>\n          element and its ancestors)</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>prefs</term>\n        <listitem>\n          <para>A node containing users preferences (from global\n          stylesheet parameters)</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refreturn id=\"get.refentry.version-returns\">\n    <para>Depending on what output method is used for the\n  current stylesheet, either returns a text node or possibly an element\n  node, containing \"version\" data.</para>\n  </refreturn>\n</doc:template>\n<xsl:template name=\"get.refentry.version\">\n  <xsl:param name=\"refname\"/>\n  <xsl:param name=\"info\"/>\n  <xsl:param name=\"prefs\"/>\n  <xsl:choose>\n    <!-- * if profiling is enabled for version, and the -->\n    <!-- * version profile is non-empty, use it -->\n    <xsl:when test=\"not($prefs/@profileEnabled = 0) and\n                    not($prefs/@profile = '')\">\n      <xsl:call-template name=\"evaluate.info.profile\">\n        <xsl:with-param name=\"profile\" select=\"$prefs/@profile\"/>\n        <xsl:with-param name=\"info\" select=\"$info\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <!-- * either profiling for source.name is not enabled, or-->\n      <!-- * the source.name profile is empty; so we need to look -->\n      <!-- * for a name to use -->\n      <xsl:choose>\n        <xsl:when test=\"refmeta/refmiscinfo[@class = 'version']\">\n          <xsl:apply-templates \n              select=\"refmeta/refmiscinfo[@class = 'version'][1]/node()\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:choose>\n            <xsl:when test=\"$info/productnumber\">\n              <xsl:call-template name=\"set.refentry.metadata\">\n                <xsl:with-param name=\"refname\" select=\"$refname\"/>\n                <xsl:with-param\n                    name=\"info\"\n                    select=\"($info[productnumber])[last()]\"/>\n                <xsl:with-param\n                    name=\"contents\"\n                    select=\"(($info[productnumber])[last()]/productnumber)[1]\"/>\n                <xsl:with-param name=\"context\">version</xsl:with-param>\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:when test=\"$info/edition\">\n              <xsl:call-template name=\"set.refentry.metadata\">\n                <xsl:with-param name=\"refname\" select=\"$refname\"/>\n                <xsl:with-param\n                    name=\"info\"\n                    select=\"($info[edition])[last()]\"/>\n                <xsl:with-param\n                    name=\"contents\"\n                    select=\"(($info[edition])[last()]/edition)[1]\"/>\n                <xsl:with-param name=\"context\">version</xsl:with-param>\n                <xsl:with-param name=\"preferred\">productnumber</xsl:with-param>\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:when test=\"$info/releaseinfo\">\n              <xsl:call-template name=\"set.refentry.metadata\">\n                <xsl:with-param name=\"refname\" select=\"$refname\"/>\n                <xsl:with-param\n                    name=\"info\"\n                    select=\"($info[releaseinfo])[last()]\"/>\n                <xsl:with-param\n                    name=\"contents\"\n                    select=\"(($info[releaseinfo])[last()]/releaseinfo)[1]\"/>\n                <xsl:with-param name=\"context\">version</xsl:with-param>\n                <xsl:with-param name=\"preferred\">productnumber</xsl:with-param>\n              </xsl:call-template>\n            </xsl:when>\n          </xsl:choose>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"report.missing.version\">\n  <xsl:param name=\"refname\"/>\n  <xsl:call-template name=\"log.message\">\n    <xsl:with-param name=\"level\">Note</xsl:with-param>\n    <xsl:with-param name=\"source\" select=\"$refname\"/>\n    <xsl:with-param name=\"context-desc\">meta version</xsl:with-param>\n    <xsl:with-param name=\"message\">\n      <xsl:text>no *info/productnumber or alternative</xsl:text>\n    </xsl:with-param>\n  </xsl:call-template>\n  <xsl:call-template name=\"log.message\">\n    <xsl:with-param name=\"level\">Note</xsl:with-param>\n    <xsl:with-param name=\"source\" select=\"$refname\"/>\n    <xsl:with-param name=\"context-desc\">meta version</xsl:with-param>\n    <xsl:with-param name=\"message\">\n      <xsl:text>see http://docbook.sf.net/el/productnumber</xsl:text>\n    </xsl:with-param>\n  </xsl:call-template>\n  <xsl:call-template name=\"log.message\">\n    <xsl:with-param name=\"level\">Note</xsl:with-param>\n    <xsl:with-param name=\"source\" select=\"$refname\"/>\n    <xsl:with-param name=\"context-desc\">meta version</xsl:with-param>\n    <xsl:with-param name=\"message\">\n      <xsl:text>no refentry/refmeta/refmiscinfo@class=version</xsl:text>\n    </xsl:with-param>\n  </xsl:call-template>\n  <xsl:call-template name=\"log.message\">\n    <xsl:with-param name=\"level\">Note</xsl:with-param>\n    <xsl:with-param name=\"source\" select=\"$refname\"/>\n    <xsl:with-param name=\"context-desc\">meta version</xsl:with-param>\n    <xsl:with-param name=\"message\">\n      <xsl:text>see http://docbook.sf.net/el/refmiscinfo</xsl:text>\n    </xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<!-- ==================================================================== -->\n<doc:template name=\"get.refentry.manual\" xmlns=\"\">\n  <refpurpose>Gets source metadata for a refentry</refpurpose>\n  <refdescription id=\"get.refentry.manual-desc\">\n    <para>The <literal>man(7)</literal> man page describes this as \"the\n    title of the manual (e.g., <citetitle>Linux Programmer's\n    Manual</citetitle>)\". Here are some examples from existing man pages:\n    <itemizedlist>\n      <listitem>\n        <para><citetitle>dpkg utilities</citetitle>\n        (<command>dpkg-name</command>)</para>\n      </listitem>\n      <listitem>\n        <para><citetitle>User Contributed Perl Documentation</citetitle>\n        (<command>GET</command>)</para>\n      </listitem>\n      <listitem>\n        <para><citetitle>GNU Development Tools</citetitle>\n        (<command>ld</command>)</para>\n      </listitem>\n      <listitem>\n        <para><citetitle>Emperor Norton Utilities</citetitle>\n        (<command>ddate</command>)</para>\n      </listitem>\n      <listitem>\n        <para><citetitle>Debian GNU/Linux manual</citetitle>\n        (<command>faked</command>)</para>\n      </listitem>\n      <listitem>\n        <para><citetitle>GIMP Manual Pages</citetitle>\n        (<command>gimp</command>)</para>\n      </listitem>\n      <listitem>\n        <para><citetitle>KDOC Documentation System</citetitle>\n        (<command>qt2kdoc</command>)</para>\n      </listitem>\n    </itemizedlist>\n    </para>\n\n    <para>The <literal>solbook(5)</literal> man page describes\n    something very much like what <literal>man(7)</literal> calls\n    \"manual\", except that <literal>solbook(5)</literal> names it\n    \"sectdesc\" and describes it like this:\n    <blockquote>\n      <para>This is the section title of the reference page; for\n      example <literal>User Commands</literal>.</para>\n    </blockquote>\n    </para>\n\n  </refdescription>\n  <refparameter id=\"get.refentry.manual-params\">\n    <variablelist>\n      <varlistentry>\n        <term>refname</term>\n        <listitem>\n          <para>The first <tag>refname</tag> in the refentry</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>info</term>\n        <listitem>\n          <para>A set of info nodes (from a <tag>refentry</tag>\n          element and its ancestors)</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>prefs</term>\n        <listitem>\n          <para>A node containing users preferences (from global\n          stylesheet parameters)</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refreturn id=\"get.refentry.manual-returns\">\n    <para>Returns a <tag>manual</tag> node.</para>\n  </refreturn>\n</doc:template>\n<xsl:template name=\"get.refentry.manual\">\n  <xsl:param name=\"refname\"/>\n  <xsl:param name=\"info\"/>\n  <xsl:param name=\"prefs\"/>\n  <xsl:variable name=\"Manual\">\n    <xsl:choose>\n      <!-- * if profiling is enabled for manual, and the manual -->\n      <!-- * profile is non-empty, use it -->\n      <xsl:when test=\"not($prefs/@profileEnabled = 0) and\n                      not($prefs/@profile = '')\">\n        <xsl:call-template name=\"evaluate.info.profile\">\n          <xsl:with-param name=\"profile\" select=\"$prefs/@profile\"/>\n          <xsl:with-param name=\"info\" select=\"$info\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:choose>\n          <xsl:when test=\"refmeta/refmiscinfo[@class = 'manual' or @class = 'sectdesc']\">\n            <xsl:apply-templates \n                select=\"refmeta/refmiscinfo[@class = 'manual' or @class = 'sectdesc'][1]/node()\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <!-- * only in the case of choosing appropriate -->\n            <!-- * \"manual\" content do we select the furthest -->\n            <!-- * (first) matching element instead of the -->\n            <!-- * closest (last) matching one -->\n            <xsl:choose>\n              <xsl:when test=\"ancestor::*/title\">\n                <xsl:call-template name=\"set.refentry.metadata\">\n                  <xsl:with-param name=\"refname\" select=\"$refname\"/>\n                  <xsl:with-param\n                      name=\"info\"\n                      select=\"(ancestor::*[title])[1]\"/>\n                  <xsl:with-param\n                      name=\"contents\"\n                      select=\"(ancestor::*[title])[1]/title\"/>\n                  <xsl:with-param name=\"context\">manual</xsl:with-param>\n                </xsl:call-template>\n              </xsl:when>\n              <xsl:when test=\"$info/title\">\n                <xsl:call-template name=\"set.refentry.metadata\">\n                  <xsl:with-param name=\"refname\" select=\"$refname\"/>\n                  <xsl:with-param\n                      name=\"info\"\n                      select=\"($info[title])[1]\"/>\n                  <xsl:with-param\n                      name=\"contents\"\n                      select=\"(($info[title])[1]/title)[1]\"/>\n                  <xsl:with-param name=\"context\">manual</xsl:with-param>\n                </xsl:call-template>\n              </xsl:when>\n              <xsl:otherwise>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n  <xsl:choose>\n    <xsl:when test=\"not($Manual = '')\">\n      <xsl:copy-of select=\"$Manual\"/>\n    </xsl:when>\n    <!-- * if no Manual, use contents of specified fallback (if any) -->\n    <xsl:when test=\"not($prefs/@fallback = '')\">\n      <xsl:variable name=\"manual.fallback\">\n        <xsl:call-template name=\"evaluate.info.profile\">\n          <xsl:with-param name=\"profile\" select=\"$prefs/@fallback\"/>\n          <xsl:with-param name=\"info\" select=\"$info\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <!-- * At this point, we know that we don't have properly marked-up -->\n      <!-- * manual metadata, so even if we do have manual fallback -->\n      <!-- * content, we still report to the user that it should be -->\n      <!-- * marked up properly instead. -->\n      <xsl:if test=\"$refentry.meta.get.quietly = 0\">\n        <xsl:call-template name=\"report.missing.manual\">\n          <xsl:with-param name=\"refname\" select=\"$refname\"/>\n        </xsl:call-template>\n      </xsl:if>\n      <xsl:choose>\n        <xsl:when test=\"not($manual.fallback = '')\">\n          <xsl:value-of select=\"$manual.fallback\"/>\n          <xsl:if test=\"$refentry.meta.get.quietly = 0\">\n            <xsl:call-template name=\"log.message\">\n              <xsl:with-param name=\"level\">Warn</xsl:with-param>\n              <xsl:with-param name=\"source\" select=\"$refname\"/>\n              <xsl:with-param name=\"context-desc\">meta manual</xsl:with-param>\n              <xsl:with-param name=\"message\">\n                <xsl:text>using</xsl:text>\n                <xsl:text> \"</xsl:text>\n                <xsl:value-of select=\"$manual.fallback\"/>\n                <xsl:text>\" </xsl:text>\n                <xsl:text>for \"manual\"</xsl:text>\n              </xsl:with-param>\n            </xsl:call-template>\n          </xsl:if>\n        </xsl:when>\n        <xsl:otherwise>\n          <!-- * we have nothing appropriate to use for manual, and no fallback -->\n          <!-- * content, so report insert a fixme -->\n          <xsl:text>[FIXME: manual]</xsl:text>\n          <xsl:if test=\"$refentry.meta.get.quietly = 0\">\n            <xsl:call-template name=\"log.message\">\n              <xsl:with-param name=\"level\">Warn</xsl:with-param>\n              <xsl:with-param name=\"source\" select=\"$refname\"/>\n              <xsl:with-param name=\"context-desc\">meta manual</xsl:with-param>\n              <xsl:with-param name=\"message\">\n                <xsl:text>no fallback for manual, so inserted a fixme</xsl:text>\n              </xsl:with-param>\n            </xsl:call-template>\n          </xsl:if>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <!-- * we have nothing appropriate to use for manual, and no fallback -->\n      <!-- * given, so insert a fixme -->\n      <xsl:text>[FIXME: manual]</xsl:text>\n      <xsl:if test=\"$refentry.meta.get.quietly = 0\">\n        <xsl:call-template name=\"log.message\">\n          <xsl:with-param name=\"level\">Warn</xsl:with-param>\n          <xsl:with-param name=\"source\" select=\"$refname\"/>\n          <xsl:with-param name=\"context-desc\">meta manual</xsl:with-param>\n          <xsl:with-param name=\"message\">\n            <xsl:text>no manual fallback given, so inserted a fixme</xsl:text>\n          </xsl:with-param>\n        </xsl:call-template>\n      </xsl:if>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"report.missing.manual\">\n  <xsl:param name=\"refname\"/>\n  <xsl:call-template name=\"log.message\">\n    <xsl:with-param name=\"level\">Note</xsl:with-param>\n    <xsl:with-param name=\"source\" select=\"$refname\"/>\n    <xsl:with-param name=\"context-desc\">meta manual</xsl:with-param>\n    <xsl:with-param name=\"message\">\n      <xsl:text>no titled ancestor of refentry</xsl:text>\n    </xsl:with-param>\n  </xsl:call-template>\n  <xsl:call-template name=\"log.message\">\n    <xsl:with-param name=\"level\">Note</xsl:with-param>\n    <xsl:with-param name=\"source\" select=\"$refname\"/>\n    <xsl:with-param name=\"context-desc\">meta manual</xsl:with-param>\n    <xsl:with-param name=\"message\">\n      <xsl:text>no refentry/refmeta/refmiscinfo@class=manual</xsl:text>\n    </xsl:with-param>\n  </xsl:call-template>\n  <xsl:call-template name=\"log.message\">\n    <xsl:with-param name=\"level\">Note</xsl:with-param>\n    <xsl:with-param name=\"source\" select=\"$refname\"/>\n    <xsl:with-param name=\"context-desc\">meta manual</xsl:with-param>\n    <xsl:with-param name=\"message\">\n      <xsl:text>see http://docbook.sf.net/el/refmiscinfo</xsl:text>\n    </xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n<!-- ====================================================================== -->\n<doc:template name=\"get.refentry.metadata.prefs\" xmlns=\"\">\n  <refpurpose>Gets user preferences for refentry metadata gathering</refpurpose>\n  <refdescription id=\"get.refentry.metadata.prefs-desc\">\n    <para>The DocBook XSL stylesheets include several user-configurable\n    global stylesheet parameters for controlling <tag>refentry</tag>\n    metadata gathering. Those parameters are not read directly by the\n    other <tag>refentry</tag> metadata-gathering\n    templates. Instead, they are read only by the\n    <function>get.refentry.metadata.prefs</function> template,\n    which assembles them into a structure that is then passed to\n    the other <tag>refentry</tag> metadata-gathering\n    templates.</para>\n\n    <para>So the, <function>get.refentry.metadata.prefs</function>\n    template is the only interface to collecting stylesheet parameters for\n    controlling <tag>refentry</tag> metadata gathering.</para>\n  </refdescription>\n  <refparameter id=\"get.refentry.metadata.prefs-params\">\n    <para>There are no local parameters for this template; however, it\n    does rely on a number of global parameters.</para>\n  </refparameter>\n  <refreturn id=\"get.refentry.metadata.prefs-returns\">\n    <para>Returns a <tag>manual</tag> node.</para>\n  </refreturn>\n</doc:template>\n<xsl:template name=\"get.refentry.metadata.prefs\">\n  <DatePrefs>\n    <xsl:attribute name=\"profile\">\n      <xsl:value-of select=\"$refentry.date.profile\"/>\n    </xsl:attribute>\n    <xsl:attribute name=\"profileEnabled\">\n      <xsl:value-of select=\"$refentry.date.profile.enabled\"/>\n    </xsl:attribute>\n  </DatePrefs>\n  <SourcePrefs>\n    <xsl:attribute name=\"fallback\">\n      <xsl:value-of select=\"$refentry.source.fallback.profile\"/>\n    </xsl:attribute>\n    <Name>\n      <xsl:attribute name=\"profile\">\n        <xsl:value-of select=\"$refentry.source.name.profile\"/>\n      </xsl:attribute>\n      <xsl:attribute name=\"profileEnabled\">\n        <xsl:value-of select=\"$refentry.source.name.profile.enabled\"/>\n      </xsl:attribute>\n      <xsl:attribute name=\"suppress\">\n        <xsl:value-of select=\"$refentry.source.name.suppress\"/>\n      </xsl:attribute>\n    </Name>\n    <Version>\n      <xsl:attribute name=\"profile\">\n        <xsl:value-of select=\"$refentry.version.profile\"/>\n      </xsl:attribute>\n      <xsl:attribute name=\"profileEnabled\">\n        <xsl:value-of select=\"$refentry.version.profile.enabled\"/>\n      </xsl:attribute>\n      <xsl:attribute name=\"suppress\">\n        <xsl:value-of select=\"$refentry.version.suppress\"/>\n      </xsl:attribute>\n    </Version>\n  </SourcePrefs>\n  <ManualPrefs>\n    <xsl:attribute name=\"fallback\">\n      <xsl:value-of select=\"$refentry.manual.fallback.profile\"/>\n    </xsl:attribute>\n    <xsl:attribute name=\"profile\">\n      <xsl:value-of select=\"$refentry.manual.profile\"/>\n    </xsl:attribute>\n    <xsl:attribute name=\"profileEnabled\">\n      <xsl:value-of select=\"$refentry.manual.profile.enabled\"/>\n    </xsl:attribute>\n  </ManualPrefs>\n</xsl:template>\n\n<!-- ====================================================================== -->\n<doc:template name=\"set.refentry.metadata\" xmlns=\"\">\n  <refpurpose>Sets content of a refentry metadata item</refpurpose>\n  <refdescription id=\"set.refentry.metadata-desc\">\n    <para>The <function>set.refentry.metadata</function> template is\n    called each time a suitable source element is found for a certain\n    metadata field.</para>\n  </refdescription>\n  <refparameter id=\"set.refentry.metadata-params\">\n    <variablelist>\n      <varlistentry>\n        <term>refname</term>\n        <listitem>\n          <para>The first <tag>refname</tag> in the refentry</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>info</term>\n        <listitem>\n          <para>A single *info node that contains the selected source element.</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>contents</term>\n        <listitem>\n          <para>A node containing the selected source element.</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry>\n        <term>context</term>\n        <listitem>\n          <para>A string describing the metadata context in which the\n          <function>set.refentry.metadata</function> template was\n          called: either \"date\", \"source\", \"version\", or \"manual\".</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refreturn id=\"set.refentry.metadata-returns\">\n  <para>Returns formatted contents of a selected source element.</para></refreturn>\n</doc:template>\n<xsl:template name=\"set.refentry.metadata\">\n  <xsl:param name=\"refname\"/>\n  <xsl:param name=\"info\"/>\n  <xsl:param name=\"contents\"/>\n  <xsl:param name=\"context\"/>\n  <xsl:param name=\"preferred\"/>\n  <!-- * <xsl:if test=\"not($preferred = '')\"> -->\n    <!-- * <xsl:if test=\"$refentry.meta.get.quietly = 0\"> -->\n      <!-- * <xsl:call-template name=\"log.message\"> -->\n        <!-- * <xsl:with-param name=\"level\">Note</xsl:with-param> -->\n        <!-- * <xsl:with-param name=\"source\" select=\"$refname\"/> -->\n        <!-- * <xsl:with-param name=\"context-desc\" select=\"concat('meta ', $context)\"/> -->\n        <!-- * <xsl:with-param name=\"message\" select=\"concat('No ', $preferred)\"/> -->\n      <!-- * </xsl:call-template> -->\n      <!-- * <xsl:call-template name=\"log.message\"> -->\n        <!-- * <xsl:with-param name=\"level\">Note</xsl:with-param> -->\n        <!-- * <xsl:with-param name=\"source\" select=\"$refname\"/> -->\n        <!-- * <xsl:with-param name=\"context-desc\" select=\"concat('meta ', $context)\"/> -->\n        <!-- * <xsl:with-param name=\"message\"> -->\n          <!-- * <xsl:text>no refentry/refmeta/refmiscinfo@class=</xsl:text> -->\n          <!-- * <xsl:value-of select=\"$context\"/> -->\n        <!-- * </xsl:with-param> -->\n      <!-- * </xsl:call-template> -->\n      <!-- * <xsl:call-template name=\"log.message\"> -->\n        <!-- * <xsl:with-param name=\"level\">Note</xsl:with-param> -->\n        <!-- * <xsl:with-param name=\"source\" select=\"$refname\"/> -->\n        <!-- * <xsl:with-param name=\"context-desc\" select=\"concat('meta ', $context)\"/> -->\n        <!-- * <xsl:with-param name=\"message\" select=\"concat('Using ', local-name($contents))\"/> -->\n      <!-- * </xsl:call-template> -->\n    <!-- * </xsl:if> -->\n  <!-- * </xsl:if> -->\n  <xsl:value-of select=\"$contents\"/>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/ro.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"ro\" english-language-name=\"Romanian\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/ro.xml -->\n<!-- * -->\n<!-- * E-mail the edited ro.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Rezumat\"/>\n<l:gentext key=\"abstract\" text=\"Rezumat\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"R:\"/>\n<l:gentext key=\"answer\" text=\"R:\"/>\n<l:gentext key=\"Appendix\" text=\"Anexa\"/>\n<l:gentext key=\"appendix\" text=\"anexa\"/>\n<l:gentext key=\"Article\" text=\"Articol\"/>\n<l:gentext key=\"article\" text=\"Articol\"/>\n<l:gentext key=\"Author\" text=\"Author\" lang=\"en\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografie\"/>\n<l:gentext key=\"bibliography\" text=\"Bibliografie\"/>\n<l:gentext key=\"Book\" text=\"Carte\"/>\n<l:gentext key=\"book\" text=\"Carte\"/>\n<l:gentext key=\"CAUTION\" text=\"ATENȚIE\"/>\n<l:gentext key=\"Caution\" text=\"Atenție\"/>\n<l:gentext key=\"caution\" text=\"Atenție\"/>\n<l:gentext key=\"Chapter\" text=\"Cap.\"/>\n<l:gentext key=\"chapter\" text=\"cap.\"/>\n<l:gentext key=\"Colophon\" text=\"Colophon\"/>\n<l:gentext key=\"colophon\" text=\"Colophon\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"Copyright\"/>\n<l:gentext key=\"Dedication\" text=\"Dedicație\"/>\n<l:gentext key=\"dedication\" text=\"Dedicație\"/>\n<l:gentext key=\"Edition\" text=\"Ediție\"/>\n<l:gentext key=\"edition\" text=\"Ediție\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"ecuația\"/>\n<l:gentext key=\"equation\" text=\"ecuația\"/>\n<l:gentext key=\"Example\" text=\"Exemplu\"/>\n<l:gentext key=\"example\" text=\"Exemplu\"/>\n<l:gentext key=\"Figure\" text=\"Fig.\"/>\n<l:gentext key=\"figure\" text=\"Fig.\"/>\n<l:gentext key=\"Glossary\" text=\"Glosar\"/>\n<l:gentext key=\"glossary\" text=\"Glosar\"/>\n<l:gentext key=\"GlossSee\" text=\"Vezi\"/>\n<l:gentext key=\"glosssee\" text=\"Vezi\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Vezi și\"/>\n<l:gentext key=\"glossseealso\" text=\"Vezi și\"/>\n<l:gentext key=\"IMPORTANT\" text=\"IMPORTANT\"/>\n<l:gentext key=\"important\" text=\"Important\"/>\n<l:gentext key=\"Important\" text=\"Important\"/>\n<l:gentext key=\"Index\" text=\"Index\"/>\n<l:gentext key=\"index\" text=\"Index\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"\"/>\n<l:gentext key=\"legalnotice\" text=\"\"/>\n<l:gentext key=\"MsgAud\" text=\"\"/>\n<l:gentext key=\"msgaud\" text=\"\"/>\n<l:gentext key=\"MsgLevel\" text=\"Nivel\"/>\n<l:gentext key=\"msglevel\" text=\"Nivel\"/>\n<l:gentext key=\"MsgOrig\" text=\"Origine\"/>\n<l:gentext key=\"msgorig\" text=\"Origine\"/>\n<l:gentext key=\"NOTE\" text=\"NOTĂ\"/>\n<l:gentext key=\"Note\" text=\"Notă\"/>\n<l:gentext key=\"note\" text=\"Notă\"/>\n<l:gentext key=\"Part\" text=\"Parte\"/>\n<l:gentext key=\"part\" text=\"Parte\"/>\n<l:gentext key=\"Preface\" text=\"Prefață\"/>\n<l:gentext key=\"preface\" text=\"Prefață\"/>\n<l:gentext key=\"Procedure\" text=\"Procedură\"/>\n<l:gentext key=\"procedure\" text=\"Procedură\"/>\n<l:gentext key=\"ProductionSet\" text=\"Production\"/>\n<l:gentext key=\"PubDate\" text=\"Publication Date\" lang=\"en\"/>\n<l:gentext key=\"pubdate\" text=\"Publication date\" lang=\"en\"/>\n<l:gentext key=\"Published\" text=\"Publicat\"/>\n<l:gentext key=\"published\" text=\"Publicat\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"Întrebări și răspunsuri\"/>\n<l:gentext key=\"qandadiv\" text=\"întrebări și răspunsuri\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"Î:\"/>\n<l:gentext key=\"question\" text=\"î:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Referință\"/>\n<l:gentext key=\"reference\" text=\"Referință\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Nume\"/>\n<l:gentext key=\"refname\" text=\"Nume\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Rezumat\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Rezumat\"/>\n<l:gentext key=\"RevHistory\" text=\"Istoricul versiunilor\"/>\n<l:gentext key=\"revhistory\" text=\"Istoricul versiunilor\"/>\n<l:gentext key=\"revision\" text=\"Versiune\"/>\n<l:gentext key=\"Revision\" text=\"Versiune\"/>\n<l:gentext key=\"sect1\" text=\"Secțiune\"/>\n<l:gentext key=\"sect2\" text=\"Secțiune\"/>\n<l:gentext key=\"sect3\" text=\"Secțiune\"/>\n<l:gentext key=\"sect4\" text=\"Secțiune\"/>\n<l:gentext key=\"sect5\" text=\"Secțiune\"/>\n<l:gentext key=\"section\" text=\"sec.\"/>\n<l:gentext key=\"Section\" text=\"Secțiune\"/>\n<l:gentext key=\"see\" text=\"Vezi\"/>\n<l:gentext key=\"See\" text=\"Vezi\"/>\n<l:gentext key=\"seealso\" text=\"Vezi și\"/>\n<l:gentext key=\"Seealso\" text=\"Vezi și\"/>\n<l:gentext key=\"SeeAlso\" text=\"Vezi și\"/>\n<l:gentext key=\"set\" text=\"Set\"/>\n<l:gentext key=\"Set\" text=\"Set\"/>\n<l:gentext key=\"setindex\" text=\"Index\"/>\n<l:gentext key=\"SetIndex\" text=\"Index\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"sidebar\"/>\n<l:gentext key=\"step\" text=\"operațiune\"/>\n<l:gentext key=\"Step\" text=\"Operație\"/>\n<l:gentext key=\"table\" text=\"Tabel\"/>\n<l:gentext key=\"Table\" text=\"Tabel\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"Indicație\"/>\n<l:gentext key=\"TIP\" text=\"INDICAȚIE\"/>\n<l:gentext key=\"Tip\" text=\"Indicație\"/>\n<l:gentext key=\"Warning\" text=\"Avertisment\"/>\n<l:gentext key=\"warning\" text=\"Avertisment\"/>\n<l:gentext key=\"WARNING\" text=\"AVERTISMENT\"/>\n<l:gentext key=\"and\" text=\"și\"/>\n<l:gentext key=\"or\" text=\"sau\"/>\n<l:gentext key=\"by\" text=\"de\"/>\n<l:gentext key=\"Edited\" text=\"Publicat\"/>\n<l:gentext key=\"edited\" text=\"Publicat\"/>\n<l:gentext key=\"Editedby\" text=\"Publicat de\"/>\n<l:gentext key=\"editedby\" text=\"Publicat de\"/>\n<l:gentext key=\"in\" text=\"în\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Note\"/>\n<l:gentext key=\"Notes\" text=\"Note\"/>\n<l:gentext key=\"Pgs\" text=\"Pagini\"/>\n<l:gentext key=\"pgs\" text=\"Pagini\"/>\n<l:gentext key=\"Revisedby\" text=\"Revised by: \"/>\n<l:gentext key=\"revisedby\" text=\"Revised by: \"/>\n<l:gentext key=\"TableNotes\" text=\"Remarci\"/>\n<l:gentext key=\"tablenotes\" text=\"Remarci\"/>\n<l:gentext key=\"TableofContents\" text=\"Cuprins\"/>\n<l:gentext key=\"tableofcontents\" text=\"Cuprins\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Nume de element neașteptat\"/>\n<l:gentext key=\"unsupported\" text=\"nerecunoscut de sisitem\"/>\n<l:gentext key=\"xrefto\" text=\"referință către\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"Listă de ecuații\"/>\n<l:gentext key=\"ListofEquations\" text=\"Listă de ecuații\"/>\n<l:gentext key=\"ListofExamples\" text=\"Listă de exemple\"/>\n<l:gentext key=\"listofexamples\" text=\"Listă de exemple\"/>\n<l:gentext key=\"ListofFigures\" text=\"Listă de figuri\"/>\n<l:gentext key=\"listoffigures\" text=\"Listă de figuri\"/>\n<l:gentext key=\"ListofProcedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listofprocedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listoftables\" text=\"Listă de tabele\"/>\n<l:gentext key=\"ListofTables\" text=\"Listă de tabele\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Listă de necunoscute\"/>\n<l:gentext key=\"listofunknown\" text=\"Listă de necunoscute\"/>\n<l:gentext key=\"nav-home\" text=\"Acasă\"/>\n<l:gentext key=\"nav-next\" text=\"Înainte\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Repede ïnainte\"/>\n<l:gentext key=\"nav-prev\" text=\"Înapoi\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Repede înapoi\"/>\n<l:gentext key=\"nav-up\" text=\"Sus\"/>\n<l:gentext key=\"nav-toc\" text=\"ToC\" lang=\"en\"/>\n<l:gentext key=\"Draft\" text=\"Ciornă\"/>\n<l:gentext key=\"above\" text=\"deasupra\"/>\n<l:gentext key=\"below\" text=\"sub\"/>\n<l:gentext key=\"sectioncalled\" text=\"secțiunea numită\"/>\n<l:gentext key=\"index symbols\" text=\"Simboluri\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"aăâbcdefghiîjklmnopqrsștșuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"AĂÂBCDEFGHIÎJKLMNOPQRSȘTȚUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"„\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"«\"/>\n<l:dingbat key=\"nestedendquote\" text=\"»\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Anexa %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Cap. %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"ecuația %n. %t\"/>\n<l:template name=\"example\" text=\"Exemplu %n. %t\"/>\n<l:template name=\"figure\" text=\"Fig. %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Parte %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Procedură %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Production %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabel %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Anexa %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Cap. %n. %t\"/>\n<l:template name=\"part\" text=\"Parte %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"R: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Î: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Î: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"„%t”\"/>\n<l:template name=\"refsection\" text=\"„%t”\"/>\n<l:template name=\"refsect1\" text=\"„%t”\"/>\n<l:template name=\"refsect2\" text=\"„%t”\"/>\n<l:template name=\"refsect3\" text=\"„%t”\"/>\n<l:template name=\"sect1\" text=\"„%t”\"/>\n<l:template name=\"sect2\" text=\"„%t”\"/>\n<l:template name=\"sect3\" text=\"„%t”\"/>\n<l:template name=\"sect4\" text=\"„%t”\"/>\n<l:template name=\"sect5\" text=\"„%t”\"/>\n<l:template name=\"section\" text=\"„%t”\"/>\n<l:template name=\"simplesect\" text=\"„%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"R: %n\"/>\n<l:template name=\"appendix\" text=\"Anexa %n\"/>\n<l:template name=\"bridgehead\" text=\"Secțiune %n\"/>\n<l:template name=\"chapter\" text=\"Cap. %n\"/>\n<l:template name=\"equation\" text=\"ecuația %n\"/>\n<l:template name=\"example\" text=\"Exemplu %n\"/>\n<l:template name=\"figure\" text=\"Fig. %n\"/>\n<l:template name=\"part\" text=\"Parte %n\"/>\n<l:template name=\"procedure\" text=\"Procedură %n\"/>\n<l:template name=\"productionset\" text=\"Production %n\"/>\n<l:template name=\"qandadiv\" text=\"Întrebări și răspunsuri %n\"/>\n<l:template name=\"qandaentry\" text=\"Î: %n\"/>\n<l:template name=\"question\" text=\"Î: %n\"/>\n<l:template name=\"sect1\" text=\"Secțiune %n\"/>\n<l:template name=\"sect2\" text=\"Secțiune %n\"/>\n<l:template name=\"sect3\" text=\"Secțiune %n\"/>\n<l:template name=\"sect4\" text=\"Secțiune %n\"/>\n<l:template name=\"sect5\" text=\"Secțiune %n\"/>\n<l:template name=\"section\" text=\"Secțiune %n\"/>\n<l:template name=\"table\" text=\"Tabel %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Anexa %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Secțiune %n, „%t”\"/>\n<l:template name=\"chapter\" text=\"Cap. %n, %t\"/>\n<l:template name=\"equation\" text=\"ecuația %n, „%t”\"/>\n<l:template name=\"example\" text=\"Exemplu %n, „%t”\"/>\n<l:template name=\"figure\" text=\"Fig. %n, „%t”\"/>\n<l:template name=\"part\" text=\"Parte %n, „%t”\"/>\n<l:template name=\"procedure\" text=\"Procedură %n, „%t”\"/>\n<l:template name=\"productionset\" text=\"Production %n, „%t”\"/>\n<l:template name=\"qandadiv\" text=\"Întrebări și răspunsuri %n, „%t”\"/>\n<l:template name=\"refsect1\" text=\"secțiunea numită „%t”\"/>\n<l:template name=\"refsect2\" text=\"secțiunea numită „%t”\"/>\n<l:template name=\"refsect3\" text=\"secțiunea numită „%t”\"/>\n<l:template name=\"refsection\" text=\"secțiunea numită „%t”\"/>\n<l:template name=\"sect1\" text=\"Secțiune %n, „%t”\"/>\n<l:template name=\"sect2\" text=\"Secțiune %n, „%t”\"/>\n<l:template name=\"sect3\" text=\"Secțiune %n, „%t”\"/>\n<l:template name=\"sect4\" text=\"Secțiune %n, „%t”\"/>\n<l:template name=\"sect5\" text=\"Secțiune %n, „%t”\"/>\n<l:template name=\"section\" text=\"Secțiune %n, „%t”\"/>\n<l:template name=\"simplesect\" text=\"secțiunea numită „%t”\"/>\n<l:template name=\"table\" text=\"Tabel %n, „%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" și \"/>\n<l:template name=\"seplast\" text=\", și \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Vezi %t.\"/>\n<l:template name=\"seealso\" text=\"Vezi și %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\": \"/>\n<l:template name=\"MsgLevel\" text=\"Nivel: \"/>\n<l:template name=\"MsgOrig\" text=\"Origine: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\" lang=\"en\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"January\" lang=\"en\"/>\n<l:template name=\"February\" text=\"February\" lang=\"en\"/>\n<l:template name=\"March\" text=\"March\" lang=\"en\"/>\n<l:template name=\"April\" text=\"April\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"June\" text=\"June\" lang=\"en\"/>\n<l:template name=\"July\" text=\"July\" lang=\"en\"/>\n<l:template name=\"August\" text=\"August\" lang=\"en\"/>\n<l:template name=\"September\" text=\"September\" lang=\"en\"/>\n<l:template name=\"October\" text=\"October\" lang=\"en\"/>\n<l:template name=\"November\" text=\"November\" lang=\"en\"/>\n<l:template name=\"December\" text=\"December\" lang=\"en\"/>\n<l:template name=\"Monday\" text=\"Monday\" lang=\"en\"/>\n<l:template name=\"Tuesday\" text=\"Tuesday\" lang=\"en\"/>\n<l:template name=\"Wednesday\" text=\"Wednesday\" lang=\"en\"/>\n<l:template name=\"Thursday\" text=\"Thursday\" lang=\"en\"/>\n<l:template name=\"Friday\" text=\"Friday\" lang=\"en\"/>\n<l:template name=\"Saturday\" text=\"Saturday\" lang=\"en\"/>\n<l:template name=\"Sunday\" text=\"Sunday\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\" lang=\"en\"/>\n<l:template name=\"Feb\" text=\"Feb\" lang=\"en\"/>\n<l:template name=\"Mar\" text=\"Mar\" lang=\"en\"/>\n<l:template name=\"Apr\" text=\"Apr\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"Jun\" text=\"Jun\" lang=\"en\"/>\n<l:template name=\"Jul\" text=\"Jul\" lang=\"en\"/>\n<l:template name=\"Aug\" text=\"Aug\" lang=\"en\"/>\n<l:template name=\"Sep\" text=\"Sep\" lang=\"en\"/>\n<l:template name=\"Oct\" text=\"Oct\" lang=\"en\"/>\n<l:template name=\"Nov\" text=\"Nov\" lang=\"en\"/>\n<l:template name=\"Dec\" text=\"Dec\" lang=\"en\"/>\n<l:template name=\"Mon\" text=\"Mon\" lang=\"en\"/>\n<l:template name=\"Tue\" text=\"Tue\" lang=\"en\"/>\n<l:template name=\"Wed\" text=\"Wed\" lang=\"en\"/>\n<l:template name=\"Thu\" text=\"Thu\" lang=\"en\"/>\n<l:template name=\"Fri\" text=\"Fri\" lang=\"en\"/>\n<l:template name=\"Sat\" text=\"Sat\" lang=\"en\"/>\n<l:template name=\"Sun\" text=\"Sun\" lang=\"en\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0418 Romanian\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters lang=\"en\"><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/ru.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"ru\" english-language-name=\"Russian\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/ru.xml -->\n<!-- * -->\n<!-- * E-mail the edited ru.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Аннотация\"/>\n<l:gentext key=\"abstract\" text=\"Аннотация\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Благодарность\"/>\n<l:gentext key=\"acknowledgements\" text=\"Благодарность\"/>\n<l:gentext key=\"Answer\" text=\"Ответ:\"/>\n<l:gentext key=\"answer\" text=\"Ответ:\"/>\n<l:gentext key=\"Appendix\" text=\"Приложение\"/>\n<l:gentext key=\"appendix\" text=\"Приложение\"/>\n<l:gentext key=\"Article\" text=\"Статья\"/>\n<l:gentext key=\"article\" text=\"Статья\"/>\n<l:gentext key=\"Author\" text=\"Автор\"/>\n<l:gentext key=\"Bibliography\" text=\"Библиография\"/>\n<l:gentext key=\"bibliography\" text=\"Библиография\"/>\n<l:gentext key=\"Book\" text=\"Книга\"/>\n<l:gentext key=\"book\" text=\"Книга\"/>\n<l:gentext key=\"CAUTION\" text=\"ВНИМАНИЕ\"/>\n<l:gentext key=\"Caution\" text=\"Внимание\"/>\n<l:gentext key=\"caution\" text=\"Внимание\"/>\n<l:gentext key=\"Chapter\" text=\"Глава\"/>\n<l:gentext key=\"chapter\" text=\"Глава\"/>\n<l:gentext key=\"Colophon\" text=\"Издание\"/>\n<l:gentext key=\"colophon\" text=\"Издание\"/>\n<l:gentext key=\"Copyright\" text=\"Авторские права\"/>\n<l:gentext key=\"copyright\" text=\"Авторские права\"/>\n<l:gentext key=\"Dedication\" text=\"Посвящается\"/>\n<l:gentext key=\"dedication\" text=\"Посвящается\"/>\n<l:gentext key=\"Edition\" text=\"Редакция\"/>\n<l:gentext key=\"edition\" text=\"Редакция\"/>\n<l:gentext key=\"Editor\" text=\"Редактор\"/>\n<l:gentext key=\"Equation\" text=\"Формула\"/>\n<l:gentext key=\"equation\" text=\"Формула\"/>\n<l:gentext key=\"Example\" text=\"Пример\"/>\n<l:gentext key=\"example\" text=\"Пример\"/>\n<l:gentext key=\"Figure\" text=\"Рисунок\"/>\n<l:gentext key=\"figure\" text=\"Рисунок\"/>\n<l:gentext key=\"Glossary\" text=\"Глоссарий\"/>\n<l:gentext key=\"glossary\" text=\"Глоссарий\"/>\n<l:gentext key=\"GlossSee\" text=\"См.\"/>\n<l:gentext key=\"glosssee\" text=\"см.\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"См. также\"/>\n<l:gentext key=\"glossseealso\" text=\"см. также\"/>\n<l:gentext key=\"IMPORTANT\" text=\"ВАЖНО\"/>\n<l:gentext key=\"important\" text=\"Важно\"/>\n<l:gentext key=\"Important\" text=\"Важно\"/>\n<l:gentext key=\"Index\" text=\"Предметный указатель\"/>\n<l:gentext key=\"index\" text=\"Предметный указатель\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Юридическое уведомление\"/>\n<l:gentext key=\"legalnotice\" text=\"Юридическое уведомление\"/>\n<l:gentext key=\"MsgAud\" text=\"Аудитория\"/>\n<l:gentext key=\"msgaud\" text=\"Аудитория\"/>\n<l:gentext key=\"MsgLevel\" text=\"Уровень\"/>\n<l:gentext key=\"msglevel\" text=\"Уровень\"/>\n<l:gentext key=\"MsgOrig\" text=\"Источник\"/>\n<l:gentext key=\"msgorig\" text=\"Источник\"/>\n<l:gentext key=\"NOTE\" text=\"ПРИМЕЧАНИЕ\"/>\n<l:gentext key=\"Note\" text=\"Примечание\"/>\n<l:gentext key=\"note\" text=\"Примечание\"/>\n<l:gentext key=\"Part\" text=\"Часть\"/>\n<l:gentext key=\"part\" text=\"Часть\"/>\n<l:gentext key=\"Preface\" text=\"Предисловие\"/>\n<l:gentext key=\"preface\" text=\"Предисловие\"/>\n<l:gentext key=\"Procedure\" text=\"Процедура\"/>\n<l:gentext key=\"procedure\" text=\"Процедура\"/>\n<l:gentext key=\"ProductionSet\" text=\"Производство\"/>\n<l:gentext key=\"PubDate\" text=\"Дата публикации\"/>\n<l:gentext key=\"pubdate\" text=\"Дата публикации\"/>\n<l:gentext key=\"Published\" text=\"Опубликовано\"/>\n<l:gentext key=\"published\" text=\"Опубликовано\"/>\n<l:gentext key=\"Publisher\" text=\"Издатель\"/>\n<l:gentext key=\"Qandadiv\" text=\"Вопросы и ответы\"/>\n<l:gentext key=\"qandadiv\" text=\"Вопросы и ответы\"/>\n<l:gentext key=\"QandASet\" text=\"Часто задаваемые вопросы\"/>\n<l:gentext key=\"Question\" text=\"Вопрос:\"/>\n<l:gentext key=\"question\" text=\"Вопрос:\"/>\n<l:gentext key=\"RefEntry\" text=\"Страница\"/>\n<l:gentext key=\"refentry\" text=\"Страница\"/>\n<l:gentext key=\"Reference\" text=\"Ссылка\"/>\n<l:gentext key=\"reference\" text=\"Ссылка\"/>\n<l:gentext key=\"References\" text=\"Ссылки\"/>\n<l:gentext key=\"RefName\" text=\"Имя\"/>\n<l:gentext key=\"refname\" text=\"Имя\"/>\n<l:gentext key=\"RefSection\" text=\"Раздел\"/>\n<l:gentext key=\"refsection\" text=\"Раздел\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Синопсис\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Синопсис\"/>\n<l:gentext key=\"RevHistory\" text=\"История переиздания\"/>\n<l:gentext key=\"revhistory\" text=\"История переиздания\"/>\n<l:gentext key=\"revision\" text=\"Издание\"/>\n<l:gentext key=\"Revision\" text=\"Издание\"/>\n<l:gentext key=\"sect1\" text=\"Раздел\"/>\n<l:gentext key=\"sect2\" text=\"Раздел\"/>\n<l:gentext key=\"sect3\" text=\"Раздел\"/>\n<l:gentext key=\"sect4\" text=\"Раздел\"/>\n<l:gentext key=\"sect5\" text=\"Раздел\"/>\n<l:gentext key=\"section\" text=\"Раздел\"/>\n<l:gentext key=\"Section\" text=\"Раздел\"/>\n<l:gentext key=\"see\" text=\"см.\"/>\n<l:gentext key=\"See\" text=\"См.\"/>\n<l:gentext key=\"seealso\" text=\"см. также\"/>\n<l:gentext key=\"Seealso\" text=\"См. также\"/>\n<l:gentext key=\"SeeAlso\" text=\"См. также\"/>\n<l:gentext key=\"set\" text=\"Подборка\"/>\n<l:gentext key=\"Set\" text=\"Подборка\"/>\n<l:gentext key=\"setindex\" text=\"Индекс подборки\"/>\n<l:gentext key=\"SetIndex\" text=\"Индекс подборки\"/>\n<l:gentext key=\"Sidebar\" text=\"Боковое поле\"/>\n<l:gentext key=\"sidebar\" text=\"Боковое поле\"/>\n<l:gentext key=\"step\" text=\"Шаг\"/>\n<l:gentext key=\"Step\" text=\"Шаг\"/>\n<l:gentext key=\"table\" text=\"Таблица\"/>\n<l:gentext key=\"Table\" text=\"Таблица\"/>\n<l:gentext key=\"task\" text=\"Задача\"/>\n<l:gentext key=\"Task\" text=\"Задача\"/>\n<l:gentext key=\"tip\" text=\"Подсказка\"/>\n<l:gentext key=\"TIP\" text=\"ПОДСКАЗКА\"/>\n<l:gentext key=\"Tip\" text=\"Подсказка\"/>\n<l:gentext key=\"Warning\" text=\"Предупреждение\"/>\n<l:gentext key=\"warning\" text=\"Предупреждение\"/>\n<l:gentext key=\"WARNING\" text=\"ПРЕДУПРЕЖДЕНИЕ\"/>\n<l:gentext key=\"and\" text=\"\"/>\n<l:gentext key=\"or\" text=\"или\"/>\n<l:gentext key=\"by\" text=\"\"/>\n<l:gentext key=\"Edited\" text=\"Под редакцией\"/>\n<l:gentext key=\"edited\" text=\"Под редакцией\"/>\n<l:gentext key=\"Editedby\" text=\"Под редакцией\"/>\n<l:gentext key=\"editedby\" text=\"Под редакцией\"/>\n<l:gentext key=\"in\" text=\"в\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Примечания\"/>\n<l:gentext key=\"Notes\" text=\"Примечания\"/>\n<l:gentext key=\"Pgs\" text=\"Стр.\"/>\n<l:gentext key=\"pgs\" text=\"Стр.\"/>\n<l:gentext key=\"Revisedby\" text=\"Проверено: \"/>\n<l:gentext key=\"revisedby\" text=\"Проверено: \"/>\n<l:gentext key=\"TableNotes\" text=\"Примечания\"/>\n<l:gentext key=\"tablenotes\" text=\"Примечания\"/>\n<l:gentext key=\"TableofContents\" text=\"Содержание\"/>\n<l:gentext key=\"tableofcontents\" text=\"Содержание\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"unexpected element name\"/>\n<l:gentext key=\"unsupported\" text=\"unsupported\"/>\n<l:gentext key=\"xrefto\" text=\"xref to\"/>\n<l:gentext key=\"Authors\" text=\"Авторы\"/>\n<l:gentext key=\"copyeditor\" text=\"Редактор копии\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Графический дизайн\"/>\n<l:gentext key=\"productioneditor\" text=\"Главный редактор\"/>\n<l:gentext key=\"technicaleditor\" text=\"Технический редактор\"/>\n<l:gentext key=\"translator\" text=\"Перевод\"/>\n<l:gentext key=\"listofequations\" text=\"Список выражений\"/>\n<l:gentext key=\"ListofEquations\" text=\"Список выражений\"/>\n<l:gentext key=\"ListofExamples\" text=\"Список примеров\"/>\n<l:gentext key=\"listofexamples\" text=\"Список примеров\"/>\n<l:gentext key=\"ListofFigures\" text=\"Список иллюстраций\"/>\n<l:gentext key=\"listoffigures\" text=\"Список иллюстраций\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Список процедур\"/>\n<l:gentext key=\"listofprocedures\" text=\"Список процедур\"/>\n<l:gentext key=\"listoftables\" text=\"Список таблиц\"/>\n<l:gentext key=\"ListofTables\" text=\"Список таблиц\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Список других\"/>\n<l:gentext key=\"listofunknown\" text=\"Список других\"/>\n<l:gentext key=\"nav-home\" text=\"Начало\"/>\n<l:gentext key=\"nav-next\" text=\"След.\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"След. подраздел\"/>\n<l:gentext key=\"nav-prev\" text=\"Пред.\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Пред. подраздел\"/>\n<l:gentext key=\"nav-up\" text=\"Наверх\"/>\n<l:gentext key=\"nav-toc\" text=\"Содержание\"/>\n<l:gentext key=\"Draft\" text=\"Черновик\"/>\n<l:gentext key=\"above\" text=\"выше\"/>\n<l:gentext key=\"below\" text=\"ниже\"/>\n<l:gentext key=\"sectioncalled\" text=\"секция\"/>\n<l:gentext key=\"index symbols\" text=\"Символы\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"абвгдеёжзийклмнопрстуфхцчшщъыьэюя\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"«\"/>\n<l:dingbat key=\"endquote\" text=\"»\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"„\"/>\n<l:dingbat key=\"nestedendquote\" text=\"“\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Приложение %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Глава %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Формула %n. %t\"/>\n<l:template name=\"example\" text=\"Пример %n. %t\"/>\n<l:template name=\"figure\" text=\"Рисунок %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Часть %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Процедура %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Производство %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Таблица %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Приложение %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Глава %n. %t\"/>\n<l:template name=\"part\" text=\"Часть %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"Ответ: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Вопрос: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Вопрос: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"«%t»\"/>\n<l:template name=\"refsection\" text=\"«%t»\"/>\n<l:template name=\"refsect1\" text=\"«%t»\"/>\n<l:template name=\"refsect2\" text=\"«%t»\"/>\n<l:template name=\"refsect3\" text=\"«%t»\"/>\n<l:template name=\"sect1\" text=\"«%t»\"/>\n<l:template name=\"sect2\" text=\"«%t»\"/>\n<l:template name=\"sect3\" text=\"«%t»\"/>\n<l:template name=\"sect4\" text=\"«%t»\"/>\n<l:template name=\"sect5\" text=\"«%t»\"/>\n<l:template name=\"section\" text=\"«%t»\"/>\n<l:template name=\"simplesect\" text=\"«%t»\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Ответ: %n\"/>\n<l:template name=\"appendix\" text=\"Приложение %n\"/>\n<l:template name=\"bridgehead\" text=\"Раздел %n\"/>\n<l:template name=\"chapter\" text=\"Глава %n\"/>\n<l:template name=\"equation\" text=\"Формула %n\"/>\n<l:template name=\"example\" text=\"Пример %n\"/>\n<l:template name=\"figure\" text=\"Рисунок %n\"/>\n<l:template name=\"part\" text=\"Часть %n\"/>\n<l:template name=\"procedure\" text=\"Процедура %n\"/>\n<l:template name=\"productionset\" text=\"Производство %n\"/>\n<l:template name=\"qandadiv\" text=\"Вопросы и ответы %n\"/>\n<l:template name=\"qandaentry\" text=\"Вопрос: %n\"/>\n<l:template name=\"question\" text=\"Вопрос: %n\"/>\n<l:template name=\"sect1\" text=\"Раздел %n\"/>\n<l:template name=\"sect2\" text=\"Раздел %n\"/>\n<l:template name=\"sect3\" text=\"Раздел %n\"/>\n<l:template name=\"sect4\" text=\"Раздел %n\"/>\n<l:template name=\"sect5\" text=\"Раздел %n\"/>\n<l:template name=\"section\" text=\"Раздел %n\"/>\n<l:template name=\"table\" text=\"Таблица %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Приложение %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Раздел %n, «%t»\"/>\n<l:template name=\"chapter\" text=\"Глава %n, %t\"/>\n<l:template name=\"equation\" text=\"Формула %n, «%t»\"/>\n<l:template name=\"example\" text=\"Пример %n, «%t»\"/>\n<l:template name=\"figure\" text=\"Рисунок %n, «%t»\"/>\n<l:template name=\"part\" text=\"Часть %n, «%t»\"/>\n<l:template name=\"procedure\" text=\"Процедура %n, «%t»\"/>\n<l:template name=\"productionset\" text=\"Производство %n, «%t»\"/>\n<l:template name=\"qandadiv\" text=\"Вопросы и ответы %n, «%t»\"/>\n<l:template name=\"refsect1\" text=\"секция «%t»\"/>\n<l:template name=\"refsect2\" text=\"секция «%t»\"/>\n<l:template name=\"refsect3\" text=\"секция «%t»\"/>\n<l:template name=\"refsection\" text=\"секция «%t»\"/>\n<l:template name=\"sect1\" text=\"Раздел %n, «%t»\"/>\n<l:template name=\"sect2\" text=\"Раздел %n, «%t»\"/>\n<l:template name=\"sect3\" text=\"Раздел %n, «%t»\"/>\n<l:template name=\"sect4\" text=\"Раздел %n, «%t»\"/>\n<l:template name=\"sect5\" text=\"Раздел %n, «%t»\"/>\n<l:template name=\"section\" text=\"Раздел %n, «%t»\"/>\n<l:template name=\"simplesect\" text=\"секция «%t»\"/>\n<l:template name=\"table\" text=\"Таблица %n, «%t»\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\"  \"/>\n<l:template name=\"seplast\" text=\",  \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"См. %t.\"/>\n<l:template name=\"seealso\" text=\"См. также %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Аудитория: \"/>\n<l:template name=\"MsgLevel\" text=\"Уровень: \"/>\n<l:template name=\"MsgOrig\" text=\"Источник: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Определение: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"января\"/>\n<l:template name=\"February\" text=\"февраля\"/>\n<l:template name=\"March\" text=\"марта\"/>\n<l:template name=\"April\" text=\"апреля\"/>\n<l:template name=\"May\" text=\"мая\"/>\n<l:template name=\"June\" text=\"июня\"/>\n<l:template name=\"July\" text=\"июля\"/>\n<l:template name=\"August\" text=\"августа\"/>\n<l:template name=\"September\" text=\"сентября\"/>\n<l:template name=\"October\" text=\"октября\"/>\n<l:template name=\"November\" text=\"ноября\"/>\n<l:template name=\"December\" text=\"декабря\"/>\n<l:template name=\"Monday\" text=\"понедельник\"/>\n<l:template name=\"Tuesday\" text=\"вторник\"/>\n<l:template name=\"Wednesday\" text=\"среда\"/>\n<l:template name=\"Thursday\" text=\"четверг\"/>\n<l:template name=\"Friday\" text=\"пятница\"/>\n<l:template name=\"Saturday\" text=\"суббота\"/>\n<l:template name=\"Sunday\" text=\"воскресенье\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Янв\"/>\n<l:template name=\"Feb\" text=\"Фев\"/>\n<l:template name=\"Mar\" text=\"Мар\"/>\n<l:template name=\"Apr\" text=\"Апр\"/>\n<l:template name=\"May\" text=\"Май\"/>\n<l:template name=\"Jun\" text=\"Июн\"/>\n<l:template name=\"Jul\" text=\"Июл\"/>\n<l:template name=\"Aug\" text=\"Авг\"/>\n<l:template name=\"Sep\" text=\"Сен\"/>\n<l:template name=\"Oct\" text=\"Окт\"/>\n<l:template name=\"Nov\" text=\"Ноя\"/>\n<l:template name=\"Dec\" text=\"Дек\"/>\n<l:template name=\"Mon\" text=\"Пнд\"/>\n<l:template name=\"Tue\" text=\"Втр\"/>\n<l:template name=\"Wed\" text=\"Срд\"/>\n<l:template name=\"Thu\" text=\"Чтв\"/>\n<l:template name=\"Fri\" text=\"Птн\"/>\n<l:template name=\"Sat\" text=\"Сбт\"/>\n<l:template name=\"Sun\" text=\"Вск\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0419 Russian\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\"/>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"270\">А</l:l>\n<l:l i=\"270\">а</l:l>\n<l:l i=\"280\">Б</l:l>\n<l:l i=\"280\">б</l:l>\n<l:l i=\"290\">В</l:l>\n<l:l i=\"290\">в</l:l>\n<l:l i=\"300\">Г</l:l>\n<l:l i=\"300\">г</l:l>\n<l:l i=\"310\">Д</l:l>\n<l:l i=\"310\">д</l:l>\n<l:l i=\"320\">Е</l:l>\n<l:l i=\"320\">е</l:l>\n<l:l i=\"320\">Ё</l:l>\n<l:l i=\"320\">ё</l:l>\n<l:l i=\"330\">Ж</l:l>\n<l:l i=\"330\">ж</l:l>\n<l:l i=\"340\">З</l:l>\n<l:l i=\"340\">з</l:l>\n<l:l i=\"350\">И</l:l>\n<l:l i=\"350\">и</l:l>\n<l:l i=\"360\">Й</l:l>\n<l:l i=\"360\">й</l:l>\n<l:l i=\"370\">К</l:l>\n<l:l i=\"370\">к</l:l>\n<l:l i=\"380\">Л</l:l>\n<l:l i=\"380\">л</l:l>\n<l:l i=\"390\">М</l:l>\n<l:l i=\"390\">м</l:l>\n<l:l i=\"400\">Н</l:l>\n<l:l i=\"400\">н</l:l>\n<l:l i=\"410\">О</l:l>\n<l:l i=\"410\">о</l:l>\n<l:l i=\"420\">П</l:l>\n<l:l i=\"420\">п</l:l>\n<l:l i=\"430\">Р</l:l>\n<l:l i=\"430\">р</l:l>\n<l:l i=\"440\">С</l:l>\n<l:l i=\"440\">с</l:l>\n<l:l i=\"450\">Т</l:l>\n<l:l i=\"450\">т</l:l>\n<l:l i=\"460\">У</l:l>\n<l:l i=\"460\">у</l:l>\n<l:l i=\"470\">Ф</l:l>\n<l:l i=\"470\">ф</l:l>\n<l:l i=\"480\">Х</l:l>\n<l:l i=\"480\">х</l:l>\n<l:l i=\"490\">Ц</l:l>\n<l:l i=\"490\">ц</l:l>\n<l:l i=\"500\">Ч</l:l>\n<l:l i=\"500\">ч</l:l>\n<l:l i=\"510\">Ш</l:l>\n<l:l i=\"510\">ш</l:l>\n<l:l i=\"520\">Щ</l:l>\n<l:l i=\"520\">щ</l:l>\n<l:l i=\"530\">Ъ</l:l>\n<l:l i=\"530\">ъ</l:l>\n<l:l i=\"540\">Ы</l:l>\n<l:l i=\"540\">ы</l:l>\n<l:l i=\"550\">Ь</l:l>\n<l:l i=\"550\">ь</l:l>\n<l:l i=\"560\">Э</l:l>\n<l:l i=\"560\">э</l:l>\n<l:l i=\"570\">Ю</l:l>\n<l:l i=\"570\">ю</l:l>\n<l:l i=\"580\">Я</l:l>\n<l:l i=\"580\">я</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/sk.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"sk\" english-language-name=\"Slovak\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/sk.xml -->\n<!-- * -->\n<!-- * E-mail the edited sk.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Abstrakt\"/>\n<l:gentext key=\"abstract\" text=\"Abstrakt\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"A:\"/>\n<l:gentext key=\"answer\" text=\"A:\"/>\n<l:gentext key=\"Appendix\" text=\"Dodatok\"/>\n<l:gentext key=\"appendix\" text=\"dodatok\"/>\n<l:gentext key=\"Article\" text=\"Článok\"/>\n<l:gentext key=\"article\" text=\"Článok\"/>\n<l:gentext key=\"Author\" text=\"Author\" lang=\"en\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografia\"/>\n<l:gentext key=\"bibliography\" text=\"Bibliografia\"/>\n<l:gentext key=\"Book\" text=\"Kniha\"/>\n<l:gentext key=\"book\" text=\"Kniha\"/>\n<l:gentext key=\"CAUTION\" text=\"VÝSTRAHA\"/>\n<l:gentext key=\"Caution\" text=\"Výstraha\"/>\n<l:gentext key=\"caution\" text=\"Výstraha\"/>\n<l:gentext key=\"Chapter\" text=\"Kapitola\"/>\n<l:gentext key=\"chapter\" text=\"kapitola\"/>\n<l:gentext key=\"Colophon\" text=\"Tiráž\"/>\n<l:gentext key=\"colophon\" text=\"Tiráž\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"Copyright\"/>\n<l:gentext key=\"Dedication\" text=\"Venovanie\"/>\n<l:gentext key=\"dedication\" text=\"Venovanie\"/>\n<l:gentext key=\"Edition\" text=\"Vydanie\"/>\n<l:gentext key=\"edition\" text=\"Vydanie\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Rovnica\"/>\n<l:gentext key=\"equation\" text=\"Rovnica\"/>\n<l:gentext key=\"Example\" text=\"Príklad\"/>\n<l:gentext key=\"example\" text=\"Príklad\"/>\n<l:gentext key=\"Figure\" text=\"Obrázok\"/>\n<l:gentext key=\"figure\" text=\"Obrázok\"/>\n<l:gentext key=\"Glossary\" text=\"Slovník\"/>\n<l:gentext key=\"glossary\" text=\"Slovník\"/>\n<l:gentext key=\"GlossSee\" text=\"Pozri\"/>\n<l:gentext key=\"glosssee\" text=\"Pozri\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Pozri tiež\"/>\n<l:gentext key=\"glossseealso\" text=\"Pozri tiež\"/>\n<l:gentext key=\"IMPORTANT\" text=\"DÔLEŽITÉ\"/>\n<l:gentext key=\"important\" text=\"Dôležité\"/>\n<l:gentext key=\"Important\" text=\"Dôležité\"/>\n<l:gentext key=\"Index\" text=\"Zoznam\"/>\n<l:gentext key=\"index\" text=\"Zoznam\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Právna poznámka\"/>\n<l:gentext key=\"legalnotice\" text=\"Právna poznámka\"/>\n<l:gentext key=\"MsgAud\" text=\"Publikum\"/>\n<l:gentext key=\"msgaud\" text=\"Publikum\"/>\n<l:gentext key=\"MsgLevel\" text=\"Úroveň\"/>\n<l:gentext key=\"msglevel\" text=\"Úroveň\"/>\n<l:gentext key=\"MsgOrig\" text=\"Pôvod\"/>\n<l:gentext key=\"msgorig\" text=\"Pôvod\"/>\n<l:gentext key=\"NOTE\" text=\"POZNÁMKA\"/>\n<l:gentext key=\"Note\" text=\"Poznámka\"/>\n<l:gentext key=\"note\" text=\"Poznámka\"/>\n<l:gentext key=\"Part\" text=\"Časť\"/>\n<l:gentext key=\"part\" text=\"Časť\"/>\n<l:gentext key=\"Preface\" text=\"Predslov\"/>\n<l:gentext key=\"preface\" text=\"Predslov\"/>\n<l:gentext key=\"Procedure\" text=\"Postup\"/>\n<l:gentext key=\"procedure\" text=\"Postup\"/>\n<l:gentext key=\"ProductionSet\" text=\"Produkcia\"/>\n<l:gentext key=\"PubDate\" text=\"Publication Date\" lang=\"en\"/>\n<l:gentext key=\"pubdate\" text=\"Publication date\" lang=\"en\"/>\n<l:gentext key=\"Published\" text=\"Vydané\"/>\n<l:gentext key=\"published\" text=\"Vydané\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"Q &amp; A\"/>\n<l:gentext key=\"qandadiv\" text=\"Q &amp; A\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"Q:\"/>\n<l:gentext key=\"question\" text=\"Q:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Odkaz\"/>\n<l:gentext key=\"reference\" text=\"Odkaz\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Meno\"/>\n<l:gentext key=\"refname\" text=\"Meno\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Prehľad\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Prehľad\"/>\n<l:gentext key=\"RevHistory\" text=\"Prehľad revízií\"/>\n<l:gentext key=\"revhistory\" text=\"Prehľad revízií\"/>\n<l:gentext key=\"revision\" text=\"Revízia\"/>\n<l:gentext key=\"Revision\" text=\"Revízia\"/>\n<l:gentext key=\"sect1\" text=\"Oddiel\"/>\n<l:gentext key=\"sect2\" text=\"Oddiel\"/>\n<l:gentext key=\"sect3\" text=\"Oddiel\"/>\n<l:gentext key=\"sect4\" text=\"Oddiel\"/>\n<l:gentext key=\"sect5\" text=\"Oddiel\"/>\n<l:gentext key=\"section\" text=\"oddiel\"/>\n<l:gentext key=\"Section\" text=\"Oddiel\"/>\n<l:gentext key=\"see\" text=\"Pozri\"/>\n<l:gentext key=\"See\" text=\"Pozri\"/>\n<l:gentext key=\"seealso\" text=\"Pozri tiež\"/>\n<l:gentext key=\"Seealso\" text=\"Pozri tiež\"/>\n<l:gentext key=\"SeeAlso\" text=\"Pozri tiež\"/>\n<l:gentext key=\"set\" text=\"Nastaviť\"/>\n<l:gentext key=\"Set\" text=\"Nastaviť\"/>\n<l:gentext key=\"setindex\" text=\"nastaviť index\"/>\n<l:gentext key=\"SetIndex\" text=\"Nastaviť index\"/>\n<l:gentext key=\"Sidebar\" text=\"Marginália\"/>\n<l:gentext key=\"sidebar\" text=\"marginália\"/>\n<l:gentext key=\"step\" text=\"krok\"/>\n<l:gentext key=\"Step\" text=\"Krok\"/>\n<l:gentext key=\"table\" text=\"Tabuľka\"/>\n<l:gentext key=\"Table\" text=\"Tabuľka\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"Tip\"/>\n<l:gentext key=\"TIP\" text=\"TIP\"/>\n<l:gentext key=\"Tip\" text=\"Tip\"/>\n<l:gentext key=\"Warning\" text=\"Varovanie\"/>\n<l:gentext key=\"warning\" text=\"Varovanie\"/>\n<l:gentext key=\"WARNING\" text=\"VAROVANIE\"/>\n<l:gentext key=\"and\" text=\"a\"/>\n<l:gentext key=\"or\" text=\"alebo\"/>\n<l:gentext key=\"by\" text=\"\"/>\n<l:gentext key=\"Edited\" text=\"Vydané\"/>\n<l:gentext key=\"edited\" text=\"Vydané\"/>\n<l:gentext key=\"Editedby\" text=\"Zostavil: \"/>\n<l:gentext key=\"editedby\" text=\"Zostavil: \"/>\n<l:gentext key=\"in\" text=\"v\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Poznámky\"/>\n<l:gentext key=\"Notes\" text=\"Poznámky\"/>\n<l:gentext key=\"Pgs\" text=\"Str.\"/>\n<l:gentext key=\"pgs\" text=\"Str.\"/>\n<l:gentext key=\"Revisedby\" text=\"Revidoval: \"/>\n<l:gentext key=\"revisedby\" text=\"Revidoval: \"/>\n<l:gentext key=\"TableNotes\" text=\"Poznámky\"/>\n<l:gentext key=\"tablenotes\" text=\"Poznámky\"/>\n<l:gentext key=\"TableofContents\" text=\"Obsah\"/>\n<l:gentext key=\"tableofcontents\" text=\"Obsah\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Neočakávané meno prvku\"/>\n<l:gentext key=\"unsupported\" text=\"nepodporovaný\"/>\n<l:gentext key=\"xrefto\" text=\"xref k\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"Zoznam rovníc\"/>\n<l:gentext key=\"ListofEquations\" text=\"Zoznam rovníc\"/>\n<l:gentext key=\"ListofExamples\" text=\"Zoznam príkladov\"/>\n<l:gentext key=\"listofexamples\" text=\"Zoznam príkladov\"/>\n<l:gentext key=\"ListofFigures\" text=\"Zoznam obrázkov\"/>\n<l:gentext key=\"listoffigures\" text=\"Zoznam obrázkov\"/>\n<l:gentext key=\"ListofProcedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listofprocedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listoftables\" text=\"Zoznam tabuliek\"/>\n<l:gentext key=\"ListofTables\" text=\"Zoznam tabuliek\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Zoznam neznámeho\"/>\n<l:gentext key=\"listofunknown\" text=\"Zoznam neznámeho\"/>\n<l:gentext key=\"nav-home\" text=\"Domov\"/>\n<l:gentext key=\"nav-next\" text=\"Nasledujúci\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Rýchlo dopredu\"/>\n<l:gentext key=\"nav-prev\" text=\"Predchádzajúci\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Rýchlo nazpät\"/>\n<l:gentext key=\"nav-up\" text=\"Hore\"/>\n<l:gentext key=\"nav-toc\" text=\"ToC\" lang=\"en\"/>\n<l:gentext key=\"Draft\" text=\"Koncept\"/>\n<l:gentext key=\"above\" text=\"nad\"/>\n<l:gentext key=\"below\" text=\"pod\"/>\n<l:gentext key=\"sectioncalled\" text=\"oddiel nazvaný\"/>\n<l:gentext key=\"index symbols\" text=\"Symboly\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"aáäbcčdďeéfghiíjklĺľmnňoóôpqrŕsštťuúvwxyýzž\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"AÁÄBCČDĎEÉFGHIÍJKLĹĽMNŇOÓÔPQRŔSŠTŤUÚVWXYÝZŽ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Dodatok %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Kapitola %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Rovnica %n. %t\"/>\n<l:template name=\"example\" text=\"Príklad %n. %t\"/>\n<l:template name=\"figure\" text=\"Obrázok %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Časť %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Postup %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Produkcia %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabuľka %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Dodatok %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Kapitola %n. %t\"/>\n<l:template name=\"part\" text=\"Časť %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"A: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Q: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Q: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"“%t”\"/>\n<l:template name=\"refsection\" text=\"“%t”\"/>\n<l:template name=\"refsect1\" text=\"“%t”\"/>\n<l:template name=\"refsect2\" text=\"“%t”\"/>\n<l:template name=\"refsect3\" text=\"“%t”\"/>\n<l:template name=\"sect1\" text=\"“%t”\"/>\n<l:template name=\"sect2\" text=\"“%t”\"/>\n<l:template name=\"sect3\" text=\"“%t”\"/>\n<l:template name=\"sect4\" text=\"“%t”\"/>\n<l:template name=\"sect5\" text=\"“%t”\"/>\n<l:template name=\"section\" text=\"“%t”\"/>\n<l:template name=\"simplesect\" text=\"“%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"A: %n\"/>\n<l:template name=\"appendix\" text=\"Dodatok %n\"/>\n<l:template name=\"bridgehead\" text=\"Oddiel %n\"/>\n<l:template name=\"chapter\" text=\"Kapitola %n\"/>\n<l:template name=\"equation\" text=\"Rovnica %n\"/>\n<l:template name=\"example\" text=\"Príklad %n\"/>\n<l:template name=\"figure\" text=\"Obrázok %n\"/>\n<l:template name=\"part\" text=\"Časť %n\"/>\n<l:template name=\"procedure\" text=\"Postup %n\"/>\n<l:template name=\"productionset\" text=\"Produkcia %n\"/>\n<l:template name=\"qandadiv\" text=\"Q &amp; A %n\"/>\n<l:template name=\"qandaentry\" text=\"Q: %n\"/>\n<l:template name=\"question\" text=\"Q: %n\"/>\n<l:template name=\"sect1\" text=\"Oddiel %n\"/>\n<l:template name=\"sect2\" text=\"Oddiel %n\"/>\n<l:template name=\"sect3\" text=\"Oddiel %n\"/>\n<l:template name=\"sect4\" text=\"Oddiel %n\"/>\n<l:template name=\"sect5\" text=\"Oddiel %n\"/>\n<l:template name=\"section\" text=\"Oddiel %n\"/>\n<l:template name=\"table\" text=\"Tabuľka %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Dodatok %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Oddiel %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Kapitola %n, %t\"/>\n<l:template name=\"equation\" text=\"Rovnica %n, “%t”\"/>\n<l:template name=\"example\" text=\"Príklad %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Obrázok %n, “%t”\"/>\n<l:template name=\"part\" text=\"Časť %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Postup %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Produkcia %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"Q &amp; A %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"oddiel nazvaný “%t”\"/>\n<l:template name=\"refsect2\" text=\"oddiel nazvaný “%t”\"/>\n<l:template name=\"refsect3\" text=\"oddiel nazvaný “%t”\"/>\n<l:template name=\"refsection\" text=\"oddiel nazvaný “%t”\"/>\n<l:template name=\"sect1\" text=\"Oddiel %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Oddiel %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Oddiel %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Oddiel %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Oddiel %n, “%t”\"/>\n<l:template name=\"section\" text=\"Oddiel %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"oddiel nazvaný “%t”\"/>\n<l:template name=\"table\" text=\"Tabuľka %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" a \"/>\n<l:template name=\"seplast\" text=\", a \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Pozri %t.\"/>\n<l:template name=\"seealso\" text=\"Pozri tiež %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Publikum: \"/>\n<l:template name=\"MsgLevel\" text=\"Úroveň: \"/>\n<l:template name=\"MsgOrig\" text=\"Pôvod: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d. B Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"januára\"/>\n<l:template name=\"February\" text=\"februára\"/>\n<l:template name=\"March\" text=\"marca\"/>\n<l:template name=\"April\" text=\"apríla\"/>\n<l:template name=\"May\" text=\"mája\"/>\n<l:template name=\"June\" text=\"júna\"/>\n<l:template name=\"July\" text=\"júla\"/>\n<l:template name=\"August\" text=\"augusta\"/>\n<l:template name=\"September\" text=\"septembra\"/>\n<l:template name=\"October\" text=\"októbra\"/>\n<l:template name=\"November\" text=\"novembra\"/>\n<l:template name=\"December\" text=\"decembra\"/>\n<l:template name=\"Monday\" text=\"pondelok\"/>\n<l:template name=\"Tuesday\" text=\"utorok\"/>\n<l:template name=\"Wednesday\" text=\"streda\"/>\n<l:template name=\"Thursday\" text=\"štvrtok\"/>\n<l:template name=\"Friday\" text=\"piatok\"/>\n<l:template name=\"Saturday\" text=\"sobota\"/>\n<l:template name=\"Sunday\" text=\"nedeľa\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"jan\"/>\n<l:template name=\"Feb\" text=\"feb\"/>\n<l:template name=\"Mar\" text=\"mar\"/>\n<l:template name=\"Apr\" text=\"apr\"/>\n<l:template name=\"May\" text=\"máj\"/>\n<l:template name=\"Jun\" text=\"jún\"/>\n<l:template name=\"Jul\" text=\"júl\"/>\n<l:template name=\"Aug\" text=\"aug\"/>\n<l:template name=\"Sep\" text=\"sep\"/>\n<l:template name=\"Oct\" text=\"okt\"/>\n<l:template name=\"Nov\" text=\"nov\"/>\n<l:template name=\"Dec\" text=\"dec\"/>\n<l:template name=\"Mon\" text=\"po\"/>\n<l:template name=\"Tue\" text=\"ut\"/>\n<l:template name=\"Wed\" text=\"st\"/>\n<l:template name=\"Thu\" text=\"št\"/>\n<l:template name=\"Fri\" text=\"pi\"/>\n<l:template name=\"Sat\" text=\"so\"/>\n<l:template name=\"Sun\" text=\"ne\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x041b Slovak\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters lang=\"en\"><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/sl.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"sl\" english-language-name=\"Slovenian\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/sl.xml -->\n<!-- * -->\n<!-- * E-mail the edited sl.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Povzetek\"/>\n<l:gentext key=\"abstract\" text=\"Povzetek\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"O:\"/>\n<l:gentext key=\"answer\" text=\"O:\"/>\n<l:gentext key=\"Appendix\" text=\"Dodatek\"/>\n<l:gentext key=\"appendix\" text=\"dodatek\"/>\n<l:gentext key=\"Article\" text=\"Članek\"/>\n<l:gentext key=\"article\" text=\"Članek\"/>\n<l:gentext key=\"Author\" text=\"Author\" lang=\"en\"/>\n<l:gentext key=\"Bibliography\" text=\"Literatura\"/>\n<l:gentext key=\"bibliography\" text=\"Literatura\"/>\n<l:gentext key=\"Book\" text=\"Knjiga\"/>\n<l:gentext key=\"book\" text=\"Knjiga\"/>\n<l:gentext key=\"CAUTION\" text=\"OPOZORILO\"/>\n<l:gentext key=\"Caution\" text=\"Opozorilo\"/>\n<l:gentext key=\"caution\" text=\"Opozorilo\"/>\n<l:gentext key=\"Chapter\" text=\"Poglavje\"/>\n<l:gentext key=\"chapter\" text=\"poglavje\"/>\n<l:gentext key=\"Colophon\" text=\"Kolofon\"/>\n<l:gentext key=\"colophon\" text=\"Kolofon\"/>\n<l:gentext key=\"Copyright\" text=\"Pravna zaščita\"/>\n<l:gentext key=\"copyright\" text=\"Pravna zaščita\"/>\n<l:gentext key=\"Dedication\" text=\"Posvetilo\"/>\n<l:gentext key=\"dedication\" text=\"Posvetilo\"/>\n<l:gentext key=\"Edition\" text=\"Izdaja\"/>\n<l:gentext key=\"edition\" text=\"Izdaja\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Enačba\"/>\n<l:gentext key=\"equation\" text=\"Enačba\"/>\n<l:gentext key=\"Example\" text=\"Primer\"/>\n<l:gentext key=\"example\" text=\"Primer\"/>\n<l:gentext key=\"Figure\" text=\"Slika\"/>\n<l:gentext key=\"figure\" text=\"Slika\"/>\n<l:gentext key=\"Glossary\" text=\"Slovarček\"/>\n<l:gentext key=\"glossary\" text=\"Slovarček\"/>\n<l:gentext key=\"GlossSee\" text=\"glej\"/>\n<l:gentext key=\"glosssee\" text=\"glej\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"glej tudi\"/>\n<l:gentext key=\"glossseealso\" text=\"glej tudi\"/>\n<l:gentext key=\"IMPORTANT\" text=\"POMEMBNO\"/>\n<l:gentext key=\"important\" text=\"Pomembno\"/>\n<l:gentext key=\"Important\" text=\"Pomembno\"/>\n<l:gentext key=\"Index\" text=\"Stvarno kazalo\"/>\n<l:gentext key=\"index\" text=\"Stvarno kazalo\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Pravno sporočilo\"/>\n<l:gentext key=\"legalnotice\" text=\"Pravno sporočilo\"/>\n<l:gentext key=\"MsgAud\" text=\"Občinstvo\"/>\n<l:gentext key=\"msgaud\" text=\"Občinstvo\"/>\n<l:gentext key=\"MsgLevel\" text=\"Raven\"/>\n<l:gentext key=\"msglevel\" text=\"Raven\"/>\n<l:gentext key=\"MsgOrig\" text=\"Izvor\"/>\n<l:gentext key=\"msgorig\" text=\"Izvor\"/>\n<l:gentext key=\"NOTE\" text=\"OPOMBA\"/>\n<l:gentext key=\"Note\" text=\"Opomba\"/>\n<l:gentext key=\"note\" text=\"Opomba\"/>\n<l:gentext key=\"Part\" text=\"Del\"/>\n<l:gentext key=\"part\" text=\"Del\"/>\n<l:gentext key=\"Preface\" text=\"Predgovor\"/>\n<l:gentext key=\"preface\" text=\"Predgovor\"/>\n<l:gentext key=\"Procedure\" text=\"Postopek\"/>\n<l:gentext key=\"procedure\" text=\"Postopek\"/>\n<l:gentext key=\"ProductionSet\" text=\"Izdelava\"/>\n<l:gentext key=\"PubDate\" text=\"Publication Date\" lang=\"en\"/>\n<l:gentext key=\"pubdate\" text=\"Publication date\" lang=\"en\"/>\n<l:gentext key=\"Published\" text=\"Izdano\"/>\n<l:gentext key=\"published\" text=\"Izdano\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"V in O\"/>\n<l:gentext key=\"qandadiv\" text=\"V in O\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"V:\"/>\n<l:gentext key=\"question\" text=\"V:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Sklic\"/>\n<l:gentext key=\"reference\" text=\"Sklic\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Ime\"/>\n<l:gentext key=\"refname\" text=\"Ime\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Sinopsis\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Sinopsis\"/>\n<l:gentext key=\"RevHistory\" text=\"Zgodovina različic\"/>\n<l:gentext key=\"revhistory\" text=\"Zgodovina različic\"/>\n<l:gentext key=\"revision\" text=\"Različica\"/>\n<l:gentext key=\"Revision\" text=\"Različica\"/>\n<l:gentext key=\"sect1\" text=\"Razdelek\"/>\n<l:gentext key=\"sect2\" text=\"Razdelek\"/>\n<l:gentext key=\"sect3\" text=\"Razdelek\"/>\n<l:gentext key=\"sect4\" text=\"Razdelek\"/>\n<l:gentext key=\"sect5\" text=\"Razdelek\"/>\n<l:gentext key=\"section\" text=\"razdelek\"/>\n<l:gentext key=\"Section\" text=\"Razdelek\"/>\n<l:gentext key=\"see\" text=\"glej\"/>\n<l:gentext key=\"See\" text=\"glej\"/>\n<l:gentext key=\"seealso\" text=\"glej tudi\"/>\n<l:gentext key=\"Seealso\" text=\"Glej tudi\"/>\n<l:gentext key=\"SeeAlso\" text=\"glej tudi\"/>\n<l:gentext key=\"set\" text=\"Postavi\"/>\n<l:gentext key=\"Set\" text=\"Postavi\"/>\n<l:gentext key=\"setindex\" text=\"Postavi stvarno kazalo\"/>\n<l:gentext key=\"SetIndex\" text=\"Postavi stvarno kazalo\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"sidebar\"/>\n<l:gentext key=\"step\" text=\"korak\"/>\n<l:gentext key=\"Step\" text=\"Korak\"/>\n<l:gentext key=\"table\" text=\"Tabela\"/>\n<l:gentext key=\"Table\" text=\"Tabela\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"Namig\"/>\n<l:gentext key=\"TIP\" text=\"NAMIG\"/>\n<l:gentext key=\"Tip\" text=\"Namig\"/>\n<l:gentext key=\"Warning\" text=\"Pozor\"/>\n<l:gentext key=\"warning\" text=\"Pozor\"/>\n<l:gentext key=\"WARNING\" text=\"POZOR\"/>\n<l:gentext key=\"and\" text=\"in\"/>\n<l:gentext key=\"or\" text=\"ali\"/>\n<l:gentext key=\"by\" text=\"od\"/>\n<l:gentext key=\"Edited\" text=\"Urejeno\"/>\n<l:gentext key=\"edited\" text=\"Urejeno\"/>\n<l:gentext key=\"Editedby\" text=\"Uredil\"/>\n<l:gentext key=\"editedby\" text=\"Uredil\"/>\n<l:gentext key=\"in\" text=\"v\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Notes\"/>\n<l:gentext key=\"Notes\" text=\"Notes\"/>\n<l:gentext key=\"Pgs\" text=\"Str.\"/>\n<l:gentext key=\"pgs\" text=\"Str.\"/>\n<l:gentext key=\"Revisedby\" text=\"Pregledal: \"/>\n<l:gentext key=\"revisedby\" text=\"Pregledal: \"/>\n<l:gentext key=\"TableNotes\" text=\"Notes\"/>\n<l:gentext key=\"tablenotes\" text=\"Notes\"/>\n<l:gentext key=\"TableofContents\" text=\"Kazalo\"/>\n<l:gentext key=\"tableofcontents\" text=\"Kazalo\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Nepričakovano ime elementa\"/>\n<l:gentext key=\"unsupported\" text=\"nepodprto\"/>\n<l:gentext key=\"xrefto\" text=\"xref na\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"Seznam enačb\"/>\n<l:gentext key=\"ListofEquations\" text=\"Seznam enačb\"/>\n<l:gentext key=\"ListofExamples\" text=\"Seznam primerov\"/>\n<l:gentext key=\"listofexamples\" text=\"Seznam primerov\"/>\n<l:gentext key=\"ListofFigures\" text=\"Seznam slik\"/>\n<l:gentext key=\"listoffigures\" text=\"Seznam slik\"/>\n<l:gentext key=\"ListofProcedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listofprocedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listoftables\" text=\"Seznam tabel\"/>\n<l:gentext key=\"ListofTables\" text=\"Seznam tabel\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Seznam neznanih stvari\"/>\n<l:gentext key=\"listofunknown\" text=\"Seznam neznanih stvari\"/>\n<l:gentext key=\"nav-home\" text=\"Domov\"/>\n<l:gentext key=\"nav-next\" text=\"Naprej\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Hitro naprej\"/>\n<l:gentext key=\"nav-prev\" text=\"Nazaj\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Hitro nazaj\"/>\n<l:gentext key=\"nav-up\" text=\"Gor\"/>\n<l:gentext key=\"nav-toc\" text=\"ToC\" lang=\"en\"/>\n<l:gentext key=\"Draft\" text=\"Draft\"/>\n<l:gentext key=\"above\" text=\"above\"/>\n<l:gentext key=\"below\" text=\"below\"/>\n<l:gentext key=\"sectioncalled\" text=\"razdelek, imenovan\"/>\n<l:gentext key=\"index symbols\" text=\"Simboli\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcčdefghijklmnopqrsštuvwxyzž\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCČDEFGHIJKLMNOPQRSŠTUVWXYZŽ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Dodatek %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Poglavje %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Enačba %n. %t\"/>\n<l:template name=\"example\" text=\"Primer %n. %t\"/>\n<l:template name=\"figure\" text=\"Slika %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Del %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Postopek %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Izdelava %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabela %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Dodatek %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Poglavje %n. %t\"/>\n<l:template name=\"part\" text=\"Del %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"O: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"V: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"V: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"“%t”\"/>\n<l:template name=\"refsection\" text=\"“%t”\"/>\n<l:template name=\"refsect1\" text=\"“%t”\"/>\n<l:template name=\"refsect2\" text=\"“%t”\"/>\n<l:template name=\"refsect3\" text=\"“%t”\"/>\n<l:template name=\"sect1\" text=\"“%t”\"/>\n<l:template name=\"sect2\" text=\"“%t”\"/>\n<l:template name=\"sect3\" text=\"“%t”\"/>\n<l:template name=\"sect4\" text=\"“%t”\"/>\n<l:template name=\"sect5\" text=\"“%t”\"/>\n<l:template name=\"section\" text=\"“%t”\"/>\n<l:template name=\"simplesect\" text=\"“%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"O: %n\"/>\n<l:template name=\"appendix\" text=\"Dodatek %n\"/>\n<l:template name=\"bridgehead\" text=\"Razdelek %n\"/>\n<l:template name=\"chapter\" text=\"Poglavje %n\"/>\n<l:template name=\"equation\" text=\"Enačba %n\"/>\n<l:template name=\"example\" text=\"Primer %n\"/>\n<l:template name=\"figure\" text=\"Slika %n\"/>\n<l:template name=\"part\" text=\"Del %n\"/>\n<l:template name=\"procedure\" text=\"Postopek %n\"/>\n<l:template name=\"productionset\" text=\"Izdelava %n\"/>\n<l:template name=\"qandadiv\" text=\"V in O %n\"/>\n<l:template name=\"qandaentry\" text=\"V: %n\"/>\n<l:template name=\"question\" text=\"V: %n\"/>\n<l:template name=\"sect1\" text=\"Razdelek %n\"/>\n<l:template name=\"sect2\" text=\"Razdelek %n\"/>\n<l:template name=\"sect3\" text=\"Razdelek %n\"/>\n<l:template name=\"sect4\" text=\"Razdelek %n\"/>\n<l:template name=\"sect5\" text=\"Razdelek %n\"/>\n<l:template name=\"section\" text=\"Razdelek %n\"/>\n<l:template name=\"table\" text=\"Tabela %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Dodatek %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Razdelek %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Poglavje %n, %t\"/>\n<l:template name=\"equation\" text=\"Enačba %n, “%t”\"/>\n<l:template name=\"example\" text=\"Primer %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Slika %n, “%t”\"/>\n<l:template name=\"part\" text=\"Del %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Postopek %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Izdelava %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"V in O %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"razdelek, imenovan “%t”\"/>\n<l:template name=\"refsect2\" text=\"razdelek, imenovan “%t”\"/>\n<l:template name=\"refsect3\" text=\"razdelek, imenovan “%t”\"/>\n<l:template name=\"refsection\" text=\"razdelek, imenovan “%t”\"/>\n<l:template name=\"sect1\" text=\"Razdelek %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Razdelek %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Razdelek %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Razdelek %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Razdelek %n, “%t”\"/>\n<l:template name=\"section\" text=\"Razdelek %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"razdelek, imenovan “%t”\"/>\n<l:template name=\"table\" text=\"Tabela %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" in \"/>\n<l:template name=\"seplast\" text=\", in \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"glej %t.\"/>\n<l:template name=\"seealso\" text=\"glej tudi %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Občinstvo: \"/>\n<l:template name=\"MsgLevel\" text=\"Raven: \"/>\n<l:template name=\"MsgOrig\" text=\"Izvor: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\" lang=\"en\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"January\" lang=\"en\"/>\n<l:template name=\"February\" text=\"February\" lang=\"en\"/>\n<l:template name=\"March\" text=\"March\" lang=\"en\"/>\n<l:template name=\"April\" text=\"April\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"June\" text=\"June\" lang=\"en\"/>\n<l:template name=\"July\" text=\"July\" lang=\"en\"/>\n<l:template name=\"August\" text=\"August\" lang=\"en\"/>\n<l:template name=\"September\" text=\"September\" lang=\"en\"/>\n<l:template name=\"October\" text=\"October\" lang=\"en\"/>\n<l:template name=\"November\" text=\"November\" lang=\"en\"/>\n<l:template name=\"December\" text=\"December\" lang=\"en\"/>\n<l:template name=\"Monday\" text=\"Monday\" lang=\"en\"/>\n<l:template name=\"Tuesday\" text=\"Tuesday\" lang=\"en\"/>\n<l:template name=\"Wednesday\" text=\"Wednesday\" lang=\"en\"/>\n<l:template name=\"Thursday\" text=\"Thursday\" lang=\"en\"/>\n<l:template name=\"Friday\" text=\"Friday\" lang=\"en\"/>\n<l:template name=\"Saturday\" text=\"Saturday\" lang=\"en\"/>\n<l:template name=\"Sunday\" text=\"Sunday\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\" lang=\"en\"/>\n<l:template name=\"Feb\" text=\"Feb\" lang=\"en\"/>\n<l:template name=\"Mar\" text=\"Mar\" lang=\"en\"/>\n<l:template name=\"Apr\" text=\"Apr\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"Jun\" text=\"Jun\" lang=\"en\"/>\n<l:template name=\"Jul\" text=\"Jul\" lang=\"en\"/>\n<l:template name=\"Aug\" text=\"Aug\" lang=\"en\"/>\n<l:template name=\"Sep\" text=\"Sep\" lang=\"en\"/>\n<l:template name=\"Oct\" text=\"Oct\" lang=\"en\"/>\n<l:template name=\"Nov\" text=\"Nov\" lang=\"en\"/>\n<l:template name=\"Dec\" text=\"Dec\" lang=\"en\"/>\n<l:template name=\"Mon\" text=\"Mon\" lang=\"en\"/>\n<l:template name=\"Tue\" text=\"Tue\" lang=\"en\"/>\n<l:template name=\"Wed\" text=\"Wed\" lang=\"en\"/>\n<l:template name=\"Thu\" text=\"Thu\" lang=\"en\"/>\n<l:template name=\"Fri\" text=\"Fri\" lang=\"en\"/>\n<l:template name=\"Sat\" text=\"Sat\" lang=\"en\"/>\n<l:template name=\"Sun\" text=\"Sun\" lang=\"en\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0424 Slovenian\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters lang=\"en\"><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/sq.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"sq\" english-language-name=\"Albanian\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/sq.xml -->\n<!-- * -->\n<!-- * E-mail the edited sq.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Përshkrimi\"/>\n<l:gentext key=\"abstract\" text=\"Përshkrimi\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"P:\"/>\n<l:gentext key=\"answer\" text=\"P:\"/>\n<l:gentext key=\"Appendix\" text=\"Shtesë\"/>\n<l:gentext key=\"appendix\" text=\"Shtesë\"/>\n<l:gentext key=\"Article\" text=\"Artikull\"/>\n<l:gentext key=\"article\" text=\"Artikull\"/>\n<l:gentext key=\"Author\" text=\"Autorë\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografia\"/>\n<l:gentext key=\"bibliography\" text=\"Bibliografia\"/>\n<l:gentext key=\"Book\" text=\"Libri\"/>\n<l:gentext key=\"book\" text=\"Libri\"/>\n<l:gentext key=\"CAUTION\" text=\"KUJDES\"/>\n<l:gentext key=\"Caution\" text=\"Kujdes\"/>\n<l:gentext key=\"caution\" text=\"Kujdes\"/>\n<l:gentext key=\"Chapter\" text=\"Kapitulli\"/>\n<l:gentext key=\"chapter\" text=\"kapitulli\"/>\n<l:gentext key=\"Colophon\" text=\"Shënime publikimi\"/>\n<l:gentext key=\"colophon\" text=\"shënime publikimi\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"Copyright\"/>\n<l:gentext key=\"Dedication\" text=\"Përkushtim\"/>\n<l:gentext key=\"dedication\" text=\"Përkushtim\"/>\n<l:gentext key=\"Edition\" text=\"Versioni\"/>\n<l:gentext key=\"edition\" text=\"Versioni\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Ekuacion\"/>\n<l:gentext key=\"equation\" text=\"Ekuacion\"/>\n<l:gentext key=\"Example\" text=\"Shembull\"/>\n<l:gentext key=\"example\" text=\"Shembull\"/>\n<l:gentext key=\"Figure\" text=\"Figura\"/>\n<l:gentext key=\"figure\" text=\"Figura\"/>\n<l:gentext key=\"Glossary\" text=\"Fjalori\"/>\n<l:gentext key=\"glossary\" text=\"Fjalori\"/>\n<l:gentext key=\"GlossSee\" text=\"Shiko\"/>\n<l:gentext key=\"glosssee\" text=\"Shiko\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Shiko Edhe\"/>\n<l:gentext key=\"glossseealso\" text=\"Shiko Edhe\"/>\n<l:gentext key=\"IMPORTANT\" text=\"ME RËNDËSI\"/>\n<l:gentext key=\"important\" text=\"Me rëndësi\"/>\n<l:gentext key=\"Important\" text=\"Me rëndësi\"/>\n<l:gentext key=\"Index\" text=\"Treguesi\"/>\n<l:gentext key=\"index\" text=\"Treguesi\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Shënime Legale\"/>\n<l:gentext key=\"legalnotice\" text=\"Shënime Legale\"/>\n<l:gentext key=\"MsgAud\" text=\"Publiku\"/>\n<l:gentext key=\"msgaud\" text=\"Publiku\"/>\n<l:gentext key=\"MsgLevel\" text=\"Niveli\"/>\n<l:gentext key=\"msglevel\" text=\"Niveli\"/>\n<l:gentext key=\"MsgOrig\" text=\"Origjina\"/>\n<l:gentext key=\"msgorig\" text=\"Origjina\"/>\n<l:gentext key=\"NOTE\" text=\"SHËNIM\"/>\n<l:gentext key=\"Note\" text=\"Shënim\"/>\n<l:gentext key=\"note\" text=\"Shënim\"/>\n<l:gentext key=\"Part\" text=\"Pjesa\"/>\n<l:gentext key=\"part\" text=\"Pjesa\"/>\n<l:gentext key=\"Preface\" text=\"Parathënie\"/>\n<l:gentext key=\"preface\" text=\"Parathënie\"/>\n<l:gentext key=\"Procedure\" text=\"Proçedura\"/>\n<l:gentext key=\"procedure\" text=\"Proçedura\"/>\n<l:gentext key=\"ProductionSet\" text=\"Prodhimi\"/>\n<l:gentext key=\"PubDate\" text=\"Data Publikimit\"/>\n<l:gentext key=\"pubdate\" text=\"Data e publikimit\"/>\n<l:gentext key=\"Published\" text=\"Publikuar\"/>\n<l:gentext key=\"published\" text=\"Publikuar\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"P &amp; P\"/>\n<l:gentext key=\"qandadiv\" text=\"P &amp; P\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"Q:\"/>\n<l:gentext key=\"question\" text=\"Q:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Riferim\"/>\n<l:gentext key=\"reference\" text=\"Riferim\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Emri\"/>\n<l:gentext key=\"refname\" text=\"Emri\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Përshkrimi\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Përshkrimi\"/>\n<l:gentext key=\"RevHistory\" text=\"Ditari i Revizioneve\"/>\n<l:gentext key=\"revhistory\" text=\"Ditari i Revizioneve\"/>\n<l:gentext key=\"revision\" text=\"Revizioni\"/>\n<l:gentext key=\"Revision\" text=\"Revizioni\"/>\n<l:gentext key=\"sect1\" text=\"Seksioni\"/>\n<l:gentext key=\"sect2\" text=\"Seksioni\"/>\n<l:gentext key=\"sect3\" text=\"Seksioni\"/>\n<l:gentext key=\"sect4\" text=\"Seksioni\"/>\n<l:gentext key=\"sect5\" text=\"Seksioni\"/>\n<l:gentext key=\"section\" text=\"Seksioni\"/>\n<l:gentext key=\"Section\" text=\"Seksioni\"/>\n<l:gentext key=\"see\" text=\"shiko\"/>\n<l:gentext key=\"See\" text=\"Shiko\"/>\n<l:gentext key=\"seealso\" text=\"shiko gjithashtu\"/>\n<l:gentext key=\"Seealso\" text=\"Shiko gjithashtu\"/>\n<l:gentext key=\"SeeAlso\" text=\"Shiko Gjithashtu\"/>\n<l:gentext key=\"set\" text=\"Përmbledhje\"/>\n<l:gentext key=\"Set\" text=\"Përmbledhje\"/>\n<l:gentext key=\"setindex\" text=\"Treguesi i Përmbledhjes\"/>\n<l:gentext key=\"SetIndex\" text=\"Treguesi i Përmbledhjes\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"shënim anësor\"/>\n<l:gentext key=\"step\" text=\"hapi\"/>\n<l:gentext key=\"Step\" text=\"Hapi\"/>\n<l:gentext key=\"table\" text=\"Tabela\"/>\n<l:gentext key=\"Table\" text=\"Tabela\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"Propozim\"/>\n<l:gentext key=\"TIP\" text=\"PROPOZIM\"/>\n<l:gentext key=\"Tip\" text=\"Propozim\"/>\n<l:gentext key=\"Warning\" text=\"Paralajmërim\"/>\n<l:gentext key=\"warning\" text=\"Paralajmërim\"/>\n<l:gentext key=\"WARNING\" text=\"PARALAJMËRIM\"/>\n<l:gentext key=\"and\" text=\"dhe\"/>\n<l:gentext key=\"or\" text=\"ose\"/>\n<l:gentext key=\"by\" text=\"nga\"/>\n<l:gentext key=\"Edited\" text=\"Shkruar\"/>\n<l:gentext key=\"edited\" text=\"Shkruar\"/>\n<l:gentext key=\"Editedby\" text=\"Shkruar nga\"/>\n<l:gentext key=\"editedby\" text=\"Shkruar nga\"/>\n<l:gentext key=\"in\" text=\"në\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Shënime\"/>\n<l:gentext key=\"Notes\" text=\"Shënime\"/>\n<l:gentext key=\"Pgs\" text=\"Fq.\"/>\n<l:gentext key=\"pgs\" text=\"Fq.\"/>\n<l:gentext key=\"Revisedby\" text=\"Rishikuar nga: \"/>\n<l:gentext key=\"revisedby\" text=\"Rishikuar nga: \"/>\n<l:gentext key=\"TableNotes\" text=\"Shënime\"/>\n<l:gentext key=\"tablenotes\" text=\"Shënime\"/>\n<l:gentext key=\"TableofContents\" text=\"Tabela e përmbajtjes\"/>\n<l:gentext key=\"tableofcontents\" text=\"Tabela e Përmbajtjes\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Emër i papritur elementi\"/>\n<l:gentext key=\"unsupported\" text=\"nuk suportohet\"/>\n<l:gentext key=\"xrefto\" text=\"riferiment me\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"Lista e Ekuacioneve\"/>\n<l:gentext key=\"ListofEquations\" text=\"Lista e Ekuacioneve\"/>\n<l:gentext key=\"ListofExamples\" text=\"Lista e Shembujve\"/>\n<l:gentext key=\"listofexamples\" text=\"Lista e Shembujve\"/>\n<l:gentext key=\"ListofFigures\" text=\"Lista e Figurave\"/>\n<l:gentext key=\"listoffigures\" text=\"Lista e Figurave\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Lista e Proçedurave\"/>\n<l:gentext key=\"listofprocedures\" text=\"Lista e Proçedurave\"/>\n<l:gentext key=\"listoftables\" text=\"Lista e Tabelave\"/>\n<l:gentext key=\"ListofTables\" text=\"Lista e Tabelave\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Lista e të Panjohurave\"/>\n<l:gentext key=\"listofunknown\" text=\"Lista e të Panjohurave\"/>\n<l:gentext key=\"nav-home\" text=\"Fillimi\"/>\n<l:gentext key=\"nav-next\" text=\"Vazhdo\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Para me Shpejtësi\"/>\n<l:gentext key=\"nav-prev\" text=\"Mbrapa\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Mbrapsht me Shpejtësi\"/>\n<l:gentext key=\"nav-up\" text=\"Sipër\"/>\n<l:gentext key=\"nav-toc\" text=\"TeP\"/>\n<l:gentext key=\"Draft\" text=\"Kopje prove\"/>\n<l:gentext key=\"above\" text=\"sipër\"/>\n<l:gentext key=\"below\" text=\"poshtë\"/>\n<l:gentext key=\"sectioncalled\" text=\"seksioni i quajtur\"/>\n<l:gentext key=\"index symbols\" text=\"Simbole\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Shtesë %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Kapitulli %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Ekuacion %n. %t\"/>\n<l:template name=\"example\" text=\"Shembull %n. %t\"/>\n<l:template name=\"figure\" text=\"Figura %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Pjesa %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Proçedura %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Prodhimi %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabela %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Shtesë %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Kapitulli %n. %t\"/>\n<l:template name=\"part\" text=\"Pjesa %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"P: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Q: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Q: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"seksioni i quajtur “%t”\"/>\n<l:template name=\"refsection\" text=\"seksioni i quajtur “%t”\"/>\n<l:template name=\"refsect1\" text=\"seksioni i quajtur “%t”\"/>\n<l:template name=\"refsect2\" text=\"seksioni i quajtur “%t”\"/>\n<l:template name=\"refsect3\" text=\"seksioni i quajtur “%t”\"/>\n<l:template name=\"sect1\" text=\"seksioni i quajtur “%t”\"/>\n<l:template name=\"sect2\" text=\"seksioni i quajtur “%t”\"/>\n<l:template name=\"sect3\" text=\"seksioni i quajtur “%t”\"/>\n<l:template name=\"sect4\" text=\"seksioni i quajtur “%t”\"/>\n<l:template name=\"sect5\" text=\"seksioni i quajtur “%t”\"/>\n<l:template name=\"section\" text=\"seksioni i quajtur “%t”\"/>\n<l:template name=\"simplesect\" text=\"seksioni i quajtur “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"P: %n\"/>\n<l:template name=\"appendix\" text=\"Shtesë %n\"/>\n<l:template name=\"bridgehead\" text=\"Seksioni %n\"/>\n<l:template name=\"chapter\" text=\"Kapitulli %n\"/>\n<l:template name=\"equation\" text=\"Ekuacion %n\"/>\n<l:template name=\"example\" text=\"Shembull %n\"/>\n<l:template name=\"figure\" text=\"Figura %n\"/>\n<l:template name=\"part\" text=\"Pjesa %n\"/>\n<l:template name=\"procedure\" text=\"Proçedura %n\"/>\n<l:template name=\"productionset\" text=\"Prodhimi %n\"/>\n<l:template name=\"qandadiv\" text=\"P &amp; P %n\"/>\n<l:template name=\"qandaentry\" text=\"Q: %n\"/>\n<l:template name=\"question\" text=\"Q: %n\"/>\n<l:template name=\"sect1\" text=\"Seksioni %n\"/>\n<l:template name=\"sect2\" text=\"Seksioni %n\"/>\n<l:template name=\"sect3\" text=\"Seksioni %n\"/>\n<l:template name=\"sect4\" text=\"Seksioni %n\"/>\n<l:template name=\"sect5\" text=\"Seksioni %n\"/>\n<l:template name=\"section\" text=\"Seksioni %n\"/>\n<l:template name=\"table\" text=\"Tabela %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Shtesë %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Seksioni %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Kapitulli %n, %t\"/>\n<l:template name=\"equation\" text=\"Ekuacion %n, “%t”\"/>\n<l:template name=\"example\" text=\"Shembull %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Figura %n, “%t”\"/>\n<l:template name=\"part\" text=\"Pjesa %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Proçedura %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Prodhimi %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"P &amp; P %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"seksioni i quajtur “%t”\"/>\n<l:template name=\"refsect2\" text=\"seksioni i quajtur “%t”\"/>\n<l:template name=\"refsect3\" text=\"seksioni i quajtur “%t”\"/>\n<l:template name=\"refsection\" text=\"seksioni i quajtur “%t”\"/>\n<l:template name=\"sect1\" text=\"Seksioni %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Seksioni %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Seksioni %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Seksioni %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Seksioni %n, “%t”\"/>\n<l:template name=\"section\" text=\"Seksioni %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"seksioni i quajtur “%t”\"/>\n<l:template name=\"table\" text=\"Tabela %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" dhe \"/>\n<l:template name=\"seplast\" text=\", dhe \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Shiko %t.\"/>\n<l:template name=\"seealso\" text=\"Shiko Edhe %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Publiku: \"/>\n<l:template name=\"MsgLevel\" text=\"Niveli: \"/>\n<l:template name=\"MsgOrig\" text=\"Origjina: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Janar\"/>\n<l:template name=\"February\" text=\"Shkurt\"/>\n<l:template name=\"March\" text=\"Mars\"/>\n<l:template name=\"April\" text=\"Prill\"/>\n<l:template name=\"May\" text=\"Maj\"/>\n<l:template name=\"June\" text=\"Qershor\"/>\n<l:template name=\"July\" text=\"Korrik\"/>\n<l:template name=\"August\" text=\"Gusht\"/>\n<l:template name=\"September\" text=\"Shtator\"/>\n<l:template name=\"October\" text=\"Tetor\"/>\n<l:template name=\"November\" text=\"Nëntor\"/>\n<l:template name=\"December\" text=\"Dhjetor\"/>\n<l:template name=\"Monday\" text=\"E hënë\"/>\n<l:template name=\"Tuesday\" text=\"E martë\"/>\n<l:template name=\"Wednesday\" text=\"E mërkurë\"/>\n<l:template name=\"Thursday\" text=\"E enjte\"/>\n<l:template name=\"Friday\" text=\"E premte\"/>\n<l:template name=\"Saturday\" text=\"E shtunë\"/>\n<l:template name=\"Sunday\" text=\"E djelë\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\"/>\n<l:template name=\"Feb\" text=\"Shk\"/>\n<l:template name=\"Mar\" text=\"Mar\"/>\n<l:template name=\"Apr\" text=\"Pri\"/>\n<l:template name=\"May\" text=\"Maj\"/>\n<l:template name=\"Jun\" text=\"Qer\"/>\n<l:template name=\"Jul\" text=\"Kor\"/>\n<l:template name=\"Aug\" text=\"Gsh\"/>\n<l:template name=\"Sep\" text=\"Sht\"/>\n<l:template name=\"Oct\" text=\"Tet\"/>\n<l:template name=\"Nov\" text=\"Nën\"/>\n<l:template name=\"Dec\" text=\"Dhj\"/>\n<l:template name=\"Mon\" text=\"Hën\"/>\n<l:template name=\"Tue\" text=\"Mar\"/>\n<l:template name=\"Wed\" text=\"Mër\"/>\n<l:template name=\"Thu\" text=\"Enj\"/>\n<l:template name=\"Fri\" text=\"Pre\"/>\n<l:template name=\"Sat\" text=\"Sht\"/>\n<l:template name=\"Sun\" text=\"Dje\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x041c Albanian (ALBANIA)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters lang=\"en\"><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/sr.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"sr\" english-language-name=\"Serbian in Cyrillic script\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/sr.xml -->\n<!-- * -->\n<!-- * E-mail the edited sr.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Сажетак\"/>\n<l:gentext key=\"abstract\" text=\"сажетак\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Признања\"/>\n<l:gentext key=\"acknowledgements\" text=\"признања\"/>\n<l:gentext key=\"Answer\" text=\"О:\"/>\n<l:gentext key=\"answer\" text=\"о:\"/>\n<l:gentext key=\"Appendix\" text=\"Додатак\"/>\n<l:gentext key=\"appendix\" text=\"додатак\"/>\n<l:gentext key=\"Article\" text=\"Чланак\"/>\n<l:gentext key=\"article\" text=\"чланак\"/>\n<l:gentext key=\"Author\" text=\"Аутор\"/>\n<l:gentext key=\"Bibliography\" text=\"Литература\"/>\n<l:gentext key=\"bibliography\" text=\"литература\"/>\n<l:gentext key=\"Book\" text=\"Књига\"/>\n<l:gentext key=\"book\" text=\"књига\"/>\n<l:gentext key=\"CAUTION\" text=\"УПОЗОРЕЊЕ\"/>\n<l:gentext key=\"Caution\" text=\"Упозорење\"/>\n<l:gentext key=\"caution\" text=\"упозорење\"/>\n<l:gentext key=\"Chapter\" text=\"Поглавље\"/>\n<l:gentext key=\"chapter\" text=\"поглавље\"/>\n<l:gentext key=\"Colophon\" text=\"Колофон\"/>\n<l:gentext key=\"colophon\" text=\"колофон\"/>\n<l:gentext key=\"Copyright\" text=\"Ауторска права\"/>\n<l:gentext key=\"copyright\" text=\"ауторска права\"/>\n<l:gentext key=\"Dedication\" text=\"Посвета\"/>\n<l:gentext key=\"dedication\" text=\"посвета\"/>\n<l:gentext key=\"Edition\" text=\"Издање\"/>\n<l:gentext key=\"edition\" text=\"издање\"/>\n<l:gentext key=\"Editor\" text=\"Уредник\"/>\n<l:gentext key=\"Equation\" text=\"Једначина\"/>\n<l:gentext key=\"equation\" text=\"једначина\"/>\n<l:gentext key=\"Example\" text=\"Пример\"/>\n<l:gentext key=\"example\" text=\"пример\"/>\n<l:gentext key=\"Figure\" text=\"Слика\"/>\n<l:gentext key=\"figure\" text=\"слика\"/>\n<l:gentext key=\"Glossary\" text=\"Речник\"/>\n<l:gentext key=\"glossary\" text=\"речник\"/>\n<l:gentext key=\"GlossSee\" text=\"Види\"/>\n<l:gentext key=\"glosssee\" text=\"види\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Види такође\"/>\n<l:gentext key=\"glossseealso\" text=\"види такође\"/>\n<l:gentext key=\"IMPORTANT\" text=\"ВАЖНО\"/>\n<l:gentext key=\"important\" text=\"важно\"/>\n<l:gentext key=\"Important\" text=\"Важно\"/>\n<l:gentext key=\"Index\" text=\"Индекс\"/>\n<l:gentext key=\"index\" text=\"индекс\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Правна напомена\"/>\n<l:gentext key=\"legalnotice\" text=\"правна напомена\"/>\n<l:gentext key=\"MsgAud\" text=\"Публика\"/>\n<l:gentext key=\"msgaud\" text=\"публика\"/>\n<l:gentext key=\"MsgLevel\" text=\"Ниво\"/>\n<l:gentext key=\"msglevel\" text=\"ниво\"/>\n<l:gentext key=\"MsgOrig\" text=\"Извор\"/>\n<l:gentext key=\"msgorig\" text=\"извор\"/>\n<l:gentext key=\"NOTE\" text=\"ПРИМЕДБА\"/>\n<l:gentext key=\"Note\" text=\"Примедба\"/>\n<l:gentext key=\"note\" text=\"примедба\"/>\n<l:gentext key=\"Part\" text=\"Део\"/>\n<l:gentext key=\"part\" text=\"део\"/>\n<l:gentext key=\"Preface\" text=\"Предговор\"/>\n<l:gentext key=\"preface\" text=\"предговор\"/>\n<l:gentext key=\"Procedure\" text=\"Поступак\"/>\n<l:gentext key=\"procedure\" text=\"поступак\"/>\n<l:gentext key=\"ProductionSet\" text=\"Продукција\"/>\n<l:gentext key=\"PubDate\" text=\"Датум издавања\"/>\n<l:gentext key=\"pubdate\" text=\"датум издавања\"/>\n<l:gentext key=\"Published\" text=\"Издано\"/>\n<l:gentext key=\"published\" text=\"издано\"/>\n<l:gentext key=\"Publisher\" text=\"Издавач\"/>\n<l:gentext key=\"Qandadiv\" text=\"П и О\"/>\n<l:gentext key=\"qandadiv\" text=\"п и о\"/>\n<l:gentext key=\"QandASet\" text=\"Често постављана питања\"/>\n<l:gentext key=\"Question\" text=\"П:\"/>\n<l:gentext key=\"question\" text=\"п:\"/>\n<l:gentext key=\"RefEntry\" text=\"Страница\"/>\n<l:gentext key=\"refentry\" text=\"страница\"/>\n<l:gentext key=\"Reference\" text=\"Референца\"/>\n<l:gentext key=\"reference\" text=\"референца\"/>\n<l:gentext key=\"References\" text=\"Референце\"/>\n<l:gentext key=\"RefName\" text=\"Име\"/>\n<l:gentext key=\"refname\" text=\"име\"/>\n<l:gentext key=\"RefSection\" text=\"Одељак\"/>\n<l:gentext key=\"refsection\" text=\"одељак\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Преглед\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"преглед\"/>\n<l:gentext key=\"RevHistory\" text=\"Историја ревизија\"/>\n<l:gentext key=\"revhistory\" text=\"историја ревизија\"/>\n<l:gentext key=\"revision\" text=\"ревизија\"/>\n<l:gentext key=\"Revision\" text=\"Ревизија\"/>\n<l:gentext key=\"sect1\" text=\"Одељак\"/>\n<l:gentext key=\"sect2\" text=\"Одељак\"/>\n<l:gentext key=\"sect3\" text=\"Одељак\"/>\n<l:gentext key=\"sect4\" text=\"Одељак\"/>\n<l:gentext key=\"sect5\" text=\"Одељак\"/>\n<l:gentext key=\"section\" text=\"одељак\"/>\n<l:gentext key=\"Section\" text=\"Одељак\"/>\n<l:gentext key=\"see\" text=\"види\"/>\n<l:gentext key=\"See\" text=\"Види\"/>\n<l:gentext key=\"seealso\" text=\"види такође\"/>\n<l:gentext key=\"Seealso\" text=\"Види такође\"/>\n<l:gentext key=\"SeeAlso\" text=\"Види такође\"/>\n<l:gentext key=\"set\" text=\"скуп\"/>\n<l:gentext key=\"Set\" text=\"Скуп\"/>\n<l:gentext key=\"setindex\" text=\"индекс скупа\"/>\n<l:gentext key=\"SetIndex\" text=\"Индекс скупа\"/>\n<l:gentext key=\"Sidebar\" text=\"Бочна трака\"/>\n<l:gentext key=\"sidebar\" text=\"бочна трака\"/>\n<l:gentext key=\"step\" text=\"корак\"/>\n<l:gentext key=\"Step\" text=\"Корак\"/>\n<l:gentext key=\"table\" text=\"табела\"/>\n<l:gentext key=\"Table\" text=\"Табела\"/>\n<l:gentext key=\"task\" text=\"задатак\"/>\n<l:gentext key=\"Task\" text=\"Задатак\"/>\n<l:gentext key=\"tip\" text=\"савет\"/>\n<l:gentext key=\"TIP\" text=\"САВЕТ\"/>\n<l:gentext key=\"Tip\" text=\"Савет\"/>\n<l:gentext key=\"Warning\" text=\"Упозорење\"/>\n<l:gentext key=\"warning\" text=\"упозорење\"/>\n<l:gentext key=\"WARNING\" text=\"УПОЗОРЕЊЕ\"/>\n<l:gentext key=\"and\" text=\"и\"/>\n<l:gentext key=\"or\" text=\"или\"/>\n<l:gentext key=\"by\" text=\"од\"/>\n<l:gentext key=\"Edited\" text=\"Уређено\"/>\n<l:gentext key=\"edited\" text=\"уређено\"/>\n<l:gentext key=\"Editedby\" text=\"Уредио(ла)\"/>\n<l:gentext key=\"editedby\" text=\"Уредио(ла)\"/>\n<l:gentext key=\"in\" text=\"у\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"примедбе\"/>\n<l:gentext key=\"Notes\" text=\"Примедбе\"/>\n<l:gentext key=\"Pgs\" text=\"Стр.\"/>\n<l:gentext key=\"pgs\" text=\"стр.\"/>\n<l:gentext key=\"Revisedby\" text=\"Прегледао(ла): \"/>\n<l:gentext key=\"revisedby\" text=\"прегледао(ла): \"/>\n<l:gentext key=\"TableNotes\" text=\"Примедбе\"/>\n<l:gentext key=\"tablenotes\" text=\"примедбе\"/>\n<l:gentext key=\"TableofContents\" text=\"Садржај\"/>\n<l:gentext key=\"tableofcontents\" text=\"садржај\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"неочекивано име елемента\"/>\n<l:gentext key=\"unsupported\" text=\"није подржано\"/>\n<l:gentext key=\"xrefto\" text=\"унакрсна референца на\"/>\n<l:gentext key=\"Authors\" text=\"Аутори\"/>\n<l:gentext key=\"copyeditor\" text=\"Издавачки уредник\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Графички дизајнер\"/>\n<l:gentext key=\"productioneditor\" text=\"Извршни уредник\"/>\n<l:gentext key=\"technicaleditor\" text=\"Технички уредник\"/>\n<l:gentext key=\"translator\" text=\"Преводилац\"/>\n<l:gentext key=\"listofequations\" text=\"списак једначина\"/>\n<l:gentext key=\"ListofEquations\" text=\"Списак једначина\"/>\n<l:gentext key=\"ListofExamples\" text=\"Списак примера\"/>\n<l:gentext key=\"listofexamples\" text=\"списак примера\"/>\n<l:gentext key=\"ListofFigures\" text=\"Списак слика\"/>\n<l:gentext key=\"listoffigures\" text=\"списак слика\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Списак поступака\"/>\n<l:gentext key=\"listofprocedures\" text=\"списак поступака\"/>\n<l:gentext key=\"listoftables\" text=\"списак табела\"/>\n<l:gentext key=\"ListofTables\" text=\"Списак табела\"/>\n<l:gentext key=\"ListofUnknown\" text=\"списак непознатих\"/>\n<l:gentext key=\"listofunknown\" text=\"Списак непознатих\"/>\n<l:gentext key=\"nav-home\" text=\"Почетак\"/>\n<l:gentext key=\"nav-next\" text=\"Следећи\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Брзо напред\"/>\n<l:gentext key=\"nav-prev\" text=\"Претходни\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Брзо назад\"/>\n<l:gentext key=\"nav-up\" text=\"Врх\"/>\n<l:gentext key=\"nav-toc\" text=\"Садр.\"/>\n<l:gentext key=\"Draft\" text=\"Нацрт\"/>\n<l:gentext key=\"above\" text=\"изнад\"/>\n<l:gentext key=\"below\" text=\"испод\"/>\n<l:gentext key=\"sectioncalled\" text=\"одељак под именом\"/>\n<l:gentext key=\"index symbols\" text=\"Симболи\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"абвгдђежзијклљмнњопрстћуфхцчџш\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"АБВГДЂЕЖЗИЈКЛЉМНЊОПРСТЋУФХЦЧЏШ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"„\"/>\n<l:dingbat key=\"endquote\" text=\"“\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"име-презиме\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Додатак %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Поглавље %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Једначина %n. %t\"/>\n<l:template name=\"example\" text=\"Пример %n. %t\"/>\n<l:template name=\"figure\" text=\"Слика %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Део %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Поступак %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Продукција %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Табела %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Додатак %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Поглавље %n. %t\"/>\n<l:template name=\"part\" text=\"Део %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"О: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"П: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"П: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" у %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (стр. %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(страна %p)\"/>\n<l:template name=\"docname\" text=\" у %o\"/>\n<l:template name=\"docnamelong\" text=\" у документу са насловом %o\"/>\n<l:template name=\"pageabbrev\" text=\"(стр. %p)\"/>\n<l:template name=\"Page\" text=\"Страна %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"одељак под именом „%t“\"/>\n<l:template name=\"refsection\" text=\"одељак под именом „%t“\"/>\n<l:template name=\"refsect1\" text=\"одељак под именом „%t“\"/>\n<l:template name=\"refsect2\" text=\"одељак под именом „%t“\"/>\n<l:template name=\"refsect3\" text=\"одељак под именом „%t“\"/>\n<l:template name=\"sect1\" text=\"одељак под именом „%t“\"/>\n<l:template name=\"sect2\" text=\"одељак под именом „%t“\"/>\n<l:template name=\"sect3\" text=\"одељак под именом „%t“\"/>\n<l:template name=\"sect4\" text=\"одељак под именом „%t“\"/>\n<l:template name=\"sect5\" text=\"одељак под именом „%t“\"/>\n<l:template name=\"section\" text=\"одељак под именом „%t“\"/>\n<l:template name=\"simplesect\" text=\"одељак под именом „%t“\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"О: %n\"/>\n<l:template name=\"appendix\" text=\"Додатак %n\"/>\n<l:template name=\"bridgehead\" text=\"Одељак %n\"/>\n<l:template name=\"chapter\" text=\"Поглавље %n\"/>\n<l:template name=\"equation\" text=\"Једначина %n\"/>\n<l:template name=\"example\" text=\"Пример %n\"/>\n<l:template name=\"figure\" text=\"Слика %n\"/>\n<l:template name=\"part\" text=\"Део %n\"/>\n<l:template name=\"procedure\" text=\"Поступак %n\"/>\n<l:template name=\"productionset\" text=\"Продукција %n\"/>\n<l:template name=\"qandadiv\" text=\"П и О %n\"/>\n<l:template name=\"qandaentry\" text=\"П: %n\"/>\n<l:template name=\"question\" text=\"П: %n\"/>\n<l:template name=\"sect1\" text=\"Одељак %n\"/>\n<l:template name=\"sect2\" text=\"Одељак %n\"/>\n<l:template name=\"sect3\" text=\"Одељак %n\"/>\n<l:template name=\"sect4\" text=\"Одељак %n\"/>\n<l:template name=\"sect5\" text=\"Одељак %n\"/>\n<l:template name=\"section\" text=\"Одељак %n\"/>\n<l:template name=\"table\" text=\"Табела %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Додатак %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Одељак %n, „%t“\"/>\n<l:template name=\"chapter\" text=\"Поглавље %n, %t\"/>\n<l:template name=\"equation\" text=\"Једначина %n, „%t“\"/>\n<l:template name=\"example\" text=\"Пример %n, „%t“\"/>\n<l:template name=\"figure\" text=\"Слика %n, „%t“\"/>\n<l:template name=\"part\" text=\"Део %n, „%t“\"/>\n<l:template name=\"procedure\" text=\"Поступак %n, „%t“\"/>\n<l:template name=\"productionset\" text=\"Продукција %n, „%t“\"/>\n<l:template name=\"qandadiv\" text=\"П и О %n, „%t“\"/>\n<l:template name=\"refsect1\" text=\"одељак под именом „%t“\"/>\n<l:template name=\"refsect2\" text=\"одељак под именом „%t“\"/>\n<l:template name=\"refsect3\" text=\"одељак под именом „%t“\"/>\n<l:template name=\"refsection\" text=\"одељак под именом „%t“\"/>\n<l:template name=\"sect1\" text=\"Одељак %n, „%t“\"/>\n<l:template name=\"sect2\" text=\"Одељак %n, „%t“\"/>\n<l:template name=\"sect3\" text=\"Одељак %n, „%t“\"/>\n<l:template name=\"sect4\" text=\"Одељак %n, „%t“\"/>\n<l:template name=\"sect5\" text=\"Одељак %n, „%t“\"/>\n<l:template name=\"section\" text=\"Одељак %n, „%t“\"/>\n<l:template name=\"simplesect\" text=\"одељак под именом „%t“\"/>\n<l:template name=\"table\" text=\"Табела %n, „%t“\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" и \"/>\n<l:template name=\"seplast\" text=\", и \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Види %t.\"/>\n<l:template name=\"seealso\" text=\"Види такође %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Публика: \"/>\n<l:template name=\"MsgLevel\" text=\"Ниво: \"/>\n<l:template name=\"MsgOrig\" text=\"Извор: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d.m.Y.\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Дефиниција: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"јануар\"/>\n<l:template name=\"February\" text=\"фебруар\"/>\n<l:template name=\"March\" text=\"март\"/>\n<l:template name=\"April\" text=\"април\"/>\n<l:template name=\"May\" text=\"мај\"/>\n<l:template name=\"June\" text=\"јун\"/>\n<l:template name=\"July\" text=\"јул\"/>\n<l:template name=\"August\" text=\"август\"/>\n<l:template name=\"September\" text=\"септембар\"/>\n<l:template name=\"October\" text=\"октобар\"/>\n<l:template name=\"November\" text=\"новембар\"/>\n<l:template name=\"December\" text=\"децембар\"/>\n<l:template name=\"Monday\" text=\"понедељак\"/>\n<l:template name=\"Tuesday\" text=\"уторак\"/>\n<l:template name=\"Wednesday\" text=\"среда\"/>\n<l:template name=\"Thursday\" text=\"четвртак\"/>\n<l:template name=\"Friday\" text=\"петак\"/>\n<l:template name=\"Saturday\" text=\"субота\"/>\n<l:template name=\"Sunday\" text=\"недеља\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"јан\"/>\n<l:template name=\"Feb\" text=\"феб\"/>\n<l:template name=\"Mar\" text=\"мар\"/>\n<l:template name=\"Apr\" text=\"апр\"/>\n<l:template name=\"May\" text=\"мај\"/>\n<l:template name=\"Jun\" text=\"јун\"/>\n<l:template name=\"Jul\" text=\"јул\"/>\n<l:template name=\"Aug\" text=\"авг\"/>\n<l:template name=\"Sep\" text=\"сеп\"/>\n<l:template name=\"Oct\" text=\"окт\"/>\n<l:template name=\"Nov\" text=\"нов\"/>\n<l:template name=\"Dec\" text=\"дец\"/>\n<l:template name=\"Mon\" text=\"пон\"/>\n<l:template name=\"Tue\" text=\"уто\"/>\n<l:template name=\"Wed\" text=\"сре\"/>\n<l:template name=\"Thu\" text=\"чет\"/>\n<l:template name=\"Fri\" text=\"пет\"/>\n<l:template name=\"Sat\" text=\"суб\"/>\n<l:template name=\"Sun\" text=\"нед\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0C1A Serbian (Cyrillic)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Симболи</l:l>\n<l:l i=\"1\">А</l:l>\n<l:l i=\"1\">а</l:l>\n<l:l i=\"2\">Б</l:l>\n<l:l i=\"2\">б</l:l>\n<l:l i=\"3\">В</l:l>\n<l:l i=\"3\">в</l:l>\n<l:l i=\"4\">Г</l:l>\n<l:l i=\"4\">г</l:l>\n<l:l i=\"5\">Д</l:l>\n<l:l i=\"5\">д</l:l>\n<l:l i=\"6\">Ђ</l:l>\n<l:l i=\"6\">ђ</l:l>\n<l:l i=\"7\">Е</l:l>\n<l:l i=\"7\">е</l:l>\n<l:l i=\"8\">Ж</l:l>\n<l:l i=\"8\">ж</l:l>\n<l:l i=\"9\">З</l:l>\n<l:l i=\"9\">з</l:l>\n<l:l i=\"10\">И</l:l>\n<l:l i=\"10\">и</l:l>\n<l:l i=\"11\">Ј</l:l>\n<l:l i=\"11\">ј</l:l>\n<l:l i=\"12\">К</l:l>\n<l:l i=\"12\">к</l:l>\n<l:l i=\"13\">Л</l:l>\n<l:l i=\"13\">л</l:l>\n<l:l i=\"14\">Љ</l:l>\n<l:l i=\"14\">љ</l:l>\n<l:l i=\"15\">М</l:l>\n<l:l i=\"15\">м</l:l>\n<l:l i=\"16\">Н</l:l>\n<l:l i=\"16\">н</l:l>\n<l:l i=\"17\">Њ</l:l>\n<l:l i=\"17\">њ</l:l>\n<l:l i=\"18\">О</l:l>\n<l:l i=\"18\">о</l:l>\n<l:l i=\"19\">П</l:l>\n<l:l i=\"19\">п</l:l>\n<l:l i=\"20\">Р</l:l>\n<l:l i=\"20\">р</l:l>\n<l:l i=\"21\">С</l:l>\n<l:l i=\"21\">с</l:l>\n<l:l i=\"22\">Т</l:l>\n<l:l i=\"22\">т</l:l>\n<l:l i=\"23\">Ћ</l:l>\n<l:l i=\"23\">ћ</l:l>\n<l:l i=\"24\">У</l:l>\n<l:l i=\"24\">у</l:l>\n<l:l i=\"25\">Ф</l:l>\n<l:l i=\"25\">ф</l:l>\n<l:l i=\"26\">Х</l:l>\n<l:l i=\"26\">х</l:l>\n<l:l i=\"27\">Ц</l:l>\n<l:l i=\"27\">ц</l:l>\n<l:l i=\"28\">Ч</l:l>\n<l:l i=\"28\">ч</l:l>\n<l:l i=\"29\">Џ</l:l>\n<l:l i=\"29\">џ</l:l>\n<l:l i=\"30\">Ш</l:l>\n<l:l i=\"30\">ш</l:l>\n<l:l i=\"31\">A</l:l>\n<l:l i=\"31\">a</l:l>\n<l:l i=\"32\">B</l:l>\n<l:l i=\"32\">b</l:l>\n<l:l i=\"33\">C</l:l>\n<l:l i=\"33\">c</l:l>\n<l:l i=\"34\">D</l:l>\n<l:l i=\"34\">d</l:l>\n<l:l i=\"35\">E</l:l>\n<l:l i=\"35\">e</l:l>\n<l:l i=\"36\">F</l:l>\n<l:l i=\"36\">f</l:l>\n<l:l i=\"37\">G</l:l>\n<l:l i=\"37\">g</l:l>\n<l:l i=\"38\">H</l:l>\n<l:l i=\"38\">h</l:l>\n<l:l i=\"39\">I</l:l>\n<l:l i=\"39\">i</l:l>\n<l:l i=\"40\">J</l:l>\n<l:l i=\"40\">j</l:l>\n<l:l i=\"41\">K</l:l>\n<l:l i=\"41\">k</l:l>\n<l:l i=\"42\">L</l:l>\n<l:l i=\"42\">l</l:l>\n<l:l i=\"43\">M</l:l>\n<l:l i=\"43\">m</l:l>\n<l:l i=\"44\">N</l:l>\n<l:l i=\"44\">n</l:l>\n<l:l i=\"45\">O</l:l>\n<l:l i=\"45\">o</l:l>\n<l:l i=\"46\">P</l:l>\n<l:l i=\"46\">p</l:l>\n<l:l i=\"47\">Q</l:l>\n<l:l i=\"47\">Q</l:l>\n<l:l i=\"48\">R</l:l>\n<l:l i=\"48\">r</l:l>\n<l:l i=\"49\">S</l:l>\n<l:l i=\"49\">s</l:l>\n<l:l i=\"50\">T</l:l>\n<l:l i=\"50\">t</l:l>\n<l:l i=\"51\">U</l:l>\n<l:l i=\"51\">u</l:l>\n<l:l i=\"52\">V</l:l>\n<l:l i=\"52\">v</l:l>\n<l:l i=\"53\">W</l:l>\n<l:l i=\"53\">w</l:l>\n<l:l i=\"54\">X</l:l>\n<l:l i=\"54\">x</l:l>\n<l:l i=\"55\">Y</l:l>\n<l:l i=\"55\">y</l:l>\n<l:l i=\"56\">Z</l:l>\n<l:l i=\"56\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/sr_Latn.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"sr_latn\" english-language-name=\"Serbian in Latin script\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/sr_Latn.xml -->\n<!-- * -->\n<!-- * E-mail the edited sr_Latn.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Sažetak\"/>\n<l:gentext key=\"abstract\" text=\"sažetak\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Priznanja\"/>\n<l:gentext key=\"acknowledgements\" text=\"priznanja\"/>\n<l:gentext key=\"Answer\" text=\"O:\"/>\n<l:gentext key=\"answer\" text=\"o:\"/>\n<l:gentext key=\"Appendix\" text=\"Dodatak\"/>\n<l:gentext key=\"appendix\" text=\"dodatak\"/>\n<l:gentext key=\"Article\" text=\"Članak\"/>\n<l:gentext key=\"article\" text=\"članak\"/>\n<l:gentext key=\"Author\" text=\"Autor\"/>\n<l:gentext key=\"Bibliography\" text=\"Literatura\"/>\n<l:gentext key=\"bibliography\" text=\"literatura\"/>\n<l:gentext key=\"Book\" text=\"Knjiga\"/>\n<l:gentext key=\"book\" text=\"knjiga\"/>\n<l:gentext key=\"CAUTION\" text=\"UPOZORENJE\"/>\n<l:gentext key=\"Caution\" text=\"Upozorenje\"/>\n<l:gentext key=\"caution\" text=\"upozorenje\"/>\n<l:gentext key=\"Chapter\" text=\"Poglavlje\"/>\n<l:gentext key=\"chapter\" text=\"poglavlje\"/>\n<l:gentext key=\"Colophon\" text=\"Kolofon\"/>\n<l:gentext key=\"colophon\" text=\"kolofon\"/>\n<l:gentext key=\"Copyright\" text=\"Autorska prava\"/>\n<l:gentext key=\"copyright\" text=\"autorska prava\"/>\n<l:gentext key=\"Dedication\" text=\"Posveta\"/>\n<l:gentext key=\"dedication\" text=\"posveta\"/>\n<l:gentext key=\"Edition\" text=\"Izdanje\"/>\n<l:gentext key=\"edition\" text=\"izdanje\"/>\n<l:gentext key=\"Editor\" text=\"Urednik\"/>\n<l:gentext key=\"Equation\" text=\"Jednačina\"/>\n<l:gentext key=\"equation\" text=\"jednačina\"/>\n<l:gentext key=\"Example\" text=\"Primer\"/>\n<l:gentext key=\"example\" text=\"primer\"/>\n<l:gentext key=\"Figure\" text=\"Slika\"/>\n<l:gentext key=\"figure\" text=\"slika\"/>\n<l:gentext key=\"Glossary\" text=\"Rečnik\"/>\n<l:gentext key=\"glossary\" text=\"rečnik\"/>\n<l:gentext key=\"GlossSee\" text=\"Vidi\"/>\n<l:gentext key=\"glosssee\" text=\"vidi\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Vidi takođe\"/>\n<l:gentext key=\"glossseealso\" text=\"vidi takođe\"/>\n<l:gentext key=\"IMPORTANT\" text=\"VAŽNO\"/>\n<l:gentext key=\"important\" text=\"važno\"/>\n<l:gentext key=\"Important\" text=\"Važno\"/>\n<l:gentext key=\"Index\" text=\"Indeks\"/>\n<l:gentext key=\"index\" text=\"indeks\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Pravna napomena\"/>\n<l:gentext key=\"legalnotice\" text=\"pravna napomena\"/>\n<l:gentext key=\"MsgAud\" text=\"Publika\"/>\n<l:gentext key=\"msgaud\" text=\"publika\"/>\n<l:gentext key=\"MsgLevel\" text=\"Nivo\"/>\n<l:gentext key=\"msglevel\" text=\"nivo\"/>\n<l:gentext key=\"MsgOrig\" text=\"Izvor\"/>\n<l:gentext key=\"msgorig\" text=\"izvor\"/>\n<l:gentext key=\"NOTE\" text=\"PRIMEDBA\"/>\n<l:gentext key=\"Note\" text=\"Primedba\"/>\n<l:gentext key=\"note\" text=\"primedba\"/>\n<l:gentext key=\"Part\" text=\"Deo\"/>\n<l:gentext key=\"part\" text=\"deo\"/>\n<l:gentext key=\"Preface\" text=\"Predgovor\"/>\n<l:gentext key=\"preface\" text=\"predgovor\"/>\n<l:gentext key=\"Procedure\" text=\"Postupak\"/>\n<l:gentext key=\"procedure\" text=\"postupak\"/>\n<l:gentext key=\"ProductionSet\" text=\"Produkcija\"/>\n<l:gentext key=\"PubDate\" text=\"Datum izdavanja\"/>\n<l:gentext key=\"pubdate\" text=\"datum izdavanja\"/>\n<l:gentext key=\"Published\" text=\"Izdano\"/>\n<l:gentext key=\"published\" text=\"izdano\"/>\n<l:gentext key=\"Publisher\" text=\"Izdavač\"/>\n<l:gentext key=\"Qandadiv\" text=\"P i O\"/>\n<l:gentext key=\"qandadiv\" text=\"p i o\"/>\n<l:gentext key=\"QandASet\" text=\"Često postavljana pitanja\"/>\n<l:gentext key=\"Question\" text=\"P:\"/>\n<l:gentext key=\"question\" text=\"p:\"/>\n<l:gentext key=\"RefEntry\" text=\"Stranica\"/>\n<l:gentext key=\"refentry\" text=\"stranica\"/>\n<l:gentext key=\"Reference\" text=\"Referenca\"/>\n<l:gentext key=\"reference\" text=\"referenca\"/>\n<l:gentext key=\"References\" text=\"Reference\"/>\n<l:gentext key=\"RefName\" text=\"Ime\"/>\n<l:gentext key=\"refname\" text=\"ime\"/>\n<l:gentext key=\"RefSection\" text=\"Odeljak\"/>\n<l:gentext key=\"refsection\" text=\"odeljak\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Pregled\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"pregled\"/>\n<l:gentext key=\"RevHistory\" text=\"Istorija revizija\"/>\n<l:gentext key=\"revhistory\" text=\"istorija revizija\"/>\n<l:gentext key=\"revision\" text=\"revizija\"/>\n<l:gentext key=\"Revision\" text=\"Revizija\"/>\n<l:gentext key=\"sect1\" text=\"Odeljak\"/>\n<l:gentext key=\"sect2\" text=\"Odeljak\"/>\n<l:gentext key=\"sect3\" text=\"Odeljak\"/>\n<l:gentext key=\"sect4\" text=\"Odeljak\"/>\n<l:gentext key=\"sect5\" text=\"Odeljak\"/>\n<l:gentext key=\"section\" text=\"odeljak\"/>\n<l:gentext key=\"Section\" text=\"Odeljak\"/>\n<l:gentext key=\"see\" text=\"vidi\"/>\n<l:gentext key=\"See\" text=\"Vidi\"/>\n<l:gentext key=\"seealso\" text=\"vidi takođe\"/>\n<l:gentext key=\"Seealso\" text=\"Vidi takođe\"/>\n<l:gentext key=\"SeeAlso\" text=\"Vidi takođe\"/>\n<l:gentext key=\"set\" text=\"skup\"/>\n<l:gentext key=\"Set\" text=\"Skup\"/>\n<l:gentext key=\"setindex\" text=\"indeks skupa\"/>\n<l:gentext key=\"SetIndex\" text=\"Indeks skupa\"/>\n<l:gentext key=\"Sidebar\" text=\"Bočna traka\"/>\n<l:gentext key=\"sidebar\" text=\"bočna traka\"/>\n<l:gentext key=\"step\" text=\"korak\"/>\n<l:gentext key=\"Step\" text=\"Korak\"/>\n<l:gentext key=\"table\" text=\"tabela\"/>\n<l:gentext key=\"Table\" text=\"Tabela\"/>\n<l:gentext key=\"task\" text=\"zadatak\"/>\n<l:gentext key=\"Task\" text=\"Zadatak\"/>\n<l:gentext key=\"tip\" text=\"savet\"/>\n<l:gentext key=\"TIP\" text=\"SAVET\"/>\n<l:gentext key=\"Tip\" text=\"Savet\"/>\n<l:gentext key=\"Warning\" text=\"Upozorenje\"/>\n<l:gentext key=\"warning\" text=\"upozorenje\"/>\n<l:gentext key=\"WARNING\" text=\"UPOZORENJE\"/>\n<l:gentext key=\"and\" text=\"i\"/>\n<l:gentext key=\"or\" text=\"or\" lang=\"en\"/>\n<l:gentext key=\"by\" text=\"od\"/>\n<l:gentext key=\"Edited\" text=\"Uređeno\"/>\n<l:gentext key=\"edited\" text=\"uređeno\"/>\n<l:gentext key=\"Editedby\" text=\"Uredio(la)\"/>\n<l:gentext key=\"editedby\" text=\"Uredio(la)\"/>\n<l:gentext key=\"in\" text=\"u\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"primedbe\"/>\n<l:gentext key=\"Notes\" text=\"Primedbe\"/>\n<l:gentext key=\"Pgs\" text=\"Str.\"/>\n<l:gentext key=\"pgs\" text=\"str.\"/>\n<l:gentext key=\"Revisedby\" text=\"Pregledao(la): \"/>\n<l:gentext key=\"revisedby\" text=\"pregledao(la): \"/>\n<l:gentext key=\"TableNotes\" text=\"Primedbe\"/>\n<l:gentext key=\"tablenotes\" text=\"primedbe\"/>\n<l:gentext key=\"TableofContents\" text=\"Sadržaj\"/>\n<l:gentext key=\"tableofcontents\" text=\"sadržaj\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"neočekivano ime elementa\"/>\n<l:gentext key=\"unsupported\" text=\"nije podržano\"/>\n<l:gentext key=\"xrefto\" text=\"unakrsna referenca na\"/>\n<l:gentext key=\"Authors\" text=\"Autori\"/>\n<l:gentext key=\"copyeditor\" text=\"Izdavački urednik\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Grafički dizajner\"/>\n<l:gentext key=\"productioneditor\" text=\"Izvršni urednik\"/>\n<l:gentext key=\"technicaleditor\" text=\"Tehnički urednik\"/>\n<l:gentext key=\"translator\" text=\"Prevodilac\"/>\n<l:gentext key=\"listofequations\" text=\"spisak jednačina\"/>\n<l:gentext key=\"ListofEquations\" text=\"Spisak jednačina\"/>\n<l:gentext key=\"ListofExamples\" text=\"Spisak primera\"/>\n<l:gentext key=\"listofexamples\" text=\"spisak primera\"/>\n<l:gentext key=\"ListofFigures\" text=\"Spisak slika\"/>\n<l:gentext key=\"listoffigures\" text=\"spisak slika\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Spisak postupaka\"/>\n<l:gentext key=\"listofprocedures\" text=\"spisak postupaka\"/>\n<l:gentext key=\"listoftables\" text=\"spisak tabela\"/>\n<l:gentext key=\"ListofTables\" text=\"Spisak tabela\"/>\n<l:gentext key=\"ListofUnknown\" text=\"spisak nepoznatih\"/>\n<l:gentext key=\"listofunknown\" text=\"Spisak nepoznatih\"/>\n<l:gentext key=\"nav-home\" text=\"Početak\"/>\n<l:gentext key=\"nav-next\" text=\"Sledeći\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Brzo napred\"/>\n<l:gentext key=\"nav-prev\" text=\"Prethodni\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Brzo nazad\"/>\n<l:gentext key=\"nav-up\" text=\"Vrh\"/>\n<l:gentext key=\"nav-toc\" text=\"Sadr.\"/>\n<l:gentext key=\"Draft\" text=\"Nacrt\"/>\n<l:gentext key=\"above\" text=\"iznad\"/>\n<l:gentext key=\"below\" text=\"ispod\"/>\n<l:gentext key=\"sectioncalled\" text=\"odeljak pod imenom\"/>\n<l:gentext key=\"index symbols\" text=\"Simboli\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcčćdđefghijklmnopqrsštuvwxyzž\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCČĆDĐEFGHIJKLMNOPQRSŠTUVWXYZŽ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"„\"/>\n<l:dingbat key=\"endquote\" text=\"“\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"ime-prezime\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Dodatak %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Poglavlje %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Jednačina %n. %t\"/>\n<l:template name=\"example\" text=\"Primer %n. %t\"/>\n<l:template name=\"figure\" text=\"Slika %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Deo %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Postupak %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Produkcija %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabela %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Dodatak %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Poglavlje %n. %t\"/>\n<l:template name=\"part\" text=\"Deo %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"O: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"P: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"P: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" u %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (str. %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(strana %p)\"/>\n<l:template name=\"docname\" text=\" u %o\"/>\n<l:template name=\"docnamelong\" text=\" u dokumentu sa naslovom %o\"/>\n<l:template name=\"pageabbrev\" text=\"(str. %p)\"/>\n<l:template name=\"Page\" text=\"Strana %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"odeljak pod imenom „%t“\"/>\n<l:template name=\"refsection\" text=\"odeljak pod imenom „%t“\"/>\n<l:template name=\"refsect1\" text=\"odeljak pod imenom „%t“\"/>\n<l:template name=\"refsect2\" text=\"odeljak pod imenom „%t“\"/>\n<l:template name=\"refsect3\" text=\"odeljak pod imenom „%t“\"/>\n<l:template name=\"sect1\" text=\"odeljak pod imenom „%t“\"/>\n<l:template name=\"sect2\" text=\"odeljak pod imenom „%t“\"/>\n<l:template name=\"sect3\" text=\"odeljak pod imenom „%t“\"/>\n<l:template name=\"sect4\" text=\"odeljak pod imenom „%t“\"/>\n<l:template name=\"sect5\" text=\"odeljak pod imenom „%t“\"/>\n<l:template name=\"section\" text=\"odeljak pod imenom „%t“\"/>\n<l:template name=\"simplesect\" text=\"odeljak pod imenom „%t“\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"O: %n\"/>\n<l:template name=\"appendix\" text=\"Dodatak %n\"/>\n<l:template name=\"bridgehead\" text=\"Odeljak %n\"/>\n<l:template name=\"chapter\" text=\"Poglavlje %n\"/>\n<l:template name=\"equation\" text=\"Jednačina %n\"/>\n<l:template name=\"example\" text=\"Primer %n\"/>\n<l:template name=\"figure\" text=\"Slika %n\"/>\n<l:template name=\"part\" text=\"Deo %n\"/>\n<l:template name=\"procedure\" text=\"Postupak %n\"/>\n<l:template name=\"productionset\" text=\"Produkcija %n\"/>\n<l:template name=\"qandadiv\" text=\"P i O %n\"/>\n<l:template name=\"qandaentry\" text=\"P: %n\"/>\n<l:template name=\"question\" text=\"P: %n\"/>\n<l:template name=\"sect1\" text=\"Odeljak %n\"/>\n<l:template name=\"sect2\" text=\"Odeljak %n\"/>\n<l:template name=\"sect3\" text=\"Odeljak %n\"/>\n<l:template name=\"sect4\" text=\"Odeljak %n\"/>\n<l:template name=\"sect5\" text=\"Odeljak %n\"/>\n<l:template name=\"section\" text=\"Odeljak %n\"/>\n<l:template name=\"table\" text=\"Tabela %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Dodatak %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Odeljak %n, „%t“\"/>\n<l:template name=\"chapter\" text=\"Poglavlje %n, %t\"/>\n<l:template name=\"equation\" text=\"Jednačina %n, „%t“\"/>\n<l:template name=\"example\" text=\"Primer %n, „%t“\"/>\n<l:template name=\"figure\" text=\"Slika %n, „%t“\"/>\n<l:template name=\"part\" text=\"Deo %n, „%t“\"/>\n<l:template name=\"procedure\" text=\"Postupak %n, „%t“\"/>\n<l:template name=\"productionset\" text=\"Produkcija %n, „%t“\"/>\n<l:template name=\"qandadiv\" text=\"P i O %n, „%t“\"/>\n<l:template name=\"refsect1\" text=\"odeljak pod imenom „%t“\"/>\n<l:template name=\"refsect2\" text=\"odeljak pod imenom „%t“\"/>\n<l:template name=\"refsect3\" text=\"odeljak pod imenom „%t“\"/>\n<l:template name=\"refsection\" text=\"odeljak pod imenom „%t“\"/>\n<l:template name=\"sect1\" text=\"Odeljak %n, „%t“\"/>\n<l:template name=\"sect2\" text=\"Odeljak %n, „%t“\"/>\n<l:template name=\"sect3\" text=\"Odeljak %n, „%t“\"/>\n<l:template name=\"sect4\" text=\"Odeljak %n, „%t“\"/>\n<l:template name=\"sect5\" text=\"Odeljak %n, „%t“\"/>\n<l:template name=\"section\" text=\"Odeljak %n, „%t“\"/>\n<l:template name=\"simplesect\" text=\"odeljak pod imenom „%t“\"/>\n<l:template name=\"table\" text=\"Tabela %n, „%t“\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" i \"/>\n<l:template name=\"seplast\" text=\", i \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Vidi %t.\"/>\n<l:template name=\"seealso\" text=\"Vidi takođe %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Publika: \"/>\n<l:template name=\"MsgLevel\" text=\"Nivo: \"/>\n<l:template name=\"MsgOrig\" text=\"Izvor: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d.m.Y.\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definicija: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"januar\"/>\n<l:template name=\"February\" text=\"februar\"/>\n<l:template name=\"March\" text=\"mart\"/>\n<l:template name=\"April\" text=\"april\"/>\n<l:template name=\"May\" text=\"maj\"/>\n<l:template name=\"June\" text=\"jun\"/>\n<l:template name=\"July\" text=\"jul\"/>\n<l:template name=\"August\" text=\"avgust\"/>\n<l:template name=\"September\" text=\"septembar\"/>\n<l:template name=\"October\" text=\"oktobar\"/>\n<l:template name=\"November\" text=\"novembar\"/>\n<l:template name=\"December\" text=\"decembar\"/>\n<l:template name=\"Monday\" text=\"ponedeljak\"/>\n<l:template name=\"Tuesday\" text=\"utorak\"/>\n<l:template name=\"Wednesday\" text=\"sreda\"/>\n<l:template name=\"Thursday\" text=\"četvrtak\"/>\n<l:template name=\"Friday\" text=\"petak\"/>\n<l:template name=\"Saturday\" text=\"subota\"/>\n<l:template name=\"Sunday\" text=\"nedelja\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"jan\"/>\n<l:template name=\"Feb\" text=\"feb\"/>\n<l:template name=\"Mar\" text=\"mar\"/>\n<l:template name=\"Apr\" text=\"apr\"/>\n<l:template name=\"May\" text=\"maj\"/>\n<l:template name=\"Jun\" text=\"jun\"/>\n<l:template name=\"Jul\" text=\"jul\"/>\n<l:template name=\"Aug\" text=\"avg\"/>\n<l:template name=\"Sep\" text=\"sep\"/>\n<l:template name=\"Oct\" text=\"okt\"/>\n<l:template name=\"Nov\" text=\"nov\"/>\n<l:template name=\"Dec\" text=\"dec\"/>\n<l:template name=\"Mon\" text=\"pon\"/>\n<l:template name=\"Tue\" text=\"uto\"/>\n<l:template name=\"Wed\" text=\"sre\"/>\n<l:template name=\"Thu\" text=\"čet\"/>\n<l:template name=\"Fri\" text=\"pet\"/>\n<l:template name=\"Sat\" text=\"sub\"/>\n<l:template name=\"Sun\" text=\"ned\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x081a Serbian (Latin)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Simboli</l:l>\n<l:l i=\"1\">A</l:l>\n<l:l i=\"1\">a</l:l>\n<l:l i=\"2\">B</l:l>\n<l:l i=\"2\">b</l:l>\n<l:l i=\"3\">C</l:l>\n<l:l i=\"3\">c</l:l>\n<l:l i=\"4\">Č</l:l>\n<l:l i=\"4\">č</l:l>\n<l:l i=\"5\">Ć</l:l>\n<l:l i=\"5\">ć</l:l>\n<l:l i=\"6\">D</l:l>\n<l:l i=\"6\">d</l:l>\n<l:l i=\"7\">DŽ</l:l>\n<l:l i=\"7\">Dž</l:l>\n<l:l i=\"7\">dž</l:l>\n<l:l i=\"8\">Đ</l:l>\n<l:l i=\"8\">đ</l:l>\n<l:l i=\"9\">E</l:l>\n<l:l i=\"9\">e</l:l>\n<l:l i=\"10\">F</l:l>\n<l:l i=\"10\">f</l:l>\n<l:l i=\"11\">G</l:l>\n<l:l i=\"11\">g</l:l>\n<l:l i=\"12\">H</l:l>\n<l:l i=\"12\">h</l:l>\n<l:l i=\"13\">I</l:l>\n<l:l i=\"13\">i</l:l>\n<l:l i=\"14\">J</l:l>\n<l:l i=\"14\">j</l:l>\n<l:l i=\"15\">K</l:l>\n<l:l i=\"15\">k</l:l>\n<l:l i=\"16\">L</l:l>\n<l:l i=\"16\">l</l:l>\n<l:l i=\"17\">LJ</l:l>\n<l:l i=\"17\">Lj</l:l>\n<l:l i=\"17\">lj</l:l>\n<l:l i=\"18\">M</l:l>\n<l:l i=\"18\">m</l:l>\n<l:l i=\"19\">N</l:l>\n<l:l i=\"19\">n</l:l>\n<l:l i=\"20\">NJ</l:l>\n<l:l i=\"20\">Nj</l:l>\n<l:l i=\"20\">nj</l:l>\n<l:l i=\"21\">O</l:l>\n<l:l i=\"21\">o</l:l>\n<l:l i=\"22\">P</l:l>\n<l:l i=\"22\">p</l:l>\n<l:l i=\"23\">Q</l:l>\n<l:l i=\"23\">Q</l:l>\n<l:l i=\"24\">R</l:l>\n<l:l i=\"24\">r</l:l>\n<l:l i=\"25\">S</l:l>\n<l:l i=\"25\">s</l:l>\n<l:l i=\"26\">Š</l:l>\n<l:l i=\"26\">š</l:l>\n<l:l i=\"27\">T</l:l>\n<l:l i=\"27\">t</l:l>\n<l:l i=\"28\">U</l:l>\n<l:l i=\"28\">u</l:l>\n<l:l i=\"29\">V</l:l>\n<l:l i=\"29\">v</l:l>\n<l:l i=\"30\">W</l:l>\n<l:l i=\"30\">w</l:l>\n<l:l i=\"31\">X</l:l>\n<l:l i=\"31\">x</l:l>\n<l:l i=\"32\">Y</l:l>\n<l:l i=\"32\">y</l:l>\n<l:l i=\"33\">Z</l:l>\n<l:l i=\"33\">z</l:l>\n<l:l i=\"34\">Ž</l:l>\n<l:l i=\"34\">ž</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/stripns.xsl",
    "content": "<?xml version='1.0'?>\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:ng=\"http://docbook.org/docbook-ng\"\n                xmlns:db=\"http://docbook.org/ns/docbook\"\n                xmlns:saxon=\"http://icl.com/saxon\"\n                xmlns:NodeInfo=\"http://org.apache.xalan.lib.NodeInfo\"\n                xmlns:exsl=\"http://exslt.org/common\"\n\t\txmlns:xlink=\"http://www.w3.org/1999/xlink\"\n                exclude-result-prefixes=\"db ng exsl saxon NodeInfo xlink\"\n                version='1.0'>\n\n<!-- ********************************************************************\n     $Id: stripns.xsl 9016 2011-06-07 12:09:34Z nwalsh $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- put an xml:base attribute on the root element -->\n<xsl:template match=\"/*\" mode=\"stripNS\">\n  <xsl:choose>\n    <xsl:when test=\"self::ng:* or self::db:*\">\n      <xsl:element name=\"{local-name(.)}\">\n        <xsl:copy-of select=\"@*[not(name(.) = 'xml:id')\n                                and not(name(.) = 'version')]\"/>\n        <xsl:if test=\"@xml:id\">\n          <xsl:attribute name=\"id\">\n            <xsl:value-of select=\"@xml:id\"/>\n          </xsl:attribute>\n        </xsl:if>\n\n        <xsl:call-template name=\"add-xml-base\"/>\n\n        <xsl:apply-templates mode=\"stripNS\"/>\n      </xsl:element>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy>\n        <xsl:copy-of select=\"@*[not(name(.) = 'xml:id')\n                                and not(name(.) = 'version')]\"/>\n        <xsl:if test=\"@xml:id\">\n          <xsl:attribute name=\"id\">\n            <xsl:value-of select=\"@xml:id\"/>\n          </xsl:attribute>\n        </xsl:if>\n\n        <xsl:call-template name=\"add-xml-base\"/>\n\n        <xsl:apply-templates mode=\"stripNS\"/>\n      </xsl:copy>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"stripNS\">\n  <xsl:choose>\n    <xsl:when test=\"self::ng:* or self::db:*\">\n      <xsl:element name=\"{local-name(.)}\">\n        <xsl:copy-of select=\"@*[not(name(.) = 'xml:id')\n                                and not(name(.) = 'version')]\"/>\n        <xsl:if test=\"@xml:id\">\n          <xsl:attribute name=\"id\">\n            <xsl:value-of select=\"@xml:id\"/>\n          </xsl:attribute>\n        </xsl:if>\n        <xsl:apply-templates mode=\"stripNS\"/>\n      </xsl:element>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy>\n        <xsl:copy-of select=\"@*[not(name(.) = 'xml:id')\n                                and not(name(.) = 'version')]\"/>\n        <xsl:if test=\"@xml:id\">\n          <xsl:attribute name=\"id\">\n            <xsl:value-of select=\"@xml:id\"/>\n          </xsl:attribute>\n        </xsl:if>\n        <xsl:apply-templates mode=\"stripNS\"/>\n      </xsl:copy>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"db:info\" mode=\"stripNS\">\n  <xsl:variable name=\"info\">\n    <xsl:choose>\n      <xsl:when test=\"parent::db:article\n                      |parent::db:appendix\n                      |parent::db:bibliography\n                      |parent::db:book\n                      |parent::db:chapter\n                      |parent::db:glossary\n                      |parent::db:index\n                      |parent::db:part\n                      |parent::db:preface\n                      |parent::db:refentry\n                      |parent::db:reference\n                      |parent::db:refsect1\n                      |parent::db:refsect2\n                      |parent::db:refsect3\n                      |parent::db:refsection\n                      |parent::db:refsynopsisdiv\n                      |parent::db:sect1\n                      |parent::db:sect2\n                      |parent::db:sect3\n                      |parent::db:sect4\n                      |parent::db:sect5\n                      |parent::db:section\n                      |parent::db:setindex\n                      |parent::db:set\n                      |parent::db:slides\n                      |parent::db:sidebar\">\n        <xsl:value-of select=\"local-name(parent::*)\"/>\n        <xsl:text>info</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"parent::db:audioobject\n                      |parent::db:imageobject\n                      |parent::db:inlinemediaobject\n                      |parent::db:mediaobject\n                      |parent::db:mediaobjectco\n                      |parent::db:textobject\n                      |parent::db:videoobject\">\n        <xsl:text>objectinfo</xsl:text>\n      </xsl:when>\n      <xsl:otherwise>blockinfo</xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:element name=\"{$info}\">\n    <xsl:copy-of select=\"@*[not(name(.) = 'xml:id')\n                         and not(name(.) = 'version')]\"/>\n    <xsl:if test=\"@xml:id\">\n      <xsl:attribute name=\"id\">\n        <xsl:value-of select=\"@xml:id\"/>\n      </xsl:attribute>\n    </xsl:if>\n    <xsl:apply-templates mode=\"stripNS\"/>\n  </xsl:element>\n\n  <xsl:if test=\"(not(../db:title) and not(../ng:title))\n                and ($info = 'prefaceinfo'\n                     or $info = 'chapterinfo'\n                     or $info = 'sectioninfo'\n                     or $info = 'sect1info'\n                     or $info = 'sect2info'\n                     or $info = 'sect3info'\n                     or $info = 'sect4info'\n                     or $info = 'sect5info'\n                     or $info = 'refsectioninfo'\n                     or $info = 'refsect1info'\n                     or $info = 'refsect2info'\n                     or $info = 'refsect3info'\n                     or $info = 'blockinfo'\n                     or $info = 'appendixinfo')\">\n    <xsl:apply-templates select=\"db:title|ng:title\" mode=\"stripNS\"/>\n  </xsl:if>\n\n</xsl:template>\n\n<xsl:template match=\"ng:tag|db:tag\" mode=\"stripNS\">\n  <xsl:choose>\n    <xsl:when test=\"@xlink:href\">\n      <ulink url=\"{@xlink:href}\">\n\t<sgmltag>\n\t  <xsl:copy-of select=\"@*[not(name(.) = 'xml:id')\n\t\t\t       and not(name(.) = 'version')\n\t\t\t       and not(local-name(.) = 'href')]\"/>\n          <xsl:if test=\"@xml:id\">\n            <xsl:attribute name=\"id\">\n              <xsl:value-of select=\"@xml:id\"/>\n            </xsl:attribute>\n          </xsl:if>\n\t  <xsl:apply-templates mode=\"stripNS\"/>\n\t</sgmltag>\n      </ulink>\n    </xsl:when>\n    <xsl:otherwise>\n      <sgmltag>\n\t<xsl:copy-of select=\"@*[not(name(.) = 'xml:id')\n                                and not(name(.) = 'version')]\"/>\n          <xsl:if test=\"@xml:id\">\n            <xsl:attribute name=\"id\">\n              <xsl:value-of select=\"@xml:id\"/>\n            </xsl:attribute>\n          </xsl:if>\n\t<xsl:apply-templates mode=\"stripNS\"/>\n      </sgmltag>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"db:link[@xlink:href]\" mode=\"stripNS\">\n  <ulink url=\"{@xlink:href}\">\n    <xsl:if test=\"@role\">\n      <xsl:attribute name=\"role\">\n        <xsl:value-of select=\"@role\"/>\n      </xsl:attribute>\n    </xsl:if>\n    <xsl:apply-templates mode=\"stripNS\"/>\n  </ulink>\n</xsl:template>\n\n<xsl:template match=\"db:citetitle[@xlink:href]\" mode=\"stripNS\">\n  <ulink url=\"{@xlink:href}\">\n    <citetitle>\n      <xsl:copy-of select=\"@*[not(name(.) = 'xml:id')\n\t\t\t   and not(name(.) = 'version')\n\t\t\t   and not(local-name(.) = 'href')]\"/>\n      <xsl:if test=\"@xml:id\">\n        <xsl:attribute name=\"id\">\n          <xsl:value-of select=\"@xml:id\"/>\n        </xsl:attribute>\n      </xsl:if>\n      <xsl:apply-templates mode=\"stripNS\"/>\n    </citetitle>\n  </ulink>\n</xsl:template>\n\n<xsl:template match=\"db:citetitle[@linkend]\" mode=\"stripNS\">\n  <citetitle>\n    <xsl:copy-of select=\"@*[not(name(.) = 'xml:id')\n\t\t\t and not(name(.) = 'version')\n\t\t\t and not(name(.) = 'linkend')\n\t\t\t and not(local-name(.) = 'href')]\"/>\n    <xsl:if test=\"@xml:id\">\n      <xsl:attribute name=\"id\">\n        <xsl:value-of select=\"@xml:id\"/>\n      </xsl:attribute>\n    </xsl:if>\n      <xsl:apply-templates mode=\"stripNS\"/>\n  </citetitle>\n</xsl:template>\n\n<xsl:template match=\"db:alt\" mode=\"stripNS\"/>\n\n<xsl:template match=\"ng:textdata|db:textdata\n                     |ng:imagedata|db:imagedata\n                     |ng:videodata|db:videodata\n                     |ng:audiodata|db:audiodata\" mode=\"stripNS\">\n  <xsl:element name=\"{local-name(.)}\">\n    <xsl:copy-of select=\"@*[not(name(.) = 'xml:id')\n                            and not(name(.) = 'version')\n                            and not(name(.) = 'entityref')]\"/>\n    <xsl:if test=\"@xml:id\">\n      <xsl:attribute name=\"id\">\n        <xsl:value-of select=\"@xml:id\"/>\n      </xsl:attribute>\n    </xsl:if>\n\n    <xsl:choose>\n      <xsl:when test=\"@entityref\">\n        <xsl:attribute name=\"fileref\">\n          <xsl:value-of select=\"unparsed-entity-uri(@entityref)\"/>\n        </xsl:attribute>\n      </xsl:when>\n    </xsl:choose>\n\n    <xsl:apply-templates mode=\"stripNS\"/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template name=\"add-xml-base\">\n  <xsl:if test=\"not(@xml:base)\">\n    <xsl:variable name=\"base\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('saxon:systemId')\">\n          <xsl:value-of select=\"saxon:systemId()\"/>\n        </xsl:when>\n        <xsl:when test=\"function-available('NodeInfo:systemId')\">\n          <xsl:value-of select=\"NodeInfo:systemId()\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:message>\n            <xsl:text>WARNING: cannot add @xml:base to node </xsl:text>\n            <xsl:text>set root element.  </xsl:text>\n            <xsl:text>Relative paths may not work.</xsl:text>\n          </xsl:message>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <!-- debug\n    <xsl:message>base is <xsl:value-of select=\"$base\"/></xsl:message>\n    -->\n    <xsl:if test=\"$base != ''\">\n      <xsl:attribute name=\"xml:base\">\n        <xsl:call-template name=\"systemIdToBaseURI\">\n          <xsl:with-param name=\"systemId\">\n            <!-- file: seems to confuse some processors. -->\n            <xsl:choose>\n              <!-- however, windows paths must use file:///c:/path -->\n              <xsl:when test=\"starts-with($base, 'file:///') and\n                              substring($base, 10, 1) = ':'\">\n                <xsl:value-of select=\"$base\"/>\n              </xsl:when>\n              <xsl:when test=\"starts-with($base, 'file:/')\n                              and substring($base, 8, 1) = ':'\">\n                <xsl:value-of select=\"concat('file:///', \n                                      substring-after($base,'file:/'))\"/>\n              </xsl:when>\n              <xsl:when test=\"starts-with($base, 'file:///')\">\n                <xsl:value-of select=\"substring-after($base,'file://')\"/>\n              </xsl:when>\n              <xsl:when test=\"starts-with($base, 'file://')\">\n                <xsl:value-of select=\"substring-after($base,'file:/')\"/>\n              </xsl:when>\n              <xsl:when test=\"starts-with($base, 'file:/')\">\n                <xsl:value-of select=\"substring-after($base,'file:')\"/>\n              </xsl:when>\n              <xsl:otherwise>\n                <xsl:value-of select=\"$base\"/>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:with-param>\n        </xsl:call-template>\n      </xsl:attribute>\n    </xsl:if>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"systemIdToBaseURI\">\n  <xsl:param name=\"systemId\" select=\"''\"/>\n  <xsl:if test=\"contains($systemId,'/')\">\n    <xsl:value-of select=\"substring-before($systemId,'/')\"/>\n    <xsl:text>/</xsl:text>\n    <xsl:call-template name=\"systemIdToBaseURI\">\n      <xsl:with-param name=\"systemId\"\n                      select=\"substring-after($systemId,'/')\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"comment()|processing-instruction()|text()\" mode=\"stripNS\">\n  <xsl:copy/>\n</xsl:template>\n\n<xsl:template match=\"/\" priority=\"-1\">\n  <!-- need a local version of this variable because this module imported many places-->\n  <xsl:variable name=\"local.exsl.node.set.available\">\n    <xsl:choose>\n      <xsl:when exsl:foo=\"\" xmlns:exsl=\"http://exslt.org/common\"\n        test=\"function-available('exsl:node-set') or\n                         contains(system-property('xsl:vendor'),\n                           'Apache Software Foundation')\">1</xsl:when>\n      <xsl:otherwise>0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n  <xsl:choose>\n    <xsl:when test=\"$local.exsl.node.set.available != 0\n                    and (*/self::ng:* or */self::db:*)\">\n      <xsl:message>\n        <xsl:text>Stripping namespace from DocBook 5 document. </xsl:text>\n        <xsl:text>It is suggested to use namespaced version of the stylesheets </xsl:text>\n        <xsl:text>available in distribution file 'docbook-xsl-ns' </xsl:text>\n        <xsl:text>at //http://sourceforge.net/projects/docbook/files/</xsl:text>\n        <xsl:text> which does not require namespace stripping step.</xsl:text>\n      </xsl:message>\n      <xsl:variable name=\"nons\">\n        <xsl:apply-templates mode=\"stripNS\"/>\n      </xsl:variable>\n      <xsl:message>Processing stripped document.</xsl:message>\n      <xsl:apply-templates select=\"exsl:node-set($nons)\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy-of select=\"node()\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/subtitles.xsl",
    "content": "<?xml version='1.0'?>\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\"\n                exclude-result-prefixes=\"doc\"\n                version='1.0'>\n\n<!-- ********************************************************************\n     $Id: subtitles.xsl 9286 2012-04-19 10:10:58Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<!-- subtitle markup -->\n\n<doc:mode mode=\"subtitle.markup\" xmlns=\"\">\n<refpurpose>Provides access to element subtitles</refpurpose>\n<refdescription id=\"subtitle.markup-desc\">\n<para>Processing an element in the\n<literal role=\"mode\">subtitle.markup</literal> mode produces the\nsubtitle of the element.\n</para>\n</refdescription>\n</doc:mode>\n\n<xsl:template match=\"*\" mode=\"subtitle.markup\">\n  <xsl:param name=\"verbose\" select=\"1\"/>\n  <xsl:if test=\"$verbose != 0\">\n    <xsl:message>\n      <xsl:text>Request for subtitle of unexpected element: </xsl:text>\n      <xsl:value-of select=\"local-name(.)\"/>\n    </xsl:message>\n    <xsl:text>???SUBTITLE???</xsl:text>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"subtitle.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"'0'\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"set\" mode=\"subtitle.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"'0'\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n  <xsl:apply-templates select=\"(setinfo/subtitle|info/subtitle|subtitle)[1]\"\n                       mode=\"subtitle.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"book\" mode=\"subtitle.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"'0'\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n  <xsl:apply-templates select=\"(bookinfo/subtitle|info/subtitle|subtitle)[1]\"\n                       mode=\"subtitle.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"part\" mode=\"subtitle.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"'0'\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n  <xsl:apply-templates select=\"(partinfo/subtitle\n                                |docinfo/subtitle\n                                |info/subtitle\n                                |subtitle)[1]\"\n                       mode=\"subtitle.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"preface|chapter|appendix\" mode=\"subtitle.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"'0'\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n  <xsl:apply-templates select=\"(docinfo/subtitle\n                                |info/subtitle\n                                |prefaceinfo/subtitle\n                                |chapterinfo/subtitle\n                                |appendixinfo/subtitle\n                                |subtitle)[1]\"\n                       mode=\"subtitle.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"article\" mode=\"subtitle.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"'0'\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n  <xsl:apply-templates select=\"(artheader/subtitle\n                                |articleinfo/subtitle\n                                |info/subtitle\n                                |subtitle)[1]\"\n                       mode=\"subtitle.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"dedication|colophon\" mode=\"subtitle.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"'0'\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n  <xsl:apply-templates select=\"(subtitle|info/subtitle)[1]\"\n                       mode=\"subtitle.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"reference\" mode=\"subtitle.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"'0'\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n  <xsl:apply-templates select=\"(referenceinfo/subtitle\n                                |docinfo/subtitle\n                                |info/subtitle\n                                |subtitle)[1]\"\n                       mode=\"subtitle.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"qandaset\" mode=\"subtitle.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"'0'\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n  <xsl:apply-templates select=\"(blockinfo/subtitle|info/subtitle)[1]\"\n                       mode=\"subtitle.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"refentry\" mode=\"subtitle.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"'0'\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n  <xsl:apply-templates select=\"(refentryinfo/subtitle\n                                |info/subtitle\n                                |docinfo/subtitle)[1]\"\n                       mode=\"subtitle.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"section\n                     |sect1|sect2|sect3|sect4|sect5\n                     |refsect1|refsect2|refsect3\n                     |topic\n                     |simplesect\"\n              mode=\"subtitle.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"'0'\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n  <xsl:apply-templates select=\"(info/subtitle\n                                |sectioninfo/subtitle\n                                |sect1info/subtitle\n                                |sect2info/subtitle\n                                |sect3info/subtitle\n                                |sect4info/subtitle\n                                |sect5info/subtitle\n                                |refsect1info/subtitle\n                                |refsect2info/subtitle\n                                |refsect3info/subtitle\n                                |subtitle)[1]\"\n                       mode=\"subtitle.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n</xsl:stylesheet>\n\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/sv.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"sv\" english-language-name=\"Swedish\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/sv.xml -->\n<!-- * -->\n<!-- * E-mail the edited sv.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Sammanfattning\"/>\n<l:gentext key=\"abstract\" text=\"Sammanfattning\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Tack till\"/>\n<l:gentext key=\"acknowledgements\" text=\"Tack till\"/>\n<l:gentext key=\"Answer\" text=\"A:\"/>\n<l:gentext key=\"answer\" text=\"A:\"/>\n<l:gentext key=\"Appendix\" text=\"Appendix\"/>\n<l:gentext key=\"appendix\" text=\"appendix\"/>\n<l:gentext key=\"Article\" text=\"Artikel\"/>\n<l:gentext key=\"article\" text=\"Artikel\"/>\n<l:gentext key=\"Author\" text=\"Author\" lang=\"en\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliografi\"/>\n<l:gentext key=\"bibliography\" text=\"Bibliografi\"/>\n<l:gentext key=\"Book\" text=\"Bok\"/>\n<l:gentext key=\"book\" text=\"Bok\"/>\n<l:gentext key=\"CAUTION\" text=\"OBSERVERA\"/>\n<l:gentext key=\"Caution\" text=\"Observera\"/>\n<l:gentext key=\"caution\" text=\"Observera\"/>\n<l:gentext key=\"Chapter\" text=\"Kapitel\"/>\n<l:gentext key=\"chapter\" text=\"kapitel\"/>\n<l:gentext key=\"Colophon\" text=\"Kolofon\"/>\n<l:gentext key=\"colophon\" text=\"kolofon\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"Copyright\"/>\n<l:gentext key=\"Dedication\" text=\"Dedikation\"/>\n<l:gentext key=\"dedication\" text=\"Dedikation\"/>\n<l:gentext key=\"Edition\" text=\"Utgåva\"/>\n<l:gentext key=\"edition\" text=\"Utgåva\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Ekvation\"/>\n<l:gentext key=\"equation\" text=\"Ekvation\"/>\n<l:gentext key=\"Example\" text=\"Exempel\"/>\n<l:gentext key=\"example\" text=\"Exempel\"/>\n<l:gentext key=\"Figure\" text=\"Figur\"/>\n<l:gentext key=\"figure\" text=\"Figur\"/>\n<l:gentext key=\"Glossary\" text=\"Gloslista\"/>\n<l:gentext key=\"glossary\" text=\"Gloslista\"/>\n<l:gentext key=\"GlossSee\" text=\"Se\"/>\n<l:gentext key=\"glosssee\" text=\"Se\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Se Även\"/>\n<l:gentext key=\"glossseealso\" text=\"Se Även\"/>\n<l:gentext key=\"IMPORTANT\" text=\"VIKTIGT\"/>\n<l:gentext key=\"important\" text=\"Viktigt\"/>\n<l:gentext key=\"Important\" text=\"Viktigt\"/>\n<l:gentext key=\"Index\" text=\"Index\"/>\n<l:gentext key=\"index\" text=\"Index\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Rättsligt Meddelande\"/>\n<l:gentext key=\"legalnotice\" text=\"rättsligt meddelande\"/>\n<l:gentext key=\"MsgAud\" text=\"Målgrupp\"/>\n<l:gentext key=\"msgaud\" text=\"Målgrupp\"/>\n<l:gentext key=\"MsgLevel\" text=\"Nivå\"/>\n<l:gentext key=\"msglevel\" text=\"Nivå\"/>\n<l:gentext key=\"MsgOrig\" text=\"Ursprung\"/>\n<l:gentext key=\"msgorig\" text=\"Ursprung\"/>\n<l:gentext key=\"NOTE\" text=\"NOTERA\"/>\n<l:gentext key=\"Note\" text=\"Notera\"/>\n<l:gentext key=\"note\" text=\"Notera\"/>\n<l:gentext key=\"Part\" text=\"Del\"/>\n<l:gentext key=\"part\" text=\"Del\"/>\n<l:gentext key=\"Preface\" text=\"Företal\"/>\n<l:gentext key=\"preface\" text=\"Företal\"/>\n<l:gentext key=\"Procedure\" text=\"Procedur\"/>\n<l:gentext key=\"procedure\" text=\"Procedur\"/>\n<l:gentext key=\"ProductionSet\" text=\"Production\"/>\n<l:gentext key=\"PubDate\" text=\"Publication Date\" lang=\"en\"/>\n<l:gentext key=\"pubdate\" text=\"Publication date\" lang=\"en\"/>\n<l:gentext key=\"Published\" text=\"Publicerad\"/>\n<l:gentext key=\"published\" text=\"Publicerad\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"Fråga och A\"/>\n<l:gentext key=\"qandadiv\" text=\"Fråga och A\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"Fråga:\"/>\n<l:gentext key=\"question\" text=\"Fråga:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Referens\"/>\n<l:gentext key=\"reference\" text=\"Referens\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Namn\"/>\n<l:gentext key=\"refname\" text=\"Namn\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Synopsis\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Synopsis\"/>\n<l:gentext key=\"RevHistory\" text=\"Revisionshistorik\"/>\n<l:gentext key=\"revhistory\" text=\"Revisionshistorik\"/>\n<l:gentext key=\"revision\" text=\"Revision\"/>\n<l:gentext key=\"Revision\" text=\"Revision\"/>\n<l:gentext key=\"sect1\" text=\"Section\"/>\n<l:gentext key=\"sect2\" text=\"Section\"/>\n<l:gentext key=\"sect3\" text=\"Section\"/>\n<l:gentext key=\"sect4\" text=\"Section\"/>\n<l:gentext key=\"sect5\" text=\"Section\"/>\n<l:gentext key=\"section\" text=\"avsnitt\"/>\n<l:gentext key=\"Section\" text=\"Avsnitt\"/>\n<l:gentext key=\"see\" text=\"se\"/>\n<l:gentext key=\"See\" text=\"Se\"/>\n<l:gentext key=\"seealso\" text=\"se även\"/>\n<l:gentext key=\"Seealso\" text=\"Se även\"/>\n<l:gentext key=\"SeeAlso\" text=\"Se Även\"/>\n<l:gentext key=\"set\" text=\"Set\"/>\n<l:gentext key=\"Set\" text=\"Set\"/>\n<l:gentext key=\"setindex\" text=\"Set Index\"/>\n<l:gentext key=\"SetIndex\" text=\"Set Index\"/>\n<l:gentext key=\"Sidebar\" text=\"Sidebar\"/>\n<l:gentext key=\"sidebar\" text=\"sidebar\"/>\n<l:gentext key=\"step\" text=\"steg\"/>\n<l:gentext key=\"Step\" text=\"Steg\"/>\n<l:gentext key=\"table\" text=\"Tabell\"/>\n<l:gentext key=\"Table\" text=\"Tabell\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"Tips\"/>\n<l:gentext key=\"TIP\" text=\"TIPS\"/>\n<l:gentext key=\"Tip\" text=\"Tips\"/>\n<l:gentext key=\"Warning\" text=\"Varning\"/>\n<l:gentext key=\"warning\" text=\"Varning\"/>\n<l:gentext key=\"WARNING\" text=\"VARNING\"/>\n<l:gentext key=\"and\" text=\"och\"/>\n<l:gentext key=\"or\" text=\"eller\"/>\n<l:gentext key=\"by\" text=\"av\"/>\n<l:gentext key=\"Edited\" text=\"Redigerad\"/>\n<l:gentext key=\"edited\" text=\"Redigerad\"/>\n<l:gentext key=\"Editedby\" text=\"Redigerad av\"/>\n<l:gentext key=\"editedby\" text=\"Redigerad av\"/>\n<l:gentext key=\"in\" text=\"i\"/>\n<l:gentext key=\"lastlistcomma\" text=\"\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Noter\"/>\n<l:gentext key=\"Notes\" text=\"Noter\"/>\n<l:gentext key=\"Pgs\" text=\"Sid.\"/>\n<l:gentext key=\"pgs\" text=\"Sid.\"/>\n<l:gentext key=\"Revisedby\" text=\"Reviderad av: \"/>\n<l:gentext key=\"revisedby\" text=\"Reviderad av: \"/>\n<l:gentext key=\"TableNotes\" text=\"Noter\"/>\n<l:gentext key=\"tablenotes\" text=\"Noter\"/>\n<l:gentext key=\"TableofContents\" text=\"Innehållsförteckning\"/>\n<l:gentext key=\"tableofcontents\" text=\"Innehållsförteckning\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Oväntat elementnamn\"/>\n<l:gentext key=\"unsupported\" text=\"unsupported\"/>\n<l:gentext key=\"xrefto\" text=\"korsreferens till\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"Ekvationsförteckning\"/>\n<l:gentext key=\"ListofEquations\" text=\"Ekvationsförteckning\"/>\n<l:gentext key=\"ListofExamples\" text=\"Exempelförteckning\"/>\n<l:gentext key=\"listofexamples\" text=\"Exempelförteckning\"/>\n<l:gentext key=\"ListofFigures\" text=\"Figurförteckning\"/>\n<l:gentext key=\"listoffigures\" text=\"Figurförteckning\"/>\n<l:gentext key=\"ListofProcedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listofprocedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listoftables\" text=\"Tabellförteckning\"/>\n<l:gentext key=\"ListofTables\" text=\"Tabellförteckning\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Förteckning av okända\"/>\n<l:gentext key=\"listofunknown\" text=\"Förteckning av okända\"/>\n<l:gentext key=\"nav-home\" text=\"Hem\"/>\n<l:gentext key=\"nav-next\" text=\"Nästa\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Snabbt framåt\"/>\n<l:gentext key=\"nav-prev\" text=\"Föregående\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Snabbt bakåt\"/>\n<l:gentext key=\"nav-up\" text=\"Upp\"/>\n<l:gentext key=\"nav-toc\" text=\"ToC\" lang=\"en\"/>\n<l:gentext key=\"Draft\" text=\"Utkast\"/>\n<l:gentext key=\"above\" text=\"ovan\"/>\n<l:gentext key=\"below\" text=\"nedan\"/>\n<l:gentext key=\"sectioncalled\" text=\"the section called\"/>\n<l:gentext key=\"index symbols\" text=\"Symboler\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyzåäö\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"”\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"’\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Appendix %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Kapitel %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Ekvation %n. %t\"/>\n<l:template name=\"example\" text=\"Exempel %n. %t\"/>\n<l:template name=\"figure\" text=\"Figur %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Del %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Procedur %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Production %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tabell %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Appendix %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Kapitel %n. %t\"/>\n<l:template name=\"part\" text=\"Del %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"A: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Fråga: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Fråga: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"”%t”\"/>\n<l:template name=\"refsection\" text=\"”%t”\"/>\n<l:template name=\"refsect1\" text=\"”%t”\"/>\n<l:template name=\"refsect2\" text=\"”%t”\"/>\n<l:template name=\"refsect3\" text=\"”%t”\"/>\n<l:template name=\"sect1\" text=\"”%t”\"/>\n<l:template name=\"sect2\" text=\"”%t”\"/>\n<l:template name=\"sect3\" text=\"”%t”\"/>\n<l:template name=\"sect4\" text=\"”%t”\"/>\n<l:template name=\"sect5\" text=\"”%t”\"/>\n<l:template name=\"section\" text=\"”%t”\"/>\n<l:template name=\"simplesect\" text=\"”%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"A: %n\"/>\n<l:template name=\"appendix\" text=\"Appendix %n\"/>\n<l:template name=\"bridgehead\" text=\"Avsnitt %n\"/>\n<l:template name=\"chapter\" text=\"Kapitel %n\"/>\n<l:template name=\"equation\" text=\"Ekvation %n\"/>\n<l:template name=\"example\" text=\"Exempel %n\"/>\n<l:template name=\"figure\" text=\"Figur %n\"/>\n<l:template name=\"part\" text=\"Del %n\"/>\n<l:template name=\"procedure\" text=\"Procedur %n\"/>\n<l:template name=\"productionset\" text=\"Production %n\"/>\n<l:template name=\"qandadiv\" text=\"Fråga och A %n\"/>\n<l:template name=\"qandaentry\" text=\"Fråga: %n\"/>\n<l:template name=\"question\" text=\"Fråga: %n\"/>\n<l:template name=\"sect1\" text=\"Avsnitt %n\"/>\n<l:template name=\"sect2\" text=\"Avsnitt %n\"/>\n<l:template name=\"sect3\" text=\"Avsnitt %n\"/>\n<l:template name=\"sect4\" text=\"Avsnitt %n\"/>\n<l:template name=\"sect5\" text=\"Avsnitt %n\"/>\n<l:template name=\"section\" text=\"Avsnitt %n\"/>\n<l:template name=\"table\" text=\"Tabell %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Appendix %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Avsnitt %n, ”%t”\"/>\n<l:template name=\"chapter\" text=\"Kapitel %n, %t\"/>\n<l:template name=\"equation\" text=\"Ekvation %n, ”%t”\"/>\n<l:template name=\"example\" text=\"Exempel %n, ”%t”\"/>\n<l:template name=\"figure\" text=\"Figur %n, ”%t”\"/>\n<l:template name=\"part\" text=\"Del %n, ”%t”\"/>\n<l:template name=\"procedure\" text=\"Procedur %n, ”%t”\"/>\n<l:template name=\"productionset\" text=\"Production %n, ”%t”\"/>\n<l:template name=\"qandadiv\" text=\"Fråga och A %n, ”%t”\"/>\n<l:template name=\"refsect1\" text=\"the section called ”%t”\"/>\n<l:template name=\"refsect2\" text=\"the section called ”%t”\"/>\n<l:template name=\"refsect3\" text=\"the section called ”%t”\"/>\n<l:template name=\"refsection\" text=\"the section called ”%t”\"/>\n<l:template name=\"sect1\" text=\"Avsnitt %n, ”%t”\"/>\n<l:template name=\"sect2\" text=\"Avsnitt %n, ”%t”\"/>\n<l:template name=\"sect3\" text=\"Avsnitt %n, ”%t”\"/>\n<l:template name=\"sect4\" text=\"Avsnitt %n, ”%t”\"/>\n<l:template name=\"sect5\" text=\"Avsnitt %n, ”%t”\"/>\n<l:template name=\"section\" text=\"Avsnitt %n, ”%t”\"/>\n<l:template name=\"simplesect\" text=\"the section called ”%t”\"/>\n<l:template name=\"table\" text=\"Tabell %n, ”%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" och \"/>\n<l:template name=\"seplast\" text=\" och \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Se %t.\"/>\n<l:template name=\"seealso\" text=\"Se Även %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Målgrupp: \"/>\n<l:template name=\"MsgLevel\" text=\"Nivå: \"/>\n<l:template name=\"MsgOrig\" text=\"Ursprung: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d-m-Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Januari\"/>\n<l:template name=\"February\" text=\"Februari\"/>\n<l:template name=\"March\" text=\"Mars\"/>\n<l:template name=\"April\" text=\"April\"/>\n<l:template name=\"May\" text=\"Maj\"/>\n<l:template name=\"June\" text=\"Juni\"/>\n<l:template name=\"July\" text=\"Juli\"/>\n<l:template name=\"August\" text=\"Augusti\"/>\n<l:template name=\"September\" text=\"September\"/>\n<l:template name=\"October\" text=\"Oktober\"/>\n<l:template name=\"November\" text=\"November\"/>\n<l:template name=\"December\" text=\"December\"/>\n<l:template name=\"Monday\" text=\"Måndag\"/>\n<l:template name=\"Tuesday\" text=\"Tisdag\"/>\n<l:template name=\"Wednesday\" text=\"Onsdag\"/>\n<l:template name=\"Thursday\" text=\"Torsdag\"/>\n<l:template name=\"Friday\" text=\"Fredag\"/>\n<l:template name=\"Saturday\" text=\"Lördag\"/>\n<l:template name=\"Sunday\" text=\"Söndag\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\"/>\n<l:template name=\"Feb\" text=\"Feb\"/>\n<l:template name=\"Mar\" text=\"Mar\"/>\n<l:template name=\"Apr\" text=\"Apr\"/>\n<l:template name=\"May\" text=\"Maj\"/>\n<l:template name=\"Jun\" text=\"Jun\"/>\n<l:template name=\"Jul\" text=\"Jul\"/>\n<l:template name=\"Aug\" text=\"Aug\"/>\n<l:template name=\"Sep\" text=\"Sep\"/>\n<l:template name=\"Oct\" text=\"Okt\"/>\n<l:template name=\"Nov\" text=\"Nov\"/>\n<l:template name=\"Dec\" text=\"Dec\"/>\n<l:template name=\"Mon\" text=\"Mon\"/>\n<l:template name=\"Tue\" text=\"Tis\"/>\n<l:template name=\"Wed\" text=\"Ons\"/>\n<l:template name=\"Thu\" text=\"Tor\"/>\n<l:template name=\"Fri\" text=\"Fre\"/>\n<l:template name=\"Sat\" text=\"Lör\"/>\n<l:template name=\"Sun\" text=\"Sön\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x041d Swedish\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"1\">A</l:l>\n<l:l i=\"1\">a</l:l>\n<l:l i=\"2\">B</l:l>\n<l:l i=\"2\">b</l:l>\n<l:l i=\"3\">C</l:l>\n<l:l i=\"3\">c</l:l>\n<l:l i=\"4\">D</l:l>\n<l:l i=\"4\">d</l:l>\n<l:l i=\"5\">E</l:l>\n<l:l i=\"5\">e</l:l>\n<l:l i=\"6\">F</l:l>\n<l:l i=\"6\">f</l:l>\n<l:l i=\"7\">G</l:l>\n<l:l i=\"7\">g</l:l>\n<l:l i=\"8\">H</l:l>\n<l:l i=\"8\">h</l:l>\n<l:l i=\"9\">I</l:l>\n<l:l i=\"9\">i</l:l>\n<l:l i=\"10\">J</l:l>\n<l:l i=\"10\">j</l:l>\n<l:l i=\"11\">K</l:l>\n<l:l i=\"11\">k</l:l>\n<l:l i=\"12\">L</l:l>\n<l:l i=\"12\">l</l:l>\n<l:l i=\"13\">M</l:l>\n<l:l i=\"13\">m</l:l>\n<l:l i=\"14\">N</l:l>\n<l:l i=\"14\">n</l:l>\n<l:l i=\"15\">O</l:l>\n<l:l i=\"15\">o</l:l>\n<l:l i=\"16\">P</l:l>\n<l:l i=\"16\">p</l:l>\n<l:l i=\"17\">Q</l:l>\n<l:l i=\"17\">q</l:l>\n<l:l i=\"18\">R</l:l>\n<l:l i=\"18\">r</l:l>\n<l:l i=\"19\">S</l:l>\n<l:l i=\"19\">s</l:l>\n<l:l i=\"20\">T</l:l>\n<l:l i=\"20\">t</l:l>\n<l:l i=\"21\">U</l:l>\n<l:l i=\"21\">u</l:l>\n<l:l i=\"22\">V</l:l>\n<l:l i=\"22\">v</l:l>\n<l:l i=\"23\">W</l:l>\n<l:l i=\"23\">w</l:l>\n<l:l i=\"24\">X</l:l>\n<l:l i=\"24\">x</l:l>\n<l:l i=\"25\">Y</l:l>\n<l:l i=\"25\">y</l:l>\n<l:l i=\"26\">Z</l:l>\n<l:l i=\"26\">z</l:l>\n<l:l i=\"27\">Å</l:l>\n<l:l i=\"27\">å</l:l>\n<l:l i=\"28\">Ä</l:l>\n<l:l i=\"28\">ä</l:l>\n<l:l i=\"29\">Ö</l:l>\n<l:l i=\"29\">ö</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/ta.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"ta\" english-language-name=\"Tamil\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/ta.xml -->\n<!-- * -->\n<!-- * E-mail the edited ta.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"சுருக்கம்\"/>\n<l:gentext key=\"abstract\" text=\"சுருக்கம்\"/>\n<l:gentext key=\"Acknowledgements\" text=\"ஒப்புதல்கள்\"/>\n<l:gentext key=\"acknowledgements\" text=\"ஒப்புதல்கள்\"/>\n<l:gentext key=\"Answer\" text=\"விடை:\"/>\n<l:gentext key=\"answer\" text=\"விடை:\"/>\n<l:gentext key=\"Appendix\" text=\"இணைப்பு\"/>\n<l:gentext key=\"appendix\" text=\"இணைப்பு\"/>\n<l:gentext key=\"Article\" text=\"கட்டுரை\"/>\n<l:gentext key=\"article\" text=\"கட்டுரை\"/>\n<l:gentext key=\"Author\" text=\"ஆசிரியர்\"/>\n<l:gentext key=\"Bibliography\" text=\"விவரக்குறிப்பு\"/>\n<l:gentext key=\"bibliography\" text=\"விவரக்குறிப்பு\"/>\n<l:gentext key=\"Book\" text=\"புத்தகம்\"/>\n<l:gentext key=\"book\" text=\"புத்தகம்\"/>\n<l:gentext key=\"CAUTION\" text=\"எச்சரிக்கை\"/>\n<l:gentext key=\"Caution\" text=\"எச்சரிக்கை\"/>\n<l:gentext key=\"caution\" text=\"எச்சரிக்கை\"/>\n<l:gentext key=\"Chapter\" text=\"பாடம்\"/>\n<l:gentext key=\"chapter\" text=\"பாடம்\"/>\n<l:gentext key=\"Colophon\" text=\"பின்குறிப்பு\"/>\n<l:gentext key=\"colophon\" text=\"பின்குறிப்பு\"/>\n<l:gentext key=\"Copyright\" text=\"காப்புரிமை\"/>\n<l:gentext key=\"copyright\" text=\"காப்புரிமை\"/>\n<l:gentext key=\"Dedication\" text=\"சமர்பணம்\"/>\n<l:gentext key=\"dedication\" text=\"சமர்பணம்\"/>\n<l:gentext key=\"Edition\" text=\"பதிப்பு\"/>\n<l:gentext key=\"edition\" text=\"பதிப்பு\"/>\n<l:gentext key=\"Editor\" text=\"ஆசிரியர்\"/>\n<l:gentext key=\"Equation\" text=\"சமன்பாடு\"/>\n<l:gentext key=\"equation\" text=\"சமன்பாடு\"/>\n<l:gentext key=\"Example\" text=\"உதாரணம்\"/>\n<l:gentext key=\"example\" text=\"உதாரணம்\"/>\n<l:gentext key=\"Figure\" text=\"படம்\"/>\n<l:gentext key=\"figure\" text=\"படம்\"/>\n<l:gentext key=\"Glossary\" text=\"அகராதி\"/>\n<l:gentext key=\"glossary\" text=\"அகராதி\"/>\n<l:gentext key=\"GlossSee\" text=\"பார்\"/>\n<l:gentext key=\"glosssee\" text=\"பார்\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"இதையும்பார்க்கவும்\"/>\n<l:gentext key=\"glossseealso\" text=\"இதையும்பார்க்கவும்\"/>\n<l:gentext key=\"IMPORTANT\" text=\"முக்கியம்\"/>\n<l:gentext key=\"important\" text=\"முக்கியம்\"/>\n<l:gentext key=\"Important\" text=\"முக்கியம்\"/>\n<l:gentext key=\"Index\" text=\"அட்டவணை\"/>\n<l:gentext key=\"index\" text=\"அட்டவணை\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"சட்டஅறிக்கை\"/>\n<l:gentext key=\"legalnotice\" text=\"சட்டஅறிக்கை\"/>\n<l:gentext key=\"MsgAud\" text=\"பார்வையாளர்கள்\"/>\n<l:gentext key=\"msgaud\" text=\"பார்வையாளர்கள்\"/>\n<l:gentext key=\"MsgLevel\" text=\"நிலை\"/>\n<l:gentext key=\"msglevel\" text=\"நிலை\"/>\n<l:gentext key=\"MsgOrig\" text=\"மூலம்\"/>\n<l:gentext key=\"msgorig\" text=\"மூலம்\"/>\n<l:gentext key=\"NOTE\" text=\"குறிப்பு\"/>\n<l:gentext key=\"Note\" text=\"குறிப்பு\"/>\n<l:gentext key=\"note\" text=\"குறிப்பு\"/>\n<l:gentext key=\"Part\" text=\"பகுதி\"/>\n<l:gentext key=\"part\" text=\"பகுதி\"/>\n<l:gentext key=\"Preface\" text=\"முன்னுரை\"/>\n<l:gentext key=\"preface\" text=\"முன்னுரை\"/>\n<l:gentext key=\"Procedure\" text=\"முறை\"/>\n<l:gentext key=\"procedure\" text=\"முறை\"/>\n<l:gentext key=\"ProductionSet\" text=\"உற்பத்தி\"/>\n<l:gentext key=\"PubDate\" text=\"வெளியீடு தேதி\"/>\n<l:gentext key=\"pubdate\" text=\"வெளியீடு தேதி\"/>\n<l:gentext key=\"Published\" text=\"பதிப்பிக்கப்பட்ட\"/>\n<l:gentext key=\"published\" text=\"பதிப்பிக்கப்பட்ட\"/>\n<l:gentext key=\"Publisher\" text=\"வெளியீட்டாளர்\"/>\n<l:gentext key=\"Qandadiv\" text=\"வினா &amp; விடை\"/>\n<l:gentext key=\"qandadiv\" text=\"வினா &amp; விடை\"/>\n<l:gentext key=\"QandASet\" text=\"அடிக்கடி எழும் வினாக்கள்\"/>\n<l:gentext key=\"Question\" text=\"வினா:\"/>\n<l:gentext key=\"question\" text=\"வினா:\"/>\n<l:gentext key=\"RefEntry\" text=\"பக்கம்\"/>\n<l:gentext key=\"refentry\" text=\"பக்கம்\"/>\n<l:gentext key=\"Reference\" text=\"குறிப்புகள்\"/>\n<l:gentext key=\"reference\" text=\"குறிப்புகள்\"/>\n<l:gentext key=\"References\" text=\"குறிப்புகள்\"/>\n<l:gentext key=\"RefName\" text=\"பெயர்\"/>\n<l:gentext key=\"refname\" text=\"பெயர்\"/>\n<l:gentext key=\"RefSection\" text=\"பகுதி\"/>\n<l:gentext key=\"refsection\" text=\"பகுதி\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"சுருக்கம்\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"சுருக்கம்\"/>\n<l:gentext key=\"RevHistory\" text=\"மீள்பார்வைவரலாறு\"/>\n<l:gentext key=\"revhistory\" text=\"மீள்பார்வைவரலாறு\"/>\n<l:gentext key=\"revision\" text=\"மீள்பார்வை\"/>\n<l:gentext key=\"Revision\" text=\"மீள்பார்வை\"/>\n<l:gentext key=\"sect1\" text=\"பிரிவு\"/>\n<l:gentext key=\"sect2\" text=\"பிரிவு\"/>\n<l:gentext key=\"sect3\" text=\"பிரிவு\"/>\n<l:gentext key=\"sect4\" text=\"பிரிவு\"/>\n<l:gentext key=\"sect5\" text=\"பிரிவு\"/>\n<l:gentext key=\"section\" text=\"பிரிவு\"/>\n<l:gentext key=\"Section\" text=\"பிரிவு\"/>\n<l:gentext key=\"see\" text=\"பார்\"/>\n<l:gentext key=\"See\" text=\"பார்\"/>\n<l:gentext key=\"seealso\" text=\"இதையும்பார்க்கவும்\"/>\n<l:gentext key=\"Seealso\" text=\"இதையும்பார்க்கவும்\"/>\n<l:gentext key=\"SeeAlso\" text=\"இதையும்பார்க்கவும்\"/>\n<l:gentext key=\"set\" text=\"அமை\"/>\n<l:gentext key=\"Set\" text=\"அமை\"/>\n<l:gentext key=\"setindex\" text=\"அட்டவணைஅமை\"/>\n<l:gentext key=\"SetIndex\" text=\"அட்டவணைஅமை\"/>\n<l:gentext key=\"Sidebar\" text=\"பக்கப்பட்டை\"/>\n<l:gentext key=\"sidebar\" text=\"பக்கப்பட்டை\"/>\n<l:gentext key=\"step\" text=\"படிமுறை\"/>\n<l:gentext key=\"Step\" text=\"படிமுறை\"/>\n<l:gentext key=\"table\" text=\"அட்டவணை\"/>\n<l:gentext key=\"Table\" text=\"அட்டவணை\"/>\n<l:gentext key=\"task\" text=\"பணி\"/>\n<l:gentext key=\"Task\" text=\"பணி\"/>\n<l:gentext key=\"tip\" text=\"குறிப்பு\"/>\n<l:gentext key=\"TIP\" text=\"குறிப்பு\"/>\n<l:gentext key=\"Tip\" text=\"குறிப்பு\"/>\n<l:gentext key=\"Warning\" text=\"எச்சரிக்கை\"/>\n<l:gentext key=\"warning\" text=\"எச்சரிக்கை\"/>\n<l:gentext key=\"WARNING\" text=\"எச்சரிக்கை\"/>\n<l:gentext key=\"and\" text=\"மற்றும்\"/>\n<l:gentext key=\"or\" text=\"அல்லது\"/>\n<l:gentext key=\"by\" text=\"ஆல்\"/>\n<l:gentext key=\"Edited\" text=\"திருத்தப்பட்ட\"/>\n<l:gentext key=\"edited\" text=\"திருத்தப்பட்ட\"/>\n<l:gentext key=\"Editedby\" text=\"திருத்தியவர்\"/>\n<l:gentext key=\"editedby\" text=\"திருத்தியவர்\"/>\n<l:gentext key=\"in\" text=\"இல்\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"குறிப்புகள்\"/>\n<l:gentext key=\"Notes\" text=\"குறிப்புகள்\"/>\n<l:gentext key=\"Pgs\" text=\"பக்கம்\"/>\n<l:gentext key=\"pgs\" text=\"பக்கம்\"/>\n<l:gentext key=\"Revisedby\" text=\"மீண்டும்பார்த்தவர்: \"/>\n<l:gentext key=\"revisedby\" text=\"மீண்டும்பார்த்தவர்: \"/>\n<l:gentext key=\"TableNotes\" text=\"குறிப்புகள்\"/>\n<l:gentext key=\"tablenotes\" text=\"குறிப்புகள்\"/>\n<l:gentext key=\"TableofContents\" text=\"உள்ளடக்கங்கள்\"/>\n<l:gentext key=\"tableofcontents\" text=\"உள்ளடக்கங்கள்\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"எதிர்பாராதஉறுப்புபெயர்\"/>\n<l:gentext key=\"unsupported\" text=\"ஆதரவற்ற\"/>\n<l:gentext key=\"xrefto\" text=\"xref to\"/>\n<l:gentext key=\"Authors\" text=\"ஆசிரியர்கள்\"/>\n<l:gentext key=\"copyeditor\" text=\"காப்பி எடிட்டர்\"/>\n<l:gentext key=\"graphicdesigner\" text=\"வரைகலை வடிவமைப்பாளர்\"/>\n<l:gentext key=\"productioneditor\" text=\"தயாரிப்பு எடிட்டர்\"/>\n<l:gentext key=\"technicaleditor\" text=\"தொழில்நுட்ப ஆசிரியர்\"/>\n<l:gentext key=\"translator\" text=\"மொழிபெயர்ப்பாளர்\"/>\n<l:gentext key=\"listofequations\" text=\"சமன்பாடுகளின்பட்டியல்\"/>\n<l:gentext key=\"ListofEquations\" text=\"சமன்பாடுகளின்பட்டியல்\"/>\n<l:gentext key=\"ListofExamples\" text=\"சமன்பாடுகளின்பட்டியல்\"/>\n<l:gentext key=\"listofexamples\" text=\"சமன்பாடுகளின்பட்டியல்\"/>\n<l:gentext key=\"ListofFigures\" text=\"படங்களின்பட்டியல்\"/>\n<l:gentext key=\"listoffigures\" text=\"படங்களின்பட்டியல்\"/>\n<l:gentext key=\"ListofProcedures\" text=\"செய்முறைகளின்பட்டியல்\"/>\n<l:gentext key=\"listofprocedures\" text=\"செய்முறைகளின்பட்டியல்\"/>\n<l:gentext key=\"listoftables\" text=\"அட்டவணைகளின்பட்டியல்\"/>\n<l:gentext key=\"ListofTables\" text=\"அட்டவணைகளின்பட்டியல்\"/>\n<l:gentext key=\"ListofUnknown\" text=\"தெரியாதபட்டியல்\"/>\n<l:gentext key=\"listofunknown\" text=\"தெரியாதபட்டியல்\"/>\n<l:gentext key=\"nav-home\" text=\"இல்லம்\"/>\n<l:gentext key=\"nav-next\" text=\"அடுத்து\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"வேகமாகமுன்செல்\"/>\n<l:gentext key=\"nav-prev\" text=\"முன்\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"வேகமாகபின்செல்\"/>\n<l:gentext key=\"nav-up\" text=\"மேல்\"/>\n<l:gentext key=\"nav-toc\" text=\"உள்ளடக்கங்கள்\"/>\n<l:gentext key=\"Draft\" text=\"ஆவணம்\"/>\n<l:gentext key=\"above\" text=\"மேல்\"/>\n<l:gentext key=\"below\" text=\"கீழ்\"/>\n<l:gentext key=\"sectioncalled\" text=\"அழைக்கபட்டபகுதி\"/>\n<l:gentext key=\"index symbols\" text=\"குறியீடுகள்\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"இணைப்பு %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"பாடம் %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"சமன்பாடு %n. %t\"/>\n<l:template name=\"example\" text=\"உதாரணம் %n. %t\"/>\n<l:template name=\"figure\" text=\"படம் %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"பகுதி %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"முறை %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"உற்பத்தி %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"அட்டவணை %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"இணைப்பு %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"பாடம் %n. %t\"/>\n<l:template name=\"part\" text=\"பகுதி %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"விடை: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"வினா: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"வினா: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"அழைக்கபட்டபகுதி “%t”\"/>\n<l:template name=\"refsection\" text=\"அழைக்கபட்டபகுதி “%t”\"/>\n<l:template name=\"refsect1\" text=\"அழைக்கபட்டபகுதி “%t”\"/>\n<l:template name=\"refsect2\" text=\"அழைக்கபட்டபகுதி “%t”\"/>\n<l:template name=\"refsect3\" text=\"அழைக்கபட்டபகுதி “%t”\"/>\n<l:template name=\"sect1\" text=\"அழைக்கபட்டபகுதி “%t”\"/>\n<l:template name=\"sect2\" text=\"அழைக்கபட்டபகுதி “%t”\"/>\n<l:template name=\"sect3\" text=\"அழைக்கபட்டபகுதி “%t”\"/>\n<l:template name=\"sect4\" text=\"அழைக்கபட்டபகுதி “%t”\"/>\n<l:template name=\"sect5\" text=\"அழைக்கபட்டபகுதி “%t”\"/>\n<l:template name=\"section\" text=\"அழைக்கபட்டபகுதி “%t”\"/>\n<l:template name=\"simplesect\" text=\"அழைக்கபட்டபகுதி “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"விடை: %n\"/>\n<l:template name=\"appendix\" text=\"இணைப்பு %n\"/>\n<l:template name=\"bridgehead\" text=\"பிரிவு %n\"/>\n<l:template name=\"chapter\" text=\"பாடம் %n\"/>\n<l:template name=\"equation\" text=\"சமன்பாடு %n\"/>\n<l:template name=\"example\" text=\"உதாரணம் %n\"/>\n<l:template name=\"figure\" text=\"படம் %n\"/>\n<l:template name=\"part\" text=\"பகுதி %n\"/>\n<l:template name=\"procedure\" text=\"முறை %n\"/>\n<l:template name=\"productionset\" text=\"உற்பத்தி %n\"/>\n<l:template name=\"qandadiv\" text=\"வினா &amp; விடை %n\"/>\n<l:template name=\"qandaentry\" text=\"வினா: %n\"/>\n<l:template name=\"question\" text=\"வினா: %n\"/>\n<l:template name=\"sect1\" text=\"பிரிவு %n\"/>\n<l:template name=\"sect2\" text=\"பிரிவு %n\"/>\n<l:template name=\"sect3\" text=\"பிரிவு %n\"/>\n<l:template name=\"sect4\" text=\"பிரிவு %n\"/>\n<l:template name=\"sect5\" text=\"பிரிவு %n\"/>\n<l:template name=\"section\" text=\"பிரிவு %n\"/>\n<l:template name=\"table\" text=\"அட்டவணை %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"இணைப்பு %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"பிரிவு %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"பாடம் %n, %t\"/>\n<l:template name=\"equation\" text=\"சமன்பாடு %n, “%t”\"/>\n<l:template name=\"example\" text=\"உதாரணம் %n, “%t”\"/>\n<l:template name=\"figure\" text=\"படம் %n, “%t”\"/>\n<l:template name=\"part\" text=\"பகுதி %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"முறை %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"உற்பத்தி %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"வினா &amp; விடை %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"அழைக்கபட்டபகுதி “%t”\"/>\n<l:template name=\"refsect2\" text=\"அழைக்கபட்டபகுதி “%t”\"/>\n<l:template name=\"refsect3\" text=\"அழைக்கபட்டபகுதி “%t”\"/>\n<l:template name=\"refsection\" text=\"அழைக்கபட்டபகுதி “%t”\"/>\n<l:template name=\"sect1\" text=\"பிரிவு %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"பிரிவு %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"பிரிவு %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"பிரிவு %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"பிரிவு %n, “%t”\"/>\n<l:template name=\"section\" text=\"பிரிவு %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"அழைக்கபட்டபகுதி “%t”\"/>\n<l:template name=\"table\" text=\"அட்டவணை %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" மற்றும் \"/>\n<l:template name=\"seplast\" text=\", மற்றும் \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"பார் %t.\"/>\n<l:template name=\"seealso\" text=\"இதையும்பார்க்கவும் %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"பார்வையாளர்கள்: \"/>\n<l:template name=\"MsgLevel\" text=\"நிலை: \"/>\n<l:template name=\"MsgOrig\" text=\"மூலம்: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"ஜனவரி\"/>\n<l:template name=\"February\" text=\"பிப்ரவரி\"/>\n<l:template name=\"March\" text=\"மார்ச்\"/>\n<l:template name=\"April\" text=\"ஏப்ரல்\"/>\n<l:template name=\"May\" text=\"மே\"/>\n<l:template name=\"June\" text=\"ஜூன்\"/>\n<l:template name=\"July\" text=\"ஜூலை\"/>\n<l:template name=\"August\" text=\"ஆகஸ்ட்\"/>\n<l:template name=\"September\" text=\"செப்டம்பர்\"/>\n<l:template name=\"October\" text=\"அக்டோபர்\"/>\n<l:template name=\"November\" text=\"நவம்பர்\"/>\n<l:template name=\"December\" text=\"டிசம்பர்\"/>\n<l:template name=\"Monday\" text=\"திங்கட்கிழமை\"/>\n<l:template name=\"Tuesday\" text=\"செவ்வாய்கிழமை\"/>\n<l:template name=\"Wednesday\" text=\"புதன்கிழமை\"/>\n<l:template name=\"Thursday\" text=\"வியாழக்கிழமை\"/>\n<l:template name=\"Friday\" text=\"வெள்ளிக்கிழமை\"/>\n<l:template name=\"Saturday\" text=\"சனிக்கிழமை\"/>\n<l:template name=\"Sunday\" text=\"ஞாயிற்றுக்கிழமை\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"ஐன\"/>\n<l:template name=\"Feb\" text=\"பிப்\"/>\n<l:template name=\"Mar\" text=\"மார்\"/>\n<l:template name=\"Apr\" text=\"ஏப்\"/>\n<l:template name=\"May\" text=\"மே\"/>\n<l:template name=\"Jun\" text=\"ஜூன்\"/>\n<l:template name=\"Jul\" text=\"ஜூலை\"/>\n<l:template name=\"Aug\" text=\"ஆக\"/>\n<l:template name=\"Sep\" text=\"செப்\"/>\n<l:template name=\"Oct\" text=\"அக்\"/>\n<l:template name=\"Nov\" text=\"நவ\"/>\n<l:template name=\"Dec\" text=\"டிச\"/>\n<l:template name=\"Mon\" text=\"திங்\"/>\n<l:template name=\"Tue\" text=\"செவ்\"/>\n<l:template name=\"Wed\" text=\"புத\"/>\n<l:template name=\"Thu\" text=\"வியா\"/>\n<l:template name=\"Fri\" text=\"வெள்\"/>\n<l:template name=\"Sat\" text=\"சனி\"/>\n<l:template name=\"Sun\" text=\"ஞாயி\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0049 Tamil\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">குறியீடுகள்</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/table.xsl",
    "content": "<?xml version=\"1.0\"?>\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\"\n                exclude-result-prefixes=\"doc\"\n                version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: table.xsl 8392 2009-04-01 08:47:55Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"blank.spans\">\n  <xsl:param name=\"cols\" select=\"1\"/>\n  <xsl:if test=\"$cols &gt; 0\">\n    <xsl:text>0:</xsl:text>\n    <xsl:call-template name=\"blank.spans\">\n      <xsl:with-param name=\"cols\" select=\"$cols - 1\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"calculate.following.spans\">\n  <xsl:param name=\"colspan\" select=\"1\"/>\n  <xsl:param name=\"spans\" select=\"''\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$colspan &gt; 0\">\n      <xsl:call-template name=\"calculate.following.spans\">\n        <xsl:with-param name=\"colspan\" select=\"$colspan - 1\"/>\n        <xsl:with-param name=\"spans\" select=\"substring-after($spans,':')\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$spans\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"finaltd\">\n  <xsl:param name=\"spans\"/>\n  <xsl:param name=\"col\" select=\"0\"/>\n\n  <xsl:if test=\"$spans != ''\">\n    <xsl:choose>\n      <xsl:when test=\"starts-with($spans,'0:')\">\n        <xsl:call-template name=\"empty.table.cell\">\n          <xsl:with-param name=\"colnum\" select=\"$col\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise></xsl:otherwise>\n    </xsl:choose>\n\n    <xsl:call-template name=\"finaltd\">\n      <xsl:with-param name=\"spans\" select=\"substring-after($spans,':')\"/>\n      <xsl:with-param name=\"col\" select=\"$col+1\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"sfinaltd\">\n  <xsl:param name=\"spans\"/>\n\n  <xsl:if test=\"$spans != ''\">\n    <xsl:choose>\n      <xsl:when test=\"starts-with($spans,'0:')\">0:</xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"substring-before($spans,':')-1\"/>\n        <xsl:text>:</xsl:text>\n      </xsl:otherwise>\n    </xsl:choose>\n\n    <xsl:call-template name=\"sfinaltd\">\n      <xsl:with-param name=\"spans\" select=\"substring-after($spans,':')\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"entry.colnum\">\n  <xsl:param name=\"entry\" select=\".\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$entry/@spanname\">\n      <xsl:variable name=\"spanname\" select=\"$entry/@spanname\"/>\n      <xsl:variable name=\"spanspec\"\n                    select=\"($entry/ancestor::tgroup/spanspec[@spanname=$spanname]\n                             |$entry/ancestor::entrytbl/spanspec[@spanname=$spanname])[last()]\"/>\n      <xsl:variable name=\"colspec\"\n                    select=\"($entry/ancestor::tgroup/colspec[@colname=$spanspec/@namest]\n                             |$entry/ancestor::entrytbl/colspec[@colname=$spanspec/@namest])[last()]\"/>\n      <xsl:call-template name=\"colspec.colnum\">\n        <xsl:with-param name=\"colspec\" select=\"$colspec\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"$entry/@colname\">\n      <xsl:variable name=\"colname\" select=\"$entry/@colname\"/>\n      <xsl:variable name=\"colspec\"\n                    select=\"($entry/ancestor::tgroup/colspec[@colname=$colname]\n                             |$entry/ancestor::entrytbl/colspec[@colname=$colname])[last()]\"/>\n      <xsl:call-template name=\"colspec.colnum\">\n        <xsl:with-param name=\"colspec\" select=\"$colspec\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"$entry/@namest\">\n      <xsl:variable name=\"namest\" select=\"$entry/@namest\"/>\n      <xsl:variable name=\"colspec\"\n                    select=\"($entry/ancestor::tgroup/colspec[@colname=$namest]\n                             |$entry/ancestor::entrytbl/colspec[@colname=$namest])[last()]\"/>\n      <xsl:call-template name=\"colspec.colnum\">\n        <xsl:with-param name=\"colspec\" select=\"$colspec\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <!-- no idea, return 0 -->\n    <xsl:otherwise>0</xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<doc:template name=\"entry.colnum\" xmlns=\"\">\n<refpurpose>Determine the column number in which a given entry occurs</refpurpose>\n<refdescription id=\"entry.colnum-desc\">\n<para>If an <tag>entry</tag> has a\n<tag class=\"attribute\">colname</tag> or\n<tag class=\"attribute\">namest</tag> attribute, this template\nwill determine the number of the column in which the entry should occur.\nFor other <tag>entry</tag>s, nothing is returned.</para>\n</refdescription>\n<refparameter id=\"entry.colnum-params\">\n<variablelist>\n<varlistentry><term>entry</term>\n<listitem>\n<para>The <tag>entry</tag>-element which is to be tested.</para>\n</listitem>\n</varlistentry>\n</variablelist>\n</refparameter>\n\n<refreturn id=\"entry.colnum-returns\">\n<para>This template returns the column number if it can be determined,\nor 0 (the empty string)</para>\n</refreturn>\n</doc:template>\n\n<xsl:template name=\"colspec.colnum\">\n  <xsl:param name=\"colspec\" select=\".\"/>\n  <xsl:choose>\n    <xsl:when test=\"$colspec/@colnum\">\n      <xsl:value-of select=\"$colspec/@colnum\"/>\n    </xsl:when>\n    <xsl:when test=\"$colspec/preceding-sibling::colspec\">\n      <xsl:variable name=\"prec.colspec.colnum\">\n        <xsl:call-template name=\"colspec.colnum\">\n          <xsl:with-param name=\"colspec\"\n                          select=\"$colspec/preceding-sibling::colspec[1]\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:value-of select=\"$prec.colspec.colnum + 1\"/>\n    </xsl:when>\n    <xsl:otherwise>1</xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"calculate.colspan\">\n  <xsl:param name=\"entry\" select=\".\"/>\n  <xsl:variable name=\"spanname\" select=\"$entry/@spanname\"/>\n  <xsl:variable name=\"spanspec\"\n                select=\"($entry/ancestor::tgroup/spanspec[@spanname=$spanname]\n                         |$entry/ancestor::entrytbl/spanspec[@spanname=$spanname])[last()]\"/>\n\n  <xsl:variable name=\"namest\">\n    <xsl:choose>\n      <xsl:when test=\"@spanname\">\n        <xsl:value-of select=\"$spanspec/@namest\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$entry/@namest\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"nameend\">\n    <xsl:choose>\n      <xsl:when test=\"@spanname\">\n        <xsl:value-of select=\"$spanspec/@nameend\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$entry/@nameend\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"scol\">\n    <xsl:call-template name=\"colspec.colnum\">\n      <xsl:with-param name=\"colspec\"\n                      select=\"($entry/ancestor::tgroup/colspec[@colname=$namest]\n                               |$entry/ancestor::entrytbl/colspec[@colname=$namest])[last()]\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"ecol\">\n    <xsl:call-template name=\"colspec.colnum\">\n      <xsl:with-param name=\"colspec\"\n                      select=\"($entry/ancestor::tgroup/colspec[@colname=$nameend]\n                               |$entry/ancestor::entrytbl/colspec[@colname=$nameend])[last()]\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$namest != '' and $nameend != ''\">\n      <xsl:choose>\n        <xsl:when test=\"number($ecol) &gt;= number($scol)\">\n          <xsl:value-of select=\"number($ecol) - number($scol) + 1\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"number($scol) - number($ecol) + 1\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>1</xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"calculate.rowsep\">\n  <xsl:param name=\"entry\" select=\".\"/>\n  <xsl:param name=\"colnum\" select=\"0\"/>\n\n  <xsl:call-template name=\"inherited.table.attribute\">\n    <xsl:with-param name=\"entry\" select=\"$entry\"/>\n    <xsl:with-param name=\"colnum\" select=\"$colnum\"/>\n    <xsl:with-param name=\"attribute\" select=\"'rowsep'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"calculate.colsep\">\n  <xsl:param name=\"entry\" select=\".\"/>\n  <xsl:param name=\"colnum\" select=\"0\"/>\n\n  <xsl:call-template name=\"inherited.table.attribute\">\n    <xsl:with-param name=\"entry\" select=\"$entry\"/>\n    <xsl:with-param name=\"colnum\" select=\"$colnum\"/>\n    <xsl:with-param name=\"attribute\" select=\"'colsep'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"inherited.table.attribute\">\n  <xsl:param name=\"entry\" select=\".\"/>\n  <xsl:param name=\"row\" select=\"$entry/ancestor-or-self::row[1]\"/>\n  <xsl:param name=\"colnum\" select=\"0\"/>\n  <xsl:param name=\"attribute\" select=\"'colsep'\"/>\n\n  <xsl:variable name=\"tgroup\" select=\"$row/parent::*/parent::tgroup[1]\"/>\n  <xsl:variable name=\"tbody\" select=\"$row/parent::*[1]\"/>\n\n  <xsl:variable name=\"table\" select=\"($tgroup/ancestor::table\n                                     |$tgroup/ancestor::informaltable\n                                     |$entry/ancestor::entrytbl)[last()]\"/>\n\n  <xsl:variable name=\"entry.value\">\n    <xsl:call-template name=\"get-attribute\">\n      <xsl:with-param name=\"element\" select=\"$entry\"/>\n      <xsl:with-param name=\"attribute\" select=\"$attribute\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"row.value\">\n    <xsl:call-template name=\"get-attribute\">\n      <xsl:with-param name=\"element\" select=\"$row\"/>\n      <xsl:with-param name=\"attribute\" select=\"$attribute\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"span.value\">\n    <xsl:if test=\"$entry/@spanname\">\n      <xsl:variable name=\"spanname\" select=\"$entry/@spanname\"/>\n      <xsl:variable name=\"spanspec\"\n                    select=\"$tgroup/spanspec[@spanname=$spanname]\"/>\n      <xsl:variable name=\"span.colspec\"\n                    select=\"$tgroup/colspec[@colname=$spanspec/@namest]\"/>\n\n      <xsl:variable name=\"spanspec.value\">\n        <xsl:call-template name=\"get-attribute\">\n          <xsl:with-param name=\"element\" select=\"$spanspec\"/>\n          <xsl:with-param name=\"attribute\" select=\"$attribute\"/>\n        </xsl:call-template>\n      </xsl:variable>\n\n      <xsl:variable name=\"scolspec.value\">\n        <xsl:call-template name=\"get-attribute\">\n          <xsl:with-param name=\"element\" select=\"$span.colspec\"/>\n          <xsl:with-param name=\"attribute\" select=\"$attribute\"/>\n        </xsl:call-template>\n      </xsl:variable>\n\n      <xsl:choose>\n        <xsl:when test=\"$spanspec.value != ''\">\n          <xsl:value-of select=\"$spanspec.value\"/>\n        </xsl:when>\n        <xsl:when test=\"$scolspec.value != ''\">\n          <xsl:value-of select=\"$scolspec.value\"/>\n        </xsl:when>\n        <xsl:otherwise></xsl:otherwise>\n      </xsl:choose>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"namest.value\">\n    <xsl:if test=\"$entry/@namest\">\n      <xsl:variable name=\"namest\" select=\"$entry/@namest\"/>\n      <xsl:variable name=\"colspec\"\n                    select=\"$tgroup/colspec[@colname=$namest]\"/>\n\n      <xsl:variable name=\"inner.namest.value\">\n        <xsl:call-template name=\"get-attribute\">\n          <xsl:with-param name=\"element\" select=\"$colspec\"/>\n          <xsl:with-param name=\"attribute\" select=\"$attribute\"/>\n        </xsl:call-template>\n      </xsl:variable>\n\n      <xsl:choose>\n        <xsl:when test=\"$inner.namest.value\">\n          <xsl:value-of select=\"$inner.namest.value\"/>\n        </xsl:when>\n        <xsl:otherwise></xsl:otherwise>\n      </xsl:choose>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"tgroup.value\">\n    <xsl:call-template name=\"get-attribute\">\n      <xsl:with-param name=\"element\" select=\"$tgroup\"/>\n      <xsl:with-param name=\"attribute\" select=\"$attribute\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"tbody.value\">\n    <xsl:call-template name=\"get-attribute\">\n      <xsl:with-param name=\"element\" select=\"$tbody\"/>\n      <xsl:with-param name=\"attribute\" select=\"$attribute\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"table.value\">\n    <xsl:call-template name=\"get-attribute\">\n      <xsl:with-param name=\"element\" select=\"$table\"/>\n      <xsl:with-param name=\"attribute\" select=\"$attribute\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"default.value\">\n    <!-- This section used to say that rowsep and colsep have defaults based -->\n    <!-- on the frame setting. Further reflection and closer examination of the -->\n    <!-- CALS spec reveals I was mistaken. The default is \"1\" for rowsep and colsep. -->\n    <!-- For everything else, the default is the tgroup value -->\n    <xsl:choose>\n      <xsl:when test=\"$tgroup.value != ''\">\n        <xsl:value-of select=\"$tgroup.value\"/>\n      </xsl:when>\n      <xsl:when test=\"$attribute = 'rowsep'\">1</xsl:when>\n      <xsl:when test=\"$attribute = 'colsep'\">1</xsl:when>\n      <xsl:otherwise><!-- empty --></xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"calc.colvalue\">\n    <xsl:if test=\"$colnum &gt; 0\">\n      <xsl:call-template name=\"colnum.colspec\">\n        <xsl:with-param name=\"colnum\" select=\"$colnum\"/>\n        <xsl:with-param name=\"attribute\" select=\"$attribute\"/>\n      </xsl:call-template>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$entry.value != ''\">\n      <xsl:value-of select=\"$entry.value\"/>\n    </xsl:when>\n    <xsl:when test=\"$row.value != ''\">\n      <xsl:value-of select=\"$row.value\"/>\n    </xsl:when>\n    <xsl:when test=\"$span.value != ''\">\n      <xsl:value-of select=\"$span.value\"/>\n    </xsl:when>\n    <xsl:when test=\"$namest.value != ''\">\n      <xsl:value-of select=\"$namest.value\"/>\n    </xsl:when>\n    <xsl:when test=\"$calc.colvalue != ''\">\n      <xsl:value-of select=\"$calc.colvalue\"/>\n    </xsl:when>\n    <xsl:when test=\"$tbody.value != ''\">\n      <xsl:value-of select=\"$tbody.value\"/>\n    </xsl:when>\n    <xsl:when test=\"$tgroup.value != ''\">\n      <xsl:value-of select=\"$tgroup.value\"/>\n    </xsl:when>\n    <xsl:when test=\"$table.value != ''\">\n      <xsl:value-of select=\"$table.value\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$default.value\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"colnum.colspec\">\n  <xsl:param name=\"colnum\" select=\"0\"/>\n  <xsl:param name=\"attribute\" select=\"'colname'\"/>\n  <xsl:param name=\"colspec.ancestor\" \n             select=\"(ancestor::tgroup|ancestor::entrytbl)\n                     [position() = last()]\"/>\n  <xsl:param name=\"colspecs\" select=\"$colspec.ancestor/colspec\"/>\n  <xsl:param name=\"count\" select=\"1\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"not($colspecs) or $count &gt; $colnum\">\n      <!-- nop -->\n    </xsl:when>\n    <xsl:when test=\"$colspecs[1]/@colnum\">\n      <xsl:choose>\n        <xsl:when test=\"$colspecs[1]/@colnum = $colnum\">\n          <xsl:call-template name=\"get-attribute\">\n            <xsl:with-param name=\"element\" select=\"$colspecs[1]\"/>\n            <xsl:with-param name=\"attribute\" select=\"$attribute\"/>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"colnum.colspec\">\n            <xsl:with-param name=\"colnum\" select=\"$colnum\"/>\n            <xsl:with-param name=\"attribute\" select=\"$attribute\"/>\n            <xsl:with-param name=\"colspecs\"\n                            select=\"$colspecs[position()&gt;1]\"/>\n            <xsl:with-param name=\"count\"\n                            select=\"$colspecs[1]/@colnum+1\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"$count = $colnum\">\n          <xsl:call-template name=\"get-attribute\">\n            <xsl:with-param name=\"element\" select=\"$colspecs[1]\"/>\n            <xsl:with-param name=\"attribute\" select=\"$attribute\"/>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"colnum.colspec\">\n            <xsl:with-param name=\"colnum\" select=\"$colnum\"/>\n            <xsl:with-param name=\"attribute\" select=\"$attribute\"/>\n            <xsl:with-param name=\"colspecs\"\n                            select=\"$colspecs[position()&gt;1]\"/>\n            <xsl:with-param name=\"count\" select=\"$count+1\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"get-attribute\">\n  <xsl:param name=\"element\" select=\".\"/>\n  <xsl:param name=\"attribute\" select=\"''\"/>\n\n  <xsl:for-each select=\"$element/@*\">\n    <xsl:if test=\"local-name(.) = $attribute\">\n      <xsl:value-of select=\".\"/>\n    </xsl:if>\n  </xsl:for-each>\n</xsl:template>\n\n<xsl:template name=\"consume-row\">\n  <xsl:param name=\"spans\"/>\n\n  <xsl:if test=\"contains($spans,':')\">\n    <xsl:value-of select=\"substring-before($spans,':') - 1\"/>\n    <xsl:text>:</xsl:text>\n    <xsl:call-template name=\"consume-row\">\n      <xsl:with-param name=\"spans\" select=\"substring-after($spans,':')\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<!-- Returns the table style for the context element -->\n<xsl:template name=\"tabstyle\">\n  <xsl:param name=\"node\" select=\".\"/>\n\n  <xsl:variable name=\"tgroup\" select=\"$node/tgroup[1] | \n                                      $node/ancestor-or-self::tgroup[1]\"/>\n\n  <xsl:variable name=\"table\" \n                select=\"($node/ancestor-or-self::table | \n                         $node/ancestor-or-self::informaltable)[last()]\"/>\n\n  <xsl:variable name=\"tabstyle\">\n    <xsl:choose>\n      <xsl:when test=\"$table/@tabstyle != ''\">\n        <xsl:value-of select=\"normalize-space($table/@tabstyle)\"/>\n      </xsl:when>\n      <xsl:when test=\"$tgroup/@tgroupstyle != ''\">\n        <xsl:value-of select=\"normalize-space($tgroup/@tgroupstyle)\"/>\n      </xsl:when>\n      <xsl:otherwise>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:value-of select=\"$tabstyle\"/>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/targetdatabase.dtd",
    "content": "<!-- targetdatabase.dtd -->\n<!-- A DTD for managing cross reference target information -->\n\n<!ELEMENT targetset (targetsetinfo?, sitemap*, document*) >\n\n<!ELEMENT targetsetinfo ANY >\n\n<!ELEMENT sitemap (dir) >\n\n<!ELEMENT dir ((dir|document)*) >\n<!ATTLIST dir\n        name      CDATA   #REQUIRED\n>\n\n<!ELEMENT document (div*) >\n<!ATTLIST document\n        targetdoc CDATA   #REQUIRED\n        uri       CDATA   #IMPLIED\n        baseuri   CDATA   #IMPLIED\n        href      CDATA   #IMPLIED\n        dir       CDATA   #IMPLIED\n>\n\n<!ELEMENT div (ttl?, objttl?, xreftext?, (div|obj)*)>\n<!ATTLIST div\n        targetptr  CDATA   #IMPLIED\n        element   CDATA   #IMPLIED\n        name      CDATA   #IMPLIED\n        number    CDATA   #IMPLIED\n        href      CDATA   #IMPLIED\n        lang      CDATA   #IMPLIED\n        page      CDATA   #IMPLIED\n>\n        \n        \n<!ELEMENT ttl ANY >\n<!ELEMENT objttl ANY >\n<!ELEMENT xreftext ANY >\n\n<!ELEMENT obj (ttl?, objttl?, xreftext?)>\n<!ATTLIST obj\n        targetptr  CDATA   #IMPLIED\n        element   CDATA   #IMPLIED\n        name      CDATA   #IMPLIED\n        number    CDATA   #IMPLIED\n        href      CDATA   #IMPLIED\n        lang      CDATA   #IMPLIED\n        page      CDATA   #IMPLIED\n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/targets.xsl",
    "content": "<?xml version='1.0'?>\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\"\n                xmlns:exsl=\"http://exslt.org/common\"\n                exclude-result-prefixes=\"doc exsl\"\n                version='1.0'>\n\n<!-- ********************************************************************\n     $Id: targets.xsl 9286 2012-04-19 10:10:58Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<!-- cross reference target collection  -->\n\n<doc:mode mode=\"collect.targets\" xmlns=\"\">\n<refpurpose>Collects information for potential cross reference targets</refpurpose>\n<refdescription id=\"collect.targets-desc\">\n<para>Processing the root element in the\n<literal role=\"mode\">collect.targets</literal> mode produces \na set of target database elements that can be used by\nthe olink mechanism to resolve external cross references.\nThe collection process is controlled by the <literal>\ncollect.xref.targets</literal> parameter, which can be\n<literal>yes</literal> to collect targets and process\nthe document for output, <literal>only</literal> to\nonly collect the targets, and <literal>no</literal>\n(default) to not collect the targets and only process the document.\n</para>\n<para>\nA <literal>targets.filename</literal> parameter must be\nspecified to receive the output if \n<literal>collect.xref.targets</literal> is\nset to <literal>yes</literal> so as to\nredirect the target data to a file separate from the\ndocument output.\n</para>\n</refdescription>\n</doc:mode>\n\n<!-- ============================================================ -->\n\n<xsl:template match=\"*\" mode=\"collect.targets\">\n  <xsl:choose>\n    <xsl:when test=\"$collect.xref.targets = 'yes' and $targets.filename = ''\">\n      <xsl:message>\n        Must specify a $targets.filename parameter when\n        $collect.xref.targets is set to 'yes'.\n        The xref targets were not collected.\n      </xsl:message>\n    </xsl:when> \n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"$targets.filename\">\n          <xsl:call-template name=\"write.chunk\">\n            <xsl:with-param name=\"filename\" select=\"$targets.filename\"/>\n            <xsl:with-param name=\"method\" select=\"'xml'\"/>\n            <xsl:with-param name=\"encoding\" select=\"'utf-8'\"/>\n            <xsl:with-param name=\"omit-xml-declaration\" select=\"'yes'\"/>\n            <xsl:with-param name=\"doctype-public\" select=\"''\"/>\n            <xsl:with-param name=\"doctype-system\" select=\"''\"/>\n            <xsl:with-param name=\"indent\" select=\"'no'\"/>\n            <xsl:with-param name=\"quiet\" select=\"0\"/>\n            <xsl:with-param name=\"content\">\n              <xsl:apply-templates select=\".\" mode=\"olink.mode\"/>\n            </xsl:with-param>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <!-- Else write to standard output -->\n          <xsl:apply-templates select=\".\" mode=\"olink.mode\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"olink.href.target\">\n  <xsl:param name=\"nd\" select=\".\"/>\n\n  <xsl:value-of select=\"$olink.base.uri\"/>\n  <xsl:call-template name=\"href.target\">\n    <xsl:with-param name=\"object\" select=\"$nd\"/>\n    <xsl:with-param name=\"context\" select=\"NOTANODE\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<!-- Templates for extracting cross reference information\n     from a document for use in an xref database.\n-->\n\n<xsl:template name=\"attrs\">\n  <xsl:param name=\"nd\" select=\".\"/>\n\n  <xsl:attribute name=\"element\">\n    <xsl:value-of select=\"local-name(.)\"/>\n  </xsl:attribute>\n\n  <xsl:attribute name=\"href\">\n    <xsl:call-template name=\"olink.href.target\">\n      <xsl:with-param name=\"nd\" select=\"$nd\"/>\n    </xsl:call-template>\n  </xsl:attribute>\n\n  <xsl:variable name=\"num\">\n    <xsl:apply-templates select=\"$nd\" mode=\"label.markup\">\n      <xsl:with-param name=\"verbose\" select=\"0\"/>\n    </xsl:apply-templates>\n  </xsl:variable>\n\n  <xsl:if test=\"$num\">\n    <xsl:attribute name=\"number\">\n      <xsl:value-of select=\"$num\"/>\n    </xsl:attribute>\n  </xsl:if>\n\n  <xsl:choose>\n    <xsl:when test=\"$nd/@id\">\n      <xsl:attribute name=\"targetptr\">\n        <xsl:value-of select=\"$nd/@id\"/>\n      </xsl:attribute>\n    </xsl:when>\n    <xsl:when test=\"$nd/@xml:id\">\n      <xsl:attribute name=\"targetptr\">\n        <xsl:value-of select=\"$nd/@xml:id\"/>\n      </xsl:attribute>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:if test=\"$nd/@lang\">\n    <xsl:attribute name=\"lang\">\n      <xsl:value-of select=\"$nd/@lang\"/>\n    </xsl:attribute>\n  </xsl:if>\n\n</xsl:template>\n\n<xsl:template name=\"div\">\n  <xsl:param name=\"nd\" select=\".\"/>\n\n  <div>\n    <xsl:call-template name=\"attrs\">\n      <xsl:with-param name=\"nd\" select=\"$nd\"/>\n    </xsl:call-template>\n    <ttl>\n      <xsl:apply-templates select=\"$nd\" mode=\"title.markup\">\n        <xsl:with-param name=\"verbose\" select=\"0\"/>\n      </xsl:apply-templates>\n    </ttl>\n    <xreftext>\n      <xsl:choose>\n        <xsl:when test=\"$nd/@xreflabel\">\n          <xsl:call-template name=\"xref.xreflabel\">\n            <xsl:with-param name=\"target\" select=\"$nd\"/>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates select=\"$nd\" mode=\"xref-to\">\n            <xsl:with-param name=\"verbose\" select=\"0\"/>\n          </xsl:apply-templates>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xreftext>\n    <xsl:apply-templates mode=\"olink.mode\"/>\n  </div>\n</xsl:template>\n\n<xsl:template name=\"obj\">\n  <xsl:param name=\"nd\" select=\".\"/>\n\n  <obj>\n    <xsl:call-template name=\"attrs\">\n      <xsl:with-param name=\"nd\" select=\"$nd\"/>\n    </xsl:call-template>\n    <ttl>\n      <xsl:apply-templates select=\"$nd\" mode=\"title.markup\">\n        <xsl:with-param name=\"verbose\" select=\"0\"/>\n      </xsl:apply-templates>\n    </ttl>\n    <xreftext>\n      <xsl:choose>\n        <xsl:when test=\"$nd/@xreflabel\">\n          <xsl:call-template name=\"xref.xreflabel\">\n            <xsl:with-param name=\"target\" select=\"$nd\"/>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates select=\"$nd\" mode=\"xref-to\">\n            <xsl:with-param name=\"verbose\" select=\"0\"/>\n          </xsl:apply-templates>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xreftext>\n  </obj>\n</xsl:template>\n\n<xsl:template match=\"text()|processing-instruction()|comment()\"\n              mode=\"olink.mode\">\n  <!-- nop -->\n</xsl:template>\n\n<!--\n<xsl:template match=\"*\" mode=\"olink.mode\">\n</xsl:template>\n-->\n\n<xsl:template match=\"set\" mode=\"olink.mode\">\n  <xsl:call-template name=\"div\"/>\n</xsl:template>\n\n<xsl:template match=\"book\" mode=\"olink.mode\">\n  <xsl:call-template name=\"div\"/>\n</xsl:template>\n\n<xsl:template match=\"preface|chapter|appendix\" mode=\"olink.mode\">\n  <xsl:call-template name=\"div\"/>\n</xsl:template>\n\n<xsl:template match=\"part|reference\" mode=\"olink.mode\">\n  <xsl:call-template name=\"div\"/>\n</xsl:template>\n\n<xsl:template match=\"article\" mode=\"olink.mode\">\n  <xsl:call-template name=\"div\"/>\n</xsl:template>\n\n<xsl:template match=\"topic\" mode=\"olink.mode\">\n  <xsl:call-template name=\"div\"/>\n</xsl:template>\n\n<xsl:template match=\"bibliography|bibliodiv\" mode=\"olink.mode\">\n  <xsl:call-template name=\"div\"/>\n</xsl:template>\n\n<xsl:template match=\"biblioentry|bibliomixed\" mode=\"olink.mode\">\n  <xsl:call-template name=\"obj\"/>\n</xsl:template>\n\n<xsl:template match=\"refentry\" mode=\"olink.mode\">\n  <xsl:call-template name=\"div\"/>\n</xsl:template>\n\n<xsl:template match=\"section|sect1|sect2|sect3|sect4|sect5\" mode=\"olink.mode\">\n  <xsl:call-template name=\"div\"/>\n</xsl:template>\n\n<xsl:template match=\"refsection|refsect1|refsect2|refsect3\" mode=\"olink.mode\">\n  <xsl:call-template name=\"div\"/>\n</xsl:template>\n\n<xsl:template match=\"figure|example|table\" mode=\"olink.mode\">\n  <xsl:call-template name=\"obj\"/>\n  <xsl:apply-templates mode=\"olink.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"equation[title or info/title]\" mode=\"olink.mode\">\n  <xsl:call-template name=\"obj\"/>\n</xsl:template>\n\n<xsl:template match=\"qandaset|qandaentry\" mode=\"olink.mode\">\n  <xsl:call-template name=\"div\"/>\n</xsl:template>\n\n<!-- handle an glossary collection -->\n<xsl:template match=\"glossary[@role='auto']\" mode=\"olink.mode\" priority=\"2\">\n  <xsl:variable name=\"collection\" select=\"document($glossary.collection, .)\"/>\n  <xsl:if test=\"$glossary.collection = ''\">\n    <xsl:message>\n      <xsl:text>Warning: processing automatic glossary </xsl:text>\n      <xsl:text>without a glossary.collection file.</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n  <xsl:if test=\"not($collection) and $glossary.collection != ''\">\n    <xsl:message>\n      <xsl:text>Warning: processing automatic glossary but unable to </xsl:text>\n      <xsl:text>open glossary.collection file '</xsl:text>\n      <xsl:value-of select=\"$glossary.collection\"/>\n      <xsl:text>'</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n\n  <xsl:if test=\"$exsl.node.set.available != 0\">\n    <xsl:variable name=\"auto.glossary\">\n      <xsl:apply-templates select=\".\" mode=\"assemble.auto.glossary\"/>\n    </xsl:variable>\n    <xsl:variable name=\"auto.glossary.nodeset\" select=\"exsl:node-set($auto.glossary)\"/>\n    <xsl:apply-templates select=\"$auto.glossary.nodeset/*\" mode=\"olink.mode\"/>\n  </xsl:if>\n\n</xsl:template>\n\n<!-- construct a glossary in memory -->\n<xsl:template match=\"glossary\" mode=\"assemble.auto.glossary\">\n  <xsl:copy>\n    <xsl:copy-of select=\"@*[not(local-name() = 'role')]\"/>\n    <xsl:apply-templates select=\"node()\" mode=\"assemble.auto.glossary\"/>\n    <xsl:call-template name=\"select.glossentries\"/>\n  </xsl:copy>\n</xsl:template>\n\n<xsl:template name=\"select.glossentries\">\n  <xsl:param name=\"collection\" select=\"document($glossary.collection, .)\"/>\n  <xsl:param name=\"terms\" select=\"//glossterm[not(parent::glossdef)]|//firstterm\"/>\n\n  <xsl:for-each select=\"$collection//glossentry\">\n    <xsl:variable name=\"cterm\" select=\"glossterm\"/>\n    <xsl:if test=\"$terms[@baseform = $cterm or . = $cterm]\">\n      <xsl:copy-of select=\".\"/>\n    </xsl:if>\n  </xsl:for-each>\n</xsl:template>\n\n<xsl:template match=\"glossentry\" mode=\"assemble.auto.glossary\">\n  <!-- skip the dummy entries -->\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"assemble.auto.glossary\">\n  <!-- pass through any titles and intro stuff -->\n  <xsl:copy-of select=\".\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"olink.mode\">\n  <xsl:if test=\"@id or @xml:id\">\n    <xsl:call-template name=\"obj\"/>\n  </xsl:if> \n  <xsl:apply-templates mode=\"olink.mode\"/>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/te.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"te\" english-language-name=\"Telugu\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/te.xml -->\n<!-- * -->\n<!-- * E-mail the edited te.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"సంక్షిప్తము\"/>\n<l:gentext key=\"abstract\" text=\"సంక్షిప్తము\"/>\n<l:gentext key=\"Acknowledgements\" text=\"గుర్తింపులు\"/>\n<l:gentext key=\"acknowledgements\" text=\"గుర్తింపులు\"/>\n<l:gentext key=\"Answer\" text=\"సమాధానం:\"/>\n<l:gentext key=\"answer\" text=\"సమాధానం:\"/>\n<l:gentext key=\"Appendix\" text=\"అనుబంధం\"/>\n<l:gentext key=\"appendix\" text=\"అనుబంధం\"/>\n<l:gentext key=\"Article\" text=\"ప్రకరణము\"/>\n<l:gentext key=\"article\" text=\"ప్రకరణము\"/>\n<l:gentext key=\"Author\" text=\"గ్రంధకర్త\"/>\n<l:gentext key=\"Bibliography\" text=\"గ్రంధ పట్టిక\"/>\n<l:gentext key=\"bibliography\" text=\"గ్రంధ పట్టిక\"/>\n<l:gentext key=\"Book\" text=\"పుస్తకము\"/>\n<l:gentext key=\"book\" text=\"పుస్తకము\"/>\n<l:gentext key=\"CAUTION\" text=\"ముందుజాగ్రత్త\"/>\n<l:gentext key=\"Caution\" text=\"ముందుజాగ్రత్త\"/>\n<l:gentext key=\"caution\" text=\"ముందుజాగ్రత్త\"/>\n<l:gentext key=\"Chapter\" text=\"అధ్యాయము\"/>\n<l:gentext key=\"chapter\" text=\"అధ్యాయము\"/>\n<l:gentext key=\"Colophon\" text=\"చివరిమాట\"/>\n<l:gentext key=\"colophon\" text=\"చివరిమాట\"/>\n<l:gentext key=\"Copyright\" text=\"కాపీరైటు\"/>\n<l:gentext key=\"copyright\" text=\"కాపీరైటు\"/>\n<l:gentext key=\"Dedication\" text=\"అంకితం\"/>\n<l:gentext key=\"dedication\" text=\"అంకితం\"/>\n<l:gentext key=\"Edition\" text=\"సంచిక\"/>\n<l:gentext key=\"edition\" text=\"సంచిక\"/>\n<l:gentext key=\"Editor\" text=\"సంపాదకుడు\"/>\n<l:gentext key=\"Equation\" text=\"సమీకరణము\"/>\n<l:gentext key=\"equation\" text=\"సమీకరణము\"/>\n<l:gentext key=\"Example\" text=\"ఉదాహరణ\"/>\n<l:gentext key=\"example\" text=\"ఉదాహరణ\"/>\n<l:gentext key=\"Figure\" text=\"మూర్తి\"/>\n<l:gentext key=\"figure\" text=\"మూర్తి\"/>\n<l:gentext key=\"Glossary\" text=\"పదకోశం\"/>\n<l:gentext key=\"glossary\" text=\"పదకోశం\"/>\n<l:gentext key=\"GlossSee\" text=\"చూడుము\"/>\n<l:gentext key=\"glosssee\" text=\"చూడుము\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"ఇదికూడా చూడుము\"/>\n<l:gentext key=\"glossseealso\" text=\"ఇదికూడా చూడుము\"/>\n<l:gentext key=\"IMPORTANT\" text=\"ముఖ్యమైన\"/>\n<l:gentext key=\"important\" text=\"ముఖ్యమైన\"/>\n<l:gentext key=\"Important\" text=\"ముఖ్యమైన\"/>\n<l:gentext key=\"Index\" text=\"విషయసూచిక\"/>\n<l:gentext key=\"index\" text=\"విషయసూచిక\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"చట్టబద్ద నోటీసు\"/>\n<l:gentext key=\"legalnotice\" text=\"చట్టబద్ద నోటీసు\"/>\n<l:gentext key=\"MsgAud\" text=\"ప్రేక్షకులు\"/>\n<l:gentext key=\"msgaud\" text=\"ప్రేక్షకులు\"/>\n<l:gentext key=\"MsgLevel\" text=\"స్థాయి\"/>\n<l:gentext key=\"msglevel\" text=\"స్థాయి\"/>\n<l:gentext key=\"MsgOrig\" text=\"మూలము\"/>\n<l:gentext key=\"msgorig\" text=\"మూలము\"/>\n<l:gentext key=\"NOTE\" text=\"గమనిక\"/>\n<l:gentext key=\"Note\" text=\"గమనిక\"/>\n<l:gentext key=\"note\" text=\"గమనిక\"/>\n<l:gentext key=\"Part\" text=\"భాగము\"/>\n<l:gentext key=\"part\" text=\"భాగము\"/>\n<l:gentext key=\"Preface\" text=\"ముందుమాట\"/>\n<l:gentext key=\"preface\" text=\"ముందుమాట\"/>\n<l:gentext key=\"Procedure\" text=\"పద్ధతి\"/>\n<l:gentext key=\"procedure\" text=\"పద్ధతి\"/>\n<l:gentext key=\"ProductionSet\" text=\"ఉత్పత్తి\"/>\n<l:gentext key=\"PubDate\" text=\"ప్రచురణ తేది\"/>\n<l:gentext key=\"pubdate\" text=\"ప్రచురణ తేది\"/>\n<l:gentext key=\"Published\" text=\"ప్రచురితమైంది\"/>\n<l:gentext key=\"published\" text=\"ప్రచురితమైంది\"/>\n<l:gentext key=\"Publisher\" text=\"ప్రచురణకర్త\"/>\n<l:gentext key=\"Qandadiv\" text=\"ప్రశ్నలు &amp; సమాధానములు\"/>\n<l:gentext key=\"qandadiv\" text=\"ప్రశ్నలు &amp; సమాధానములు\"/>\n<l:gentext key=\"QandASet\" text=\"తరచుగా అడుగు ప్రశ్నలు\"/>\n<l:gentext key=\"Question\" text=\"ప్రశ్న:\"/>\n<l:gentext key=\"question\" text=\"ప్రశ్న:\"/>\n<l:gentext key=\"RefEntry\" text=\"పేజీ\"/>\n<l:gentext key=\"refentry\" text=\"పేజీ\"/>\n<l:gentext key=\"Reference\" text=\"సంభందిత\"/>\n<l:gentext key=\"reference\" text=\"సంభందిత\"/>\n<l:gentext key=\"References\" text=\"సంభందితములు\"/>\n<l:gentext key=\"RefName\" text=\"నామము\"/>\n<l:gentext key=\"refname\" text=\"నామము\"/>\n<l:gentext key=\"RefSection\" text=\"విభాగము\"/>\n<l:gentext key=\"refsection\" text=\"విభాగము\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"ముఖ్యవిషయసూచిక\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"ముఖ్యవిషయసూచిక\"/>\n<l:gentext key=\"RevHistory\" text=\"పునఃపరిశీలన చరిత్ర\"/>\n<l:gentext key=\"revhistory\" text=\"పునఃపరిశీలన చరిత్ర\"/>\n<l:gentext key=\"revision\" text=\"పునఃపరిశీలన\"/>\n<l:gentext key=\"Revision\" text=\"పునఃపరిశీలన\"/>\n<l:gentext key=\"sect1\" text=\"విభాగము\"/>\n<l:gentext key=\"sect2\" text=\"విభాగము\"/>\n<l:gentext key=\"sect3\" text=\"విభాగము\"/>\n<l:gentext key=\"sect4\" text=\"విభాగము\"/>\n<l:gentext key=\"sect5\" text=\"విభాగము\"/>\n<l:gentext key=\"section\" text=\"విభాగము\"/>\n<l:gentext key=\"Section\" text=\"విభాగము\"/>\n<l:gentext key=\"see\" text=\"చూడుము\"/>\n<l:gentext key=\"See\" text=\"చూడుము\"/>\n<l:gentext key=\"seealso\" text=\"ఇదికూడా చూడుము\"/>\n<l:gentext key=\"Seealso\" text=\"ఇదికూడా చూడుము\"/>\n<l:gentext key=\"SeeAlso\" text=\"ఇదికూడా చూడుము\"/>\n<l:gentext key=\"set\" text=\"సమితి\"/>\n<l:gentext key=\"Set\" text=\"సమితి\"/>\n<l:gentext key=\"setindex\" text=\"సమితి విషయసూచిక\"/>\n<l:gentext key=\"SetIndex\" text=\"సమితి విషయసూచిక\"/>\n<l:gentext key=\"Sidebar\" text=\"ప్రక్కపట్టీ\"/>\n<l:gentext key=\"sidebar\" text=\"ప్రక్కపట్టీ\"/>\n<l:gentext key=\"step\" text=\"అంచె\"/>\n<l:gentext key=\"Step\" text=\"అంచె\"/>\n<l:gentext key=\"table\" text=\"పట్టిక\"/>\n<l:gentext key=\"Table\" text=\"పట్టిక\"/>\n<l:gentext key=\"task\" text=\"కర్తవ్యము\"/>\n<l:gentext key=\"Task\" text=\"కర్తవ్యము\"/>\n<l:gentext key=\"tip\" text=\"చిట్కా\"/>\n<l:gentext key=\"TIP\" text=\"చిట్కా\"/>\n<l:gentext key=\"Tip\" text=\"చిట్కా\"/>\n<l:gentext key=\"Warning\" text=\"హెచ్చరిక\"/>\n<l:gentext key=\"warning\" text=\"హెచ్చరిక\"/>\n<l:gentext key=\"WARNING\" text=\"హెచ్చరిక\"/>\n<l:gentext key=\"and\" text=\"మరియు\"/>\n<l:gentext key=\"or\" text=\"లేక\"/>\n<l:gentext key=\"by\" text=\"వీరిచేత\"/>\n<l:gentext key=\"Edited\" text=\"సరికూర్చిన\"/>\n<l:gentext key=\"edited\" text=\"సరికూర్చిన\"/>\n<l:gentext key=\"Editedby\" text=\"వీరిచేత సరికూర్చబడింది\"/>\n<l:gentext key=\"editedby\" text=\"వీరిచేత సరికూర్చబడింది\"/>\n<l:gentext key=\"in\" text=\"నందు\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"గమనికలు\"/>\n<l:gentext key=\"Notes\" text=\"గమనికలు\"/>\n<l:gentext key=\"Pgs\" text=\"పేజీలు\"/>\n<l:gentext key=\"pgs\" text=\"పేజీలు\"/>\n<l:gentext key=\"Revisedby\" text=\"వీరిచేత పునఃపరిశీలించబడింది: \"/>\n<l:gentext key=\"revisedby\" text=\"వీరిచేత పునఃపరిశీలించబడింది: \"/>\n<l:gentext key=\"TableNotes\" text=\"గమనికలు\"/>\n<l:gentext key=\"tablenotes\" text=\"గమనికలు\"/>\n<l:gentext key=\"TableofContents\" text=\"సారముల పట్టిక\"/>\n<l:gentext key=\"tableofcontents\" text=\"సారముల పట్టిక\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"అనుకోని మూలకం నామము\"/>\n<l:gentext key=\"unsupported\" text=\"మద్దతీయని\"/>\n<l:gentext key=\"xrefto\" text=\"xref\"/>\n<l:gentext key=\"Authors\" text=\"గ్రంధ కర్తలు\"/>\n<l:gentext key=\"copyeditor\" text=\"కాపీ సంపాదకుడు\"/>\n<l:gentext key=\"graphicdesigner\" text=\"గ్రాఫిక్ రూపకర్త\"/>\n<l:gentext key=\"productioneditor\" text=\"ఉత్పత్తి సంపాదకుడు\"/>\n<l:gentext key=\"technicaleditor\" text=\"సాంకేతిక సంపాదకుడు\"/>\n<l:gentext key=\"translator\" text=\"అనువాదకుడు\"/>\n<l:gentext key=\"listofequations\" text=\"సమీకరణముల జాబితా\"/>\n<l:gentext key=\"ListofEquations\" text=\"సమీకరణముల జాబితా\"/>\n<l:gentext key=\"ListofExamples\" text=\"ఉదాహరణముల జాబితా\"/>\n<l:gentext key=\"listofexamples\" text=\"ఉదాహరణముల జాబితా\"/>\n<l:gentext key=\"ListofFigures\" text=\"మూర్తుల జాబితా\"/>\n<l:gentext key=\"listoffigures\" text=\"మూర్తుల జాబితా\"/>\n<l:gentext key=\"ListofProcedures\" text=\"పద్ధతుల జాబితా\"/>\n<l:gentext key=\"listofprocedures\" text=\"పద్ధతుల జాబితా\"/>\n<l:gentext key=\"listoftables\" text=\"పట్టికల జాబితా\"/>\n<l:gentext key=\"ListofTables\" text=\"పట్టికల జాబితా\"/>\n<l:gentext key=\"ListofUnknown\" text=\"తెలియనివాటి జాబితా\"/>\n<l:gentext key=\"listofunknown\" text=\"తెలియనివాటి జాబితా\"/>\n<l:gentext key=\"nav-home\" text=\"నివాసము\"/>\n<l:gentext key=\"nav-next\" text=\"తరువాతి\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"ముందుకు నడుపు\"/>\n<l:gentext key=\"nav-prev\" text=\"ముందరి\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"వెనుకకు నడుపు\"/>\n<l:gentext key=\"nav-up\" text=\"పైనకు\"/>\n<l:gentext key=\"nav-toc\" text=\"వివరముల పట్టిక\"/>\n<l:gentext key=\"Draft\" text=\"ముసాయిదా\"/>\n<l:gentext key=\"above\" text=\"పైన\"/>\n<l:gentext key=\"below\" text=\"క్రింది\"/>\n<l:gentext key=\"sectioncalled\" text=\"ఆ విభాగము పిలువబడుతుంది\"/>\n<l:gentext key=\"index symbols\" text=\"చిహ్నములు\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"అనుబంధం %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"అధ్యాయము %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"సమీకరణము %n. %t\"/>\n<l:template name=\"example\" text=\"ఉదాహరణ %n. %t\"/>\n<l:template name=\"figure\" text=\"మూర్తి %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"భాగము %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"పద్ధతి %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"ఉత్పత్తి %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"పట్టిక %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"అనుబంధం %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"అధ్యాయము %n. %t\"/>\n<l:template name=\"part\" text=\"భాగము %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"సమాధానం: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"ప్రశ్న: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"ప్రశ్న: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\"/>\n<l:template name=\"docname\" text=\" in %o\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Page %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"ఆ విభాగము పిలువబడుతుంది “%t”\"/>\n<l:template name=\"refsection\" text=\"ఆ విభాగము పిలువబడుతుంది “%t”\"/>\n<l:template name=\"refsect1\" text=\"ఆ విభాగము పిలువబడుతుంది “%t”\"/>\n<l:template name=\"refsect2\" text=\"ఆ విభాగము పిలువబడుతుంది “%t”\"/>\n<l:template name=\"refsect3\" text=\"ఆ విభాగము పిలువబడుతుంది “%t”\"/>\n<l:template name=\"sect1\" text=\"ఆ విభాగము పిలువబడుతుంది “%t”\"/>\n<l:template name=\"sect2\" text=\"ఆ విభాగము పిలువబడుతుంది “%t”\"/>\n<l:template name=\"sect3\" text=\"ఆ విభాగము పిలువబడుతుంది “%t”\"/>\n<l:template name=\"sect4\" text=\"ఆ విభాగము పిలువబడుతుంది “%t”\"/>\n<l:template name=\"sect5\" text=\"ఆ విభాగము పిలువబడుతుంది “%t”\"/>\n<l:template name=\"section\" text=\"ఆ విభాగము పిలువబడుతుంది “%t”\"/>\n<l:template name=\"simplesect\" text=\"ఆ విభాగము పిలువబడుతుంది “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"సమాధానం: %n\"/>\n<l:template name=\"appendix\" text=\"అనుబంధం %n\"/>\n<l:template name=\"bridgehead\" text=\"విభాగము %n\"/>\n<l:template name=\"chapter\" text=\"అధ్యాయము %n\"/>\n<l:template name=\"equation\" text=\"సమీకరణము %n\"/>\n<l:template name=\"example\" text=\"ఉదాహరణ %n\"/>\n<l:template name=\"figure\" text=\"మూర్తి %n\"/>\n<l:template name=\"part\" text=\"భాగము %n\"/>\n<l:template name=\"procedure\" text=\"పద్ధతి %n\"/>\n<l:template name=\"productionset\" text=\"ఉత్పత్తి %n\"/>\n<l:template name=\"qandadiv\" text=\"ప్రశ్నలు &amp; సమాధానములు %n\"/>\n<l:template name=\"qandaentry\" text=\"ప్రశ్న: %n\"/>\n<l:template name=\"question\" text=\"ప్రశ్న: %n\"/>\n<l:template name=\"sect1\" text=\"విభాగము %n\"/>\n<l:template name=\"sect2\" text=\"విభాగము %n\"/>\n<l:template name=\"sect3\" text=\"విభాగము %n\"/>\n<l:template name=\"sect4\" text=\"విభాగము %n\"/>\n<l:template name=\"sect5\" text=\"విభాగము %n\"/>\n<l:template name=\"section\" text=\"విభాగము %n\"/>\n<l:template name=\"table\" text=\"పట్టిక %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"అనుబంధం %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"విభాగము %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"అధ్యాయము %n, %t\"/>\n<l:template name=\"equation\" text=\"సమీకరణము %n, “%t”\"/>\n<l:template name=\"example\" text=\"ఉదాహరణ %n, “%t”\"/>\n<l:template name=\"figure\" text=\"మూర్తి %n, “%t”\"/>\n<l:template name=\"part\" text=\"భాగము %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"పద్ధతి %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"ఉత్పత్తి %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"ప్రశ్నలు &amp; సమాధానములు %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"ఆ విభాగము పిలువబడుతుంది “%t”\"/>\n<l:template name=\"refsect2\" text=\"ఆ విభాగము పిలువబడుతుంది “%t”\"/>\n<l:template name=\"refsect3\" text=\"ఆ విభాగము పిలువబడుతుంది “%t”\"/>\n<l:template name=\"refsection\" text=\"ఆ విభాగము పిలువబడుతుంది “%t”\"/>\n<l:template name=\"sect1\" text=\"విభాగము %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"విభాగము %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"విభాగము %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"విభాగము %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"విభాగము %n, “%t”\"/>\n<l:template name=\"section\" text=\"విభాగము %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"ఆ విభాగము పిలువబడుతుంది “%t”\"/>\n<l:template name=\"table\" text=\"పట్టిక %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" మరియు \"/>\n<l:template name=\"seplast\" text=\", మరియు \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"చూడుము %t.\"/>\n<l:template name=\"seealso\" text=\"ఇదికూడా చూడుము %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"ప్రేక్షకులు: \"/>\n<l:template name=\"MsgLevel\" text=\"స్థాయి: \"/>\n<l:template name=\"MsgOrig\" text=\"మూలము: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"జనవరి\"/>\n<l:template name=\"February\" text=\"ఫిబ్రవరి\"/>\n<l:template name=\"March\" text=\"మార్చి\"/>\n<l:template name=\"April\" text=\"ఏప్రిల్\"/>\n<l:template name=\"May\" text=\"మే\"/>\n<l:template name=\"June\" text=\"జూన్\"/>\n<l:template name=\"July\" text=\"జులై\"/>\n<l:template name=\"August\" text=\"ఆగస్టు\"/>\n<l:template name=\"September\" text=\"సెప్టెంబర్\"/>\n<l:template name=\"October\" text=\"అక్టోబర్\"/>\n<l:template name=\"November\" text=\"నవంబర్\"/>\n<l:template name=\"December\" text=\"డిసెంబర్\"/>\n<l:template name=\"Monday\" text=\"సోమవారము\"/>\n<l:template name=\"Tuesday\" text=\"మంగళవారము\"/>\n<l:template name=\"Wednesday\" text=\"బుధవారము\"/>\n<l:template name=\"Thursday\" text=\"గురువారము\"/>\n<l:template name=\"Friday\" text=\"శుక్రవారము\"/>\n<l:template name=\"Saturday\" text=\"శనివారము\"/>\n<l:template name=\"Sunday\" text=\"ఆదివారము\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"జన\"/>\n<l:template name=\"Feb\" text=\"ఫిబ్ర\"/>\n<l:template name=\"Mar\" text=\"మార్చి\"/>\n<l:template name=\"Apr\" text=\"ఏప్రి\"/>\n<l:template name=\"May\" text=\"మే\"/>\n<l:template name=\"Jun\" text=\"జూన్\"/>\n<l:template name=\"Jul\" text=\"జులై\"/>\n<l:template name=\"Aug\" text=\"ఆగ\"/>\n<l:template name=\"Sep\" text=\"సెప్టెం\"/>\n<l:template name=\"Oct\" text=\"అక్టో\"/>\n<l:template name=\"Nov\" text=\"నవం\"/>\n<l:template name=\"Dec\" text=\"డిసెం\"/>\n<l:template name=\"Mon\" text=\"సోమ\"/>\n<l:template name=\"Tue\" text=\"మంగళ\"/>\n<l:template name=\"Wed\" text=\"బుధ\"/>\n<l:template name=\"Thu\" text=\"గురు\"/>\n<l:template name=\"Fri\" text=\"శుక్ర\"/>\n<l:template name=\"Sat\" text=\"శని\"/>\n<l:template name=\"Sun\" text=\"ఆది\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x044a Telugu\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">చిహ్నములు</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/th.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"th\" english-language-name=\"Thai\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/th.xml -->\n<!-- * -->\n<!-- * E-mail the edited th.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"บทคัดย่อ\"/>\n<l:gentext key=\"abstract\" text=\"บทคัดย่อ\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"ตอบ:\"/>\n<l:gentext key=\"answer\" text=\"ตอบ:\"/>\n<l:gentext key=\"Appendix\" text=\"ภาคผนวก\"/>\n<l:gentext key=\"appendix\" text=\"ภาคผนวก\"/>\n<l:gentext key=\"Article\" text=\"บทความ\"/>\n<l:gentext key=\"article\" text=\"บทความ\"/>\n<l:gentext key=\"Author\" text=\"Author\" lang=\"en\"/>\n<l:gentext key=\"Bibliography\" text=\"บรรณานุกรม\"/>\n<l:gentext key=\"bibliography\" text=\"บรรณานุกรม\"/>\n<l:gentext key=\"Book\" text=\"หนังสือ\"/>\n<l:gentext key=\"book\" text=\"หนังสือ\"/>\n<l:gentext key=\"CAUTION\" text=\"คำเตือน\"/>\n<l:gentext key=\"Caution\" text=\"คำเตือน\"/>\n<l:gentext key=\"caution\" text=\"คำเตือน\"/>\n<l:gentext key=\"Chapter\" text=\"บทที่\"/>\n<l:gentext key=\"chapter\" text=\"บทที่\"/>\n<l:gentext key=\"Colophon\" text=\"เบื้องหลัง\"/>\n<l:gentext key=\"colophon\" text=\"เบื้องหลัง\"/>\n<l:gentext key=\"Copyright\" text=\"สงวนสิขสิทธิ์\"/>\n<l:gentext key=\"copyright\" text=\"สงวนสิขสิทธิ์\"/>\n<l:gentext key=\"Dedication\" text=\"คำอุทิศ\"/>\n<l:gentext key=\"dedication\" text=\"คำอุทิศ\"/>\n<l:gentext key=\"Edition\" text=\"ฉบับ\"/>\n<l:gentext key=\"edition\" text=\"ฉบับ\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"สมการ\"/>\n<l:gentext key=\"equation\" text=\"สมการ\"/>\n<l:gentext key=\"Example\" text=\"ตัวอย่าง\"/>\n<l:gentext key=\"example\" text=\"ตัวอย่าง\"/>\n<l:gentext key=\"Figure\" text=\"รูป\"/>\n<l:gentext key=\"figure\" text=\"รูป\"/>\n<l:gentext key=\"Glossary\" text=\"อภิธานศัพท์\"/>\n<l:gentext key=\"glossary\" text=\"อภิธานศัพท์\"/>\n<l:gentext key=\"GlossSee\" text=\"ดู\"/>\n<l:gentext key=\"glosssee\" text=\"ดู\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"ดูเพิ่มเติม\"/>\n<l:gentext key=\"glossseealso\" text=\"ดูเพิ่มเติม\"/>\n<l:gentext key=\"IMPORTANT\" text=\"ข้อควรจำ\"/>\n<l:gentext key=\"important\" text=\"ข้อควรจำ\"/>\n<l:gentext key=\"Important\" text=\"ข้อควรจำ\"/>\n<l:gentext key=\"Index\" text=\"ดรรชนี\"/>\n<l:gentext key=\"index\" text=\"ดรรชนี\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"ข้อผูกพันตามกฎหมาย\"/>\n<l:gentext key=\"legalnotice\" text=\"ข้อผูกพันตามกฎหมาย\"/>\n<l:gentext key=\"MsgAud\" text=\"ผู้อ่าน\"/>\n<l:gentext key=\"msgaud\" text=\"ผู้อ่าน\"/>\n<l:gentext key=\"MsgLevel\" text=\"ระดับ\"/>\n<l:gentext key=\"msglevel\" text=\"ระดับ\"/>\n<l:gentext key=\"MsgOrig\" text=\"ที่มา\"/>\n<l:gentext key=\"msgorig\" text=\"ที่มา\"/>\n<l:gentext key=\"NOTE\" text=\"หมายเหตุ\"/>\n<l:gentext key=\"Note\" text=\"หมายเหตุ\"/>\n<l:gentext key=\"note\" text=\"หมายเหตุ\"/>\n<l:gentext key=\"Part\" text=\"ภาค\"/>\n<l:gentext key=\"part\" text=\"ภาค\"/>\n<l:gentext key=\"Preface\" text=\"คำนำ\"/>\n<l:gentext key=\"preface\" text=\"คำนำ\"/>\n<l:gentext key=\"Procedure\" text=\"ระเบียบการ\"/>\n<l:gentext key=\"procedure\" text=\"ระเบียบการ\"/>\n<l:gentext key=\"ProductionSet\" text=\"ผลิต\"/>\n<l:gentext key=\"PubDate\" text=\"Publication Date\" lang=\"en\"/>\n<l:gentext key=\"pubdate\" text=\"Publication date\" lang=\"en\"/>\n<l:gentext key=\"Published\" text=\"ตีพิมพ์\"/>\n<l:gentext key=\"published\" text=\"ตีพิมพ์\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"ถาม-ตอบ\"/>\n<l:gentext key=\"qandadiv\" text=\"ถาม-ตอบ\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"ถาม:\"/>\n<l:gentext key=\"question\" text=\"ถาม:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"หนังสืออ้างอิง\"/>\n<l:gentext key=\"reference\" text=\"หนังสืออ้างอิง\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"ชื่อ\"/>\n<l:gentext key=\"refname\" text=\"ชื่อ\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"สาระสำคัญ\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"สาระสำคัญ\"/>\n<l:gentext key=\"RevHistory\" text=\"บันทึกรุ่น\"/>\n<l:gentext key=\"revhistory\" text=\"บันทึกรุ่น\"/>\n<l:gentext key=\"revision\" text=\"รุ่นที่\"/>\n<l:gentext key=\"Revision\" text=\"รุ่นที่\"/>\n<l:gentext key=\"sect1\" text=\"ตอนที่\"/>\n<l:gentext key=\"sect2\" text=\"ตอนที่\"/>\n<l:gentext key=\"sect3\" text=\"ตอนที่\"/>\n<l:gentext key=\"sect4\" text=\"ตอนที่\"/>\n<l:gentext key=\"sect5\" text=\"ตอนที่\"/>\n<l:gentext key=\"section\" text=\"ตอนที่\"/>\n<l:gentext key=\"Section\" text=\"ตอนที่\"/>\n<l:gentext key=\"see\" text=\"ดู\"/>\n<l:gentext key=\"See\" text=\"ดู\"/>\n<l:gentext key=\"seealso\" text=\"ดูเพิ่มเติม\"/>\n<l:gentext key=\"Seealso\" text=\"ดูเพิ่มเติม\"/>\n<l:gentext key=\"SeeAlso\" text=\"ดูเพิ่มเติม\"/>\n<l:gentext key=\"set\" text=\"ชุด\"/>\n<l:gentext key=\"Set\" text=\"ชุด\"/>\n<l:gentext key=\"setindex\" text=\"สารบัญชุด\"/>\n<l:gentext key=\"SetIndex\" text=\"สารบัญชุด\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"sidebar\"/>\n<l:gentext key=\"step\" text=\"ลำดับ\"/>\n<l:gentext key=\"Step\" text=\"ลำดับ\"/>\n<l:gentext key=\"table\" text=\"ตาราง\"/>\n<l:gentext key=\"Table\" text=\"ตาราง\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"คำแนะนำ\"/>\n<l:gentext key=\"TIP\" text=\"คำแนะนำ\"/>\n<l:gentext key=\"Tip\" text=\"คำแนะนำ\"/>\n<l:gentext key=\"Warning\" text=\"คำเตือน\"/>\n<l:gentext key=\"warning\" text=\"คำเตือน\"/>\n<l:gentext key=\"WARNING\" text=\"คำเตือน\"/>\n<l:gentext key=\"and\" text=\"และ\"/>\n<l:gentext key=\"or\" text=\"หรือ\"/>\n<l:gentext key=\"by\" text=\"โดย\"/>\n<l:gentext key=\"Edited\" text=\"เรียบเรียง\"/>\n<l:gentext key=\"edited\" text=\"เรียบเรียง\"/>\n<l:gentext key=\"Editedby\" text=\"เรียบเรียงโดย\"/>\n<l:gentext key=\"editedby\" text=\"เรียบเรียงโดย\"/>\n<l:gentext key=\"in\" text=\"ใน\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"หมายเหตุ\"/>\n<l:gentext key=\"Notes\" text=\"หมายเหตุ\"/>\n<l:gentext key=\"Pgs\" text=\"หน้า\"/>\n<l:gentext key=\"pgs\" text=\"หน้า\"/>\n<l:gentext key=\"Revisedby\" text=\"แก้ไขปรับปรุงโดย: \"/>\n<l:gentext key=\"revisedby\" text=\"แก้ไขปรับปรุงโดย: \"/>\n<l:gentext key=\"TableNotes\" text=\"หมายเหตุ\"/>\n<l:gentext key=\"tablenotes\" text=\"หมายเหตุ\"/>\n<l:gentext key=\"TableofContents\" text=\"สารบัญ\"/>\n<l:gentext key=\"tableofcontents\" text=\"สารบัญ\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"พบส่วนที่ไม่ต้องการ\"/>\n<l:gentext key=\"unsupported\" text=\"ไม่สนับสนุน\"/>\n<l:gentext key=\"xrefto\" text=\"xref to\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"สารบัญสมการ\"/>\n<l:gentext key=\"ListofEquations\" text=\"สารบัญสมการ\"/>\n<l:gentext key=\"ListofExamples\" text=\"สารบัญตัวอย่าง\"/>\n<l:gentext key=\"listofexamples\" text=\"สารบัญตัวอย่าง\"/>\n<l:gentext key=\"ListofFigures\" text=\"สารบัญรูป\"/>\n<l:gentext key=\"listoffigures\" text=\"สารบัญรูป\"/>\n<l:gentext key=\"ListofProcedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listofprocedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listoftables\" text=\"สารบัญตาราง\"/>\n<l:gentext key=\"ListofTables\" text=\"สารบัญตาราง\"/>\n<l:gentext key=\"ListofUnknown\" text=\"สารบัญอื่น ๆ\"/>\n<l:gentext key=\"listofunknown\" text=\"สารบัญอื่น ๆ\"/>\n<l:gentext key=\"nav-home\" text=\"หน้าแรก\"/>\n<l:gentext key=\"nav-next\" text=\"ต่อไป\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"ต่อไป\"/>\n<l:gentext key=\"nav-prev\" text=\"ก่อนหน้า\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"ก่อนหน้า\"/>\n<l:gentext key=\"nav-up\" text=\"กลับ\"/>\n<l:gentext key=\"nav-toc\" text=\"ToC\" lang=\"en\"/>\n<l:gentext key=\"Draft\" text=\"Draft\"/>\n<l:gentext key=\"above\" text=\"above\"/>\n<l:gentext key=\"below\" text=\"below\"/>\n<l:gentext key=\"sectioncalled\" text=\"หัวข้อ\"/>\n<l:gentext key=\"index symbols\" text=\"สัญลักษณ์\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"ภาคผนวก %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"บทที่ %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"สมการ %n. %t\"/>\n<l:template name=\"example\" text=\"ตัวอย่าง %n. %t\"/>\n<l:template name=\"figure\" text=\"รูป %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"ภาค %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"ระเบียบการ %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"ผลิต %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"ตาราง %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"ภาคผนวก %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"บทที่ %n. %t\"/>\n<l:template name=\"part\" text=\"ภาค %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"ตอบ: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"ถาม: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"ถาม: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"หัวข้อ “%t”\"/>\n<l:template name=\"refsection\" text=\"หัวข้อ “%t”\"/>\n<l:template name=\"refsect1\" text=\"หัวข้อ “%t”\"/>\n<l:template name=\"refsect2\" text=\"หัวข้อ “%t”\"/>\n<l:template name=\"refsect3\" text=\"หัวข้อ “%t”\"/>\n<l:template name=\"sect1\" text=\"หัวข้อ “%t”\"/>\n<l:template name=\"sect2\" text=\"หัวข้อ “%t”\"/>\n<l:template name=\"sect3\" text=\"หัวข้อ “%t”\"/>\n<l:template name=\"sect4\" text=\"หัวข้อ “%t”\"/>\n<l:template name=\"sect5\" text=\"หัวข้อ “%t”\"/>\n<l:template name=\"section\" text=\"หัวข้อ “%t”\"/>\n<l:template name=\"simplesect\" text=\"หัวข้อ “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"ตอบ: %n\"/>\n<l:template name=\"appendix\" text=\"ภาคผนวก %n\"/>\n<l:template name=\"bridgehead\" text=\"ตอนที่ %n\"/>\n<l:template name=\"chapter\" text=\"บทที่ %n\"/>\n<l:template name=\"equation\" text=\"สมการ %n\"/>\n<l:template name=\"example\" text=\"ตัวอย่าง %n\"/>\n<l:template name=\"figure\" text=\"รูป %n\"/>\n<l:template name=\"part\" text=\"ภาค %n\"/>\n<l:template name=\"procedure\" text=\"ระเบียบการ %n\"/>\n<l:template name=\"productionset\" text=\"ผลิต %n\"/>\n<l:template name=\"qandadiv\" text=\"ถาม-ตอบ %n\"/>\n<l:template name=\"qandaentry\" text=\"ถาม: %n\"/>\n<l:template name=\"question\" text=\"ถาม: %n\"/>\n<l:template name=\"sect1\" text=\"ตอนที่ %n\"/>\n<l:template name=\"sect2\" text=\"ตอนที่ %n\"/>\n<l:template name=\"sect3\" text=\"ตอนที่ %n\"/>\n<l:template name=\"sect4\" text=\"ตอนที่ %n\"/>\n<l:template name=\"sect5\" text=\"ตอนที่ %n\"/>\n<l:template name=\"section\" text=\"ตอนที่ %n\"/>\n<l:template name=\"table\" text=\"ตาราง %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"ภาคผนวก %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"ตอนที่ %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"บทที่ %n, %t\"/>\n<l:template name=\"equation\" text=\"สมการ %n, “%t”\"/>\n<l:template name=\"example\" text=\"ตัวอย่าง %n, “%t”\"/>\n<l:template name=\"figure\" text=\"รูป %n, “%t”\"/>\n<l:template name=\"part\" text=\"ภาค %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"ระเบียบการ %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"ผลิต %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"ถาม-ตอบ %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"หัวข้อ “%t”\"/>\n<l:template name=\"refsect2\" text=\"หัวข้อ “%t”\"/>\n<l:template name=\"refsect3\" text=\"หัวข้อ “%t”\"/>\n<l:template name=\"refsection\" text=\"หัวข้อ “%t”\"/>\n<l:template name=\"sect1\" text=\"ตอนที่ %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"ตอนที่ %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"ตอนที่ %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"ตอนที่ %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"ตอนที่ %n, “%t”\"/>\n<l:template name=\"section\" text=\"ตอนที่ %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"หัวข้อ “%t”\"/>\n<l:template name=\"table\" text=\"ตาราง %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" และ \"/>\n<l:template name=\"seplast\" text=\", และ \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"ดู %t.\"/>\n<l:template name=\"seealso\" text=\"ดูเพิ่มเติม %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"ผู้อ่าน: \"/>\n<l:template name=\"MsgLevel\" text=\"ระดับ: \"/>\n<l:template name=\"MsgOrig\" text=\"ที่มา: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\" lang=\"en\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"January\" lang=\"en\"/>\n<l:template name=\"February\" text=\"February\" lang=\"en\"/>\n<l:template name=\"March\" text=\"March\" lang=\"en\"/>\n<l:template name=\"April\" text=\"April\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"June\" text=\"June\" lang=\"en\"/>\n<l:template name=\"July\" text=\"July\" lang=\"en\"/>\n<l:template name=\"August\" text=\"August\" lang=\"en\"/>\n<l:template name=\"September\" text=\"September\" lang=\"en\"/>\n<l:template name=\"October\" text=\"October\" lang=\"en\"/>\n<l:template name=\"November\" text=\"November\" lang=\"en\"/>\n<l:template name=\"December\" text=\"December\" lang=\"en\"/>\n<l:template name=\"Monday\" text=\"Monday\" lang=\"en\"/>\n<l:template name=\"Tuesday\" text=\"Tuesday\" lang=\"en\"/>\n<l:template name=\"Wednesday\" text=\"Wednesday\" lang=\"en\"/>\n<l:template name=\"Thursday\" text=\"Thursday\" lang=\"en\"/>\n<l:template name=\"Friday\" text=\"Friday\" lang=\"en\"/>\n<l:template name=\"Saturday\" text=\"Saturday\" lang=\"en\"/>\n<l:template name=\"Sunday\" text=\"Sunday\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\" lang=\"en\"/>\n<l:template name=\"Feb\" text=\"Feb\" lang=\"en\"/>\n<l:template name=\"Mar\" text=\"Mar\" lang=\"en\"/>\n<l:template name=\"Apr\" text=\"Apr\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"Jun\" text=\"Jun\" lang=\"en\"/>\n<l:template name=\"Jul\" text=\"Jul\" lang=\"en\"/>\n<l:template name=\"Aug\" text=\"Aug\" lang=\"en\"/>\n<l:template name=\"Sep\" text=\"Sep\" lang=\"en\"/>\n<l:template name=\"Oct\" text=\"Oct\" lang=\"en\"/>\n<l:template name=\"Nov\" text=\"Nov\" lang=\"en\"/>\n<l:template name=\"Dec\" text=\"Dec\" lang=\"en\"/>\n<l:template name=\"Mon\" text=\"Mon\" lang=\"en\"/>\n<l:template name=\"Tue\" text=\"Tue\" lang=\"en\"/>\n<l:template name=\"Wed\" text=\"Wed\" lang=\"en\"/>\n<l:template name=\"Thu\" text=\"Thu\" lang=\"en\"/>\n<l:template name=\"Fri\" text=\"Fri\" lang=\"en\"/>\n<l:template name=\"Sat\" text=\"Sat\" lang=\"en\"/>\n<l:template name=\"Sun\" text=\"Sun\" lang=\"en\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x041e Thai\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters lang=\"en\"><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/titles.xsl",
    "content": "<?xml version='1.0'?>\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\"\n                xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n                exclude-result-prefixes=\"doc\"\n                version='1.0'>\n\n<!-- ********************************************************************\n     $Id: titles.xsl 9715 2013-01-24 00:16:57Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<!-- title markup -->\n\n<doc:mode mode=\"title.markup\" xmlns=\"\">\n<refpurpose>Provides access to element titles</refpurpose>\n<refdescription id=\"title.markup-desc\">\n<para>Processing an element in the\n<literal role=\"mode\">title.markup</literal> mode produces the\ntitle of the element. This does not include the label.\n</para>\n</refdescription>\n</doc:mode>\n\n<xsl:template match=\"*\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n  <xsl:choose>\n    <!-- * FIXME: this should handle other *info elements as well -->\n    <!-- * but this is good enough for now. -->\n    <xsl:when test=\"title|info/title\">\n      <xsl:apply-templates select=\"(title|info/title)[1]\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:when test=\"local-name(.) = 'partintro'\">\n      <!-- partintro's don't have titles, use the parent (part or reference)\n           title instead. -->\n      <xsl:apply-templates select=\"parent::*\" mode=\"title.markup\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:if test=\"$verbose != 0\">\n        <xsl:message>\n          <xsl:text>Request for title of element with no title: </xsl:text>\n          <xsl:value-of select=\"local-name(.)\"/>\n          <xsl:choose>\n            <xsl:when test=\"@id\">\n              <xsl:text> (id=\"</xsl:text>\n              <xsl:value-of select=\"@id\"/>\n              <xsl:text>\")</xsl:text>\n            </xsl:when>\n            <xsl:when test=\"@xml:id\">\n              <xsl:text> (xml:id=\"</xsl:text>\n              <xsl:value-of select=\"@xml:id\"/>\n              <xsl:text>\")</xsl:text>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:text> (contained in </xsl:text>\n              <xsl:value-of select=\"local-name(..)\"/>\n              <xsl:if test=\"../@id or ../@xml:id\">\n                <xsl:text> with id </xsl:text>\n                <xsl:value-of select=\"../@id | ../@xml:id\"/>\n              </xsl:if>\n              <xsl:text>)</xsl:text>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:message>\n      </xsl:if>\n      <xsl:text>???TITLE???</xsl:text>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$allow-anchors != 0\">\n      <xsl:apply-templates/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates mode=\"no.anchor.mode\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- only occurs in HTML Tables! -->\n<xsl:template match=\"caption\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$allow-anchors != 0\">\n      <xsl:apply-templates/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates mode=\"no.anchor.mode\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"set\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:apply-templates select=\"(setinfo/title|info/title|title)[1]\"\n                       mode=\"title.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"book\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:apply-templates select=\"(bookinfo/title|info/title|title)[1]\"\n                       mode=\"title.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"part\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:apply-templates select=\"(partinfo/title|info/title|docinfo/title|title)[1]\"\n                       mode=\"title.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"preface|chapter|appendix\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n\n<!--\n  <xsl:message>\n    <xsl:value-of select=\"local-name(.)\"/>\n    <xsl:text> </xsl:text>\n    <xsl:value-of select=\"$allow-anchors\"/>\n  </xsl:message>\n-->\n\n  <xsl:variable name=\"title\" select=\"(docinfo/title\n                                      |info/title\n                                      |prefaceinfo/title\n                                      |chapterinfo/title\n                                      |appendixinfo/title\n                                      |title)[1]\"/>\n  <xsl:apply-templates select=\"$title\" mode=\"title.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"dedication\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:choose>\n    <xsl:when test=\"title|info/title\">\n      <xsl:apply-templates select=\"(title|info/title)[1]\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"gentext\">\n        <xsl:with-param name=\"key\" select=\"'Dedication'\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"acknowledgements\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:choose>\n    <xsl:when test=\"title|info/title\">\n      <xsl:apply-templates select=\"(title|info/title)[1]\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"gentext\">\n        <xsl:with-param name=\"key\" select=\"'Acknowledgements'\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"colophon\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:choose>\n    <xsl:when test=\"title|info/title\">\n      <xsl:apply-templates select=\"(title|info/title)[1]\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"gentext\">\n        <xsl:with-param name=\"key\" select=\"'Colophon'\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"article\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:variable name=\"title\" select=\"(artheader/title\n                                      |articleinfo/title\n                                      |info/title\n                                      |title)[1]\"/>\n\n  <xsl:apply-templates select=\"$title\" mode=\"title.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"reference\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:apply-templates select=\"(referenceinfo/title|docinfo/title|info/title|title)[1]\"\n                       mode=\"title.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"refentry\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:variable name=\"refmeta\" select=\".//refmeta\"/>\n  <xsl:variable name=\"refentrytitle\" select=\"$refmeta//refentrytitle\"/>\n  <xsl:variable name=\"refnamediv\" select=\".//refnamediv\"/>\n  <xsl:variable name=\"refname\" select=\"$refnamediv//refname\"/>\n  <xsl:variable name=\"refdesc\" select=\"$refnamediv//refdescriptor\"/>\n\n  <xsl:variable name=\"title\">\n    <xsl:choose>\n      <xsl:when test=\"$refentrytitle\">\n        <xsl:apply-templates select=\"$refentrytitle[1]\" mode=\"title.markup\"/>\n      </xsl:when>\n      <xsl:when test=\"$refdesc\">\n        <xsl:apply-templates select=\"$refdesc\" mode=\"title.markup\"/>\n      </xsl:when>\n      <xsl:when test=\"$refname\">\n        <xsl:apply-templates select=\"$refname[1]\" mode=\"title.markup\"/>\n      </xsl:when>\n      <xsl:otherwise>REFENTRY WITHOUT TITLE???</xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:copy-of select=\"$title\"/>\n</xsl:template>\n\n<xsl:template match=\"refentrytitle|refname|refdescriptor\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:choose>\n    <xsl:when test=\"$allow-anchors != 0\">\n      <xsl:apply-templates/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates mode=\"no.anchor.mode\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"section\n                     |sect1|sect2|sect3|sect4|sect5\n                     |refsect1|refsect2|refsect3|refsection\n                     |topic\n                     |simplesect\"\n              mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:variable name=\"title\" select=\"(info/title\n                                      |sectioninfo/title\n                                      |sect1info/title\n                                      |sect2info/title\n                                      |sect3info/title\n                                      |sect4info/title\n                                      |sect5info/title\n                                      |refsect1info/title\n                                      |refsect2info/title\n                                      |refsect3info/title\n                                      |refsectioninfo/title\n                                      |title)[1]\"/>\n\n  <xsl:apply-templates select=\"$title\" mode=\"title.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"bridgehead\" mode=\"title.markup\">\n  <xsl:apply-templates/> \n</xsl:template>\n\n<xsl:template match=\"refsynopsisdiv\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:choose>\n    <xsl:when test=\"title|info/title\">\n      <xsl:apply-templates select=\"(title|info/title)[1]\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"gentext\">\n        <xsl:with-param name=\"key\" select=\"'RefSynopsisDiv'\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"bibliography\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:variable name=\"title\" select=\"(bibliographyinfo/title|info/title|title)[1]\"/>\n  <xsl:choose>\n    <xsl:when test=\"$title\">\n      <xsl:apply-templates select=\"$title\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"gentext\">\n        <xsl:with-param name=\"key\" select=\"'Bibliography'\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"glossary\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:variable name=\"title\" select=\"(glossaryinfo/title|info/title|title)[1]\"/>\n  <xsl:choose>\n    <xsl:when test=\"$title\">\n      <xsl:apply-templates select=\"$title\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"gentext.element.name\">\n        <xsl:with-param name=\"element.name\" select=\"local-name(.)\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"glossdiv\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:variable name=\"title\" select=\"(info/title|title)[1]\"/>\n  <xsl:choose>\n    <xsl:when test=\"$title\">\n      <xsl:apply-templates select=\"$title\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:message>ERROR: glossdiv missing its required title</xsl:message>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"glossentry\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:apply-templates select=\"glossterm\" mode=\"title.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"glossterm|firstterm\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$allow-anchors != 0\">\n      <xsl:apply-templates/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates mode=\"no.anchor.mode\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"index\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:variable name=\"title\" select=\"(indexinfo/title|info/title|title)[1]\"/>\n  <xsl:choose>\n    <xsl:when test=\"$title\">\n      <xsl:apply-templates select=\"$title\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"gentext\">\n        <xsl:with-param name=\"key\" select=\"'Index'\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"setindex\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:variable name=\"title\" select=\"(setindexinfo/title|info/title|title)[1]\"/>\n  <xsl:choose>\n    <xsl:when test=\"$title\">\n      <xsl:apply-templates select=\"$title\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"gentext\">\n        <xsl:with-param name=\"key\" select=\"'SetIndex'\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"figure|example|equation\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:apply-templates select=\"(title|info/title)[1]\" mode=\"title.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"table\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:apply-templates select=\"(title|info/title|caption)[1]\" mode=\"title.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"procedure\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:apply-templates select=\"(title|info/title)[1]\" mode=\"title.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"task\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:apply-templates select=\"(title|info/title)[1]\" mode=\"title.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"sidebar\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:apply-templates select=\"(info/title|sidebarinfo/title|title)[1]\"\n                       mode=\"title.markup\">\n    <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:choose>\n    <xsl:when test=\"title|info/title\">\n      <xsl:apply-templates select=\"(title|info/title)[1]\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"gentext\">\n        <xsl:with-param name=\"key\" select=\"'Abstract'\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"caution|tip|warning|important|note\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:variable name=\"title\" select=\"(title|info/title)[1]\"/>\n  <xsl:choose>\n    <xsl:when test=\"$title\">\n      <xsl:apply-templates select=\"$title\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"gentext\">\n        <xsl:with-param name=\"key\">\n          <xsl:choose>\n            <xsl:when test=\"local-name(.)='note'\">Note</xsl:when>\n            <xsl:when test=\"local-name(.)='important'\">Important</xsl:when>\n            <xsl:when test=\"local-name(.)='caution'\">Caution</xsl:when>\n            <xsl:when test=\"local-name(.)='warning'\">Warning</xsl:when>\n            <xsl:when test=\"local-name(.)='tip'\">Tip</xsl:when>\n          </xsl:choose>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"question\" mode=\"title.markup\">\n  <!-- questions don't have titles -->\n  <xsl:text>Question</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"answer\" mode=\"title.markup\">\n  <!-- answers don't have titles -->\n  <xsl:text>Answer</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"qandaentry\" mode=\"title.markup\">\n  <!-- qandaentrys are represented by the first question in them -->\n  <xsl:text>Question</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"qandaset\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:variable name=\"title\" select=\"(info/title|\n                                      blockinfo/title|\n                                      title)[1]\"/>\n  <xsl:choose>\n    <xsl:when test=\"$title\">\n      <xsl:apply-templates select=\"$title\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"gentext\">\n        <xsl:with-param name=\"key\" select=\"'QandASet'\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:choose>\n    <xsl:when test=\"title|info/title\">\n      <xsl:apply-templates select=\"(title|info/title)[1]\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"gentext\">\n        <xsl:with-param name=\"key\" select=\"'LegalNotice'\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ============================================================ -->\n\n<!-- titleabbrev is always processed in a mode -->\n<xsl:template match=\"titleabbrev\"/>\n\n<xsl:template match=\"*\" mode=\"titleabbrev.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"titleabbrev\">\n      <xsl:apply-templates select=\"titleabbrev[1]\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:when test=\"info/titleabbrev\">\n      <xsl:apply-templates select=\"info/titleabbrev[1]\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates select=\".\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n        <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n      </xsl:apply-templates>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"book|part|set|preface|chapter|appendix\" mode=\"titleabbrev.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:variable name=\"titleabbrev\" select=\"(docinfo/titleabbrev\n                                           |bookinfo/titleabbrev\n                                           |info/titleabbrev\n                                           |prefaceinfo/titleabbrev\n                                           |setinfo/titleabbrev\n                                           |partinfo/titleabbrev\n                                           |chapterinfo/titleabbrev\n                                           |appendixinfo/titleabbrev\n                                           |titleabbrev)[1]\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$titleabbrev\">\n      <xsl:apply-templates select=\"$titleabbrev\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates select=\".\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n        <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n      </xsl:apply-templates>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"article\" mode=\"titleabbrev.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:variable name=\"titleabbrev\" select=\"(artheader/titleabbrev\n                                           |articleinfo/titleabbrev\n                                           |info/titleabbrev\n                                           |titleabbrev)[1]\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$titleabbrev\">\n      <xsl:apply-templates select=\"$titleabbrev\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates select=\".\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n        <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n      </xsl:apply-templates>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"section\n                     |sect1|sect2|sect3|sect4|sect5\n                     |refsect1|refsect2|refsect3\n                     |topic\n                     |simplesect\"\n              mode=\"titleabbrev.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:variable name=\"titleabbrev\" select=\"(info/titleabbrev\n                                            |sectioninfo/titleabbrev\n                                            |sect1info/titleabbrev\n                                            |sect2info/titleabbrev\n                                            |sect3info/titleabbrev\n                                            |sect4info/titleabbrev\n                                            |sect5info/titleabbrev\n                                            |refsect1info/titleabbrev\n                                            |refsect2info/titleabbrev\n                                            |refsect3info/titleabbrev\n                                            |titleabbrev)[1]\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$titleabbrev\">\n      <xsl:apply-templates select=\"$titleabbrev\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates select=\".\" mode=\"title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"$allow-anchors\"/>\n        <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n      </xsl:apply-templates>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"titleabbrev\" mode=\"title.markup\">\n  <xsl:param name=\"allow-anchors\" select=\"0\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$allow-anchors != 0\">\n      <xsl:apply-templates/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates mode=\"no.anchor.mode\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ============================================================ -->\n\n<xsl:template match=\"*\" mode=\"no.anchor.mode\">\n  <!-- Switch to normal mode if no links -->\n  <xsl:choose>\n    <xsl:when test=\"descendant-or-self::footnote or\n                    descendant-or-self::anchor or\n                    descendant-or-self::ulink or\n                    descendant-or-self::link or\n                    descendant-or-self::olink or\n                    descendant-or-self::xref or\n                    descendant-or-self::indexterm or\n\t\t    (ancestor::title and (@id or @xml:id))\">\n\n      <xsl:apply-templates mode=\"no.anchor.mode\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates select=\".\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"footnote\" mode=\"no.anchor.mode\">\n  <!-- nop, suppressed -->\n</xsl:template>\n\n<xsl:template match=\"anchor\" mode=\"no.anchor.mode\">\n  <!-- nop, suppressed -->\n</xsl:template>\n\n<xsl:template match=\"ulink\" mode=\"no.anchor.mode\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"link\" mode=\"no.anchor.mode\">\n  <xsl:choose>\n    <xsl:when test=\"count(child::node()) &gt; 0\">\n      <!-- If it has content, use it -->\n      <xsl:apply-templates/>\n    </xsl:when>\n\t<!-- look for an endterm -->\n    <xsl:when test=\"@endterm\">\n      <xsl:variable name=\"etargets\" select=\"key('id',@endterm)\"/>\n      <xsl:variable name=\"etarget\" select=\"$etargets[1]\"/>\n      <xsl:choose>\n\t<xsl:when test=\"count($etarget) = 0\">\n          <xsl:message>\n\t    <xsl:value-of select=\"count($etargets)\"/>\n\t    <xsl:text>Endterm points to nonexistent ID: </xsl:text>\n\t    <xsl:value-of select=\"@endterm\"/>\n          </xsl:message>\n\t  <xsl:text>???</xsl:text>\n\t</xsl:when>\n        <xsl:otherwise>\n\t  <xsl:apply-templates select=\"$etarget\" mode=\"endterm\"/>\n\t</xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"olink\" mode=\"no.anchor.mode\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"indexterm\" mode=\"no.anchor.mode\">\n  <!-- nop, suppressed -->\n</xsl:template>\n\n<xsl:template match=\"xref\" mode=\"no.anchor.mode\">\n  <xsl:variable name=\"targets\" select=\"key('id',@linkend)|key('id',substring-after(@xlink:href,'#'))\"/>\n  <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n  <xsl:variable name=\"refelem\" select=\"local-name($target)\"/>\n  \n  <xsl:call-template name=\"check.id.unique\">\n    <xsl:with-param name=\"linkend\" select=\"@linkend\"/>\n  </xsl:call-template>\n\n  <xsl:choose>\n    <xsl:when test=\"count($target) = 0\">\n      <xsl:message>\n        <xsl:text>XRef to nonexistent id: </xsl:text>\n        <xsl:value-of select=\"@linkend\"/> \n        <xsl:value-of select=\"@xlink:href\"/>\n      </xsl:message>\n      <xsl:text>???</xsl:text>\n    </xsl:when>\n\n    <xsl:when test=\"@endterm\">\n      <xsl:variable name=\"etargets\" select=\"key('id',@endterm)\"/>\n      <xsl:variable name=\"etarget\" select=\"$etargets[1]\"/>\n      <xsl:choose>\n        <xsl:when test=\"count($etarget) = 0\">\n          <xsl:message>\n            <xsl:value-of select=\"count($etargets)\"/>\n            <xsl:text>Endterm points to nonexistent ID: </xsl:text>\n            <xsl:value-of select=\"@endterm\"/>\n          </xsl:message>\n          <xsl:text>???</xsl:text>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates select=\"$etarget\" mode=\"endterm\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n\n    <xsl:when test=\"$target/@xreflabel\">\n      <xsl:call-template name=\"xref.xreflabel\">\n        <xsl:with-param name=\"target\" select=\"$target\"/>\n      </xsl:call-template>\n    </xsl:when>\n\n    <xsl:otherwise>\n   \n      <xsl:choose>\n\t<!-- Watch out for the case when there is a xref or link inside \n\t     a title. See bugs #1811721 and #1838136. -->\n\t<xsl:when test=\"not(ancestor::*[@id = $target/@id] or ancestor::*[@xml:id = $target/@xml:id])\">\n\n\t  <xsl:apply-templates select=\"$target\" mode=\"xref-to-prefix\"/>\n\t  \n\t  <xsl:apply-templates select=\"$target\" mode=\"xref-to\">\n\t    \n\t    <xsl:with-param name=\"referrer\" select=\".\"/>\n\t    <xsl:with-param name=\"xrefstyle\">\n\t      <xsl:choose>\n\t\t<xsl:when test=\"@role and not(@xrefstyle) and $use.role.as.xrefstyle != 0\">\n\t\t  <xsl:value-of select=\"@role\"/>\n\t\t</xsl:when>\n\t\t<xsl:otherwise>\n\t\t  <xsl:value-of select=\"@xrefstyle\"/>\n\t\t</xsl:otherwise>\n\t      </xsl:choose>\n\t    </xsl:with-param>\n\t  </xsl:apply-templates>\n\t  \n\t  <xsl:apply-templates select=\"$target\" mode=\"xref-to-suffix\"/>\n\t</xsl:when>\n\t\n\t<xsl:otherwise>\n\t  <xsl:apply-templates/>\n\t</xsl:otherwise>\n      \n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n\n</xsl:template>\n\n<!-- ============================================================ -->\n\n</xsl:stylesheet>\n\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/tl.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"tl\" english-language-name=\"Tagalog\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/tl.xml -->\n<!-- * -->\n<!-- * E-mail the edited tl.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Abstrak\"/>\n<l:gentext key=\"abstract\" text=\"Abstrak\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"Sagot:\"/>\n<l:gentext key=\"answer\" text=\"Sagot:\"/>\n<l:gentext key=\"Appendix\" text=\"Apendiks\"/>\n<l:gentext key=\"appendix\" text=\"Apendiks\"/>\n<l:gentext key=\"Article\" text=\"Artikulo\"/>\n<l:gentext key=\"article\" text=\"Artikulo\"/>\n<l:gentext key=\"Author\" text=\"May Akda\"/>\n<l:gentext key=\"Bibliography\" text=\"Bibliograpiya\"/>\n<l:gentext key=\"bibliography\" text=\"Bibliograpiya\"/>\n<l:gentext key=\"Book\" text=\"Libro\"/>\n<l:gentext key=\"book\" text=\"Libro\"/>\n<l:gentext key=\"CAUTION\" text=\"BABALA\"/>\n<l:gentext key=\"Caution\" text=\"Babala\"/>\n<l:gentext key=\"caution\" text=\"Babala\"/>\n<l:gentext key=\"Chapter\" text=\"Kabanata\"/>\n<l:gentext key=\"chapter\" text=\"Kabanata\"/>\n<l:gentext key=\"Colophon\" text=\"Kolopon\"/>\n<l:gentext key=\"colophon\" text=\"Kolopon\"/>\n<l:gentext key=\"Copyright\" text=\"Copyright\"/>\n<l:gentext key=\"copyright\" text=\"Copyright\"/>\n<l:gentext key=\"Dedication\" text=\"Pag-aalay\"/>\n<l:gentext key=\"dedication\" text=\"Pag-aalay\"/>\n<l:gentext key=\"Edition\" text=\"Edisyon\"/>\n<l:gentext key=\"edition\" text=\"Ediisyon\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Equation\"/>\n<l:gentext key=\"equation\" text=\"Equation\"/>\n<l:gentext key=\"Example\" text=\"Halimbawa\"/>\n<l:gentext key=\"example\" text=\"Halimbawa\"/>\n<l:gentext key=\"Figure\" text=\"Pigyur\"/>\n<l:gentext key=\"figure\" text=\"Pigyur\"/>\n<l:gentext key=\"Glossary\" text=\"Talahuguhanan\"/>\n<l:gentext key=\"glossary\" text=\"Talahuguhanan\"/>\n<l:gentext key=\"GlossSee\" text=\"Tingnan Ang\"/>\n<l:gentext key=\"glosssee\" text=\"Tingnan Ang\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Tingnan Din Ang\"/>\n<l:gentext key=\"glossseealso\" text=\"Tingnan din ang\"/>\n<l:gentext key=\"IMPORTANT\" text=\"MAHALAGA\"/>\n<l:gentext key=\"important\" text=\"Mahalaga\"/>\n<l:gentext key=\"Important\" text=\"Mahalaga\"/>\n<l:gentext key=\"Index\" text=\"Indeks\"/>\n<l:gentext key=\"index\" text=\"Indeks\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Paunawang Legal\"/>\n<l:gentext key=\"legalnotice\" text=\"Paunawang Legal\"/>\n<l:gentext key=\"MsgAud\" text=\"Awdiyens\"/>\n<l:gentext key=\"msgaud\" text=\"Awdiyens\"/>\n<l:gentext key=\"MsgLevel\" text=\"Lebel\"/>\n<l:gentext key=\"msglevel\" text=\"Lebel\"/>\n<l:gentext key=\"MsgOrig\" text=\"Pinagmulan\"/>\n<l:gentext key=\"msgorig\" text=\"Pinagmulan\"/>\n<l:gentext key=\"NOTE\" text=\"TALA\"/>\n<l:gentext key=\"Note\" text=\"Tala\"/>\n<l:gentext key=\"note\" text=\"Tala\"/>\n<l:gentext key=\"Part\" text=\"Bahagi\"/>\n<l:gentext key=\"part\" text=\"Bahagi\"/>\n<l:gentext key=\"Preface\" text=\"Panimula\"/>\n<l:gentext key=\"preface\" text=\"Panimula\"/>\n<l:gentext key=\"Procedure\" text=\"Mga Hakbang\"/>\n<l:gentext key=\"procedure\" text=\"Mga Hakbang\"/>\n<l:gentext key=\"ProductionSet\" text=\"Produksiyon\"/>\n<l:gentext key=\"PubDate\" text=\"Petsa ng Paglimbag\"/>\n<l:gentext key=\"pubdate\" text=\"Petsa ng Paglimbag\"/>\n<l:gentext key=\"Published\" text=\"Nalimbag\"/>\n<l:gentext key=\"published\" text=\"Nalimbag\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"Tanong at Sagot\"/>\n<l:gentext key=\"qandadiv\" text=\"Tanong at Sagot\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"Tanong:\"/>\n<l:gentext key=\"question\" text=\"Tanong:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Reperens\"/>\n<l:gentext key=\"reference\" text=\"Reperens\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Pangalan\"/>\n<l:gentext key=\"refname\" text=\"Pangalan\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Buod\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Buod\"/>\n<l:gentext key=\"RevHistory\" text=\"Talaan Ng Mga Rebisyon\"/>\n<l:gentext key=\"revhistory\" text=\"Talaan ng mga Rebisyon\"/>\n<l:gentext key=\"revision\" text=\"Rebisyon\"/>\n<l:gentext key=\"Revision\" text=\"Revision\"/>\n<l:gentext key=\"sect1\" text=\"Bahagi\"/>\n<l:gentext key=\"sect2\" text=\"Bahagi\"/>\n<l:gentext key=\"sect3\" text=\"Bahagi\"/>\n<l:gentext key=\"sect4\" text=\"Bahagi\"/>\n<l:gentext key=\"sect5\" text=\"Bahagi\"/>\n<l:gentext key=\"section\" text=\"Bahagi\"/>\n<l:gentext key=\"Section\" text=\"Bahagi\"/>\n<l:gentext key=\"see\" text=\"tingnan\"/>\n<l:gentext key=\"See\" text=\"Tingnan\"/>\n<l:gentext key=\"seealso\" text=\"tingnan din ang\"/>\n<l:gentext key=\"Seealso\" text=\"Tingnan din ang\"/>\n<l:gentext key=\"SeeAlso\" text=\"Tingnan Din Ang\"/>\n<l:gentext key=\"set\" text=\"Set\"/>\n<l:gentext key=\"Set\" text=\"Set\"/>\n<l:gentext key=\"setindex\" text=\"Indeks ng Set\"/>\n<l:gentext key=\"SetIndex\" text=\"Indeks ng Set\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"sidebar\"/>\n<l:gentext key=\"step\" text=\"hakbang\"/>\n<l:gentext key=\"Step\" text=\"Hakbang\"/>\n<l:gentext key=\"table\" text=\"Talaan\"/>\n<l:gentext key=\"Table\" text=\"Talaan\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"Tip\"/>\n<l:gentext key=\"TIP\" text=\"TIP\"/>\n<l:gentext key=\"Tip\" text=\"Tip\"/>\n<l:gentext key=\"Warning\" text=\"Babala\"/>\n<l:gentext key=\"warning\" text=\"Babala\"/>\n<l:gentext key=\"WARNING\" text=\"BABALA\"/>\n<l:gentext key=\"and\" text=\"at\"/>\n<l:gentext key=\"or\" text=\"or\" lang=\"en\"/>\n<l:gentext key=\"by\" text=\"ni\"/>\n<l:gentext key=\"Edited\" text=\"In-edit\"/>\n<l:gentext key=\"edited\" text=\"In-edit\"/>\n<l:gentext key=\"Editedby\" text=\"In-edit ni\"/>\n<l:gentext key=\"editedby\" text=\"In-edit ni\"/>\n<l:gentext key=\"in\" text=\"sa\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Mga tala\"/>\n<l:gentext key=\"Notes\" text=\"Mga Tala\"/>\n<l:gentext key=\"Pgs\" text=\"p.\"/>\n<l:gentext key=\"pgs\" text=\"p.\"/>\n<l:gentext key=\"Revisedby\" text=\"Nirebisa ni: \"/>\n<l:gentext key=\"revisedby\" text=\"Nirebisa ni: \"/>\n<l:gentext key=\"TableNotes\" text=\"Mga Tala\"/>\n<l:gentext key=\"tablenotes\" text=\"Mga Tala\"/>\n<l:gentext key=\"TableofContents\" text=\"Talaan ng Nilalaman\"/>\n<l:gentext key=\"tableofcontents\" text=\"Talaan ng Nilalaman\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"hindi inaasahang element\"/>\n<l:gentext key=\"unsupported\" text=\"hindi sinusuportahan\"/>\n<l:gentext key=\"xrefto\" text=\"xref sa\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"Listahan ng mga Ekwasyon\"/>\n<l:gentext key=\"ListofEquations\" text=\"Listahan Ng Mga Ekwasyon\"/>\n<l:gentext key=\"ListofExamples\" text=\"Listahan Ng Mga Halimbawa\"/>\n<l:gentext key=\"listofexamples\" text=\"Listahan ng mga Halimbawa\"/>\n<l:gentext key=\"ListofFigures\" text=\"Listahan Ng Mga Pigyur \"/>\n<l:gentext key=\"listoffigures\" text=\"Listahan ng mga Pigyur\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Listahan Ng Mga Prosidyur\"/>\n<l:gentext key=\"listofprocedures\" text=\"Listahan ng mga Prosidyur\"/>\n<l:gentext key=\"listoftables\" text=\"Listahan ng mga Talaan\"/>\n<l:gentext key=\"ListofTables\" text=\"Listahan Ng Mga Talaan\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Listahan Ng Mga Di Alam\"/>\n<l:gentext key=\"listofunknown\" text=\"Listahan ng mga Di Alam\"/>\n<l:gentext key=\"nav-home\" text=\"Home\"/>\n<l:gentext key=\"nav-next\" text=\"Sulong\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Mabilis na pasulong\"/>\n<l:gentext key=\"nav-prev\" text=\"Balik\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Mabilis na pabalik\"/>\n<l:gentext key=\"nav-up\" text=\"Taas\"/>\n<l:gentext key=\"nav-toc\" text=\"TnN\"/>\n<l:gentext key=\"Draft\" text=\"Draft\"/>\n<l:gentext key=\"above\" text=\"taas\"/>\n<l:gentext key=\"below\" text=\"baba\"/>\n<l:gentext key=\"sectioncalled\" text=\"ang bahaging tinatawag na\"/>\n<l:gentext key=\"index symbols\" text=\"Mga simbolo\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Apendiks %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Kabanata %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Equation %n. %t\"/>\n<l:template name=\"example\" text=\"Halimbawa %n. %t\"/>\n<l:template name=\"figure\" text=\"Pigyur %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Bahagi %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Mga Hakbang %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Produksiyon %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Talaan %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Apendiks %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Kabanata %n. %t\"/>\n<l:template name=\"part\" text=\"Bahagi %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"Sagot: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Tanong: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Tanong: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" sa %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (pahina %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(pahina %p)\"/>\n<l:template name=\"docname\" text=\" sa %o\"/>\n<l:template name=\"docnamelong\" text=\" sa dokumento na %o\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\"/>\n<l:template name=\"Page\" text=\"Pahina %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"ang bahaging tinatawag na “%t”\"/>\n<l:template name=\"refsection\" text=\"ang bahaging tinatawag na “%t”\"/>\n<l:template name=\"refsect1\" text=\"ang bahaging tinatawag na “%t”\"/>\n<l:template name=\"refsect2\" text=\"ang bahaging tinatawag na “%t”\"/>\n<l:template name=\"refsect3\" text=\"ang bahaging tinatawag na “%t”\"/>\n<l:template name=\"sect1\" text=\"ang bahaging tinatawag na “%t”\"/>\n<l:template name=\"sect2\" text=\"ang bahaging tinatawag na “%t”\"/>\n<l:template name=\"sect3\" text=\"ang bahaging tinatawag na “%t”\"/>\n<l:template name=\"sect4\" text=\"ang bahaging tinatawag na “%t”\"/>\n<l:template name=\"sect5\" text=\"ang bahaging tinatawag na “%t”\"/>\n<l:template name=\"section\" text=\"ang bahaging tinatawag na “%t”\"/>\n<l:template name=\"simplesect\" text=\"ang bahaging tinatawag na “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Sagot: %n\"/>\n<l:template name=\"appendix\" text=\"Apendiks %n\"/>\n<l:template name=\"bridgehead\" text=\"Bahagi %n\"/>\n<l:template name=\"chapter\" text=\"Kabanata %n\"/>\n<l:template name=\"equation\" text=\"Equation %n\"/>\n<l:template name=\"example\" text=\"Halimbawa %n\"/>\n<l:template name=\"figure\" text=\"Pigyur %n\"/>\n<l:template name=\"part\" text=\"Bahagi %n\"/>\n<l:template name=\"procedure\" text=\"Mga Hakbang %n\"/>\n<l:template name=\"productionset\" text=\"Produksiyon %n\"/>\n<l:template name=\"qandadiv\" text=\"Tanong at Sagot %n\"/>\n<l:template name=\"qandaentry\" text=\"Tanong: %n\"/>\n<l:template name=\"question\" text=\"Tanong: %n\"/>\n<l:template name=\"sect1\" text=\"Bahagi %n\"/>\n<l:template name=\"sect2\" text=\"Bahagi %n\"/>\n<l:template name=\"sect3\" text=\"Bahagi %n\"/>\n<l:template name=\"sect4\" text=\"Bahagi %n\"/>\n<l:template name=\"sect5\" text=\"Bahagi %n\"/>\n<l:template name=\"section\" text=\"Bahagi %n\"/>\n<l:template name=\"table\" text=\"Talaan %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Apendiks %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Bahagi %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Kabanata %n, %t\"/>\n<l:template name=\"equation\" text=\"Equation %n, “%t”\"/>\n<l:template name=\"example\" text=\"Halimbawa %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Pigyur %n, “%t”\"/>\n<l:template name=\"part\" text=\"Bahagi %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Mga Hakbang %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Produksiyon %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"Tanong at Sagot %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"ang bahaging tinatawag na “%t”\"/>\n<l:template name=\"refsect2\" text=\"ang bahaging tinatawag na “%t”\"/>\n<l:template name=\"refsect3\" text=\"ang bahaging tinatawag na “%t”\"/>\n<l:template name=\"refsection\" text=\"ang bahaging tinatawag na “%t”\"/>\n<l:template name=\"sect1\" text=\"Bahagi %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Bahagi %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Bahagi %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Bahagi %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Bahagi %n, “%t”\"/>\n<l:template name=\"section\" text=\"Bahagi %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"ang bahaging tinatawag na “%t”\"/>\n<l:template name=\"table\" text=\"Talaan %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" at \"/>\n<l:template name=\"seplast\" text=\", at \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Tingnan Ang %t.\"/>\n<l:template name=\"seealso\" text=\"Tingnan Din Ang %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Awdiyens: \"/>\n<l:template name=\"MsgLevel\" text=\"Lebel: \"/>\n<l:template name=\"MsgOrig\" text=\"Pinagmulan: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Depinisyon: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Enero\"/>\n<l:template name=\"February\" text=\"Pebrero\"/>\n<l:template name=\"March\" text=\"Marso\"/>\n<l:template name=\"April\" text=\"Abril\"/>\n<l:template name=\"May\" text=\"Mayo\"/>\n<l:template name=\"June\" text=\"Hunyo\"/>\n<l:template name=\"July\" text=\"Hulyo\"/>\n<l:template name=\"August\" text=\"Agosto\"/>\n<l:template name=\"September\" text=\"Setyembre\"/>\n<l:template name=\"October\" text=\"Oktubre\"/>\n<l:template name=\"November\" text=\"Nobyembre\"/>\n<l:template name=\"December\" text=\"Disyembre\"/>\n<l:template name=\"Monday\" text=\"Lunes\"/>\n<l:template name=\"Tuesday\" text=\"Martes\"/>\n<l:template name=\"Wednesday\" text=\"Miyeskules\"/>\n<l:template name=\"Thursday\" text=\"Huwebes\"/>\n<l:template name=\"Friday\" text=\"Biyernes\"/>\n<l:template name=\"Saturday\" text=\"Sabado\"/>\n<l:template name=\"Sunday\" text=\"Linggo\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Ene\"/>\n<l:template name=\"Feb\" text=\"Peb\"/>\n<l:template name=\"Mar\" text=\"Mar\"/>\n<l:template name=\"Apr\" text=\"Abr\"/>\n<l:template name=\"May\" text=\"Mayo\"/>\n<l:template name=\"Jun\" text=\"Hun\"/>\n<l:template name=\"Jul\" text=\"Hul\"/>\n<l:template name=\"Aug\" text=\"Ago\"/>\n<l:template name=\"Sep\" text=\"Set\"/>\n<l:template name=\"Oct\" text=\"Okt\"/>\n<l:template name=\"Nov\" text=\"Nob\"/>\n<l:template name=\"Dec\" text=\"Dis\"/>\n<l:template name=\"Mon\" text=\"Lun\"/>\n<l:template name=\"Tue\" text=\"Mar\"/>\n<l:template name=\"Wed\" text=\"Miy\"/>\n<l:template name=\"Thu\" text=\"Huw\"/>\n<l:template name=\"Fri\" text=\"Biy\"/>\n<l:template name=\"Sat\" text=\"Sab\"/>\n<l:template name=\"Sun\" text=\"Lin\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0409 Tagalog (PHILIPPINES)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/tr.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"tr\" english-language-name=\"Turkish\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/tr.xml -->\n<!-- * -->\n<!-- * E-mail the edited tr.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Özet\"/>\n<l:gentext key=\"abstract\" text=\"Özet\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"Cevap:\"/>\n<l:gentext key=\"answer\" text=\"Cevap:\"/>\n<l:gentext key=\"Appendix\" text=\"Ek\"/>\n<l:gentext key=\"appendix\" text=\"Ek\"/>\n<l:gentext key=\"Article\" text=\"Makale\"/>\n<l:gentext key=\"article\" text=\"Makale\"/>\n<l:gentext key=\"Author\" text=\"Yazar\"/>\n<l:gentext key=\"Bibliography\" text=\"Kaynakça\"/>\n<l:gentext key=\"bibliography\" text=\"Kaynakça\"/>\n<l:gentext key=\"Book\" text=\"Kitap\"/>\n<l:gentext key=\"book\" text=\"Kitap\"/>\n<l:gentext key=\"CAUTION\" text=\"DİKKAT\"/>\n<l:gentext key=\"Caution\" text=\"Dikkat\"/>\n<l:gentext key=\"caution\" text=\"Dikkat\"/>\n<l:gentext key=\"Chapter\" text=\"Bölüm\"/>\n<l:gentext key=\"chapter\" text=\"Bölüm\"/>\n<l:gentext key=\"Colophon\" text=\"Kitap hakkında\"/>\n<l:gentext key=\"colophon\" text=\"Kitap hakkında\"/>\n<l:gentext key=\"Copyright\" text=\"Telif Hakkı\"/>\n<l:gentext key=\"copyright\" text=\"Telif Hakkı\"/>\n<l:gentext key=\"Dedication\" text=\"İthaf\"/>\n<l:gentext key=\"dedication\" text=\"İthaf\"/>\n<l:gentext key=\"Edition\" text=\"Baskı\"/>\n<l:gentext key=\"edition\" text=\"Baskı\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Denklem\"/>\n<l:gentext key=\"equation\" text=\"Denklem\"/>\n<l:gentext key=\"Example\" text=\"Örnek\"/>\n<l:gentext key=\"example\" text=\"Örnek\"/>\n<l:gentext key=\"Figure\" text=\"Şekil\"/>\n<l:gentext key=\"figure\" text=\"Şekil\"/>\n<l:gentext key=\"Glossary\" text=\"Sözlük\"/>\n<l:gentext key=\"glossary\" text=\"Sözlük\"/>\n<l:gentext key=\"GlossSee\" text=\"Bkz.\"/>\n<l:gentext key=\"glosssee\" text=\"Bkz.\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Bkz.\"/>\n<l:gentext key=\"glossseealso\" text=\"Bkz.\"/>\n<l:gentext key=\"IMPORTANT\" text=\"ÖNEMLİ\"/>\n<l:gentext key=\"important\" text=\"Önemli\"/>\n<l:gentext key=\"Important\" text=\"Önemli\"/>\n<l:gentext key=\"Index\" text=\"Dizin\"/>\n<l:gentext key=\"index\" text=\"Dizin\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Yasal Uyarı\"/>\n<l:gentext key=\"legalnotice\" text=\"Yasal Uyarı\"/>\n<l:gentext key=\"MsgAud\" text=\"Hedef Okuyucu\"/>\n<l:gentext key=\"msgaud\" text=\"Hedef Okuyucu\"/>\n<l:gentext key=\"MsgLevel\" text=\"Düzey\"/>\n<l:gentext key=\"msglevel\" text=\"Düzey\"/>\n<l:gentext key=\"MsgOrig\" text=\"Kaynak\"/>\n<l:gentext key=\"msgorig\" text=\"Kaynak\"/>\n<l:gentext key=\"NOTE\" text=\"NOT\"/>\n<l:gentext key=\"Note\" text=\"Not\"/>\n<l:gentext key=\"note\" text=\"Not\"/>\n<l:gentext key=\"Part\" text=\"Kısım\"/>\n<l:gentext key=\"part\" text=\"Kısım\"/>\n<l:gentext key=\"Preface\" text=\"Önsöz\"/>\n<l:gentext key=\"preface\" text=\"Önsöz\"/>\n<l:gentext key=\"Procedure\" text=\"Yönerge\"/>\n<l:gentext key=\"procedure\" text=\"Yönerge\"/>\n<l:gentext key=\"ProductionSet\" text=\"Prodüksiyon\"/>\n<l:gentext key=\"PubDate\" text=\"Yayımlanma Tarihi\"/>\n<l:gentext key=\"pubdate\" text=\"Yayımlanma Tarihi\"/>\n<l:gentext key=\"Published\" text=\"Yayımlanma\"/>\n<l:gentext key=\"published\" text=\"Yayımlanma\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"S ve C\"/>\n<l:gentext key=\"qandadiv\" text=\"S ve C\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"Soru:\"/>\n<l:gentext key=\"question\" text=\"Soru:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Referans\"/>\n<l:gentext key=\"reference\" text=\"Referans\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Referans Adı\"/>\n<l:gentext key=\"refname\" text=\"Referans Adı\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Özet\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Özet\"/>\n<l:gentext key=\"RevHistory\" text=\"Baskı Tarihçesi\"/>\n<l:gentext key=\"revhistory\" text=\"Baskı Tarihçesi\"/>\n<l:gentext key=\"revision\" text=\"Baskı\"/>\n<l:gentext key=\"Revision\" text=\"Baskı\"/>\n<l:gentext key=\"sect1\" text=\"Kısım\"/>\n<l:gentext key=\"sect2\" text=\"Kısım\"/>\n<l:gentext key=\"sect3\" text=\"Kısım\"/>\n<l:gentext key=\"sect4\" text=\"Kısım\"/>\n<l:gentext key=\"sect5\" text=\"Kısım\"/>\n<l:gentext key=\"section\" text=\"Kısım\"/>\n<l:gentext key=\"Section\" text=\"Kısım\"/>\n<l:gentext key=\"see\" text=\"bkz.\"/>\n<l:gentext key=\"See\" text=\"Bkz.\"/>\n<l:gentext key=\"seealso\" text=\"Bkz.\"/>\n<l:gentext key=\"Seealso\" text=\"Bakınız\"/>\n<l:gentext key=\"SeeAlso\" text=\"Bakınız\"/>\n<l:gentext key=\"set\" text=\"Takım\"/>\n<l:gentext key=\"Set\" text=\"Takım\"/>\n<l:gentext key=\"setindex\" text=\"Takım Dizini\"/>\n<l:gentext key=\"SetIndex\" text=\"Takım Dizini\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"kenar çubuğu\"/>\n<l:gentext key=\"step\" text=\"adım\"/>\n<l:gentext key=\"Step\" text=\"Adım\"/>\n<l:gentext key=\"table\" text=\"Tablo\"/>\n<l:gentext key=\"Table\" text=\"Tablo\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"İpucu\"/>\n<l:gentext key=\"TIP\" text=\"İPUCU\"/>\n<l:gentext key=\"Tip\" text=\"İpucu\"/>\n<l:gentext key=\"Warning\" text=\"Uyarı\"/>\n<l:gentext key=\"warning\" text=\"Uyarı\"/>\n<l:gentext key=\"WARNING\" text=\"UYARI\"/>\n<l:gentext key=\"and\" text=\"ve\"/>\n<l:gentext key=\"or\" text=\"veya\"/>\n<l:gentext key=\"by\" text=\"\"/>\n<l:gentext key=\"Edited\" text=\"Yayına hazırlayan\"/>\n<l:gentext key=\"edited\" text=\"yayına hazırlayan\"/>\n<l:gentext key=\"Editedby\" text=\"Yayına hazırlayan\"/>\n<l:gentext key=\"editedby\" text=\"yayına hazırlayan\"/>\n<l:gentext key=\"in\" text=\"\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Notlar\"/>\n<l:gentext key=\"Notes\" text=\"Notlar\"/>\n<l:gentext key=\"Pgs\" text=\"Sayfa\"/>\n<l:gentext key=\"pgs\" text=\"Sayfa\"/>\n<l:gentext key=\"Revisedby\" text=\"Düzeltmeler: \"/>\n<l:gentext key=\"revisedby\" text=\"Düzeltmeler: \"/>\n<l:gentext key=\"TableNotes\" text=\"Notlar\"/>\n<l:gentext key=\"tablenotes\" text=\"Notlar\"/>\n<l:gentext key=\"TableofContents\" text=\"İçindekiler\"/>\n<l:gentext key=\"tableofcontents\" text=\"İçindekiler\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Beklenmeyen eleman adı\"/>\n<l:gentext key=\"unsupported\" text=\"desteklenmiyor\"/>\n<l:gentext key=\"xrefto\" text=\"\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"Denklemler\"/>\n<l:gentext key=\"ListofEquations\" text=\"Denklemler\"/>\n<l:gentext key=\"ListofExamples\" text=\"Örnekler\"/>\n<l:gentext key=\"listofexamples\" text=\"Örnekler\"/>\n<l:gentext key=\"ListofFigures\" text=\"Şekiller\"/>\n<l:gentext key=\"listoffigures\" text=\"Şekiller\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Yönergeler\"/>\n<l:gentext key=\"listofprocedures\" text=\"Yönergeler\"/>\n<l:gentext key=\"listoftables\" text=\"Tablolar\"/>\n<l:gentext key=\"ListofTables\" text=\"Tablolar\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Bilinmeyenler\"/>\n<l:gentext key=\"listofunknown\" text=\"Bilinmeyenler\"/>\n<l:gentext key=\"nav-home\" text=\"Başlangıç\"/>\n<l:gentext key=\"nav-next\" text=\"Sonraki\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Sonraki Bölüm\"/>\n<l:gentext key=\"nav-prev\" text=\"Önceki\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Önceki Bölüm\"/>\n<l:gentext key=\"nav-up\" text=\"Yukarı\"/>\n<l:gentext key=\"nav-toc\" text=\"İçindekiler\"/>\n<l:gentext key=\"Draft\" text=\"Taslak\"/>\n<l:gentext key=\"above\" text=\"üstünde\"/>\n<l:gentext key=\"below\" text=\"altında\"/>\n<l:gentext key=\"sectioncalled\" text=\"\"/>\n<l:gentext key=\"index symbols\" text=\"Semboller\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcçdefgğhıijklmnoöprsştuüvyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCÇDEFGĞHIİJKLMNOÖPRSŞTUÜVYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"3\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Ek %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Bölüm %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Denklem %n. %t\"/>\n<l:template name=\"example\" text=\"Örnek %n. %t\"/>\n<l:template name=\"figure\" text=\"Şekil %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Kısım %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Yönerge %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Prodüksiyon %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Tablo %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Ek %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Bölüm %n. %t\"/>\n<l:template name=\"part\" text=\"Kısım %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"Cevap: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"Soru: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"Soru: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(sayfa %p)\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(shf. %p)\"/>\n<l:template name=\"Page\" text=\"Sayfa %p\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\" “%t”\"/>\n<l:template name=\"refsection\" text=\" “%t”\"/>\n<l:template name=\"refsect1\" text=\" “%t”\"/>\n<l:template name=\"refsect2\" text=\" “%t”\"/>\n<l:template name=\"refsect3\" text=\" “%t”\"/>\n<l:template name=\"sect1\" text=\" “%t”\"/>\n<l:template name=\"sect2\" text=\" “%t”\"/>\n<l:template name=\"sect3\" text=\" “%t”\"/>\n<l:template name=\"sect4\" text=\" “%t”\"/>\n<l:template name=\"sect5\" text=\" “%t”\"/>\n<l:template name=\"section\" text=\" “%t”\"/>\n<l:template name=\"simplesect\" text=\" “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Cevap: %n\"/>\n<l:template name=\"appendix\" text=\"Ek %n\"/>\n<l:template name=\"bridgehead\" text=\"Kısım %n\"/>\n<l:template name=\"chapter\" text=\"Bölüm %n\"/>\n<l:template name=\"equation\" text=\"Denklem %n\"/>\n<l:template name=\"example\" text=\"Örnek %n\"/>\n<l:template name=\"figure\" text=\"Şekil %n\"/>\n<l:template name=\"part\" text=\"Kısım %n\"/>\n<l:template name=\"procedure\" text=\"Yönerge %n\"/>\n<l:template name=\"productionset\" text=\"Prodüksiyon %n\"/>\n<l:template name=\"qandadiv\" text=\"S ve C %n\"/>\n<l:template name=\"qandaentry\" text=\"Soru: %n\"/>\n<l:template name=\"question\" text=\"Soru: %n\"/>\n<l:template name=\"sect1\" text=\"Kısım %n\"/>\n<l:template name=\"sect2\" text=\"Kısım %n\"/>\n<l:template name=\"sect3\" text=\"Kısım %n\"/>\n<l:template name=\"sect4\" text=\"Kısım %n\"/>\n<l:template name=\"sect5\" text=\"Kısım %n\"/>\n<l:template name=\"section\" text=\"Kısım %n\"/>\n<l:template name=\"table\" text=\"Tablo %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Ek %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Kısım %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Bölüm %n, %t\"/>\n<l:template name=\"equation\" text=\"Denklem %n, “%t”\"/>\n<l:template name=\"example\" text=\"Örnek %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Şekil %n, “%t”\"/>\n<l:template name=\"part\" text=\"Kısım %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Yönerge %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Prodüksiyon %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"S ve C %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\" “%t”\"/>\n<l:template name=\"refsect2\" text=\" “%t”\"/>\n<l:template name=\"refsect3\" text=\" “%t”\"/>\n<l:template name=\"refsection\" text=\" “%t”\"/>\n<l:template name=\"sect1\" text=\"Kısım %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Kısım %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Kısım %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Kısım %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Kısım %n, “%t”\"/>\n<l:template name=\"section\" text=\"Kısım %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\" “%t”\"/>\n<l:template name=\"table\" text=\"Tablo %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" ve \"/>\n<l:template name=\"seplast\" text=\", ve \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Bkz. %t.\"/>\n<l:template name=\"seealso\" text=\"Bkz. %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Hedef Okuyucu: \"/>\n<l:template name=\"MsgLevel\" text=\"Düzey: \"/>\n<l:template name=\"MsgOrig\" text=\"Kaynak: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"Ocak\"/>\n<l:template name=\"February\" text=\"Şubat\"/>\n<l:template name=\"March\" text=\"Mart\"/>\n<l:template name=\"April\" text=\"Nisan\"/>\n<l:template name=\"May\" text=\"Mayıs\"/>\n<l:template name=\"June\" text=\"Haziran\"/>\n<l:template name=\"July\" text=\"Temmuz\"/>\n<l:template name=\"August\" text=\"Ağustos\"/>\n<l:template name=\"September\" text=\"Eylül\"/>\n<l:template name=\"October\" text=\"Ekim\"/>\n<l:template name=\"November\" text=\"Kasım\"/>\n<l:template name=\"December\" text=\"Aralık\"/>\n<l:template name=\"Monday\" text=\"Pazartesi\"/>\n<l:template name=\"Tuesday\" text=\"Salı\"/>\n<l:template name=\"Wednesday\" text=\"Çarşamba\"/>\n<l:template name=\"Thursday\" text=\"Perşembe\"/>\n<l:template name=\"Friday\" text=\"Cuma\"/>\n<l:template name=\"Saturday\" text=\"Cumartesi\"/>\n<l:template name=\"Sunday\" text=\"Pazar\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Oca\"/>\n<l:template name=\"Feb\" text=\"Şub\"/>\n<l:template name=\"Mar\" text=\"Mar\"/>\n<l:template name=\"Apr\" text=\"Nis\"/>\n<l:template name=\"May\" text=\"May\"/>\n<l:template name=\"Jun\" text=\"Haz\"/>\n<l:template name=\"Jul\" text=\"Tem\"/>\n<l:template name=\"Aug\" text=\"Ağu\"/>\n<l:template name=\"Sep\" text=\"Eyl\"/>\n<l:template name=\"Oct\" text=\"Eki\"/>\n<l:template name=\"Nov\" text=\"Kas\"/>\n<l:template name=\"Dec\" text=\"Ara\"/>\n<l:template name=\"Mon\" text=\"Pzt\"/>\n<l:template name=\"Tue\" text=\"Sal\"/>\n<l:template name=\"Wed\" text=\"Çar\"/>\n<l:template name=\"Thu\" text=\"Per\"/>\n<l:template name=\"Fri\" text=\"Cum\"/>\n<l:template name=\"Sat\" text=\"Cts\"/>\n<l:template name=\"Sun\" text=\"Paz\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x041f Turkish\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">Semboller</l:l>\n<l:l i=\"1\">A</l:l>\n<l:l i=\"1\">a</l:l>\n<l:l i=\"2\">B</l:l>\n<l:l i=\"2\">b</l:l>\n<l:l i=\"3\">C</l:l>\n<l:l i=\"3\">c</l:l>\n<l:l i=\"4\">Ç</l:l>\n<l:l i=\"4\">ç</l:l>\n<l:l i=\"5\">D</l:l>\n<l:l i=\"5\">d</l:l>\n<l:l i=\"6\">E</l:l>\n<l:l i=\"6\">e</l:l>\n<l:l i=\"7\">F</l:l>\n<l:l i=\"7\">f</l:l>\n<l:l i=\"8\">G</l:l>\n<l:l i=\"8\">g</l:l>\n<l:l i=\"9\">Ğ</l:l>\n<l:l i=\"9\">ğ</l:l>\n<l:l i=\"10\">H</l:l>\n<l:l i=\"10\">h</l:l>\n<l:l i=\"11\">I</l:l>\n<l:l i=\"11\">ı</l:l>\n<l:l i=\"12\">İ</l:l>\n<l:l i=\"12\">i</l:l>\n<l:l i=\"13\">J</l:l>\n<l:l i=\"13\">j</l:l>\n<l:l i=\"14\">K</l:l>\n<l:l i=\"14\">k</l:l>\n<l:l i=\"15\">L</l:l>\n<l:l i=\"15\">l</l:l>\n<l:l i=\"16\">M</l:l>\n<l:l i=\"16\">m</l:l>\n<l:l i=\"17\">N</l:l>\n<l:l i=\"17\">n</l:l>\n<l:l i=\"18\">O</l:l>\n<l:l i=\"18\">o</l:l>\n<l:l i=\"19\">Ö</l:l>\n<l:l i=\"19\">ö</l:l>\n<l:l i=\"20\">P</l:l>\n<l:l i=\"20\">p</l:l>\n<l:l i=\"21\">R</l:l>\n<l:l i=\"21\">r</l:l>\n<l:l i=\"22\">S</l:l>\n<l:l i=\"22\">s</l:l>\n<l:l i=\"23\">Ş</l:l>\n<l:l i=\"23\">ş</l:l>\n<l:l i=\"24\">T</l:l>\n<l:l i=\"24\">t</l:l>\n<l:l i=\"25\">U</l:l>\n<l:l i=\"25\">u</l:l>\n<l:l i=\"26\">Ü</l:l>\n<l:l i=\"26\">ü</l:l>\n<l:l i=\"27\">V</l:l>\n<l:l i=\"27\">v</l:l>\n<l:l i=\"28\">Y</l:l>\n<l:l i=\"28\">y</l:l>\n<l:l i=\"29\">Z</l:l>\n<l:l i=\"29\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/uk.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"uk\" english-language-name=\"Ukrainian\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/uk.xml -->\n<!-- * -->\n<!-- * E-mail the edited uk.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Анотація\"/>\n<l:gentext key=\"abstract\" text=\"анотація\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Подяки\"/>\n<l:gentext key=\"acknowledgements\" text=\"подяки\"/>\n<l:gentext key=\"Answer\" text=\"В:\"/>\n<l:gentext key=\"answer\" text=\"в:\"/>\n<l:gentext key=\"Appendix\" text=\"Додаток\"/>\n<l:gentext key=\"appendix\" text=\"додаток\"/>\n<l:gentext key=\"Article\" text=\"Стаття\"/>\n<l:gentext key=\"article\" text=\"стаття\"/>\n<l:gentext key=\"Author\" text=\"Автор\"/>\n<l:gentext key=\"Bibliography\" text=\"Література\"/>\n<l:gentext key=\"bibliography\" text=\"література\"/>\n<l:gentext key=\"Book\" text=\"Книга\"/>\n<l:gentext key=\"book\" text=\"книга\"/>\n<l:gentext key=\"CAUTION\" text=\"ЗАСТЕРЕЖЕННЯ\"/>\n<l:gentext key=\"Caution\" text=\"Застереження\"/>\n<l:gentext key=\"caution\" text=\"застереження\"/>\n<l:gentext key=\"Chapter\" text=\"Розділ\"/>\n<l:gentext key=\"chapter\" text=\"розділ\"/>\n<l:gentext key=\"Colophon\" text=\"Вихідні відомості\"/>\n<l:gentext key=\"colophon\" text=\"вихідні відомості\"/>\n<l:gentext key=\"Copyright\" text=\"Авторське право\"/>\n<l:gentext key=\"copyright\" text=\"авторське право\"/>\n<l:gentext key=\"Dedication\" text=\"Присвята\"/>\n<l:gentext key=\"dedication\" text=\"присвята\"/>\n<l:gentext key=\"Edition\" text=\"Видання\"/>\n<l:gentext key=\"edition\" text=\"видання\"/>\n<l:gentext key=\"Editor\" text=\"Editor\"/>\n<l:gentext key=\"Equation\" text=\"Формула\"/>\n<l:gentext key=\"equation\" text=\"Формула\"/>\n<l:gentext key=\"Example\" text=\"Приклад\"/>\n<l:gentext key=\"example\" text=\"приклад\"/>\n<l:gentext key=\"Figure\" text=\"Рисунок\"/>\n<l:gentext key=\"figure\" text=\"Рисунок\"/>\n<l:gentext key=\"Glossary\" text=\"Глосарій\"/>\n<l:gentext key=\"glossary\" text=\"глосарій\"/>\n<l:gentext key=\"GlossSee\" text=\"Див.\"/>\n<l:gentext key=\"glosssee\" text=\"див.\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Див. також\"/>\n<l:gentext key=\"glossseealso\" text=\"див. також\"/>\n<l:gentext key=\"IMPORTANT\" text=\"ВАЖЛИВО\"/>\n<l:gentext key=\"important\" text=\"важливо\"/>\n<l:gentext key=\"Important\" text=\"Важливо\"/>\n<l:gentext key=\"Index\" text=\"Покажчик\"/>\n<l:gentext key=\"index\" text=\"покажчик\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Правова примітка\"/>\n<l:gentext key=\"legalnotice\" text=\"правова примітка\"/>\n<l:gentext key=\"MsgAud\" text=\"Аудиторія\"/>\n<l:gentext key=\"msgaud\" text=\"аудиторія\"/>\n<l:gentext key=\"MsgLevel\" text=\"Рівень\"/>\n<l:gentext key=\"msglevel\" text=\"рівень\"/>\n<l:gentext key=\"MsgOrig\" text=\"Джерело\"/>\n<l:gentext key=\"msgorig\" text=\"джерело\"/>\n<l:gentext key=\"NOTE\" text=\"ПРИМІТКА\"/>\n<l:gentext key=\"Note\" text=\"Примітка\"/>\n<l:gentext key=\"note\" text=\"примітка\"/>\n<l:gentext key=\"Part\" text=\"Частина\"/>\n<l:gentext key=\"part\" text=\"частина\"/>\n<l:gentext key=\"Preface\" text=\"Передмова\"/>\n<l:gentext key=\"preface\" text=\"передмова\"/>\n<l:gentext key=\"Procedure\" text=\"Процедура\"/>\n<l:gentext key=\"procedure\" text=\"Процедура\"/>\n<l:gentext key=\"ProductionSet\" text=\"Продукція\"/>\n<l:gentext key=\"PubDate\" text=\"Дата публікації\"/>\n<l:gentext key=\"pubdate\" text=\"дата публікації\"/>\n<l:gentext key=\"Published\" text=\"Опубліковано\"/>\n<l:gentext key=\"published\" text=\"опубліковано\"/>\n<l:gentext key=\"Publisher\" text=\"Видавець\"/>\n<l:gentext key=\"Qandadiv\" text=\"П і В\"/>\n<l:gentext key=\"qandadiv\" text=\"П і В\"/>\n<l:gentext key=\"QandASet\" text=\"Часті питання\"/>\n<l:gentext key=\"Question\" text=\"П:\"/>\n<l:gentext key=\"question\" text=\"п:\"/>\n<l:gentext key=\"RefEntry\" text=\"Сторінка\"/>\n<l:gentext key=\"refentry\" text=\"сторінка\"/>\n<l:gentext key=\"Reference\" text=\"Посилання\"/>\n<l:gentext key=\"reference\" text=\"посилання\"/>\n<l:gentext key=\"References\" text=\"Посилання\"/>\n<l:gentext key=\"RefName\" text=\"Назва\"/>\n<l:gentext key=\"refname\" text=\"назва\"/>\n<l:gentext key=\"RefSection\" text=\"Розділ\"/>\n<l:gentext key=\"refsection\" text=\"розділ\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Короткий огляд\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"короткий огляд\"/>\n<l:gentext key=\"RevHistory\" text=\"Опис змін\"/>\n<l:gentext key=\"revhistory\" text=\"опис змін\"/>\n<l:gentext key=\"revision\" text=\"версія\"/>\n<l:gentext key=\"Revision\" text=\"Версія\"/>\n<l:gentext key=\"sect1\" text=\"Розділ\"/>\n<l:gentext key=\"sect2\" text=\"Розділ\"/>\n<l:gentext key=\"sect3\" text=\"Розділ\"/>\n<l:gentext key=\"sect4\" text=\"Розділ\"/>\n<l:gentext key=\"sect5\" text=\"Розділ\"/>\n<l:gentext key=\"section\" text=\"розділ\"/>\n<l:gentext key=\"Section\" text=\"Розділ\"/>\n<l:gentext key=\"see\" text=\"див.\"/>\n<l:gentext key=\"See\" text=\"Див.\"/>\n<l:gentext key=\"seealso\" text=\"див. також\"/>\n<l:gentext key=\"Seealso\" text=\"Див. також\"/>\n<l:gentext key=\"SeeAlso\" text=\"Див. також\"/>\n<l:gentext key=\"set\" text=\"вибірка\"/>\n<l:gentext key=\"Set\" text=\"Вибірка\"/>\n<l:gentext key=\"setindex\" text=\"індекс вибірки\"/>\n<l:gentext key=\"SetIndex\" text=\"Індекс вибірки\"/>\n<l:gentext key=\"Sidebar\" text=\"Боковина\"/>\n<l:gentext key=\"sidebar\" text=\"боковина\"/>\n<l:gentext key=\"step\" text=\"крок\"/>\n<l:gentext key=\"Step\" text=\"Крок\"/>\n<l:gentext key=\"table\" text=\"таблиця\"/>\n<l:gentext key=\"Table\" text=\"Таблиця\"/>\n<l:gentext key=\"task\" text=\"завдання\"/>\n<l:gentext key=\"Task\" text=\"Завдання\"/>\n<l:gentext key=\"tip\" text=\"підказка\"/>\n<l:gentext key=\"TIP\" text=\"ПІДКАЗКА\"/>\n<l:gentext key=\"Tip\" text=\"Підказка\"/>\n<l:gentext key=\"Warning\" text=\"Застереження\"/>\n<l:gentext key=\"warning\" text=\"застереження\"/>\n<l:gentext key=\"WARNING\" text=\"ЗАСТЕРЕЖЕННЯ\"/>\n<l:gentext key=\"and\" text=\"\"/>\n<l:gentext key=\"or\" text=\"або\"/>\n<l:gentext key=\"by\" text=\"\"/>\n<l:gentext key=\"Edited\" text=\"За редакції\"/>\n<l:gentext key=\"edited\" text=\"за редакції\"/>\n<l:gentext key=\"Editedby\" text=\"За редакції\"/>\n<l:gentext key=\"editedby\" text=\"за редакції\"/>\n<l:gentext key=\"in\" text=\"у\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"примітки\"/>\n<l:gentext key=\"Notes\" text=\"Примітки\"/>\n<l:gentext key=\"Pgs\" text=\"Стор.\"/>\n<l:gentext key=\"pgs\" text=\"стор.\"/>\n<l:gentext key=\"Revisedby\" text=\"Коректура:\"/>\n<l:gentext key=\"revisedby\" text=\"коректура:\"/>\n<l:gentext key=\"TableNotes\" text=\"Примітки\"/>\n<l:gentext key=\"tablenotes\" text=\"примітки\"/>\n<l:gentext key=\"TableofContents\" text=\"Зміст\"/>\n<l:gentext key=\"tableofcontents\" text=\"зміст\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"неочікувана назва елемента\"/>\n<l:gentext key=\"unsupported\" text=\"не підтримується\"/>\n<l:gentext key=\"xrefto\" text=\"xref to\"/>\n<l:gentext key=\"Authors\" text=\"Автори\"/>\n<l:gentext key=\"copyeditor\" text=\"Редактор\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Художнє оформлення\"/>\n<l:gentext key=\"productioneditor\" text=\"Відповідальний за випуск\"/>\n<l:gentext key=\"technicaleditor\" text=\"Технічний редактор\"/>\n<l:gentext key=\"translator\" text=\"Перекладач\"/>\n<l:gentext key=\"listofequations\" text=\"список формул\"/>\n<l:gentext key=\"ListofEquations\" text=\"Список формул\"/>\n<l:gentext key=\"ListofExamples\" text=\"Список прикладів\"/>\n<l:gentext key=\"listofexamples\" text=\"список прикладів\"/>\n<l:gentext key=\"ListofFigures\" text=\"Список ілюстрацій\"/>\n<l:gentext key=\"listoffigures\" text=\"Список ілюстрацій\"/>\n<l:gentext key=\"ListofProcedures\" text=\"Список алгоритмів\"/>\n<l:gentext key=\"listofprocedures\" text=\"список алгоритмів\"/>\n<l:gentext key=\"listoftables\" text=\"список таблиць\"/>\n<l:gentext key=\"ListofTables\" text=\"Список таблиць\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Список невідомих\"/>\n<l:gentext key=\"listofunknown\" text=\"список невідомих\"/>\n<l:gentext key=\"nav-home\" text=\"Початок\"/>\n<l:gentext key=\"nav-next\" text=\"далі\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"далі за рівнем\"/>\n<l:gentext key=\"nav-prev\" text=\"назад\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"назад за рівнем\"/>\n<l:gentext key=\"nav-up\" text=\"Догори\"/>\n<l:gentext key=\"nav-toc\" text=\"Зміст\"/>\n<l:gentext key=\"Draft\" text=\"Чернетка\"/>\n<l:gentext key=\"above\" text=\"вище\"/>\n<l:gentext key=\"below\" text=\"нижче\"/>\n<l:gentext key=\"sectioncalled\" text=\"розділ з назвою\"/>\n<l:gentext key=\"index symbols\" text=\"Символи\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"абвгґдеєжзиіїйклмнопрстуфхцчшщьюя\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"АБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Додаток %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Розділ %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Формула %n. %t\"/>\n<l:template name=\"example\" text=\"Приклад %n. %t\"/>\n<l:template name=\"figure\" text=\"Рисунок %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Частина %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Процедура %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Продукція %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Таблиця %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Додаток %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Розділ %n. %t\"/>\n<l:template name=\"part\" text=\"Частина %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"В: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"П: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"П: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"“%t”\"/>\n<l:template name=\"refsection\" text=\"“%t”\"/>\n<l:template name=\"refsect1\" text=\"“%t”\"/>\n<l:template name=\"refsect2\" text=\"“%t”\"/>\n<l:template name=\"refsect3\" text=\"“%t”\"/>\n<l:template name=\"sect1\" text=\"“%t”\"/>\n<l:template name=\"sect2\" text=\"“%t”\"/>\n<l:template name=\"sect3\" text=\"“%t”\"/>\n<l:template name=\"sect4\" text=\"“%t”\"/>\n<l:template name=\"sect5\" text=\"“%t”\"/>\n<l:template name=\"section\" text=\"“%t”\"/>\n<l:template name=\"simplesect\" text=\"“%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"В: %n\"/>\n<l:template name=\"appendix\" text=\"Додаток %n\"/>\n<l:template name=\"bridgehead\" text=\"Розділ %n\"/>\n<l:template name=\"chapter\" text=\"Розділ %n\"/>\n<l:template name=\"equation\" text=\"Формула %n\"/>\n<l:template name=\"example\" text=\"Приклад %n\"/>\n<l:template name=\"figure\" text=\"Рисунок %n\"/>\n<l:template name=\"part\" text=\"Частина %n\"/>\n<l:template name=\"procedure\" text=\"Процедура %n\"/>\n<l:template name=\"productionset\" text=\"Продукція %n\"/>\n<l:template name=\"qandadiv\" text=\"П і В %n\"/>\n<l:template name=\"qandaentry\" text=\"П: %n\"/>\n<l:template name=\"question\" text=\"П: %n\"/>\n<l:template name=\"sect1\" text=\"Розділ %n\"/>\n<l:template name=\"sect2\" text=\"Розділ %n\"/>\n<l:template name=\"sect3\" text=\"Розділ %n\"/>\n<l:template name=\"sect4\" text=\"Розділ %n\"/>\n<l:template name=\"sect5\" text=\"Розділ %n\"/>\n<l:template name=\"section\" text=\"Розділ %n\"/>\n<l:template name=\"table\" text=\"Таблиця %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Додаток %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Розділ %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Розділ %n, %t\"/>\n<l:template name=\"equation\" text=\"Формула %n, “%t”\"/>\n<l:template name=\"example\" text=\"Приклад %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Рисунок %n, “%t”\"/>\n<l:template name=\"part\" text=\"Частина %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Процедура %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Продукція %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"П і В %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"розділ з назвою “%t”\"/>\n<l:template name=\"refsect2\" text=\"розділ з назвою “%t”\"/>\n<l:template name=\"refsect3\" text=\"розділ з назвою “%t”\"/>\n<l:template name=\"refsection\" text=\"розділ з назвою “%t”\"/>\n<l:template name=\"sect1\" text=\"Розділ %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Розділ %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Розділ %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Розділ %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Розділ %n, “%t”\"/>\n<l:template name=\"section\" text=\"Розділ %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"розділ з назвою “%t”\"/>\n<l:template name=\"table\" text=\"Таблиця %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\"  \"/>\n<l:template name=\"seplast\" text=\",  \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Див. %t.\"/>\n<l:template name=\"seealso\" text=\"Див. також %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Аудиторія: \"/>\n<l:template name=\"MsgLevel\" text=\"Рівень: \"/>\n<l:template name=\"MsgOrig\" text=\"Джерело: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"d/m/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Визначення: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"січня\"/>\n<l:template name=\"February\" text=\"лютого\"/>\n<l:template name=\"March\" text=\"березня\"/>\n<l:template name=\"April\" text=\"квітня\"/>\n<l:template name=\"May\" text=\"травня\"/>\n<l:template name=\"June\" text=\"червня\"/>\n<l:template name=\"July\" text=\"липня\"/>\n<l:template name=\"August\" text=\"серпня\"/>\n<l:template name=\"September\" text=\"вересня\"/>\n<l:template name=\"October\" text=\"жовтня\"/>\n<l:template name=\"November\" text=\"листопада\"/>\n<l:template name=\"December\" text=\"грудня\"/>\n<l:template name=\"Monday\" text=\"понеділок\"/>\n<l:template name=\"Tuesday\" text=\"вівторок\"/>\n<l:template name=\"Wednesday\" text=\"середа\"/>\n<l:template name=\"Thursday\" text=\"четвер\"/>\n<l:template name=\"Friday\" text=\"п’ятниця\"/>\n<l:template name=\"Saturday\" text=\"субота\"/>\n<l:template name=\"Sunday\" text=\"неділя\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Січ\"/>\n<l:template name=\"Feb\" text=\"Лют\"/>\n<l:template name=\"Mar\" text=\"Бер\"/>\n<l:template name=\"Apr\" text=\"Кві\"/>\n<l:template name=\"May\" text=\"Тра\"/>\n<l:template name=\"Jun\" text=\"Чер\"/>\n<l:template name=\"Jul\" text=\"Лип\"/>\n<l:template name=\"Aug\" text=\"Сер\"/>\n<l:template name=\"Sep\" text=\"Вер\"/>\n<l:template name=\"Oct\" text=\"Жов\"/>\n<l:template name=\"Nov\" text=\"Лис\"/>\n<l:template name=\"Dec\" text=\"Гру\"/>\n<l:template name=\"Mon\" text=\"Пн\"/>\n<l:template name=\"Tue\" text=\"Вт\"/>\n<l:template name=\"Wed\" text=\"Ср\"/>\n<l:template name=\"Thu\" text=\"Чт\"/>\n<l:template name=\"Fri\" text=\"Пт\"/>\n<l:template name=\"Sat\" text=\"Сб\"/>\n<l:template name=\"Sun\" text=\"Нд\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0422 Ukrainian\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\"/>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"270\">А</l:l>\n<l:l i=\"270\">а</l:l>\n<l:l i=\"280\">Б</l:l>\n<l:l i=\"280\">б</l:l>\n<l:l i=\"290\">В</l:l>\n<l:l i=\"290\">в</l:l>\n<l:l i=\"300\">Г</l:l>\n<l:l i=\"300\">г</l:l>\n<l:l i=\"310\">Ґ</l:l>\n<l:l i=\"310\">ґ</l:l>\n<l:l i=\"320\">Д</l:l>\n<l:l i=\"320\">д</l:l>\n<l:l i=\"330\">Е</l:l>\n<l:l i=\"330\">е</l:l>\n<l:l i=\"340\">Є</l:l>\n<l:l i=\"340\">є</l:l>\n<l:l i=\"350\">Ж</l:l>\n<l:l i=\"350\">ж</l:l>\n<l:l i=\"360\">З</l:l>\n<l:l i=\"360\">з</l:l>\n<l:l i=\"370\">И</l:l>\n<l:l i=\"370\">и</l:l>\n<l:l i=\"380\">І</l:l>\n<l:l i=\"380\">і</l:l>\n<l:l i=\"390\">Ї</l:l>\n<l:l i=\"390\">ї</l:l>\n<l:l i=\"400\">Й</l:l>\n<l:l i=\"400\">й</l:l>\n<l:l i=\"410\">К</l:l>\n<l:l i=\"410\">к</l:l>\n<l:l i=\"420\">Л</l:l>\n<l:l i=\"420\">л</l:l>\n<l:l i=\"430\">М</l:l>\n<l:l i=\"430\">м</l:l>\n<l:l i=\"440\">Н</l:l>\n<l:l i=\"440\">н</l:l>\n<l:l i=\"450\">О</l:l>\n<l:l i=\"450\">о</l:l>\n<l:l i=\"460\">П</l:l>\n<l:l i=\"460\">п</l:l>\n<l:l i=\"470\">Р</l:l>\n<l:l i=\"470\">р</l:l>\n<l:l i=\"480\">С</l:l>\n<l:l i=\"480\">с</l:l>\n<l:l i=\"490\">Т</l:l>\n<l:l i=\"490\">т</l:l>\n<l:l i=\"500\">У</l:l>\n<l:l i=\"500\">у</l:l>\n<l:l i=\"510\">Ф</l:l>\n<l:l i=\"510\">ф</l:l>\n<l:l i=\"520\">Х</l:l>\n<l:l i=\"520\">х</l:l>\n<l:l i=\"530\">Ц</l:l>\n<l:l i=\"530\">ц</l:l>\n<l:l i=\"540\">Ч</l:l>\n<l:l i=\"540\">ч</l:l>\n<l:l i=\"550\">Ш</l:l>\n<l:l i=\"550\">ш</l:l>\n<l:l i=\"560\">Щ</l:l>\n<l:l i=\"560\">щ</l:l>\n<l:l i=\"570\">Ь</l:l>\n<l:l i=\"570\">ь</l:l>\n<l:l i=\"580\">Ю</l:l>\n<l:l i=\"580\">ю</l:l>\n<l:l i=\"590\">Я</l:l>\n<l:l i=\"590\">я</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/utility.xml",
    "content": "<?xml version=\"1.0\"?>\n\n<reference xml:id=\"utility\">\n  <info>\n    <title>Common » Utility Template Reference</title>\n    <releaseinfo role=\"meta\">\n      $Id: utility.xsl 7101 2007-07-20 15:32:12Z xmldoc $\n    </releaseinfo>\n  </info>\n  \n  <partintro xml:id=\"partintro\">\n    <title>Introduction</title>\n    \n<para>This is technical reference documentation for the\n      miscellaneous utility templates in the DocBook XSL\n      Stylesheets.</para>\n\n    <note>\n      \n<para>These templates are defined in a separate file from the set\n        of “common” templates because some of the common templates\n        reference DocBook XSL stylesheet parameters, requiring the\n        entire set of parameters to be imported/included in any\n        stylesheet that imports/includes the common templates.</para>\n\n      \n<para>The utility templates don’t import or include any DocBook\n        XSL stylesheet parameters, so the utility templates can be used\n        without importing the whole set of parameters.</para>\n\n    </note>\n    \n<para>This is not intended to be user documentation. It is\n      provided for developers writing customization layers for the\n      stylesheets.</para>\n\n  </partintro>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.log.message\">\n<refnamediv>\n<refname>log.message</refname>\n<refpurpose>Logs/emits formatted notes and warnings</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"log.message\"&gt;\n&lt;xsl:param name=\"level\"/&gt;\n&lt;xsl:param name=\"source\"/&gt;\n&lt;xsl:param name=\"context-desc\"/&gt;\n&lt;xsl:param name=\"context-desc-field-length\"&gt;12&lt;/xsl:param&gt;\n&lt;xsl:param name=\"context-desc-padded\"&gt;\n    &lt;xsl:if test=\"not($context-desc = '')\"&gt;\n      &lt;xsl:call-template name=\"pad-string\"&gt;\n        &lt;xsl:with-param name=\"leftRight\"&gt;right&lt;/xsl:with-param&gt;\n        &lt;xsl:with-param name=\"padVar\" select=\"substring($context-desc, 1, $context-desc-field-length)\"/&gt;\n        &lt;xsl:with-param name=\"length\" select=\"$context-desc-field-length\"/&gt;\n      &lt;/xsl:call-template&gt;\n    &lt;/xsl:if&gt;\n  &lt;/xsl:param&gt;\n&lt;xsl:param name=\"message\"/&gt;\n&lt;xsl:param name=\"message-field-length\" select=\"45\"/&gt;\n&lt;xsl:param name=\"message-padded\"&gt;\n    &lt;xsl:variable name=\"spaces-for-blank-level\"&gt;\n      &lt;!-- * if the level field is blank, we'll need to pad out --&gt;\n      &lt;!-- * the message field with spaces to compensate --&gt;\n      &lt;xsl:choose&gt;\n        &lt;xsl:when test=\"$level = ''\"&gt;\n          &lt;xsl:value-of select=\"4 + 2\"/&gt;\n          &lt;!-- * 4 = hard-coded length of comment text (\"Note\" or \"Warn\") --&gt;\n          &lt;!-- * + 2 = length of colon-plus-space separator \": \" --&gt;\n        &lt;/xsl:when&gt;\n        &lt;xsl:otherwise&gt;\n          &lt;xsl:value-of select=\"0\"/&gt;\n        &lt;/xsl:otherwise&gt;\n      &lt;/xsl:choose&gt;\n    &lt;/xsl:variable&gt;\n    &lt;xsl:variable name=\"spaces-for-blank-context-desc\"&gt;\n      &lt;!-- * if the context-description field is blank, we'll need --&gt;\n      &lt;!-- * to pad out the message field with spaces to compensate --&gt;\n      &lt;xsl:choose&gt;\n        &lt;xsl:when test=\"$context-desc = ''\"&gt;\n          &lt;xsl:value-of select=\"$context-desc-field-length + 2\"/&gt;\n          &lt;!-- * + 2 = length of colon-plus-space separator \": \" --&gt;\n        &lt;/xsl:when&gt;\n        &lt;xsl:otherwise&gt;\n          &lt;xsl:value-of select=\"0\"/&gt;\n        &lt;/xsl:otherwise&gt;\n      &lt;/xsl:choose&gt;\n    &lt;/xsl:variable&gt;\n    &lt;xsl:variable name=\"extra-spaces\" select=\"$spaces-for-blank-level + $spaces-for-blank-context-desc\"/&gt;\n    &lt;xsl:call-template name=\"pad-string\"&gt;\n      &lt;xsl:with-param name=\"leftRight\"&gt;right&lt;/xsl:with-param&gt;\n      &lt;xsl:with-param name=\"padVar\" select=\"substring($message, 1, ($message-field-length + $extra-spaces))\"/&gt;\n      &lt;xsl:with-param name=\"length\" select=\"$message-field-length + $extra-spaces\"/&gt;\n    &lt;/xsl:call-template&gt;\n  &lt;/xsl:param&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>The <function>log.message</function> template is a utility\n    template for logging/emitting formatted messages – that is,\n    notes and warnings, along with a given log “level” and an\n    identifier for the “source” that the message relates to.</para>\n\n  </refsect1><refsect1><title>Parameters</title>\n    \n<variablelist>\n      <varlistentry><term>level</term>\n        <listitem>\n          \n<para>Text to log/emit in the message-level field to\n            indicate the message level\n          (<literal>Note</literal> or\n          <literal>Warning</literal>)</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>source</term>\n        <listitem>\n          \n<para>Text to log/emit in the source field to identify the\n            “source” to which the notification/warning relates.\n            This can be any arbitrary string, but because the\n            message lacks line and column numbers to identify the\n            exact part of the source document to which it\n            relates, the intention is that the value you pass\n            into the <literal>source</literal> parameter should\n            give the user some way to identify the portion of\n            their source document on which to take potentially\n            take action in response to the log message (for\n            example, to edit, change, or add content).</para>\n\n          \n<para>So the <literal>source</literal> value should be,\n            for example, an ID, book/chapter/article title, title\n            of some formal object, or even a string giving an\n            XPath expression.</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>context-desc</term>\n        <listitem>\n          \n<para>Text to log/emit in the context-description field to\n            describe the context for the message.</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>context-desc-field-length</term>\n        <listitem>\n          \n<para>Specifies length of the context-description field\n            (in characters); default is 12</para>\n\n          \n<para>If the text specified by the\n            <literal>context-desc</literal> parameter is longer\n            than the number of characters specified in\n            <literal>context-desc-field-length</literal>, it is\n            truncated to <literal>context-desc-field-length</literal>\n            (12 characters by default).</para>\n\n          \n<para>If the specified text is shorter than\n            <literal>context-desc-field-length</literal>,\n          it is right-padded out to\n          <literal>context-desc-field-length</literal> (12 by\n          default).</para>\n\n        \n<para>If no value has been specified for the\n          <literal>context-desc</literal> parameter, the field is\n          left empty and the text of the log message begins with\n          the value of the <literal>message</literal>\n          parameter.</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>message</term>\n        <listitem>\n          \n<para>Text to log/emit in the actual message field</para>\n\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>message-field-length</term>\n        <listitem>\n          \n<para>Specifies length of the message\n            field (in characters); default is 45</para>\n\n        </listitem>\n      </varlistentry>\n    </variablelist>\n\n  </refsect1><refsect1><title>Returns</title>\n  \n<para>Outputs a message (generally, to standard error).</para>\n</refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.get.doc.title\">\n<refnamediv>\n<refname>get.doc.title</refname>\n<refpurpose>Gets a title from the current document</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"get.doc.title\"/&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>The <function>get.doc.title</function> template is a\n      utility template for returning the first title found in the\n      current document.</para>\n\n  </refsect1><refsect1><title>Returns</title>\n  \n<para>Returns a string containing some identifying title for the\n    current document .</para>\n</refsect1></refentry>\n\n<refentry xmlns:xlink=\"http://www.w3.org/1999/xlink\" xml:id=\"template.pad-string\">\n<refnamediv>\n<refname>pad-string</refname>\n<refpurpose>Right-pads or left-pads a string out to a certain length</refpurpose>\n</refnamediv>\n<refsynopsisdiv>\n<synopsis>&lt;xsl:template name=\"pad-string\"&gt;\n&lt;xsl:param name=\"padChar\" select=\"' '\"/&gt;\n&lt;xsl:param name=\"leftRight\"&gt;left&lt;/xsl:param&gt;\n&lt;xsl:param name=\"padVar\"/&gt;\n&lt;xsl:param name=\"length\"/&gt;\n  ...\n&lt;/xsl:template&gt;</synopsis>\n</refsynopsisdiv>\n<refsect1><title>Description</title>\n    \n<para>This function takes string <parameter>padVar</parameter> and\n      pads it out in the direction <parameter>rightLeft</parameter> to\n      the string-length <parameter>length</parameter>, using string\n      <parameter>padChar</parameter> (a space character by default) as\n      the padding string (note that <parameter>padChar</parameter> can\n      be a string; it is not limited to just being a single\n      character).</para>\n\n    <note>\n      \n<para>This function began as a copy of Nate Austin's\n        <function>prepend-pad</function> function in the <link xlink:href=\"http://www.dpawson.co.uk/xsl/sect2/padding.html\">Padding\n          Content</link> section of Dave Pawson's <link xlink:href=\"http://www.dpawson.co.uk/xsl/index.html\">XSLT\n          FAQ</link>.</para>\n\n    </note>\n  </refsect1><refsect1><title>Returns</title>\n  \n<para>Returns a (padded) string.</para>\n</refsect1></refentry>\n</reference>\n\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/utility.xsl",
    "content": "<?xml version='1.0'?>\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\"\n                xmlns:dyn=\"http://exslt.org/dynamic\"\n                xmlns:saxon=\"http://icl.com/saxon\"\n                xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n                exclude-result-prefixes=\"doc dyn saxon\"\n                version='1.0'>\n\n<!-- ********************************************************************\n     $Id: utility.xsl 7101 2007-07-20 15:32:12Z xmldoc $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n<doc:reference xmlns=\"\" xml:id=\"utility\">\n  <info>\n    <title>Common » Utility Template Reference</title>\n    <releaseinfo role=\"meta\">\n      $Id: utility.xsl 7101 2007-07-20 15:32:12Z xmldoc $\n    </releaseinfo>\n  </info>\n  <!-- * yes, partintro is a valid child of a reference... -->\n  <partintro xml:id=\"partintro\">\n    <title>Introduction</title>\n    <para>This is technical reference documentation for the\n      miscellaneous utility templates in the DocBook XSL\n      Stylesheets.</para>\n    <note>\n      <para>These templates are defined in a separate file from the set\n        of “common” templates because some of the common templates\n        reference DocBook XSL stylesheet parameters, requiring the\n        entire set of parameters to be imported/included in any\n        stylesheet that imports/includes the common templates.</para>\n      <para>The utility templates don’t import or include any DocBook\n        XSL stylesheet parameters, so the utility templates can be used\n        without importing the whole set of parameters.</para>\n    </note>\n    <para>This is not intended to be user documentation. It is\n      provided for developers writing customization layers for the\n      stylesheets.</para>\n  </partintro>\n</doc:reference>\n\n<!-- ====================================================================== -->\n\n<doc:template name=\"log.message\" xmlns=\"\">\n  <refpurpose>Logs/emits formatted notes and warnings</refpurpose>\n\n  <refdescription id=\"log.message-desc\">\n    <para>The <function>log.message</function> template is a utility\n    template for logging/emitting formatted messages&#xa0;– that is,\n    notes and warnings, along with a given log “level” and an\n    identifier for the “source” that the message relates to.</para>\n  </refdescription>\n\n  <refparameter id=\"log.message-params\">\n    <variablelist>\n      <varlistentry><term>level</term>\n        <listitem>\n          <para>Text to log/emit in the message-level field to\n            indicate the message level\n          (<literal>Note</literal> or\n          <literal>Warning</literal>)</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>source</term>\n        <listitem>\n          <para>Text to log/emit in the source field to identify the\n            “source” to which the notification/warning relates.\n            This can be any arbitrary string, but because the\n            message lacks line and column numbers to identify the\n            exact part of the source document to which it\n            relates, the intention is that the value you pass\n            into the <literal>source</literal> parameter should\n            give the user some way to identify the portion of\n            their source document on which to take potentially\n            take action in response to the log message (for\n            example, to edit, change, or add content).</para>\n          <para>So the <literal>source</literal> value should be,\n            for example, an ID, book/chapter/article title, title\n            of some formal object, or even a string giving an\n            XPath expression.</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>context-desc</term>\n        <listitem>\n          <para>Text to log/emit in the context-description field to\n            describe the context for the message.</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>context-desc-field-length</term>\n        <listitem>\n          <para>Specifies length of the context-description field\n            (in characters); default is 12</para>\n          <para>If the text specified by the\n            <literal>context-desc</literal> parameter is longer\n            than the number of characters specified in\n            <literal>context-desc-field-length</literal>, it is\n            truncated to <literal>context-desc-field-length</literal>\n            (12 characters by default).</para>\n          <para>If the specified text is shorter than\n            <literal>context-desc-field-length</literal>,\n          it is right-padded out to\n          <literal>context-desc-field-length</literal> (12 by\n          default).</para>\n        <para>If no value has been specified for the\n          <literal>context-desc</literal> parameter, the field is\n          left empty and the text of the log message begins with\n          the value of the <literal>message</literal>\n          parameter.</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>message</term>\n        <listitem>\n          <para>Text to log/emit in the actual message field</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>message-field-length</term>\n        <listitem>\n          <para>Specifies length of the message\n            field (in characters); default is 45</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refreturn id=\"log.message-returns\">\n  <para>Outputs a message (generally, to standard error).</para></refreturn>\n</doc:template>\n<xsl:template name=\"log.message\">\n  <xsl:param name=\"level\"/>\n  <xsl:param name=\"source\"/>\n  <xsl:param name=\"context-desc\"/>\n  <xsl:param name=\"context-desc-field-length\">12</xsl:param>\n  <xsl:param name=\"context-desc-padded\">\n    <xsl:if test=\"not($context-desc = '')\">\n      <xsl:call-template name=\"pad-string\">\n        <xsl:with-param name=\"leftRight\">right</xsl:with-param>\n        <xsl:with-param name=\"padVar\"\n          select=\"substring($context-desc, 1, $context-desc-field-length)\"/>\n        <xsl:with-param name=\"length\" select=\"$context-desc-field-length\"/>\n      </xsl:call-template>\n    </xsl:if>\n  </xsl:param>\n  <xsl:param name=\"message\"/>\n  <xsl:param name=\"message-field-length\" select=\"45\"/>\n  <xsl:param name=\"message-padded\">\n    <xsl:variable name=\"spaces-for-blank-level\">\n      <!-- * if the level field is blank, we'll need to pad out -->\n      <!-- * the message field with spaces to compensate -->\n      <xsl:choose>\n        <xsl:when test=\"$level = ''\">\n          <xsl:value-of select=\"4 + 2\"/>\n          <!-- * 4 = hard-coded length of comment text (\"Note\" or \"Warn\") -->\n          <!-- * + 2 = length of colon-plus-space separator \": \" -->\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"0\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:variable name=\"spaces-for-blank-context-desc\">\n      <!-- * if the context-description field is blank, we'll need -->\n      <!-- * to pad out the message field with spaces to compensate -->\n      <xsl:choose>\n        <xsl:when test=\"$context-desc = ''\">\n          <xsl:value-of select=\"$context-desc-field-length + 2\"/>\n          <!-- * + 2 = length of colon-plus-space separator \": \" -->\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"0\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:variable name=\"extra-spaces\"\n      select=\"$spaces-for-blank-level + $spaces-for-blank-context-desc\"/>\n    <xsl:call-template name=\"pad-string\">\n      <xsl:with-param name=\"leftRight\">right</xsl:with-param>\n      <xsl:with-param name=\"padVar\"\n        select=\"substring($message, 1, ($message-field-length + $extra-spaces))\"/>\n      <xsl:with-param name=\"length\"\n        select=\"$message-field-length + $extra-spaces\"/>\n    </xsl:call-template>\n  </xsl:param>\n  <!-- * emit the actual log message -->\n  <xsl:message>\n    <xsl:if test=\"not($level = '')\">\n      <xsl:value-of select=\"$level\"/>\n      <xsl:text>: </xsl:text>\n    </xsl:if>\n    <xsl:if test=\"not($context-desc = '')\">\n      <xsl:value-of select=\"$context-desc-padded\"/>\n      <xsl:text>: </xsl:text>\n    </xsl:if>\n    <xsl:value-of select=\"$message-padded\"/>\n    <xsl:text>  </xsl:text>\n    <xsl:value-of select=\"$source\"/>\n  </xsl:message>\n</xsl:template>\n\n<!-- ===================================== -->\n<doc:template name=\"get.doc.title\" xmlns=\"\">\n  <refpurpose>Gets a title from the current document</refpurpose>\n  <refdescription id=\"get.doc.title-desc\">\n    <para>The <function>get.doc.title</function> template is a\n      utility template for returning the first title found in the\n      current document.</para>\n  </refdescription>\n  <refreturn id=\"get.doc.title-returns\">\n  <para>Returns a string containing some identifying title for the\n    current document .</para></refreturn>\n</doc:template>\n<xsl:template name=\"get.doc.title\">\n  <xsl:choose>\n    <xsl:when test=\"//*[local-name() = 'title'\n      or local-name() = 'refname']\">\n      <xsl:value-of select=\"//*[local-name() = 'title'\n        or local-name() = 'refname'][1]\"/>\n    </xsl:when>\n    <xsl:when test=\"substring(local-name(*[1]),\n      string-length(local-name(*[1])-3) = 'info')\n      and *[1]/*[local-name() = 'title']\">\n      <xsl:value-of select=\"*[1]/*[local-name() = 'title'][1]\"/>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ===================================== -->\n<doc:template name=\"pad-string\" xmlns=\"\">\n  <refpurpose>Right-pads or left-pads a string out to a certain length</refpurpose>\n  <refdescription id=\"pad-string-desc\">\n    <para>This function takes string <parameter>padVar</parameter> and\n      pads it out in the direction <parameter>rightLeft</parameter> to\n      the string-length <parameter>length</parameter>, using string\n      <parameter>padChar</parameter> (a space character by default) as\n      the padding string (note that <parameter>padChar</parameter> can\n      be a string; it is not limited to just being a single\n      character).</para>\n    <note>\n      <para>This function began as a copy of Nate Austin's\n        <function>prepend-pad</function> function in the <link\n          xlink:href=\"http://www.dpawson.co.uk/xsl/sect2/padding.html\" >Padding\n          Content</link> section of Dave Pawson's <link\n          xlink:href=\"http://www.dpawson.co.uk/xsl/index.html\" >XSLT\n          FAQ</link>.</para>\n    </note>\n  </refdescription>\n  <refreturn id=\"pad-string-returns\">\n  <para>Returns a (padded) string.</para></refreturn>\n</doc:template>\n<xsl:template name=\"pad-string\">\n  <!-- * recursive template to right/left pad the value with -->\n  <!-- * whatever padChar is passed in -->\n  <xsl:param name=\"padChar\" select=\"' '\"/>\n  <xsl:param name=\"leftRight\">left</xsl:param>\n  <xsl:param name=\"padVar\"/>\n  <xsl:param name=\"length\"/>\n  <xsl:choose>\n    <xsl:when test=\"string-length($padVar) &lt; $length\">\n      <xsl:call-template name=\"pad-string\">\n        <xsl:with-param name=\"padChar\" select=\"$padChar\"/>\n        <xsl:with-param name=\"leftRight\" select=\"$leftRight\"/>\n        <xsl:with-param name=\"padVar\">\n          <xsl:choose>\n            <!-- * determine whether string should be -->\n            <!-- * right- or left-padded -->\n            <xsl:when test=\"$leftRight = 'left'\">\n              <!-- * pad it to left -->\n              <xsl:value-of select=\"concat($padChar,$padVar)\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <!-- * otherwise, right-pad the string -->\n              <xsl:value-of select=\"concat($padVar,$padChar)\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:with-param>\n        <xsl:with-param name=\"length\" select=\"$length\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of \n        select=\"substring($padVar,string-length($padVar) - $length + 1)\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/vi.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"vi\" english-language-name=\"Vietnamese\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/vi.xml -->\n<!-- * -->\n<!-- * E-mail the edited vi.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Tổng quan\"/>\n<l:gentext key=\"abstract\" text=\"Tổng quan\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"Đ:\"/>\n<l:gentext key=\"answer\" text=\"Đ:\"/>\n<l:gentext key=\"Appendix\" text=\"Phụ lục\"/>\n<l:gentext key=\"appendix\" text=\"phụ lục\"/>\n<l:gentext key=\"Article\" text=\"Bài viết\"/>\n<l:gentext key=\"article\" text=\"Bài viết\"/>\n<l:gentext key=\"Author\" text=\"Author\" lang=\"en\"/>\n<l:gentext key=\"Bibliography\" text=\"Thư mục\"/>\n<l:gentext key=\"bibliography\" text=\"Thư mục\"/>\n<l:gentext key=\"Book\" text=\"Sách\"/>\n<l:gentext key=\"book\" text=\"Sách\"/>\n<l:gentext key=\"CAUTION\" text=\"CẨN THẬN\"/>\n<l:gentext key=\"Caution\" text=\"Cẩn thận\"/>\n<l:gentext key=\"caution\" text=\"Cẩn thận\"/>\n<l:gentext key=\"Chapter\" text=\"Chương\"/>\n<l:gentext key=\"chapter\" text=\"chương\"/>\n<l:gentext key=\"Colophon\" text=\"Colophon\"/>\n<l:gentext key=\"colophon\" text=\"Colophon\"/>\n<l:gentext key=\"Copyright\" text=\"Bản quyền\"/>\n<l:gentext key=\"copyright\" text=\"Bản quyền\"/>\n<l:gentext key=\"Dedication\" text=\"Tặng\"/>\n<l:gentext key=\"dedication\" text=\"Tặng\"/>\n<l:gentext key=\"Edition\" text=\"Edition\"/>\n<l:gentext key=\"edition\" text=\"Edition\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Phương trình\"/>\n<l:gentext key=\"equation\" text=\"Phương trình\"/>\n<l:gentext key=\"Example\" text=\"Ví dụ\"/>\n<l:gentext key=\"example\" text=\"Ví dụ\"/>\n<l:gentext key=\"Figure\" text=\"Hình\"/>\n<l:gentext key=\"figure\" text=\"Hình\"/>\n<l:gentext key=\"Glossary\" text=\"Thuật ngữ\"/>\n<l:gentext key=\"glossary\" text=\"Thuật ngữ\"/>\n<l:gentext key=\"GlossSee\" text=\"Xem\"/>\n<l:gentext key=\"glosssee\" text=\"Xem\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Xem thêm\"/>\n<l:gentext key=\"glossseealso\" text=\"Xem thêm\"/>\n<l:gentext key=\"IMPORTANT\" text=\"QUAN TRỌNG\"/>\n<l:gentext key=\"important\" text=\"Quan trọng\"/>\n<l:gentext key=\"Important\" text=\"Quan trọng\"/>\n<l:gentext key=\"Index\" text=\"Chỉ mục\"/>\n<l:gentext key=\"index\" text=\"Chỉ mục\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Legal Notice\"/>\n<l:gentext key=\"legalnotice\" text=\"Legal Notice\"/>\n<l:gentext key=\"MsgAud\" text=\"Đọc giả\"/>\n<l:gentext key=\"msgaud\" text=\"Đọc giả\"/>\n<l:gentext key=\"MsgLevel\" text=\"Cấp\"/>\n<l:gentext key=\"msglevel\" text=\"Cấp\"/>\n<l:gentext key=\"MsgOrig\" text=\"Gốc\"/>\n<l:gentext key=\"msgorig\" text=\"Gốc\"/>\n<l:gentext key=\"NOTE\" text=\"GHI CHÚ\"/>\n<l:gentext key=\"Note\" text=\"Ghi chú\"/>\n<l:gentext key=\"note\" text=\"Ghi chú\"/>\n<l:gentext key=\"Part\" text=\"Phần\"/>\n<l:gentext key=\"part\" text=\"Phần\"/>\n<l:gentext key=\"Preface\" text=\"Mở đầu\"/>\n<l:gentext key=\"preface\" text=\"Mở đầu\"/>\n<l:gentext key=\"Procedure\" text=\"Thủ tục\"/>\n<l:gentext key=\"procedure\" text=\"Thủ tục\"/>\n<l:gentext key=\"ProductionSet\" text=\"Sản phẩm\"/>\n<l:gentext key=\"PubDate\" text=\"Publication Date\" lang=\"en\"/>\n<l:gentext key=\"pubdate\" text=\"Publication date\" lang=\"en\"/>\n<l:gentext key=\"Published\" text=\"Xuất bản\"/>\n<l:gentext key=\"published\" text=\"Xuất bản\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"H và Đ\"/>\n<l:gentext key=\"qandadiv\" text=\"H và Đ\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"H:\"/>\n<l:gentext key=\"question\" text=\"H:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Tham khảo\"/>\n<l:gentext key=\"reference\" text=\"Tham khảo\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Tên\"/>\n<l:gentext key=\"refname\" text=\"Tên\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Tóm tắt\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Tóm tắt\"/>\n<l:gentext key=\"RevHistory\" text=\"Revision History\"/>\n<l:gentext key=\"revhistory\" text=\"Revision History\"/>\n<l:gentext key=\"revision\" text=\"Bản hiệu chỉnh\"/>\n<l:gentext key=\"Revision\" text=\"Bản hiệu chỉnh\"/>\n<l:gentext key=\"sect1\" text=\"Phần\"/>\n<l:gentext key=\"sect2\" text=\"Phần\"/>\n<l:gentext key=\"sect3\" text=\"Phần\"/>\n<l:gentext key=\"sect4\" text=\"Phần\"/>\n<l:gentext key=\"sect5\" text=\"Phần\"/>\n<l:gentext key=\"section\" text=\"Phần\"/>\n<l:gentext key=\"Section\" text=\"Phần\"/>\n<l:gentext key=\"see\" text=\"xem\"/>\n<l:gentext key=\"See\" text=\"See\" lang=\"en\"/>\n<l:gentext key=\"seealso\" text=\"xem thêm\"/>\n<l:gentext key=\"Seealso\" text=\"See also\" lang=\"en\"/>\n<l:gentext key=\"SeeAlso\" text=\"See Also\" lang=\"en\"/>\n<l:gentext key=\"set\" text=\"Đặt\"/>\n<l:gentext key=\"Set\" text=\"Đặt\"/>\n<l:gentext key=\"setindex\" text=\"Đặt chỉ mục\"/>\n<l:gentext key=\"SetIndex\" text=\"Đặt chỉ mục\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"thanh bên\"/>\n<l:gentext key=\"step\" text=\"bước\"/>\n<l:gentext key=\"Step\" text=\"Bước\"/>\n<l:gentext key=\"table\" text=\"Bảng\"/>\n<l:gentext key=\"Table\" text=\"Bảng\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"Mẹo\"/>\n<l:gentext key=\"TIP\" text=\"MẸO\"/>\n<l:gentext key=\"Tip\" text=\"Mẹo\"/>\n<l:gentext key=\"Warning\" text=\"Cảnh báo\"/>\n<l:gentext key=\"warning\" text=\"Cảnh báo\"/>\n<l:gentext key=\"WARNING\" text=\"CẢNH BÁO\"/>\n<l:gentext key=\"and\" text=\"và\"/>\n<l:gentext key=\"or\" text=\"﻿hoặc\"/>\n<l:gentext key=\"by\" text=\"bởi\"/>\n<l:gentext key=\"Edited\" text=\"Được biên soạn\"/>\n<l:gentext key=\"edited\" text=\"Được biên soạn\"/>\n<l:gentext key=\"Editedby\" text=\"Được biên soạn bởi\"/>\n<l:gentext key=\"editedby\" text=\"Được biên soạn bởi\"/>\n<l:gentext key=\"in\" text=\"trong\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"Ghi chú\"/>\n<l:gentext key=\"Notes\" text=\"Ghi chú\"/>\n<l:gentext key=\"Pgs\" text=\"Pgs.\"/>\n<l:gentext key=\"pgs\" text=\"Pgs.\"/>\n<l:gentext key=\"Revisedby\" text=\"Hiệu chỉnh bởi: \"/>\n<l:gentext key=\"revisedby\" text=\"Hiệu chỉnh bởi: \"/>\n<l:gentext key=\"TableNotes\" text=\"Ghi chú\"/>\n<l:gentext key=\"tablenotes\" text=\"Ghi chú\"/>\n<l:gentext key=\"TableofContents\" text=\"Mục lục\"/>\n<l:gentext key=\"tableofcontents\" text=\"Mục lục\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Tên phần tử không đúng\"/>\n<l:gentext key=\"unsupported\" text=\"không hỗ trợ\"/>\n<l:gentext key=\"xrefto\" text=\"xref tới\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"Danh sách Phương trình\"/>\n<l:gentext key=\"ListofEquations\" text=\"Danh sách Phương trình\"/>\n<l:gentext key=\"ListofExamples\" text=\"Danh sách Ví dụ\"/>\n<l:gentext key=\"listofexamples\" text=\"Danh sách Ví dụ\"/>\n<l:gentext key=\"ListofFigures\" text=\"Danh sách Hình\"/>\n<l:gentext key=\"listoffigures\" text=\"Danh sách Hình\"/>\n<l:gentext key=\"ListofProcedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listofprocedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listoftables\" text=\"Danh sách Bảng\"/>\n<l:gentext key=\"ListofTables\" text=\"Danh sách Bảng\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Danh sách Lạ\"/>\n<l:gentext key=\"listofunknown\" text=\"Danh sách Lạ\"/>\n<l:gentext key=\"nav-home\" text=\"Đầu\"/>\n<l:gentext key=\"nav-next\" text=\"Kế tiếp\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Tới nhanh\"/>\n<l:gentext key=\"nav-prev\" text=\"Trước đó\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Lùi nhanh\"/>\n<l:gentext key=\"nav-up\" text=\"Lên\"/>\n<l:gentext key=\"nav-toc\" text=\"Mục lục\"/>\n<l:gentext key=\"Draft\" text=\"Bản thảo\"/>\n<l:gentext key=\"above\" text=\"trên\"/>\n<l:gentext key=\"below\" text=\"dưới\"/>\n<l:gentext key=\"sectioncalled\" text=\"phần\"/>\n<l:gentext key=\"index symbols\" text=\"Ký hiệu\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"last-first\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Phụ lục %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Chương %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Phương trình %n. %t\"/>\n<l:template name=\"example\" text=\"Ví dụ %n. %t\"/>\n<l:template name=\"figure\" text=\"Hình %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Phần %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Thủ tục %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Sản phẩm %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Bảng %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Phụ lục %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Chương %n. %t\"/>\n<l:template name=\"part\" text=\"Phần %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"Đ: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"H: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"H: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"phần “%t”\"/>\n<l:template name=\"refsection\" text=\"phần “%t”\"/>\n<l:template name=\"refsect1\" text=\"phần “%t”\"/>\n<l:template name=\"refsect2\" text=\"phần “%t”\"/>\n<l:template name=\"refsect3\" text=\"phần “%t”\"/>\n<l:template name=\"sect1\" text=\"phần “%t”\"/>\n<l:template name=\"sect2\" text=\"phần “%t”\"/>\n<l:template name=\"sect3\" text=\"phần “%t”\"/>\n<l:template name=\"sect4\" text=\"phần “%t”\"/>\n<l:template name=\"sect5\" text=\"phần “%t”\"/>\n<l:template name=\"section\" text=\"phần “%t”\"/>\n<l:template name=\"simplesect\" text=\"phần “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"Đ: %n\"/>\n<l:template name=\"appendix\" text=\"Phụ lục %n\"/>\n<l:template name=\"bridgehead\" text=\"Phần %n\"/>\n<l:template name=\"chapter\" text=\"Chương %n\"/>\n<l:template name=\"equation\" text=\"Phương trình %n\"/>\n<l:template name=\"example\" text=\"Ví dụ %n\"/>\n<l:template name=\"figure\" text=\"Hình %n\"/>\n<l:template name=\"part\" text=\"Phần %n\"/>\n<l:template name=\"procedure\" text=\"Thủ tục %n\"/>\n<l:template name=\"productionset\" text=\"Sản phẩm %n\"/>\n<l:template name=\"qandadiv\" text=\"H và Đ %n\"/>\n<l:template name=\"qandaentry\" text=\"H: %n\"/>\n<l:template name=\"question\" text=\"H: %n\"/>\n<l:template name=\"sect1\" text=\"Phần %n\"/>\n<l:template name=\"sect2\" text=\"Phần %n\"/>\n<l:template name=\"sect3\" text=\"Phần %n\"/>\n<l:template name=\"sect4\" text=\"Phần %n\"/>\n<l:template name=\"sect5\" text=\"Phần %n\"/>\n<l:template name=\"section\" text=\"Phần %n\"/>\n<l:template name=\"table\" text=\"Bảng %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Phụ lục %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Phần %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Chương %n, %t\"/>\n<l:template name=\"equation\" text=\"Phương trình %n, “%t”\"/>\n<l:template name=\"example\" text=\"Ví dụ %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Hình %n, “%t”\"/>\n<l:template name=\"part\" text=\"Phần %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Thủ tục %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Sản phẩm %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"H và Đ %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"phần “%t”\"/>\n<l:template name=\"refsect2\" text=\"phần “%t”\"/>\n<l:template name=\"refsect3\" text=\"phần “%t”\"/>\n<l:template name=\"refsection\" text=\"phần “%t”\"/>\n<l:template name=\"sect1\" text=\"Phần %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Phần %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Phần %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Phần %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Phần %n, “%t”\"/>\n<l:template name=\"section\" text=\"Phần %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"phần “%t”\"/>\n<l:template name=\"table\" text=\"Bảng %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" và \"/>\n<l:template name=\"seplast\" text=\", và \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Xem %t.\"/>\n<l:template name=\"seealso\" text=\"Xem thêm %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Đọc giả: \"/>\n<l:template name=\"MsgLevel\" text=\"Cấp: \"/>\n<l:template name=\"MsgOrig\" text=\"Gốc: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\" lang=\"en\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"January\" lang=\"en\"/>\n<l:template name=\"February\" text=\"February\" lang=\"en\"/>\n<l:template name=\"March\" text=\"March\" lang=\"en\"/>\n<l:template name=\"April\" text=\"April\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"June\" text=\"June\" lang=\"en\"/>\n<l:template name=\"July\" text=\"July\" lang=\"en\"/>\n<l:template name=\"August\" text=\"August\" lang=\"en\"/>\n<l:template name=\"September\" text=\"September\" lang=\"en\"/>\n<l:template name=\"October\" text=\"October\" lang=\"en\"/>\n<l:template name=\"November\" text=\"November\" lang=\"en\"/>\n<l:template name=\"December\" text=\"December\" lang=\"en\"/>\n<l:template name=\"Monday\" text=\"Monday\" lang=\"en\"/>\n<l:template name=\"Tuesday\" text=\"Tuesday\" lang=\"en\"/>\n<l:template name=\"Wednesday\" text=\"Wednesday\" lang=\"en\"/>\n<l:template name=\"Thursday\" text=\"Thursday\" lang=\"en\"/>\n<l:template name=\"Friday\" text=\"Friday\" lang=\"en\"/>\n<l:template name=\"Saturday\" text=\"Saturday\" lang=\"en\"/>\n<l:template name=\"Sunday\" text=\"Sunday\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\" lang=\"en\"/>\n<l:template name=\"Feb\" text=\"Feb\" lang=\"en\"/>\n<l:template name=\"Mar\" text=\"Mar\" lang=\"en\"/>\n<l:template name=\"Apr\" text=\"Apr\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"Jun\" text=\"Jun\" lang=\"en\"/>\n<l:template name=\"Jul\" text=\"Jul\" lang=\"en\"/>\n<l:template name=\"Aug\" text=\"Aug\" lang=\"en\"/>\n<l:template name=\"Sep\" text=\"Sep\" lang=\"en\"/>\n<l:template name=\"Oct\" text=\"Oct\" lang=\"en\"/>\n<l:template name=\"Nov\" text=\"Nov\" lang=\"en\"/>\n<l:template name=\"Dec\" text=\"Dec\" lang=\"en\"/>\n<l:template name=\"Mon\" text=\"Mon\" lang=\"en\"/>\n<l:template name=\"Tue\" text=\"Tue\" lang=\"en\"/>\n<l:template name=\"Wed\" text=\"Wed\" lang=\"en\"/>\n<l:template name=\"Thu\" text=\"Thu\" lang=\"en\"/>\n<l:template name=\"Fri\" text=\"Fri\" lang=\"en\"/>\n<l:template name=\"Sat\" text=\"Sat\" lang=\"en\"/>\n<l:template name=\"Sun\" text=\"Sun\" lang=\"en\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x042a Vietnamese\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters lang=\"en\"><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/xh.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"xh\" english-language-name=\"Xhosa\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/xh.xml -->\n<!-- * -->\n<!-- * E-mail the edited xh.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"Isiqalo\"/>\n<l:gentext key=\"abstract\" text=\"Isiqalo\"/>\n<l:gentext key=\"Acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"acknowledgements\" text=\"Acknowledgements\" lang=\"en\"/>\n<l:gentext key=\"Answer\" text=\"I:\"/>\n<l:gentext key=\"answer\" text=\"I:\"/>\n<l:gentext key=\"Appendix\" text=\"Isivalo\"/>\n<l:gentext key=\"appendix\" text=\"isivalo\"/>\n<l:gentext key=\"Article\" text=\"Umba\"/>\n<l:gentext key=\"article\" text=\"Umba\"/>\n<l:gentext key=\"Author\" text=\"Author\" lang=\"en\"/>\n<l:gentext key=\"Bibliography\" text=\"Ezobunzululwazi\"/>\n<l:gentext key=\"bibliography\" text=\"Ezobunzululwazi\"/>\n<l:gentext key=\"Book\" text=\"Incwadi\"/>\n<l:gentext key=\"book\" text=\"Incwadi\"/>\n<l:gentext key=\"CAUTION\" text=\"ISILUMKISO\"/>\n<l:gentext key=\"Caution\" text=\"Isilumkiso\"/>\n<l:gentext key=\"caution\" text=\"Isilumkiso\"/>\n<l:gentext key=\"Chapter\" text=\"Isiqendu\"/>\n<l:gentext key=\"chapter\" text=\"isiqendu\"/>\n<l:gentext key=\"Colophon\" text=\"Ikolophon\"/>\n<l:gentext key=\"colophon\" text=\"Ikolophon\"/>\n<l:gentext key=\"Copyright\" text=\"Ushicilelo olusemthethweni\"/>\n<l:gentext key=\"copyright\" text=\"Ushicilelo olusemthethweni\"/>\n<l:gentext key=\"Dedication\" text=\"Ulwaziso\"/>\n<l:gentext key=\"dedication\" text=\"Ulwaziso\"/>\n<l:gentext key=\"Edition\" text=\"Uhlelo\"/>\n<l:gentext key=\"edition\" text=\"Uhlelo\"/>\n<l:gentext key=\"Editor\" text=\"Editor\" lang=\"en\"/>\n<l:gentext key=\"Equation\" text=\"Ulinganiselo\"/>\n<l:gentext key=\"equation\" text=\"Ulinganiselo\"/>\n<l:gentext key=\"Example\" text=\"Umzekelo\"/>\n<l:gentext key=\"example\" text=\"Umzekelo\"/>\n<l:gentext key=\"Figure\" text=\"Ulungu\"/>\n<l:gentext key=\"figure\" text=\"Ulungu\"/>\n<l:gentext key=\"Glossary\" text=\"Inkcazelo yamagama\"/>\n<l:gentext key=\"glossary\" text=\"Inkcazelo yamagama\"/>\n<l:gentext key=\"GlossSee\" text=\"Bona\"/>\n<l:gentext key=\"glosssee\" text=\"Bona\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"Bona Kwakhona\"/>\n<l:gentext key=\"glossseealso\" text=\"Bona Kwakhona\"/>\n<l:gentext key=\"IMPORTANT\" text=\"IBALULEKILE\"/>\n<l:gentext key=\"important\" text=\"Ibalulekile\"/>\n<l:gentext key=\"Important\" text=\"Ibalulekile\"/>\n<l:gentext key=\"Index\" text=\"Isalathiso\"/>\n<l:gentext key=\"index\" text=\"Isalathiso\"/>\n<l:gentext key=\"ISBN\" text=\"iISBN\"/>\n<l:gentext key=\"isbn\" text=\"iISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"Isaziso Esesimthethweni\"/>\n<l:gentext key=\"legalnotice\" text=\"Isaziso Esesimthethweni\"/>\n<l:gentext key=\"MsgAud\" text=\"Ababhali\"/>\n<l:gentext key=\"msgaud\" text=\"Ababhali\"/>\n<l:gentext key=\"MsgLevel\" text=\"Umphakamo\"/>\n<l:gentext key=\"msglevel\" text=\"Umphakamo\"/>\n<l:gentext key=\"MsgOrig\" text=\"Uqobo\"/>\n<l:gentext key=\"msgorig\" text=\"Uqobo\"/>\n<l:gentext key=\"NOTE\" text=\"QAPHELA\"/>\n<l:gentext key=\"Note\" text=\"Qaphela\"/>\n<l:gentext key=\"note\" text=\"Qaphela\"/>\n<l:gentext key=\"Part\" text=\"Inxenye\"/>\n<l:gentext key=\"part\" text=\"Inxenye\"/>\n<l:gentext key=\"Preface\" text=\"Isihloko\"/>\n<l:gentext key=\"preface\" text=\"Isihloko\"/>\n<l:gentext key=\"Procedure\" text=\"Inkqubo\"/>\n<l:gentext key=\"procedure\" text=\"Inkqubo\"/>\n<l:gentext key=\"ProductionSet\" text=\"Imveliso\"/>\n<l:gentext key=\"PubDate\" text=\"Publication Date\" lang=\"en\"/>\n<l:gentext key=\"pubdate\" text=\"Publication date\" lang=\"en\"/>\n<l:gentext key=\"Published\" text=\"Ipapashwe\"/>\n<l:gentext key=\"published\" text=\"Ipapashwe\"/>\n<l:gentext key=\"Publisher\" text=\"Publisher\" lang=\"en\"/>\n<l:gentext key=\"Qandadiv\" text=\"U no I\"/>\n<l:gentext key=\"qandadiv\" text=\"U no I\"/>\n<l:gentext key=\"QandASet\" text=\"Frequently Asked Questions\" lang=\"en\"/>\n<l:gentext key=\"Question\" text=\"U:\"/>\n<l:gentext key=\"question\" text=\"U:\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"Uthelekiso\"/>\n<l:gentext key=\"reference\" text=\"Uthelekiso\"/>\n<l:gentext key=\"References\" text=\"References\" lang=\"en\"/>\n<l:gentext key=\"RefName\" text=\"Igama lothelekiso\"/>\n<l:gentext key=\"refname\" text=\"Igama lothelekiso\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"Isinopsisi\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"Isinopsisi\"/>\n<l:gentext key=\"RevHistory\" text=\"Imbali yophindo\"/>\n<l:gentext key=\"revhistory\" text=\"Imbali yophindo\"/>\n<l:gentext key=\"revision\" text=\"Iphindo\"/>\n<l:gentext key=\"Revision\" text=\"Iphindo\"/>\n<l:gentext key=\"sect1\" text=\"Icandelo\"/>\n<l:gentext key=\"sect2\" text=\"Icandelo\"/>\n<l:gentext key=\"sect3\" text=\"Icandelo\"/>\n<l:gentext key=\"sect4\" text=\"Icandelo\"/>\n<l:gentext key=\"sect5\" text=\"Icandelo\"/>\n<l:gentext key=\"section\" text=\"Icandelo\"/>\n<l:gentext key=\"Section\" text=\"Icandelo\"/>\n<l:gentext key=\"see\" text=\"Bona\"/>\n<l:gentext key=\"See\" text=\"Bona\"/>\n<l:gentext key=\"seealso\" text=\"Bona Kwakhona\"/>\n<l:gentext key=\"Seealso\" text=\"Bona Kwakhona\"/>\n<l:gentext key=\"SeeAlso\" text=\"Bona Kwakhona\"/>\n<l:gentext key=\"set\" text=\"Cwangcisa\"/>\n<l:gentext key=\"Set\" text=\"Cwangcisa\"/>\n<l:gentext key=\"setindex\" text=\"Cwangcisa Isalathiso\"/>\n<l:gentext key=\"SetIndex\" text=\"Cwangcisa Isalathiso\"/>\n<l:gentext key=\"Sidebar\" text=\"\"/>\n<l:gentext key=\"sidebar\" text=\"ibar esecaleni\"/>\n<l:gentext key=\"step\" text=\"inqwanqwa\"/>\n<l:gentext key=\"Step\" text=\"Inqwanqwa\"/>\n<l:gentext key=\"table\" text=\"Indlela Yokwenza Imigca\"/>\n<l:gentext key=\"Table\" text=\"Indlela Yokwenza Imigca\"/>\n<l:gentext key=\"task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"Task\" text=\"Task\" lang=\"en\"/>\n<l:gentext key=\"tip\" text=\"Incam\"/>\n<l:gentext key=\"TIP\" text=\"INCAM\"/>\n<l:gentext key=\"Tip\" text=\"Incam\"/>\n<l:gentext key=\"Warning\" text=\"Isilumkiso\"/>\n<l:gentext key=\"warning\" text=\"Isilumkiso\"/>\n<l:gentext key=\"WARNING\" text=\"ISILUMKISO\"/>\n<l:gentext key=\"and\" text=\"no\"/>\n<l:gentext key=\"or\" text=\"or\" lang=\"en\"/>\n<l:gentext key=\"by\" text=\"by\" lang=\"en\"/>\n<l:gentext key=\"Edited\" text=\"Ihleliwe\"/>\n<l:gentext key=\"edited\" text=\"Ihleliwe\"/>\n<l:gentext key=\"Editedby\" text=\"Ihlelwe\"/>\n<l:gentext key=\"editedby\" text=\"Ihlelwe\"/>\n<l:gentext key=\"in\" text=\"in\"/>\n<l:gentext key=\"lastlistcomma\" text=\", \"/>\n<l:gentext key=\"listcomma\" text=\", \"/>\n<l:gentext key=\"notes\" text=\"Iziqaphelo\"/>\n<l:gentext key=\"Notes\" text=\"Iziqaphelo\"/>\n<l:gentext key=\"Pgs\" text=\"Amaphepha\"/>\n<l:gentext key=\"pgs\" text=\"Amaphepha\"/>\n<l:gentext key=\"Revisedby\" text=\"Iphindwe ngu: \"/>\n<l:gentext key=\"revisedby\" text=\"Iphindwe ngu:\"/>\n<l:gentext key=\"TableNotes\" text=\"Iziqaphelo\"/>\n<l:gentext key=\"tablenotes\" text=\"Iziqaphelo\"/>\n<l:gentext key=\"TableofContents\" text=\"Imigca Yemixholo\"/>\n<l:gentext key=\"tableofcontents\" text=\"Imigca Yemixholo\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"Igama lesiqalelo esingalindelwanga\"/>\n<l:gentext key=\"unsupported\" text=\"ayixhaswanga\"/>\n<l:gentext key=\"xrefto\" text=\"thelekiso ku\"/>\n<l:gentext key=\"Authors\" text=\"Authors\" lang=\"en\"/>\n<l:gentext key=\"copyeditor\" text=\"Copy Editor\" lang=\"en\"/>\n<l:gentext key=\"graphicdesigner\" text=\"Graphic Designer\" lang=\"en\"/>\n<l:gentext key=\"productioneditor\" text=\"Production Editor\" lang=\"en\"/>\n<l:gentext key=\"technicaleditor\" text=\"Technical Editor\" lang=\"en\"/>\n<l:gentext key=\"translator\" text=\"Translator\" lang=\"en\"/>\n<l:gentext key=\"listofequations\" text=\"Uluhlu Lemilinganiselo\"/>\n<l:gentext key=\"ListofEquations\" text=\"Uluhlu Lemilinganiselo\"/>\n<l:gentext key=\"ListofExamples\" text=\"Uluhlu Lemizekelo\"/>\n<l:gentext key=\"listofexamples\" text=\"Uluhlu Lemizekelo\"/>\n<l:gentext key=\"ListofFigures\" text=\"Uluhlu Lamalungu\"/>\n<l:gentext key=\"listoffigures\" text=\"Uluhlu Lamalungu\"/>\n<l:gentext key=\"ListofProcedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listofprocedures\" text=\"List of Procedures\" lang=\"en\"/>\n<l:gentext key=\"listoftables\" text=\"Uluhlu Lendlela Yokwenza Imigca\"/>\n<l:gentext key=\"ListofTables\" text=\"Uluhlu Lendlela Yokwenza Imigca\"/>\n<l:gentext key=\"ListofUnknown\" text=\"Uluhlu Lokungaziwayo\"/>\n<l:gentext key=\"listofunknown\" text=\"Uluhlu Lokungaziwayo\"/>\n<l:gentext key=\"nav-home\" text=\"Ikhaya\"/>\n<l:gentext key=\"nav-next\" text=\"Elandelayo\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"Yisa Phambili\"/>\n<l:gentext key=\"nav-prev\" text=\"Edlulileyo\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"Yisa Emva\"/>\n<l:gentext key=\"nav-up\" text=\"Phezulu\"/>\n<l:gentext key=\"nav-toc\" text=\"ToC\" lang=\"en\"/>\n<l:gentext key=\"Draft\" text=\"Draft\"/>\n<l:gentext key=\"above\" text=\"above\"/>\n<l:gentext key=\"below\" text=\"below\"/>\n<l:gentext key=\"sectioncalled\" text=\"icandelo libizwa ngokuba\"/>\n<l:gentext key=\"index symbols\" text=\"Iimpawu\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"Isivalo %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"Isiqendu %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"Ulinganiselo %n. %t\"/>\n<l:template name=\"example\" text=\"Umzekelo %n. %t\"/>\n<l:template name=\"figure\" text=\"Ulungu %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"Inxenye %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"Inkqubo %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"Imveliso %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"Indlela Yokwenza Imigca %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"Isivalo %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"Isiqendu %n. %t\"/>\n<l:template name=\"part\" text=\"Inxenye %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"I: %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"U: %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"U: %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"icandelo libizwa ngokuba “%t”\"/>\n<l:template name=\"refsection\" text=\"icandelo libizwa ngokuba “%t”\"/>\n<l:template name=\"refsect1\" text=\"icandelo libizwa ngokuba “%t”\"/>\n<l:template name=\"refsect2\" text=\"icandelo libizwa ngokuba “%t”\"/>\n<l:template name=\"refsect3\" text=\"icandelo libizwa ngokuba “%t”\"/>\n<l:template name=\"sect1\" text=\"icandelo libizwa ngokuba “%t”\"/>\n<l:template name=\"sect2\" text=\"icandelo libizwa ngokuba “%t”\"/>\n<l:template name=\"sect3\" text=\"icandelo libizwa ngokuba “%t”\"/>\n<l:template name=\"sect4\" text=\"icandelo libizwa ngokuba “%t”\"/>\n<l:template name=\"sect5\" text=\"icandelo libizwa ngokuba “%t”\"/>\n<l:template name=\"section\" text=\"icandelo libizwa ngokuba “%t”\"/>\n<l:template name=\"simplesect\" text=\"icandelo libizwa ngokuba “%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"I: %n\"/>\n<l:template name=\"appendix\" text=\"Isivalo %n\"/>\n<l:template name=\"bridgehead\" text=\"Icandelo %n\"/>\n<l:template name=\"chapter\" text=\"Isiqendu %n\"/>\n<l:template name=\"equation\" text=\"Ulinganiselo %n\"/>\n<l:template name=\"example\" text=\"Umzekelo %n\"/>\n<l:template name=\"figure\" text=\"Ulungu %n\"/>\n<l:template name=\"part\" text=\"Inxenye %n\"/>\n<l:template name=\"procedure\" text=\"Inkqubo %n\"/>\n<l:template name=\"productionset\" text=\"Imveliso %n\"/>\n<l:template name=\"qandadiv\" text=\"U no I %n\"/>\n<l:template name=\"qandaentry\" text=\"U: %n\"/>\n<l:template name=\"question\" text=\"U: %n\"/>\n<l:template name=\"sect1\" text=\"Icandelo %n\"/>\n<l:template name=\"sect2\" text=\"Icandelo %n\"/>\n<l:template name=\"sect3\" text=\"Icandelo %n\"/>\n<l:template name=\"sect4\" text=\"Icandelo %n\"/>\n<l:template name=\"sect5\" text=\"Icandelo %n\"/>\n<l:template name=\"section\" text=\"Icandelo %n\"/>\n<l:template name=\"table\" text=\"Indlela Yokwenza Imigca %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"Isivalo %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"Icandelo %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"Isiqendu %n, %t\"/>\n<l:template name=\"equation\" text=\"Ulinganiselo %n, “%t”\"/>\n<l:template name=\"example\" text=\"Umzekelo %n, “%t”\"/>\n<l:template name=\"figure\" text=\"Ulungu %n, “%t”\"/>\n<l:template name=\"part\" text=\"Inxenye %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"Inkqubo %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"Imveliso %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"U no I %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"icandelo libizwa ngokuba “%t”\"/>\n<l:template name=\"refsect2\" text=\"icandelo libizwa ngokuba “%t”\"/>\n<l:template name=\"refsect3\" text=\"icandelo libizwa ngokuba “%t”\"/>\n<l:template name=\"refsection\" text=\"icandelo libizwa ngokuba “%t”\"/>\n<l:template name=\"sect1\" text=\"Icandelo %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"Icandelo %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"Icandelo %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"Icandelo %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"Icandelo %n, “%t”\"/>\n<l:template name=\"section\" text=\"Icandelo %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"icandelo libizwa ngokuba “%t”\"/>\n<l:template name=\"table\" text=\"Indlela Yokwenza Imigca %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\" no \"/>\n<l:template name=\"sep2\" text=\" no \"/>\n<l:template name=\"seplast\" text=\" no \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"Bona %t.\"/>\n<l:template name=\"seealso\" text=\"Bona Kwakhona %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"Ababhali: \"/>\n<l:template name=\"MsgLevel\" text=\"Umphakamo: \"/>\n<l:template name=\"MsgOrig\" text=\"Uqobo: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\" lang=\"en\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \" lang=\"en\"/>\n<l:template name=\"suffix\" text=\"]\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"January\" lang=\"en\"/>\n<l:template name=\"February\" text=\"February\" lang=\"en\"/>\n<l:template name=\"March\" text=\"March\" lang=\"en\"/>\n<l:template name=\"April\" text=\"April\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"June\" text=\"June\" lang=\"en\"/>\n<l:template name=\"July\" text=\"July\" lang=\"en\"/>\n<l:template name=\"August\" text=\"August\" lang=\"en\"/>\n<l:template name=\"September\" text=\"September\" lang=\"en\"/>\n<l:template name=\"October\" text=\"October\" lang=\"en\"/>\n<l:template name=\"November\" text=\"November\" lang=\"en\"/>\n<l:template name=\"December\" text=\"December\" lang=\"en\"/>\n<l:template name=\"Monday\" text=\"Monday\" lang=\"en\"/>\n<l:template name=\"Tuesday\" text=\"Tuesday\" lang=\"en\"/>\n<l:template name=\"Wednesday\" text=\"Wednesday\" lang=\"en\"/>\n<l:template name=\"Thursday\" text=\"Thursday\" lang=\"en\"/>\n<l:template name=\"Friday\" text=\"Friday\" lang=\"en\"/>\n<l:template name=\"Saturday\" text=\"Saturday\" lang=\"en\"/>\n<l:template name=\"Sunday\" text=\"Sunday\" lang=\"en\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"Jan\" lang=\"en\"/>\n<l:template name=\"Feb\" text=\"Feb\" lang=\"en\"/>\n<l:template name=\"Mar\" text=\"Mar\" lang=\"en\"/>\n<l:template name=\"Apr\" text=\"Apr\" lang=\"en\"/>\n<l:template name=\"May\" text=\"May\" lang=\"en\"/>\n<l:template name=\"Jun\" text=\"Jun\" lang=\"en\"/>\n<l:template name=\"Jul\" text=\"Jul\" lang=\"en\"/>\n<l:template name=\"Aug\" text=\"Aug\" lang=\"en\"/>\n<l:template name=\"Sep\" text=\"Sep\" lang=\"en\"/>\n<l:template name=\"Oct\" text=\"Oct\" lang=\"en\"/>\n<l:template name=\"Nov\" text=\"Nov\" lang=\"en\"/>\n<l:template name=\"Dec\" text=\"Dec\" lang=\"en\"/>\n<l:template name=\"Mon\" text=\"Mon\" lang=\"en\"/>\n<l:template name=\"Tue\" text=\"Tue\" lang=\"en\"/>\n<l:template name=\"Wed\" text=\"Wed\" lang=\"en\"/>\n<l:template name=\"Thu\" text=\"Thu\" lang=\"en\"/>\n<l:template name=\"Fri\" text=\"Fri\" lang=\"en\"/>\n<l:template name=\"Sat\" text=\"Sat\" lang=\"en\"/>\n<l:template name=\"Sun\" text=\"Sun\" lang=\"en\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0434 Xhosa\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"number-separator\" text=\", \" lang=\"en\"/>\n<l:template name=\"range-separator\" text=\"-\" lang=\"en\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \" lang=\"en\"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\" lang=\"en\"/>\n<l:template name=\"primary.many\" text=\", et al.\" lang=\"en\"/>\n<l:template name=\"primary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"submaintitle.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"title.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"othertitle.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"medium1\" text=\" [\" lang=\"en\"/>\n<l:template name=\"medium2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \" lang=\"en\"/>\n<l:template name=\"secondary.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"respons.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"edition.serial.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.range\" text=\"-\" lang=\"en\"/>\n<l:template name=\"issuing.div\" text=\", \" lang=\"en\"/>\n<l:template name=\"issuing.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"partnr.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"placepubl.sep\" text=\": \" lang=\"en\"/>\n<l:template name=\"publyear.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"pubinfo.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"upd.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"datecit1\" text=\" [cited \" lang=\"en\"/>\n<l:template name=\"datecit2\" text=\"]\" lang=\"en\"/>\n<l:template name=\"extent.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"locs.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"location.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"serie.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"notice.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"access\" text=\"Available \" lang=\"en\"/>\n<l:template name=\"acctoo\" text=\"Also available \" lang=\"en\"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\" lang=\"en\"/>\n<l:template name=\"oninet\" text=\"from Internet\" lang=\"en\"/>\n<l:template name=\"access.end\" text=\": \" lang=\"en\"/>\n<l:template name=\"link1\" text=\"&lt;\" lang=\"en\"/>\n<l:template name=\"link2\" text=\"&gt;\" lang=\"en\"/>\n<l:template name=\"access.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"isbn\" text=\"ISBN \" lang=\"en\"/>\n<l:template name=\"issn\" text=\"ISSN \" lang=\"en\"/>\n<l:template name=\"stdnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patcountry.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"pattype.sep\" text=\", \" lang=\"en\"/>\n<l:template name=\"patnum.sep\" text=\". \" lang=\"en\"/>\n<l:template name=\"patdate.sep\" text=\". \" lang=\"en\"/>\n</l:context><l:letters lang=\"en\"><l:l i=\"-1\"/>\n<l:l i=\"0\">Symbols</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"10\">À</l:l>\n<l:l i=\"10\">à</l:l>\n<l:l i=\"10\">Á</l:l>\n<l:l i=\"10\">á</l:l>\n<l:l i=\"10\">Â</l:l>\n<l:l i=\"10\">â</l:l>\n<l:l i=\"10\">Ã</l:l>\n<l:l i=\"10\">ã</l:l>\n<l:l i=\"10\">Ä</l:l>\n<l:l i=\"10\">ä</l:l>\n<l:l i=\"10\">Å</l:l>\n<l:l i=\"10\">å</l:l>\n<l:l i=\"10\">Ā</l:l>\n<l:l i=\"10\">ā</l:l>\n<l:l i=\"10\">Ă</l:l>\n<l:l i=\"10\">ă</l:l>\n<l:l i=\"10\">Ą</l:l>\n<l:l i=\"10\">ą</l:l>\n<l:l i=\"10\">Ǎ</l:l>\n<l:l i=\"10\">ǎ</l:l>\n<l:l i=\"10\">Ǟ</l:l>\n<l:l i=\"10\">ǟ</l:l>\n<l:l i=\"10\">Ǡ</l:l>\n<l:l i=\"10\">ǡ</l:l>\n<l:l i=\"10\">Ǻ</l:l>\n<l:l i=\"10\">ǻ</l:l>\n<l:l i=\"10\">Ȁ</l:l>\n<l:l i=\"10\">ȁ</l:l>\n<l:l i=\"10\">Ȃ</l:l>\n<l:l i=\"10\">ȃ</l:l>\n<l:l i=\"10\">Ȧ</l:l>\n<l:l i=\"10\">ȧ</l:l>\n<l:l i=\"10\">Ḁ</l:l>\n<l:l i=\"10\">ḁ</l:l>\n<l:l i=\"10\">ẚ</l:l>\n<l:l i=\"10\">Ạ</l:l>\n<l:l i=\"10\">ạ</l:l>\n<l:l i=\"10\">Ả</l:l>\n<l:l i=\"10\">ả</l:l>\n<l:l i=\"10\">Ấ</l:l>\n<l:l i=\"10\">ấ</l:l>\n<l:l i=\"10\">Ầ</l:l>\n<l:l i=\"10\">ầ</l:l>\n<l:l i=\"10\">Ẩ</l:l>\n<l:l i=\"10\">ẩ</l:l>\n<l:l i=\"10\">Ẫ</l:l>\n<l:l i=\"10\">ẫ</l:l>\n<l:l i=\"10\">Ậ</l:l>\n<l:l i=\"10\">ậ</l:l>\n<l:l i=\"10\">Ắ</l:l>\n<l:l i=\"10\">ắ</l:l>\n<l:l i=\"10\">Ằ</l:l>\n<l:l i=\"10\">ằ</l:l>\n<l:l i=\"10\">Ẳ</l:l>\n<l:l i=\"10\">ẳ</l:l>\n<l:l i=\"10\">Ẵ</l:l>\n<l:l i=\"10\">ẵ</l:l>\n<l:l i=\"10\">Ặ</l:l>\n<l:l i=\"10\">ặ</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"20\">ƀ</l:l>\n<l:l i=\"20\">Ɓ</l:l>\n<l:l i=\"20\">ɓ</l:l>\n<l:l i=\"20\">Ƃ</l:l>\n<l:l i=\"20\">ƃ</l:l>\n<l:l i=\"20\">Ḃ</l:l>\n<l:l i=\"20\">ḃ</l:l>\n<l:l i=\"20\">Ḅ</l:l>\n<l:l i=\"20\">ḅ</l:l>\n<l:l i=\"20\">Ḇ</l:l>\n<l:l i=\"20\">ḇ</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"30\">Ç</l:l>\n<l:l i=\"30\">ç</l:l>\n<l:l i=\"30\">Ć</l:l>\n<l:l i=\"30\">ć</l:l>\n<l:l i=\"30\">Ĉ</l:l>\n<l:l i=\"30\">ĉ</l:l>\n<l:l i=\"30\">Ċ</l:l>\n<l:l i=\"30\">ċ</l:l>\n<l:l i=\"30\">Č</l:l>\n<l:l i=\"30\">č</l:l>\n<l:l i=\"30\">Ƈ</l:l>\n<l:l i=\"30\">ƈ</l:l>\n<l:l i=\"30\">ɕ</l:l>\n<l:l i=\"30\">Ḉ</l:l>\n<l:l i=\"30\">ḉ</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"40\">Ď</l:l>\n<l:l i=\"40\">ď</l:l>\n<l:l i=\"40\">Đ</l:l>\n<l:l i=\"40\">đ</l:l>\n<l:l i=\"40\">Ɗ</l:l>\n<l:l i=\"40\">ɗ</l:l>\n<l:l i=\"40\">Ƌ</l:l>\n<l:l i=\"40\">ƌ</l:l>\n<l:l i=\"40\">ǅ</l:l>\n<l:l i=\"40\">ǲ</l:l>\n<l:l i=\"40\">ȡ</l:l>\n<l:l i=\"40\">ɖ</l:l>\n<l:l i=\"40\">Ḋ</l:l>\n<l:l i=\"40\">ḋ</l:l>\n<l:l i=\"40\">Ḍ</l:l>\n<l:l i=\"40\">ḍ</l:l>\n<l:l i=\"40\">Ḏ</l:l>\n<l:l i=\"40\">ḏ</l:l>\n<l:l i=\"40\">Ḑ</l:l>\n<l:l i=\"40\">ḑ</l:l>\n<l:l i=\"40\">Ḓ</l:l>\n<l:l i=\"40\">ḓ</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"50\">È</l:l>\n<l:l i=\"50\">è</l:l>\n<l:l i=\"50\">É</l:l>\n<l:l i=\"50\">é</l:l>\n<l:l i=\"50\">Ê</l:l>\n<l:l i=\"50\">ê</l:l>\n<l:l i=\"50\">Ë</l:l>\n<l:l i=\"50\">ë</l:l>\n<l:l i=\"50\">Ē</l:l>\n<l:l i=\"50\">ē</l:l>\n<l:l i=\"50\">Ĕ</l:l>\n<l:l i=\"50\">ĕ</l:l>\n<l:l i=\"50\">Ė</l:l>\n<l:l i=\"50\">ė</l:l>\n<l:l i=\"50\">Ę</l:l>\n<l:l i=\"50\">ę</l:l>\n<l:l i=\"50\">Ě</l:l>\n<l:l i=\"50\">ě</l:l>\n<l:l i=\"50\">Ȅ</l:l>\n<l:l i=\"50\">ȅ</l:l>\n<l:l i=\"50\">Ȇ</l:l>\n<l:l i=\"50\">ȇ</l:l>\n<l:l i=\"50\">Ȩ</l:l>\n<l:l i=\"50\">ȩ</l:l>\n<l:l i=\"50\">Ḕ</l:l>\n<l:l i=\"50\">ḕ</l:l>\n<l:l i=\"50\">Ḗ</l:l>\n<l:l i=\"50\">ḗ</l:l>\n<l:l i=\"50\">Ḙ</l:l>\n<l:l i=\"50\">ḙ</l:l>\n<l:l i=\"50\">Ḛ</l:l>\n<l:l i=\"50\">ḛ</l:l>\n<l:l i=\"50\">Ḝ</l:l>\n<l:l i=\"50\">ḝ</l:l>\n<l:l i=\"50\">Ẹ</l:l>\n<l:l i=\"50\">ẹ</l:l>\n<l:l i=\"50\">Ẻ</l:l>\n<l:l i=\"50\">ẻ</l:l>\n<l:l i=\"50\">Ẽ</l:l>\n<l:l i=\"50\">ẽ</l:l>\n<l:l i=\"50\">Ế</l:l>\n<l:l i=\"50\">ế</l:l>\n<l:l i=\"50\">Ề</l:l>\n<l:l i=\"50\">ề</l:l>\n<l:l i=\"50\">Ể</l:l>\n<l:l i=\"50\">ể</l:l>\n<l:l i=\"50\">Ễ</l:l>\n<l:l i=\"50\">ễ</l:l>\n<l:l i=\"50\">Ệ</l:l>\n<l:l i=\"50\">ệ</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"60\">Ƒ</l:l>\n<l:l i=\"60\">ƒ</l:l>\n<l:l i=\"60\">Ḟ</l:l>\n<l:l i=\"60\">ḟ</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"70\">Ĝ</l:l>\n<l:l i=\"70\">ĝ</l:l>\n<l:l i=\"70\">Ğ</l:l>\n<l:l i=\"70\">ğ</l:l>\n<l:l i=\"70\">Ġ</l:l>\n<l:l i=\"70\">ġ</l:l>\n<l:l i=\"70\">Ģ</l:l>\n<l:l i=\"70\">ģ</l:l>\n<l:l i=\"70\">Ɠ</l:l>\n<l:l i=\"70\">ɠ</l:l>\n<l:l i=\"70\">Ǥ</l:l>\n<l:l i=\"70\">ǥ</l:l>\n<l:l i=\"70\">Ǧ</l:l>\n<l:l i=\"70\">ǧ</l:l>\n<l:l i=\"70\">Ǵ</l:l>\n<l:l i=\"70\">ǵ</l:l>\n<l:l i=\"70\">Ḡ</l:l>\n<l:l i=\"70\">ḡ</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"80\">Ĥ</l:l>\n<l:l i=\"80\">ĥ</l:l>\n<l:l i=\"80\">Ħ</l:l>\n<l:l i=\"80\">ħ</l:l>\n<l:l i=\"80\">Ȟ</l:l>\n<l:l i=\"80\">ȟ</l:l>\n<l:l i=\"80\">ɦ</l:l>\n<l:l i=\"80\">Ḣ</l:l>\n<l:l i=\"80\">ḣ</l:l>\n<l:l i=\"80\">Ḥ</l:l>\n<l:l i=\"80\">ḥ</l:l>\n<l:l i=\"80\">Ḧ</l:l>\n<l:l i=\"80\">ḧ</l:l>\n<l:l i=\"80\">Ḩ</l:l>\n<l:l i=\"80\">ḩ</l:l>\n<l:l i=\"80\">Ḫ</l:l>\n<l:l i=\"80\">ḫ</l:l>\n<l:l i=\"80\">ẖ</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"90\">Ì</l:l>\n<l:l i=\"90\">ì</l:l>\n<l:l i=\"90\">Í</l:l>\n<l:l i=\"90\">í</l:l>\n<l:l i=\"90\">Î</l:l>\n<l:l i=\"90\">î</l:l>\n<l:l i=\"90\">Ï</l:l>\n<l:l i=\"90\">ï</l:l>\n<l:l i=\"90\">Ĩ</l:l>\n<l:l i=\"90\">ĩ</l:l>\n<l:l i=\"90\">Ī</l:l>\n<l:l i=\"90\">ī</l:l>\n<l:l i=\"90\">Ĭ</l:l>\n<l:l i=\"90\">ĭ</l:l>\n<l:l i=\"90\">Į</l:l>\n<l:l i=\"90\">į</l:l>\n<l:l i=\"90\">İ</l:l>\n<l:l i=\"90\">Ɨ</l:l>\n<l:l i=\"90\">ɨ</l:l>\n<l:l i=\"90\">Ǐ</l:l>\n<l:l i=\"90\">ǐ</l:l>\n<l:l i=\"90\">Ȉ</l:l>\n<l:l i=\"90\">ȉ</l:l>\n<l:l i=\"90\">Ȋ</l:l>\n<l:l i=\"90\">ȋ</l:l>\n<l:l i=\"90\">Ḭ</l:l>\n<l:l i=\"90\">ḭ</l:l>\n<l:l i=\"90\">Ḯ</l:l>\n<l:l i=\"90\">ḯ</l:l>\n<l:l i=\"90\">Ỉ</l:l>\n<l:l i=\"90\">ỉ</l:l>\n<l:l i=\"90\">Ị</l:l>\n<l:l i=\"90\">ị</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"100\">Ĵ</l:l>\n<l:l i=\"100\">ĵ</l:l>\n<l:l i=\"100\">ǰ</l:l>\n<l:l i=\"100\">ʝ</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"110\">Ķ</l:l>\n<l:l i=\"110\">ķ</l:l>\n<l:l i=\"110\">Ƙ</l:l>\n<l:l i=\"110\">ƙ</l:l>\n<l:l i=\"110\">Ǩ</l:l>\n<l:l i=\"110\">ǩ</l:l>\n<l:l i=\"110\">Ḱ</l:l>\n<l:l i=\"110\">ḱ</l:l>\n<l:l i=\"110\">Ḳ</l:l>\n<l:l i=\"110\">ḳ</l:l>\n<l:l i=\"110\">Ḵ</l:l>\n<l:l i=\"110\">ḵ</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"120\">Ĺ</l:l>\n<l:l i=\"120\">ĺ</l:l>\n<l:l i=\"120\">Ļ</l:l>\n<l:l i=\"120\">ļ</l:l>\n<l:l i=\"120\">Ľ</l:l>\n<l:l i=\"120\">ľ</l:l>\n<l:l i=\"120\">Ŀ</l:l>\n<l:l i=\"120\">ŀ</l:l>\n<l:l i=\"120\">Ł</l:l>\n<l:l i=\"120\">ł</l:l>\n<l:l i=\"120\">ƚ</l:l>\n<l:l i=\"120\">ǈ</l:l>\n<l:l i=\"120\">ȴ</l:l>\n<l:l i=\"120\">ɫ</l:l>\n<l:l i=\"120\">ɬ</l:l>\n<l:l i=\"120\">ɭ</l:l>\n<l:l i=\"120\">Ḷ</l:l>\n<l:l i=\"120\">ḷ</l:l>\n<l:l i=\"120\">Ḹ</l:l>\n<l:l i=\"120\">ḹ</l:l>\n<l:l i=\"120\">Ḻ</l:l>\n<l:l i=\"120\">ḻ</l:l>\n<l:l i=\"120\">Ḽ</l:l>\n<l:l i=\"120\">ḽ</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"130\">ɱ</l:l>\n<l:l i=\"130\">Ḿ</l:l>\n<l:l i=\"130\">ḿ</l:l>\n<l:l i=\"130\">Ṁ</l:l>\n<l:l i=\"130\">ṁ</l:l>\n<l:l i=\"130\">Ṃ</l:l>\n<l:l i=\"130\">ṃ</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"140\">Ñ</l:l>\n<l:l i=\"140\">ñ</l:l>\n<l:l i=\"140\">Ń</l:l>\n<l:l i=\"140\">ń</l:l>\n<l:l i=\"140\">Ņ</l:l>\n<l:l i=\"140\">ņ</l:l>\n<l:l i=\"140\">Ň</l:l>\n<l:l i=\"140\">ň</l:l>\n<l:l i=\"140\">Ɲ</l:l>\n<l:l i=\"140\">ɲ</l:l>\n<l:l i=\"140\">ƞ</l:l>\n<l:l i=\"140\">Ƞ</l:l>\n<l:l i=\"140\">ǋ</l:l>\n<l:l i=\"140\">Ǹ</l:l>\n<l:l i=\"140\">ǹ</l:l>\n<l:l i=\"140\">ȵ</l:l>\n<l:l i=\"140\">ɳ</l:l>\n<l:l i=\"140\">Ṅ</l:l>\n<l:l i=\"140\">ṅ</l:l>\n<l:l i=\"140\">Ṇ</l:l>\n<l:l i=\"140\">ṇ</l:l>\n<l:l i=\"140\">Ṉ</l:l>\n<l:l i=\"140\">ṉ</l:l>\n<l:l i=\"140\">Ṋ</l:l>\n<l:l i=\"140\">ṋ</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"150\">Ò</l:l>\n<l:l i=\"150\">ò</l:l>\n<l:l i=\"150\">Ó</l:l>\n<l:l i=\"150\">ó</l:l>\n<l:l i=\"150\">Ô</l:l>\n<l:l i=\"150\">ô</l:l>\n<l:l i=\"150\">Õ</l:l>\n<l:l i=\"150\">õ</l:l>\n<l:l i=\"150\">Ö</l:l>\n<l:l i=\"150\">ö</l:l>\n<l:l i=\"150\">Ø</l:l>\n<l:l i=\"150\">ø</l:l>\n<l:l i=\"150\">Ō</l:l>\n<l:l i=\"150\">ō</l:l>\n<l:l i=\"150\">Ŏ</l:l>\n<l:l i=\"150\">ŏ</l:l>\n<l:l i=\"150\">Ő</l:l>\n<l:l i=\"150\">ő</l:l>\n<l:l i=\"150\">Ɵ</l:l>\n<l:l i=\"150\">Ơ</l:l>\n<l:l i=\"150\">ơ</l:l>\n<l:l i=\"150\">Ǒ</l:l>\n<l:l i=\"150\">ǒ</l:l>\n<l:l i=\"150\">Ǫ</l:l>\n<l:l i=\"150\">ǫ</l:l>\n<l:l i=\"150\">Ǭ</l:l>\n<l:l i=\"150\">ǭ</l:l>\n<l:l i=\"150\">Ǿ</l:l>\n<l:l i=\"150\">ǿ</l:l>\n<l:l i=\"150\">Ȍ</l:l>\n<l:l i=\"150\">ȍ</l:l>\n<l:l i=\"150\">Ȏ</l:l>\n<l:l i=\"150\">ȏ</l:l>\n<l:l i=\"150\">Ȫ</l:l>\n<l:l i=\"150\">ȫ</l:l>\n<l:l i=\"150\">Ȭ</l:l>\n<l:l i=\"150\">ȭ</l:l>\n<l:l i=\"150\">Ȯ</l:l>\n<l:l i=\"150\">ȯ</l:l>\n<l:l i=\"150\">Ȱ</l:l>\n<l:l i=\"150\">ȱ</l:l>\n<l:l i=\"150\">Ṍ</l:l>\n<l:l i=\"150\">ṍ</l:l>\n<l:l i=\"150\">Ṏ</l:l>\n<l:l i=\"150\">ṏ</l:l>\n<l:l i=\"150\">Ṑ</l:l>\n<l:l i=\"150\">ṑ</l:l>\n<l:l i=\"150\">Ṓ</l:l>\n<l:l i=\"150\">ṓ</l:l>\n<l:l i=\"150\">Ọ</l:l>\n<l:l i=\"150\">ọ</l:l>\n<l:l i=\"150\">Ỏ</l:l>\n<l:l i=\"150\">ỏ</l:l>\n<l:l i=\"150\">Ố</l:l>\n<l:l i=\"150\">ố</l:l>\n<l:l i=\"150\">Ồ</l:l>\n<l:l i=\"150\">ồ</l:l>\n<l:l i=\"150\">Ổ</l:l>\n<l:l i=\"150\">ổ</l:l>\n<l:l i=\"150\">Ỗ</l:l>\n<l:l i=\"150\">ỗ</l:l>\n<l:l i=\"150\">Ộ</l:l>\n<l:l i=\"150\">ộ</l:l>\n<l:l i=\"150\">Ớ</l:l>\n<l:l i=\"150\">ớ</l:l>\n<l:l i=\"150\">Ờ</l:l>\n<l:l i=\"150\">ờ</l:l>\n<l:l i=\"150\">Ở</l:l>\n<l:l i=\"150\">ở</l:l>\n<l:l i=\"150\">Ỡ</l:l>\n<l:l i=\"150\">ỡ</l:l>\n<l:l i=\"150\">Ợ</l:l>\n<l:l i=\"150\">ợ</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"160\">Ƥ</l:l>\n<l:l i=\"160\">ƥ</l:l>\n<l:l i=\"160\">Ṕ</l:l>\n<l:l i=\"160\">ṕ</l:l>\n<l:l i=\"160\">Ṗ</l:l>\n<l:l i=\"160\">ṗ</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"170\">ʠ</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"180\">Ŕ</l:l>\n<l:l i=\"180\">ŕ</l:l>\n<l:l i=\"180\">Ŗ</l:l>\n<l:l i=\"180\">ŗ</l:l>\n<l:l i=\"180\">Ř</l:l>\n<l:l i=\"180\">ř</l:l>\n<l:l i=\"180\">Ȑ</l:l>\n<l:l i=\"180\">ȑ</l:l>\n<l:l i=\"180\">Ȓ</l:l>\n<l:l i=\"180\">ȓ</l:l>\n<l:l i=\"180\">ɼ</l:l>\n<l:l i=\"180\">ɽ</l:l>\n<l:l i=\"180\">ɾ</l:l>\n<l:l i=\"180\">Ṙ</l:l>\n<l:l i=\"180\">ṙ</l:l>\n<l:l i=\"180\">Ṛ</l:l>\n<l:l i=\"180\">ṛ</l:l>\n<l:l i=\"180\">Ṝ</l:l>\n<l:l i=\"180\">ṝ</l:l>\n<l:l i=\"180\">Ṟ</l:l>\n<l:l i=\"180\">ṟ</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"190\">Ś</l:l>\n<l:l i=\"190\">ś</l:l>\n<l:l i=\"190\">Ŝ</l:l>\n<l:l i=\"190\">ŝ</l:l>\n<l:l i=\"190\">Ş</l:l>\n<l:l i=\"190\">ş</l:l>\n<l:l i=\"190\">Š</l:l>\n<l:l i=\"190\">š</l:l>\n<l:l i=\"190\">Ș</l:l>\n<l:l i=\"190\">ș</l:l>\n<l:l i=\"190\">ʂ</l:l>\n<l:l i=\"190\">Ṡ</l:l>\n<l:l i=\"190\">ṡ</l:l>\n<l:l i=\"190\">Ṣ</l:l>\n<l:l i=\"190\">ṣ</l:l>\n<l:l i=\"190\">Ṥ</l:l>\n<l:l i=\"190\">ṥ</l:l>\n<l:l i=\"190\">Ṧ</l:l>\n<l:l i=\"190\">ṧ</l:l>\n<l:l i=\"190\">Ṩ</l:l>\n<l:l i=\"190\">ṩ</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"200\">Ţ</l:l>\n<l:l i=\"200\">ţ</l:l>\n<l:l i=\"200\">Ť</l:l>\n<l:l i=\"200\">ť</l:l>\n<l:l i=\"200\">Ŧ</l:l>\n<l:l i=\"200\">ŧ</l:l>\n<l:l i=\"200\">ƫ</l:l>\n<l:l i=\"200\">Ƭ</l:l>\n<l:l i=\"200\">ƭ</l:l>\n<l:l i=\"200\">Ʈ</l:l>\n<l:l i=\"200\">ʈ</l:l>\n<l:l i=\"200\">Ț</l:l>\n<l:l i=\"200\">ț</l:l>\n<l:l i=\"200\">ȶ</l:l>\n<l:l i=\"200\">Ṫ</l:l>\n<l:l i=\"200\">ṫ</l:l>\n<l:l i=\"200\">Ṭ</l:l>\n<l:l i=\"200\">ṭ</l:l>\n<l:l i=\"200\">Ṯ</l:l>\n<l:l i=\"200\">ṯ</l:l>\n<l:l i=\"200\">Ṱ</l:l>\n<l:l i=\"200\">ṱ</l:l>\n<l:l i=\"200\">ẗ</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"210\">Ù</l:l>\n<l:l i=\"210\">ù</l:l>\n<l:l i=\"210\">Ú</l:l>\n<l:l i=\"210\">ú</l:l>\n<l:l i=\"210\">Û</l:l>\n<l:l i=\"210\">û</l:l>\n<l:l i=\"210\">Ü</l:l>\n<l:l i=\"210\">ü</l:l>\n<l:l i=\"210\">Ũ</l:l>\n<l:l i=\"210\">ũ</l:l>\n<l:l i=\"210\">Ū</l:l>\n<l:l i=\"210\">ū</l:l>\n<l:l i=\"210\">Ŭ</l:l>\n<l:l i=\"210\">ŭ</l:l>\n<l:l i=\"210\">Ů</l:l>\n<l:l i=\"210\">ů</l:l>\n<l:l i=\"210\">Ű</l:l>\n<l:l i=\"210\">ű</l:l>\n<l:l i=\"210\">Ų</l:l>\n<l:l i=\"210\">ų</l:l>\n<l:l i=\"210\">Ư</l:l>\n<l:l i=\"210\">ư</l:l>\n<l:l i=\"210\">Ǔ</l:l>\n<l:l i=\"210\">ǔ</l:l>\n<l:l i=\"210\">Ǖ</l:l>\n<l:l i=\"210\">ǖ</l:l>\n<l:l i=\"210\">Ǘ</l:l>\n<l:l i=\"210\">ǘ</l:l>\n<l:l i=\"210\">Ǚ</l:l>\n<l:l i=\"210\">ǚ</l:l>\n<l:l i=\"210\">Ǜ</l:l>\n<l:l i=\"210\">ǜ</l:l>\n<l:l i=\"210\">Ȕ</l:l>\n<l:l i=\"210\">ȕ</l:l>\n<l:l i=\"210\">Ȗ</l:l>\n<l:l i=\"210\">ȗ</l:l>\n<l:l i=\"210\">Ṳ</l:l>\n<l:l i=\"210\">ṳ</l:l>\n<l:l i=\"210\">Ṵ</l:l>\n<l:l i=\"210\">ṵ</l:l>\n<l:l i=\"210\">Ṷ</l:l>\n<l:l i=\"210\">ṷ</l:l>\n<l:l i=\"210\">Ṹ</l:l>\n<l:l i=\"210\">ṹ</l:l>\n<l:l i=\"210\">Ṻ</l:l>\n<l:l i=\"210\">ṻ</l:l>\n<l:l i=\"210\">Ụ</l:l>\n<l:l i=\"210\">ụ</l:l>\n<l:l i=\"210\">Ủ</l:l>\n<l:l i=\"210\">ủ</l:l>\n<l:l i=\"210\">Ứ</l:l>\n<l:l i=\"210\">ứ</l:l>\n<l:l i=\"210\">Ừ</l:l>\n<l:l i=\"210\">ừ</l:l>\n<l:l i=\"210\">Ử</l:l>\n<l:l i=\"210\">ử</l:l>\n<l:l i=\"210\">Ữ</l:l>\n<l:l i=\"210\">ữ</l:l>\n<l:l i=\"210\">Ự</l:l>\n<l:l i=\"210\">ự</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"220\">Ʋ</l:l>\n<l:l i=\"220\">ʋ</l:l>\n<l:l i=\"220\">Ṽ</l:l>\n<l:l i=\"220\">ṽ</l:l>\n<l:l i=\"220\">Ṿ</l:l>\n<l:l i=\"220\">ṿ</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"230\">Ŵ</l:l>\n<l:l i=\"230\">ŵ</l:l>\n<l:l i=\"230\">Ẁ</l:l>\n<l:l i=\"230\">ẁ</l:l>\n<l:l i=\"230\">Ẃ</l:l>\n<l:l i=\"230\">ẃ</l:l>\n<l:l i=\"230\">Ẅ</l:l>\n<l:l i=\"230\">ẅ</l:l>\n<l:l i=\"230\">Ẇ</l:l>\n<l:l i=\"230\">ẇ</l:l>\n<l:l i=\"230\">Ẉ</l:l>\n<l:l i=\"230\">ẉ</l:l>\n<l:l i=\"230\">ẘ</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"240\">Ẋ</l:l>\n<l:l i=\"240\">ẋ</l:l>\n<l:l i=\"240\">Ẍ</l:l>\n<l:l i=\"240\">ẍ</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"250\">Ý</l:l>\n<l:l i=\"250\">ý</l:l>\n<l:l i=\"250\">ÿ</l:l>\n<l:l i=\"250\">Ÿ</l:l>\n<l:l i=\"250\">Ŷ</l:l>\n<l:l i=\"250\">ŷ</l:l>\n<l:l i=\"250\">Ƴ</l:l>\n<l:l i=\"250\">ƴ</l:l>\n<l:l i=\"250\">Ȳ</l:l>\n<l:l i=\"250\">ȳ</l:l>\n<l:l i=\"250\">Ẏ</l:l>\n<l:l i=\"250\">ẏ</l:l>\n<l:l i=\"250\">ẙ</l:l>\n<l:l i=\"250\">Ỳ</l:l>\n<l:l i=\"250\">ỳ</l:l>\n<l:l i=\"250\">Ỵ</l:l>\n<l:l i=\"250\">ỵ</l:l>\n<l:l i=\"250\">Ỷ</l:l>\n<l:l i=\"250\">ỷ</l:l>\n<l:l i=\"250\">Ỹ</l:l>\n<l:l i=\"250\">ỹ</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n<l:l i=\"260\">Ź</l:l>\n<l:l i=\"260\">ź</l:l>\n<l:l i=\"260\">Ż</l:l>\n<l:l i=\"260\">ż</l:l>\n<l:l i=\"260\">Ž</l:l>\n<l:l i=\"260\">ž</l:l>\n<l:l i=\"260\">Ƶ</l:l>\n<l:l i=\"260\">ƶ</l:l>\n<l:l i=\"260\">Ȥ</l:l>\n<l:l i=\"260\">ȥ</l:l>\n<l:l i=\"260\">ʐ</l:l>\n<l:l i=\"260\">ʑ</l:l>\n<l:l i=\"260\">Ẑ</l:l>\n<l:l i=\"260\">ẑ</l:l>\n<l:l i=\"260\">Ẓ</l:l>\n<l:l i=\"260\">ẓ</l:l>\n<l:l i=\"260\">Ẕ</l:l>\n<l:l i=\"260\">ẕ</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/zh.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"zh\" english-language-name=\"Chinese\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/zh.xml -->\n<!-- * -->\n<!-- * E-mail the edited zh.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"摘要\"/>\n<l:gentext key=\"abstract\" text=\"摘要\"/>\n<l:gentext key=\"Acknowledgements\" text=\"鸣谢\"/>\n<l:gentext key=\"acknowledgements\" text=\"鸣谢\"/>\n<l:gentext key=\"Answer\" text=\"答：\"/>\n<l:gentext key=\"answer\" text=\"答：\"/>\n<l:gentext key=\"Appendix\" text=\"附录\"/>\n<l:gentext key=\"appendix\" text=\"附录\"/>\n<l:gentext key=\"Article\" text=\"文章\"/>\n<l:gentext key=\"article\" text=\"文章\"/>\n<l:gentext key=\"Author\" text=\"作者\"/>\n<l:gentext key=\"Bibliography\" text=\"参考书目\"/>\n<l:gentext key=\"bibliography\" text=\"参考书目\"/>\n<l:gentext key=\"Book\" text=\"书\"/>\n<l:gentext key=\"book\" text=\"书\"/>\n<l:gentext key=\"CAUTION\" text=\"小心\"/>\n<l:gentext key=\"Caution\" text=\"小心\"/>\n<l:gentext key=\"caution\" text=\"小心\"/>\n<l:gentext key=\"Chapter\" text=\"章\"/>\n<l:gentext key=\"chapter\" text=\"章\"/>\n<l:gentext key=\"Colophon\" text=\"后记\"/>\n<l:gentext key=\"colophon\" text=\"后记\"/>\n<l:gentext key=\"Copyright\" text=\"版权\"/>\n<l:gentext key=\"copyright\" text=\"版权\"/>\n<l:gentext key=\"Dedication\" text=\"题词\"/>\n<l:gentext key=\"dedication\" text=\"题词\"/>\n<l:gentext key=\"Edition\" text=\"版\"/>\n<l:gentext key=\"edition\" text=\"版\"/>\n<l:gentext key=\"Editor\" text=\"编者\"/>\n<l:gentext key=\"Equation\" text=\"公式\"/>\n<l:gentext key=\"equation\" text=\"公式\"/>\n<l:gentext key=\"Example\" text=\"例\"/>\n<l:gentext key=\"example\" text=\"例\"/>\n<l:gentext key=\"Figure\" text=\"图\"/>\n<l:gentext key=\"figure\" text=\"图\"/>\n<l:gentext key=\"Glossary\" text=\"术语表\"/>\n<l:gentext key=\"glossary\" text=\"术语表\"/>\n<l:gentext key=\"GlossSee\" text=\"见\"/>\n<l:gentext key=\"glosssee\" text=\"见\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"参见\"/>\n<l:gentext key=\"glossseealso\" text=\"参见\"/>\n<l:gentext key=\"IMPORTANT\" text=\"重要\"/>\n<l:gentext key=\"important\" text=\"重要\"/>\n<l:gentext key=\"Important\" text=\"重要\"/>\n<l:gentext key=\"Index\" text=\"索引\"/>\n<l:gentext key=\"index\" text=\"索引\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"法律通告\"/>\n<l:gentext key=\"legalnotice\" text=\"法律通告\"/>\n<l:gentext key=\"MsgAud\" text=\"受众\"/>\n<l:gentext key=\"msgaud\" text=\"受众\"/>\n<l:gentext key=\"MsgLevel\" text=\"级别\"/>\n<l:gentext key=\"msglevel\" text=\"级别\"/>\n<l:gentext key=\"MsgOrig\" text=\"出处\"/>\n<l:gentext key=\"msgorig\" text=\"出处\"/>\n<l:gentext key=\"NOTE\" text=\"注意\"/>\n<l:gentext key=\"Note\" text=\"注意\"/>\n<l:gentext key=\"note\" text=\"注意\"/>\n<l:gentext key=\"Part\" text=\"部分\"/>\n<l:gentext key=\"part\" text=\"部分\"/>\n<l:gentext key=\"Preface\" text=\"前言\"/>\n<l:gentext key=\"preface\" text=\"前言\"/>\n<l:gentext key=\"Procedure\" text=\"过程\"/>\n<l:gentext key=\"procedure\" text=\"过程\"/>\n<l:gentext key=\"ProductionSet\" text=\"产品\"/>\n<l:gentext key=\"PubDate\" text=\"出版日期\"/>\n<l:gentext key=\"pubdate\" text=\"出版日期\"/>\n<l:gentext key=\"Published\" text=\"出版方\"/>\n<l:gentext key=\"published\" text=\"出版方\"/>\n<l:gentext key=\"Publisher\" text=\"出版者\"/>\n<l:gentext key=\"Qandadiv\" text=\"质保\"/>\n<l:gentext key=\"qandadiv\" text=\"质保\"/>\n<l:gentext key=\"QandASet\" text=\"常见问题\"/>\n<l:gentext key=\"Question\" text=\"问：\"/>\n<l:gentext key=\"question\" text=\"问：\"/>\n<l:gentext key=\"RefEntry\" text=\"\"/>\n<l:gentext key=\"refentry\" text=\"\"/>\n<l:gentext key=\"Reference\" text=\"参考\"/>\n<l:gentext key=\"reference\" text=\"参考\"/>\n<l:gentext key=\"References\" text=\"参考\"/>\n<l:gentext key=\"RefName\" text=\"名称\"/>\n<l:gentext key=\"refname\" text=\"名称\"/>\n<l:gentext key=\"RefSection\" text=\"\"/>\n<l:gentext key=\"refsection\" text=\"\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"大纲\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"大纲\"/>\n<l:gentext key=\"RevHistory\" text=\"修订历史\"/>\n<l:gentext key=\"revhistory\" text=\"修订历史\"/>\n<l:gentext key=\"revision\" text=\"修订\"/>\n<l:gentext key=\"Revision\" text=\"修订\"/>\n<l:gentext key=\"sect1\" text=\"节\"/>\n<l:gentext key=\"sect2\" text=\"节\"/>\n<l:gentext key=\"sect3\" text=\"节\"/>\n<l:gentext key=\"sect4\" text=\"节\"/>\n<l:gentext key=\"sect5\" text=\"节\"/>\n<l:gentext key=\"section\" text=\"节\"/>\n<l:gentext key=\"Section\" text=\"节\"/>\n<l:gentext key=\"see\" text=\"见\"/>\n<l:gentext key=\"See\" text=\"见\"/>\n<l:gentext key=\"seealso\" text=\"参见\"/>\n<l:gentext key=\"Seealso\" text=\"参见\"/>\n<l:gentext key=\"SeeAlso\" text=\"参见\"/>\n<l:gentext key=\"set\" text=\"Set\"/>\n<l:gentext key=\"Set\" text=\"Set\"/>\n<l:gentext key=\"setindex\" text=\"Set Index\"/>\n<l:gentext key=\"SetIndex\" text=\"Set Index\"/>\n<l:gentext key=\"Sidebar\" text=\"侧栏\"/>\n<l:gentext key=\"sidebar\" text=\"侧栏\"/>\n<l:gentext key=\"step\" text=\"步骤\"/>\n<l:gentext key=\"Step\" text=\"步骤\"/>\n<l:gentext key=\"table\" text=\"表\"/>\n<l:gentext key=\"Table\" text=\"表\"/>\n<l:gentext key=\"task\" text=\"任务\"/>\n<l:gentext key=\"Task\" text=\"任务\"/>\n<l:gentext key=\"tip\" text=\"提示\"/>\n<l:gentext key=\"TIP\" text=\"提示\"/>\n<l:gentext key=\"Tip\" text=\"提示\"/>\n<l:gentext key=\"Warning\" text=\"警告\"/>\n<l:gentext key=\"warning\" text=\"警告\"/>\n<l:gentext key=\"WARNING\" text=\"警告\"/>\n<l:gentext key=\"and\" text=\"和\"/>\n<l:gentext key=\"or\" text=\"或\"/>\n<l:gentext key=\"by\" text=\"由\"/>\n<l:gentext key=\"Edited\" text=\"编辑时间\"/>\n<l:gentext key=\"edited\" text=\"编辑时间\"/>\n<l:gentext key=\"Editedby\" text=\"编辑\"/>\n<l:gentext key=\"editedby\" text=\"编辑\"/>\n<l:gentext key=\"in\" text=\"于\"/>\n<l:gentext key=\"lastlistcomma\" text=\"\"/>\n<l:gentext key=\"listcomma\" text=\"、\"/>\n<l:gentext key=\"notes\" text=\"备注\"/>\n<l:gentext key=\"Notes\" text=\"备注\"/>\n<l:gentext key=\"Pgs\" text=\"页\"/>\n<l:gentext key=\"pgs\" text=\"页\"/>\n<l:gentext key=\"Revisedby\" text=\"修订者：\"/>\n<l:gentext key=\"revisedby\" text=\"修订者：\"/>\n<l:gentext key=\"TableNotes\" text=\"表注\"/>\n<l:gentext key=\"tablenotes\" text=\"表注\"/>\n<l:gentext key=\"TableofContents\" text=\"目录\"/>\n<l:gentext key=\"tableofcontents\" text=\"目录\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"未预期的名称\"/>\n<l:gentext key=\"unsupported\" text=\"不支持\"/>\n<l:gentext key=\"xrefto\" text=\"xref to\"/>\n<l:gentext key=\"Authors\" text=\"作者\"/>\n<l:gentext key=\"copyeditor\" text=\"版权编辑\"/>\n<l:gentext key=\"graphicdesigner\" text=\"美术编辑\"/>\n<l:gentext key=\"productioneditor\" text=\"产品编辑\"/>\n<l:gentext key=\"technicaleditor\" text=\"技术编辑\"/>\n<l:gentext key=\"translator\" text=\"译者\"/>\n<l:gentext key=\"listofequations\" text=\"公式清单\"/>\n<l:gentext key=\"ListofEquations\" text=\"公式清单\"/>\n<l:gentext key=\"ListofExamples\" text=\"范例清单\"/>\n<l:gentext key=\"listofexamples\" text=\"范例清单\"/>\n<l:gentext key=\"ListofFigures\" text=\"插图清单\"/>\n<l:gentext key=\"listoffigures\" text=\"插图清单\"/>\n<l:gentext key=\"ListofProcedures\" text=\"过程清单\"/>\n<l:gentext key=\"listofprocedures\" text=\"过程清单\"/>\n<l:gentext key=\"listoftables\" text=\"表格清单\"/>\n<l:gentext key=\"ListofTables\" text=\"表格清单\"/>\n<l:gentext key=\"ListofUnknown\" text=\"未知清单\"/>\n<l:gentext key=\"listofunknown\" text=\"未知清单\"/>\n<l:gentext key=\"nav-home\" text=\"起始页\"/>\n<l:gentext key=\"nav-next\" text=\"下一页\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"快进\"/>\n<l:gentext key=\"nav-prev\" text=\"上一页\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"快退\"/>\n<l:gentext key=\"nav-up\" text=\"上一级\"/>\n<l:gentext key=\"nav-toc\" text=\"目录\"/>\n<l:gentext key=\"Draft\" text=\"草稿\"/>\n<l:gentext key=\"above\" text=\"以上\"/>\n<l:gentext key=\"below\" text=\"以下\"/>\n<l:gentext key=\"sectioncalled\" text=\"一节\"/>\n<l:gentext key=\"index symbols\" text=\"符号\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"·\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"搜索\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"输入字词，然后点击 \"/>\n<l:template name=\"Go\" text=\"去\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\"/>\n<l:template name=\"txt_filesfound\" text=\"条结果\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"您必须输入至少一个字符。\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\"/>\n<l:template name=\"txt_please_wait\" text=\"请稍候。搜索中...\"/>\n<l:template name=\"txt_results_for\" text=\"结果： \"/>\n<l:template name=\"TableofContents\" text=\"Contents\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"附录 %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"第 %n 章 %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"公式 %n. %t\"/>\n<l:template name=\"example\" text=\"例 %n. %t\"/>\n<l:template name=\"figure\" text=\"图 %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"第 %n 部分 %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"过程 %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"产品 %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"表 %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"附录 %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"第 %n 章 %t\"/>\n<l:template name=\"part\" text=\"部分 %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"答： %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"问： %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"问： %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(第 %p 页)\"/>\n<l:template name=\"docname\" text=\" 在 %o\"/>\n<l:template name=\"docnamelong\" text=\" 在文档标题 %o\"/>\n<l:template name=\"pageabbrev\" text=\"(第 %p 页)\"/>\n<l:template name=\"Page\" text=\"第 %p 页\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"“%t”一节\"/>\n<l:template name=\"refsection\" text=\"“%t”一节\"/>\n<l:template name=\"refsect1\" text=\"“%t”一节\"/>\n<l:template name=\"refsect2\" text=\"“%t”一节\"/>\n<l:template name=\"refsect3\" text=\"“%t”一节\"/>\n<l:template name=\"sect1\" text=\"“%t”一节\"/>\n<l:template name=\"sect2\" text=\"“%t”一节\"/>\n<l:template name=\"sect3\" text=\"“%t”一节\"/>\n<l:template name=\"sect4\" text=\"“%t”一节\"/>\n<l:template name=\"sect5\" text=\"“%t”一节\"/>\n<l:template name=\"section\" text=\"“%t”一节\"/>\n<l:template name=\"simplesect\" text=\"“%t”一节\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"答： %n\"/>\n<l:template name=\"appendix\" text=\"附录 %n\"/>\n<l:template name=\"bridgehead\" text=\"第 %n 节\"/>\n<l:template name=\"chapter\" text=\"第 %n 章\"/>\n<l:template name=\"equation\" text=\"公式 %n\"/>\n<l:template name=\"example\" text=\"例 %n\"/>\n<l:template name=\"figure\" text=\"图 %n\"/>\n<l:template name=\"part\" text=\"第 %n 部分\"/>\n<l:template name=\"procedure\" text=\"过程 %n\"/>\n<l:template name=\"productionset\" text=\"产品 %n\"/>\n<l:template name=\"qandadiv\" text=\"质保 %n\"/>\n<l:template name=\"qandaentry\" text=\"问： %n\"/>\n<l:template name=\"question\" text=\"问： %n\"/>\n<l:template name=\"sect1\" text=\"第 %n 节\"/>\n<l:template name=\"sect2\" text=\"第 %n 节\"/>\n<l:template name=\"sect3\" text=\"第 %n 节\"/>\n<l:template name=\"sect4\" text=\"第 %n 节\"/>\n<l:template name=\"sect5\" text=\"第 %n 节\"/>\n<l:template name=\"section\" text=\"第 %n 节\"/>\n<l:template name=\"table\" text=\"表 %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"附录 %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"第 %n 节 “%t”\"/>\n<l:template name=\"chapter\" text=\"第 %n 章 %t\"/>\n<l:template name=\"equation\" text=\"公式 %n “%t”\"/>\n<l:template name=\"example\" text=\"例 %n “%t”\"/>\n<l:template name=\"figure\" text=\"图 %n “%t”\"/>\n<l:template name=\"part\" text=\"第 %n 部分 “%t”\"/>\n<l:template name=\"procedure\" text=\"过程 %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"产品 %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"质保 %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"“%t”一节\"/>\n<l:template name=\"refsect2\" text=\"“%t”一节\"/>\n<l:template name=\"refsect3\" text=\"“%t”一节\"/>\n<l:template name=\"refsection\" text=\"“%t”一节\"/>\n<l:template name=\"sect1\" text=\"第 %n 节 “%t”\"/>\n<l:template name=\"sect2\" text=\"第 %n 节 “%t”\"/>\n<l:template name=\"sect3\" text=\"第 %n 节 “%t”\"/>\n<l:template name=\"sect4\" text=\"第 %n 节 “%t”\"/>\n<l:template name=\"sect5\" text=\"第 %n 节 “%t”\"/>\n<l:template name=\"section\" text=\"第 %n 节 “%t”\"/>\n<l:template name=\"simplesect\" text=\"“%t”一节\"/>\n<l:template name=\"table\" text=\"表 %n “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\"、\"/>\n<l:template name=\"sep2\" text=\"和\"/>\n<l:template name=\"seplast\" text=\"和\"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"见%t.\"/>\n<l:template name=\"seealso\" text=\"参见%t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"受众：\"/>\n<l:template name=\"MsgLevel\" text=\"级别：\"/>\n<l:template name=\"MsgOrig\" text=\"出处：\"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"Y-m-d\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[定义：\"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"一月\"/>\n<l:template name=\"February\" text=\"二月\"/>\n<l:template name=\"March\" text=\"三月\"/>\n<l:template name=\"April\" text=\"四月\"/>\n<l:template name=\"May\" text=\"五月\"/>\n<l:template name=\"June\" text=\"六月\"/>\n<l:template name=\"July\" text=\"七月\"/>\n<l:template name=\"August\" text=\"八月\"/>\n<l:template name=\"September\" text=\"九月\"/>\n<l:template name=\"October\" text=\"十月\"/>\n<l:template name=\"November\" text=\"十一月\"/>\n<l:template name=\"December\" text=\"十二月\"/>\n<l:template name=\"Monday\" text=\"星期一\"/>\n<l:template name=\"Tuesday\" text=\"星期二\"/>\n<l:template name=\"Wednesday\" text=\"星期三\"/>\n<l:template name=\"Thursday\" text=\"星期四\"/>\n<l:template name=\"Friday\" text=\"星期五\"/>\n<l:template name=\"Saturday\" text=\"星期六\"/>\n<l:template name=\"Sunday\" text=\"星期日\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"一月\"/>\n<l:template name=\"Feb\" text=\"二月\"/>\n<l:template name=\"Mar\" text=\"三月\"/>\n<l:template name=\"Apr\" text=\"四月\"/>\n<l:template name=\"May\" text=\"五月\"/>\n<l:template name=\"Jun\" text=\"六月\"/>\n<l:template name=\"Jul\" text=\"七月\"/>\n<l:template name=\"Aug\" text=\"八月\"/>\n<l:template name=\"Sep\" text=\"九月\"/>\n<l:template name=\"Oct\" text=\"十月\"/>\n<l:template name=\"Nov\" text=\"十一月\"/>\n<l:template name=\"Dec\" text=\"十二月\"/>\n<l:template name=\"Mon\" text=\"周一\"/>\n<l:template name=\"Tue\" text=\"周二\"/>\n<l:template name=\"Wed\" text=\"周三\"/>\n<l:template name=\"Thu\" text=\"周四\"/>\n<l:template name=\"Fri\" text=\"周五\"/>\n<l:template name=\"Sat\" text=\"周六\"/>\n<l:template name=\"Sun\" text=\"周日\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0804 Chinese (CHINA)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\"，\"/>\n<l:template name=\"number-separator\" text=\"，\"/>\n<l:template name=\"range-separator\" text=\"－\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\"，\"/>\n<l:template name=\"alt.person.two.sep\" text=\" 和 \"/>\n<l:template name=\"alt.person.last.sep\" text=\" 和 \"/>\n<l:template name=\"alt.person.more.sep\" text=\"，\"/>\n<l:template name=\"primary.editor\" text=\"(主编)\"/>\n<l:template name=\"primary.many\" text=\"等。\"/>\n<l:template name=\"primary.sep\" text=\"。\"/>\n<l:template name=\"submaintitle.sep\" text=\"：\"/>\n<l:template name=\"title.sep\" text=\"。\"/>\n<l:template name=\"othertitle.sep\" text=\"，\"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"；\"/>\n<l:template name=\"secondary.sep\" text=\"。\"/>\n<l:template name=\"respons.sep\" text=\"。\"/>\n<l:template name=\"edition.sep\" text=\"。\"/>\n<l:template name=\"edition.serial.sep\" text=\"，\"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\"，\"/>\n<l:template name=\"issuing.sep\" text=\"。\"/>\n<l:template name=\"partnr.sep\" text=\"。\"/>\n<l:template name=\"placepubl.sep\" text=\"：\"/>\n<l:template name=\"publyear.sep\" text=\"，\"/>\n<l:template name=\"pubinfo.sep\" text=\"。\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\"，\"/>\n<l:template name=\"upd.sep\" text=\"，\"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\"。\"/>\n<l:template name=\"locs.sep\" text=\"，\"/>\n<l:template name=\"location.sep\" text=\"。\"/>\n<l:template name=\"serie.sep\" text=\"。\"/>\n<l:template name=\"notice.sep\" text=\"。\"/>\n<l:template name=\"access\" text=\"可用\"/>\n<l:template name=\"acctoo\" text=\"也可用\"/>\n<l:template name=\"onwww\" text=\"从万维网\"/>\n<l:template name=\"oninet\" text=\"从互联网\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\"。\"/>\n<l:template name=\"patcountry.sep\" text=\"。\"/>\n<l:template name=\"pattype.sep\" text=\"，\"/>\n<l:template name=\"patnum.sep\" text=\"。\"/>\n<l:template name=\"patdate.sep\" text=\"。\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">符号</l:l>\n<l:l i=\"1\">A</l:l>\n<l:l i=\"1\">a</l:l>\n<l:l i=\"2\">B</l:l>\n<l:l i=\"2\">b</l:l>\n<l:l i=\"3\">C</l:l>\n<l:l i=\"3\">c</l:l>\n<l:l i=\"4\">D</l:l>\n<l:l i=\"4\">d</l:l>\n<l:l i=\"5\">E</l:l>\n<l:l i=\"5\">e</l:l>\n<l:l i=\"6\">F</l:l>\n<l:l i=\"6\">f</l:l>\n<l:l i=\"7\">G</l:l>\n<l:l i=\"7\">g</l:l>\n<l:l i=\"8\">H</l:l>\n<l:l i=\"8\">h</l:l>\n<l:l i=\"9\">I</l:l>\n<l:l i=\"9\">i</l:l>\n<l:l i=\"10\">J</l:l>\n<l:l i=\"10\">j</l:l>\n<l:l i=\"11\">K</l:l>\n<l:l i=\"11\">k</l:l>\n<l:l i=\"12\">L</l:l>\n<l:l i=\"12\">l</l:l>\n<l:l i=\"13\">M</l:l>\n<l:l i=\"13\">m</l:l>\n<l:l i=\"14\">N</l:l>\n<l:l i=\"14\">n</l:l>\n<l:l i=\"15\">O</l:l>\n<l:l i=\"15\">o</l:l>\n<l:l i=\"16\">P</l:l>\n<l:l i=\"16\">p</l:l>\n<l:l i=\"17\">Q</l:l>\n<l:l i=\"17\">q</l:l>\n<l:l i=\"18\">R</l:l>\n<l:l i=\"18\">r</l:l>\n<l:l i=\"19\">S</l:l>\n<l:l i=\"19\">s</l:l>\n<l:l i=\"20\">T</l:l>\n<l:l i=\"20\">t</l:l>\n<l:l i=\"21\">U</l:l>\n<l:l i=\"21\">u</l:l>\n<l:l i=\"22\">V</l:l>\n<l:l i=\"22\">v</l:l>\n<l:l i=\"23\">W</l:l>\n<l:l i=\"23\">w</l:l>\n<l:l i=\"24\">X</l:l>\n<l:l i=\"24\">x</l:l>\n<l:l i=\"25\">Y</l:l>\n<l:l i=\"25\">y</l:l>\n<l:l i=\"26\">Z</l:l>\n<l:l i=\"26\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/zh_cn.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"zh_cn\" english-language-name=\"Chinese Simplified\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/zh_cn.xml -->\n<!-- * -->\n<!-- * E-mail the edited zh_cn.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"摘要\"/>\n<l:gentext key=\"abstract\" text=\"摘要\"/>\n<l:gentext key=\"Acknowledgements\" text=\"鸣谢\"/>\n<l:gentext key=\"acknowledgements\" text=\"鸣谢\"/>\n<l:gentext key=\"Answer\" text=\"答：\"/>\n<l:gentext key=\"answer\" text=\"答：\"/>\n<l:gentext key=\"Appendix\" text=\"附录\"/>\n<l:gentext key=\"appendix\" text=\"附录\"/>\n<l:gentext key=\"Article\" text=\"文章\"/>\n<l:gentext key=\"article\" text=\"文章\"/>\n<l:gentext key=\"Author\" text=\"作者\"/>\n<l:gentext key=\"Bibliography\" text=\"参考书目\"/>\n<l:gentext key=\"bibliography\" text=\"参考书目\"/>\n<l:gentext key=\"Book\" text=\"书\"/>\n<l:gentext key=\"book\" text=\"书\"/>\n<l:gentext key=\"CAUTION\" text=\"小心\"/>\n<l:gentext key=\"Caution\" text=\"小心\"/>\n<l:gentext key=\"caution\" text=\"小心\"/>\n<l:gentext key=\"Chapter\" text=\"章\"/>\n<l:gentext key=\"chapter\" text=\"章\"/>\n<l:gentext key=\"Colophon\" text=\"后记\"/>\n<l:gentext key=\"colophon\" text=\"后记\"/>\n<l:gentext key=\"Copyright\" text=\"版权\"/>\n<l:gentext key=\"copyright\" text=\"版权\"/>\n<l:gentext key=\"Dedication\" text=\"题词\"/>\n<l:gentext key=\"dedication\" text=\"题词\"/>\n<l:gentext key=\"Edition\" text=\"版\"/>\n<l:gentext key=\"edition\" text=\"版\"/>\n<l:gentext key=\"Editor\" text=\"编者\"/>\n<l:gentext key=\"Equation\" text=\"公式\"/>\n<l:gentext key=\"equation\" text=\"公式\"/>\n<l:gentext key=\"Example\" text=\"例\"/>\n<l:gentext key=\"example\" text=\"例\"/>\n<l:gentext key=\"Figure\" text=\"图\"/>\n<l:gentext key=\"figure\" text=\"图\"/>\n<l:gentext key=\"Glossary\" text=\"术语表\"/>\n<l:gentext key=\"glossary\" text=\"术语表\"/>\n<l:gentext key=\"GlossSee\" text=\"见\"/>\n<l:gentext key=\"glosssee\" text=\"见\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"参见\"/>\n<l:gentext key=\"glossseealso\" text=\"参见\"/>\n<l:gentext key=\"IMPORTANT\" text=\"重要\"/>\n<l:gentext key=\"important\" text=\"重要\"/>\n<l:gentext key=\"Important\" text=\"重要\"/>\n<l:gentext key=\"Index\" text=\"索引\"/>\n<l:gentext key=\"index\" text=\"索引\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"法律通告\"/>\n<l:gentext key=\"legalnotice\" text=\"法律通告\"/>\n<l:gentext key=\"MsgAud\" text=\"受众\"/>\n<l:gentext key=\"msgaud\" text=\"受众\"/>\n<l:gentext key=\"MsgLevel\" text=\"级别\"/>\n<l:gentext key=\"msglevel\" text=\"级别\"/>\n<l:gentext key=\"MsgOrig\" text=\"出处\"/>\n<l:gentext key=\"msgorig\" text=\"出处\"/>\n<l:gentext key=\"NOTE\" text=\"注意\"/>\n<l:gentext key=\"Note\" text=\"注意\"/>\n<l:gentext key=\"note\" text=\"注意\"/>\n<l:gentext key=\"Part\" text=\"部分\"/>\n<l:gentext key=\"part\" text=\"部分\"/>\n<l:gentext key=\"Preface\" text=\"前言\"/>\n<l:gentext key=\"preface\" text=\"前言\"/>\n<l:gentext key=\"Procedure\" text=\"过程\"/>\n<l:gentext key=\"procedure\" text=\"过程\"/>\n<l:gentext key=\"ProductionSet\" text=\"产品\"/>\n<l:gentext key=\"PubDate\" text=\"出版日期\"/>\n<l:gentext key=\"pubdate\" text=\"出版日期\"/>\n<l:gentext key=\"Published\" text=\"出版方\"/>\n<l:gentext key=\"published\" text=\"出版方\"/>\n<l:gentext key=\"Publisher\" text=\"出版者\"/>\n<l:gentext key=\"Qandadiv\" text=\"答问集\"/>\n<l:gentext key=\"qandadiv\" text=\"答问集\"/>\n<l:gentext key=\"QandASet\" text=\"常见问题\"/>\n<l:gentext key=\"Question\" text=\"问：\"/>\n<l:gentext key=\"question\" text=\"问：\"/>\n<l:gentext key=\"RefEntry\" text=\"页\"/>\n<l:gentext key=\"refentry\" text=\"页\"/>\n<l:gentext key=\"Reference\" text=\"参考\"/>\n<l:gentext key=\"reference\" text=\"参考\"/>\n<l:gentext key=\"References\" text=\"参考\"/>\n<l:gentext key=\"RefName\" text=\"名称\"/>\n<l:gentext key=\"refname\" text=\"名称\"/>\n<l:gentext key=\"RefSection\" text=\"节\"/>\n<l:gentext key=\"refsection\" text=\"节\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"大纲\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"大纲\"/>\n<l:gentext key=\"RevHistory\" text=\"修订历史\"/>\n<l:gentext key=\"revhistory\" text=\"修订历史\"/>\n<l:gentext key=\"revision\" text=\"修订\"/>\n<l:gentext key=\"Revision\" text=\"修订\"/>\n<l:gentext key=\"sect1\" text=\"节\"/>\n<l:gentext key=\"sect2\" text=\"节\"/>\n<l:gentext key=\"sect3\" text=\"节\"/>\n<l:gentext key=\"sect4\" text=\"节\"/>\n<l:gentext key=\"sect5\" text=\"节\"/>\n<l:gentext key=\"section\" text=\"节\"/>\n<l:gentext key=\"Section\" text=\"节\"/>\n<l:gentext key=\"see\" text=\"见\"/>\n<l:gentext key=\"See\" text=\"见\"/>\n<l:gentext key=\"seealso\" text=\"参见\"/>\n<l:gentext key=\"Seealso\" text=\"参见\"/>\n<l:gentext key=\"SeeAlso\" text=\"参见\"/>\n<l:gentext key=\"set\" text=\"集合\"/>\n<l:gentext key=\"Set\" text=\"集合\"/>\n<l:gentext key=\"setindex\" text=\"索引\"/>\n<l:gentext key=\"SetIndex\" text=\"索引\"/>\n<l:gentext key=\"Sidebar\" text=\"侧栏\"/>\n<l:gentext key=\"sidebar\" text=\"侧栏\"/>\n<l:gentext key=\"step\" text=\"步骤\"/>\n<l:gentext key=\"Step\" text=\"步骤\"/>\n<l:gentext key=\"table\" text=\"表\"/>\n<l:gentext key=\"Table\" text=\"表\"/>\n<l:gentext key=\"task\" text=\"任务\"/>\n<l:gentext key=\"Task\" text=\"任务\"/>\n<l:gentext key=\"tip\" text=\"提示\"/>\n<l:gentext key=\"TIP\" text=\"提示\"/>\n<l:gentext key=\"Tip\" text=\"提示\"/>\n<l:gentext key=\"Warning\" text=\"警告\"/>\n<l:gentext key=\"warning\" text=\"警告\"/>\n<l:gentext key=\"WARNING\" text=\"警告\"/>\n<l:gentext key=\"and\" text=\"和\"/>\n<l:gentext key=\"or\" text=\"或\"/>\n<l:gentext key=\"by\" text=\"由\"/>\n<l:gentext key=\"Edited\" text=\"编辑时间\"/>\n<l:gentext key=\"edited\" text=\"编辑时间\"/>\n<l:gentext key=\"Editedby\" text=\"编辑\"/>\n<l:gentext key=\"editedby\" text=\"编辑\"/>\n<l:gentext key=\"in\" text=\"于\"/>\n<l:gentext key=\"lastlistcomma\" text=\"\"/>\n<l:gentext key=\"listcomma\" text=\"、\"/>\n<l:gentext key=\"notes\" text=\"备注\"/>\n<l:gentext key=\"Notes\" text=\"备注\"/>\n<l:gentext key=\"Pgs\" text=\"页\"/>\n<l:gentext key=\"pgs\" text=\"页\"/>\n<l:gentext key=\"Revisedby\" text=\"修订者：\"/>\n<l:gentext key=\"revisedby\" text=\"修订者：\"/>\n<l:gentext key=\"TableNotes\" text=\"表注\"/>\n<l:gentext key=\"tablenotes\" text=\"表注\"/>\n<l:gentext key=\"TableofContents\" text=\"目录\"/>\n<l:gentext key=\"tableofcontents\" text=\"目录\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"未预期的名称\"/>\n<l:gentext key=\"unsupported\" text=\"不支持\"/>\n<l:gentext key=\"xrefto\" text=\"xref to\"/>\n<l:gentext key=\"Authors\" text=\"作者\"/>\n<l:gentext key=\"copyeditor\" text=\"版权编辑\"/>\n<l:gentext key=\"graphicdesigner\" text=\"美术编辑\"/>\n<l:gentext key=\"productioneditor\" text=\"产品编辑\"/>\n<l:gentext key=\"technicaleditor\" text=\"技术编辑\"/>\n<l:gentext key=\"translator\" text=\"译者\"/>\n<l:gentext key=\"listofequations\" text=\"公式清单\"/>\n<l:gentext key=\"ListofEquations\" text=\"公式清单\"/>\n<l:gentext key=\"ListofExamples\" text=\"范例清单\"/>\n<l:gentext key=\"listofexamples\" text=\"范例清单\"/>\n<l:gentext key=\"ListofFigures\" text=\"插图清单\"/>\n<l:gentext key=\"listoffigures\" text=\"插图清单\"/>\n<l:gentext key=\"ListofProcedures\" text=\"过程清单\"/>\n<l:gentext key=\"listofprocedures\" text=\"过程清单\"/>\n<l:gentext key=\"listoftables\" text=\"表格清单\"/>\n<l:gentext key=\"ListofTables\" text=\"表格清单\"/>\n<l:gentext key=\"ListofUnknown\" text=\"未知清单\"/>\n<l:gentext key=\"listofunknown\" text=\"未知清单\"/>\n<l:gentext key=\"nav-home\" text=\"起始页\"/>\n<l:gentext key=\"nav-next\" text=\"下一页\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"快进\"/>\n<l:gentext key=\"nav-prev\" text=\"上一页\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"快退\"/>\n<l:gentext key=\"nav-up\" text=\"上一级\"/>\n<l:gentext key=\"nav-toc\" text=\"目录\"/>\n<l:gentext key=\"Draft\" text=\"草稿\"/>\n<l:gentext key=\"above\" text=\"以上\"/>\n<l:gentext key=\"below\" text=\"以下\"/>\n<l:gentext key=\"sectioncalled\" text=\"一节\"/>\n<l:gentext key=\"index symbols\" text=\"符号\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"abcdefghijklmnopqrstuvwxyz\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\"/>\n<l:dingbat key=\"bullet\" text=\"·\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"附录 %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"第 %n 章 %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"公式 %n. %t\"/>\n<l:template name=\"example\" text=\"例 %n. %t\"/>\n<l:template name=\"figure\" text=\"图 %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\"/>\n<l:template name=\"glossentry\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"第 %n 部分 %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"过程 %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"产品 %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"表 %n. %t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tasksummary\" text=\"%t\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\"/>\n<l:template name=\"taskrelated\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"附录 %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\"/>\n<l:template name=\"bridgehead\" text=\"%n. %t\"/>\n<l:template name=\"chapter\" text=\"第 %n 章 %t\"/>\n<l:template name=\"part\" text=\"部分 %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\"/>\n<l:template name=\"answer\" text=\"答： %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\"/>\n<l:template name=\"foilgroup\" text=\"%t\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"问： %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"问： %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(第 %p 页)\"/>\n<l:template name=\"docname\" text=\" 在 %o\"/>\n<l:template name=\"docnamelong\" text=\" 在文档标题 %o\"/>\n<l:template name=\"pageabbrev\" text=\"(第 %p 页)\"/>\n<l:template name=\"Page\" text=\"第 %p 页\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"“%t”一节\"/>\n<l:template name=\"refsection\" text=\"“%t”一节\"/>\n<l:template name=\"refsect1\" text=\"“%t”一节\"/>\n<l:template name=\"refsect2\" text=\"“%t”一节\"/>\n<l:template name=\"refsect3\" text=\"“%t”一节\"/>\n<l:template name=\"sect1\" text=\"“%t”一节\"/>\n<l:template name=\"sect2\" text=\"“%t”一节\"/>\n<l:template name=\"sect3\" text=\"“%t”一节\"/>\n<l:template name=\"sect4\" text=\"“%t”一节\"/>\n<l:template name=\"sect5\" text=\"“%t”一节\"/>\n<l:template name=\"section\" text=\"“%t”一节\"/>\n<l:template name=\"simplesect\" text=\"“%t”一节\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"答： %n\"/>\n<l:template name=\"appendix\" text=\"附录 %n\"/>\n<l:template name=\"bridgehead\" text=\"第 %n 节\"/>\n<l:template name=\"chapter\" text=\"第 %n 章\"/>\n<l:template name=\"equation\" text=\"公式 %n\"/>\n<l:template name=\"example\" text=\"例 %n\"/>\n<l:template name=\"figure\" text=\"图 %n\"/>\n<l:template name=\"part\" text=\"第 %n 部分\"/>\n<l:template name=\"procedure\" text=\"过程 %n\"/>\n<l:template name=\"productionset\" text=\"产品 %n\"/>\n<l:template name=\"qandadiv\" text=\"答问集 %n\"/>\n<l:template name=\"qandaentry\" text=\"问： %n\"/>\n<l:template name=\"question\" text=\"问： %n\"/>\n<l:template name=\"sect1\" text=\"第 %n 节\"/>\n<l:template name=\"sect2\" text=\"第 %n 节\"/>\n<l:template name=\"sect3\" text=\"第 %n 节\"/>\n<l:template name=\"sect4\" text=\"第 %n 节\"/>\n<l:template name=\"sect5\" text=\"第 %n 节\"/>\n<l:template name=\"section\" text=\"第 %n 节\"/>\n<l:template name=\"table\" text=\"表 %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"附录 %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"第 %n 节 “%t”\"/>\n<l:template name=\"chapter\" text=\"第 %n 章 %t\"/>\n<l:template name=\"equation\" text=\"公式 %n “%t”\"/>\n<l:template name=\"example\" text=\"例 %n “%t”\"/>\n<l:template name=\"figure\" text=\"图 %n “%t”\"/>\n<l:template name=\"part\" text=\"第 %n 部分 “%t”\"/>\n<l:template name=\"procedure\" text=\"过程 %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"产品 %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"答问集 %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"“%t”一节\"/>\n<l:template name=\"refsect2\" text=\"“%t”一节\"/>\n<l:template name=\"refsect3\" text=\"“%t”一节\"/>\n<l:template name=\"refsection\" text=\"“%t”一节\"/>\n<l:template name=\"sect1\" text=\"第 %n 节 “%t”\"/>\n<l:template name=\"sect2\" text=\"第 %n 节 “%t”\"/>\n<l:template name=\"sect3\" text=\"第 %n 节 “%t”\"/>\n<l:template name=\"sect4\" text=\"第 %n 节 “%t”\"/>\n<l:template name=\"sect5\" text=\"第 %n 节 “%t”\"/>\n<l:template name=\"section\" text=\"第 %n 节 “%t”\"/>\n<l:template name=\"simplesect\" text=\"“%t”一节\"/>\n<l:template name=\"table\" text=\"表 %n “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\"、\"/>\n<l:template name=\"sep2\" text=\"和\"/>\n<l:template name=\"seplast\" text=\"和\"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"见%t.\"/>\n<l:template name=\"seealso\" text=\"参见%t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"受众：\"/>\n<l:template name=\"MsgLevel\" text=\"级别：\"/>\n<l:template name=\"MsgOrig\" text=\"出处：\"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"Y-m-d\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[定义：\"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"一月\"/>\n<l:template name=\"February\" text=\"二月\"/>\n<l:template name=\"March\" text=\"三月\"/>\n<l:template name=\"April\" text=\"四月\"/>\n<l:template name=\"May\" text=\"五月\"/>\n<l:template name=\"June\" text=\"六月\"/>\n<l:template name=\"July\" text=\"七月\"/>\n<l:template name=\"August\" text=\"八月\"/>\n<l:template name=\"September\" text=\"九月\"/>\n<l:template name=\"October\" text=\"十月\"/>\n<l:template name=\"November\" text=\"十一月\"/>\n<l:template name=\"December\" text=\"十二月\"/>\n<l:template name=\"Monday\" text=\"星期一\"/>\n<l:template name=\"Tuesday\" text=\"星期二\"/>\n<l:template name=\"Wednesday\" text=\"星期三\"/>\n<l:template name=\"Thursday\" text=\"星期四\"/>\n<l:template name=\"Friday\" text=\"星期五\"/>\n<l:template name=\"Saturday\" text=\"星期六\"/>\n<l:template name=\"Sunday\" text=\"星期日\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"一月\"/>\n<l:template name=\"Feb\" text=\"二月\"/>\n<l:template name=\"Mar\" text=\"三月\"/>\n<l:template name=\"Apr\" text=\"四月\"/>\n<l:template name=\"May\" text=\"五月\"/>\n<l:template name=\"Jun\" text=\"六月\"/>\n<l:template name=\"Jul\" text=\"七月\"/>\n<l:template name=\"Aug\" text=\"八月\"/>\n<l:template name=\"Sep\" text=\"九月\"/>\n<l:template name=\"Oct\" text=\"十月\"/>\n<l:template name=\"Nov\" text=\"十一月\"/>\n<l:template name=\"Dec\" text=\"十二月\"/>\n<l:template name=\"Mon\" text=\"周一\"/>\n<l:template name=\"Tue\" text=\"周二\"/>\n<l:template name=\"Wed\" text=\"周三\"/>\n<l:template name=\"Thu\" text=\"周四\"/>\n<l:template name=\"Fri\" text=\"周五\"/>\n<l:template name=\"Sat\" text=\"周六\"/>\n<l:template name=\"Sun\" text=\"周日\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0804 Chinese (CHINA)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\"，\"/>\n<l:template name=\"number-separator\" text=\"，\"/>\n<l:template name=\"range-separator\" text=\"－\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\"，\"/>\n<l:template name=\"alt.person.two.sep\" text=\" 和 \"/>\n<l:template name=\"alt.person.last.sep\" text=\" 和 \"/>\n<l:template name=\"alt.person.more.sep\" text=\"，\"/>\n<l:template name=\"primary.editor\" text=\"(主编)\"/>\n<l:template name=\"primary.many\" text=\"等。\"/>\n<l:template name=\"primary.sep\" text=\"。\"/>\n<l:template name=\"submaintitle.sep\" text=\"：\"/>\n<l:template name=\"title.sep\" text=\"。\"/>\n<l:template name=\"othertitle.sep\" text=\"，\"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"；\"/>\n<l:template name=\"secondary.sep\" text=\"。\"/>\n<l:template name=\"respons.sep\" text=\"。\"/>\n<l:template name=\"edition.sep\" text=\"。\"/>\n<l:template name=\"edition.serial.sep\" text=\"，\"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\"，\"/>\n<l:template name=\"issuing.sep\" text=\"。\"/>\n<l:template name=\"partnr.sep\" text=\"。\"/>\n<l:template name=\"placepubl.sep\" text=\"：\"/>\n<l:template name=\"publyear.sep\" text=\"，\"/>\n<l:template name=\"pubinfo.sep\" text=\"。\"/>\n<l:template name=\"spec.pubinfo.sep\" text=\"，\"/>\n<l:template name=\"upd.sep\" text=\"，\"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\"。\"/>\n<l:template name=\"locs.sep\" text=\"，\"/>\n<l:template name=\"location.sep\" text=\"。\"/>\n<l:template name=\"serie.sep\" text=\"。\"/>\n<l:template name=\"notice.sep\" text=\"。\"/>\n<l:template name=\"access\" text=\"可用\"/>\n<l:template name=\"acctoo\" text=\"也可用\"/>\n<l:template name=\"onwww\" text=\"从万维网\"/>\n<l:template name=\"oninet\" text=\"从互联网\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\"。\"/>\n<l:template name=\"patcountry.sep\" text=\"。\"/>\n<l:template name=\"pattype.sep\" text=\"，\"/>\n<l:template name=\"patnum.sep\" text=\"。\"/>\n<l:template name=\"patdate.sep\" text=\"。\"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">符号</l:l>\n<l:l i=\"1\">A</l:l>\n<l:l i=\"1\">a</l:l>\n<l:l i=\"2\">B</l:l>\n<l:l i=\"2\">b</l:l>\n<l:l i=\"3\">C</l:l>\n<l:l i=\"3\">c</l:l>\n<l:l i=\"4\">D</l:l>\n<l:l i=\"4\">d</l:l>\n<l:l i=\"5\">E</l:l>\n<l:l i=\"5\">e</l:l>\n<l:l i=\"6\">F</l:l>\n<l:l i=\"6\">f</l:l>\n<l:l i=\"7\">G</l:l>\n<l:l i=\"7\">g</l:l>\n<l:l i=\"8\">H</l:l>\n<l:l i=\"8\">h</l:l>\n<l:l i=\"9\">I</l:l>\n<l:l i=\"9\">i</l:l>\n<l:l i=\"10\">J</l:l>\n<l:l i=\"10\">j</l:l>\n<l:l i=\"11\">K</l:l>\n<l:l i=\"11\">k</l:l>\n<l:l i=\"12\">L</l:l>\n<l:l i=\"12\">l</l:l>\n<l:l i=\"13\">M</l:l>\n<l:l i=\"13\">m</l:l>\n<l:l i=\"14\">N</l:l>\n<l:l i=\"14\">n</l:l>\n<l:l i=\"15\">O</l:l>\n<l:l i=\"15\">o</l:l>\n<l:l i=\"16\">P</l:l>\n<l:l i=\"16\">p</l:l>\n<l:l i=\"17\">Q</l:l>\n<l:l i=\"17\">q</l:l>\n<l:l i=\"18\">R</l:l>\n<l:l i=\"18\">r</l:l>\n<l:l i=\"19\">S</l:l>\n<l:l i=\"19\">s</l:l>\n<l:l i=\"20\">T</l:l>\n<l:l i=\"20\">t</l:l>\n<l:l i=\"21\">U</l:l>\n<l:l i=\"21\">u</l:l>\n<l:l i=\"22\">V</l:l>\n<l:l i=\"22\">v</l:l>\n<l:l i=\"23\">W</l:l>\n<l:l i=\"23\">w</l:l>\n<l:l i=\"24\">X</l:l>\n<l:l i=\"24\">x</l:l>\n<l:l i=\"25\">Y</l:l>\n<l:l i=\"25\">y</l:l>\n<l:l i=\"26\">Z</l:l>\n<l:l i=\"26\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/common/zh_tw.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<l:l10n xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" language=\"zh_tw\" english-language-name=\"Chinese (Taiwan)\">\n\n<!-- * This file is generated automatically. -->\n<!-- * To submit changes to this file upstream (to the DocBook Project) -->\n<!-- * do not submit an edited version of this file. Instead, submit an -->\n<!-- * edited version of the source file at the following location: -->\n<!-- * -->\n<!-- *  https://docbook.svn.sourceforge.net/svnroot/docbook/trunk/gentext/locale/zh_tw.xml -->\n<!-- * -->\n<!-- * E-mail the edited zh_tw.xml source file to: -->\n<!-- * -->\n<!-- *  docbook-developers@lists.sourceforge.net -->\n\n<!-- ******************************************************************** -->\n\n<!-- This file is part of the XSL DocBook Stylesheet distribution. -->\n<!-- See ../README or http://docbook.sf.net/release/xsl/current/ for -->\n<!-- copyright and other information. -->\n\n<!-- ******************************************************************** -->\n<!-- In these files, % with a letter is used for a placeholder: -->\n<!--   %t is the current element's title -->\n<!--   %s is the current element's subtitle (if applicable)-->\n<!--   %n is the current element's number label-->\n<!--   %p is the current element's page number (if applicable)-->\n<!-- ******************************************************************** -->\n\n\n<l:gentext key=\"Abstract\" text=\"摘要\"/>\n<l:gentext key=\"abstract\" text=\"摘要\"/>\n<l:gentext key=\"Acknowledgements\" text=\"鳴謝\"/>\n<l:gentext key=\"acknowledgements\" text=\"鳴謝\"/>\n<l:gentext key=\"Answer\" text=\"答：\"/>\n<l:gentext key=\"answer\" text=\"答：\"/>\n<l:gentext key=\"Appendix\" text=\"附錄\"/>\n<l:gentext key=\"appendix\" text=\"附錄\"/>\n<l:gentext key=\"Article\" text=\"文章\"/>\n<l:gentext key=\"article\" text=\"文章\"/>\n<l:gentext key=\"Author\" text=\"作者\"/>\n<l:gentext key=\"Bibliography\" text=\"參考文獻\"/>\n<l:gentext key=\"bibliography\" text=\"參考文獻\"/>\n<l:gentext key=\"Book\" text=\"書目\"/>\n<l:gentext key=\"book\" text=\"書目\"/>\n<l:gentext key=\"CAUTION\" text=\"注意\"/>\n<l:gentext key=\"Caution\" text=\"注意\"/>\n<l:gentext key=\"caution\" text=\"注意\"/>\n<l:gentext key=\"Chapter\" text=\"章\"/>\n<l:gentext key=\"chapter\" text=\"章\"/>\n<l:gentext key=\"Colophon\" text=\"版本記錄\"/>\n<l:gentext key=\"colophon\" text=\"版本記錄\"/>\n<l:gentext key=\"Copyright\" text=\"版權\"/>\n<l:gentext key=\"copyright\" text=\"版權\"/>\n<l:gentext key=\"Dedication\" text=\"奉獻\"/>\n<l:gentext key=\"dedication\" text=\"奉獻\"/>\n<l:gentext key=\"Edition\" text=\"版\"/>\n<l:gentext key=\"edition\" text=\"版\"/>\n<l:gentext key=\"Editor\" text=\"编者\"/>\n<l:gentext key=\"Equation\" text=\"公式\"/>\n<l:gentext key=\"equation\" text=\"公式\"/>\n<l:gentext key=\"Example\" text=\"範例\"/>\n<l:gentext key=\"example\" text=\"範例\"/>\n<l:gentext key=\"Figure\" text=\"圖形\"/>\n<l:gentext key=\"figure\" text=\"圖形\"/>\n<l:gentext key=\"Glossary\" text=\"小辭彙\"/>\n<l:gentext key=\"glossary\" text=\"小辭彙\"/>\n<l:gentext key=\"GlossSee\" text=\"參見\"/>\n<l:gentext key=\"glosssee\" text=\"參見\"/>\n<l:gentext key=\"GlossSeeAlso\" text=\"另參見\"/>\n<l:gentext key=\"glossseealso\" text=\"另參見\"/>\n<l:gentext key=\"IMPORTANT\" text=\"重要\"/>\n<l:gentext key=\"important\" text=\"重要\"/>\n<l:gentext key=\"Important\" text=\"重要\"/>\n<l:gentext key=\"Index\" text=\"索引\"/>\n<l:gentext key=\"index\" text=\"索引\"/>\n<l:gentext key=\"ISBN\" text=\"ISBN\"/>\n<l:gentext key=\"isbn\" text=\"ISBN\"/>\n<l:gentext key=\"LegalNotice\" text=\"法律聲明\"/>\n<l:gentext key=\"legalnotice\" text=\"法律聲明\"/>\n<l:gentext key=\"MsgAud\" text=\"讀者\"/>\n<l:gentext key=\"msgaud\" text=\"讀者\"/>\n<l:gentext key=\"MsgLevel\" text=\"程度\"/>\n<l:gentext key=\"msglevel\" text=\"程度\"/>\n<l:gentext key=\"MsgOrig\" text=\"出處\"/>\n<l:gentext key=\"msgorig\" text=\"出處\"/>\n<l:gentext key=\"NOTE\" text=\"注意\"/>\n<l:gentext key=\"Note\" text=\"注意\"/>\n<l:gentext key=\"note\" text=\"注意\"/>\n<l:gentext key=\"Part\" text=\"部\"/>\n<l:gentext key=\"part\" text=\"部\"/>\n<l:gentext key=\"Preface\" text=\"序言\"/>\n<l:gentext key=\"preface\" text=\"序言\"/>\n<l:gentext key=\"Procedure\" text=\"過程\"/>\n<l:gentext key=\"procedure\" text=\"過程\"/>\n<l:gentext key=\"ProductionSet\" text=\"奉獻\"/>\n<l:gentext key=\"PubDate\" text=\"出版日期\"/>\n<l:gentext key=\"pubdate\" text=\"出版日期\"/>\n<l:gentext key=\"Published\" text=\"出版\"/>\n<l:gentext key=\"published\" text=\"出版\"/>\n<l:gentext key=\"Publisher\" text=\"出版者\"/>\n<l:gentext key=\"Qandadiv\" text=\"問答\"/>\n<l:gentext key=\"qandadiv\" text=\"問答\"/>\n<l:gentext key=\"QandASet\" text=\"常見問題集\"/>\n<l:gentext key=\"Question\" text=\"問：\"/>\n<l:gentext key=\"question\" text=\"問：\"/>\n<l:gentext key=\"RefEntry\" text=\"頁\"/>\n<l:gentext key=\"refentry\" text=\"頁\"/>\n<l:gentext key=\"Reference\" text=\"參考\"/>\n<l:gentext key=\"reference\" text=\"參考\"/>\n<l:gentext key=\"References\" text=\"參考\"/>\n<l:gentext key=\"RefName\" text=\"參考名\"/>\n<l:gentext key=\"refname\" text=\"參考名\"/>\n<l:gentext key=\"RefSection\" text=\"節\"/>\n<l:gentext key=\"refsection\" text=\"節\"/>\n<l:gentext key=\"RefSynopsisDiv\" text=\"大綱\"/>\n<l:gentext key=\"refsynopsisdiv\" text=\"大綱\"/>\n<l:gentext key=\"RevHistory\" text=\"修訂記錄\"/>\n<l:gentext key=\"revhistory\" text=\"修訂記錄\"/>\n<l:gentext key=\"revision\" text=\"修訂\"/>\n<l:gentext key=\"Revision\" text=\"修訂\"/>\n<l:gentext key=\"sect1\" text=\"節\"/>\n<l:gentext key=\"sect2\" text=\"節\"/>\n<l:gentext key=\"sect3\" text=\"節\"/>\n<l:gentext key=\"sect4\" text=\"節\"/>\n<l:gentext key=\"sect5\" text=\"節\"/>\n<l:gentext key=\"section\" text=\"節\"/>\n<l:gentext key=\"Section\" text=\"節\"/>\n<l:gentext key=\"see\" text=\"參見\"/>\n<l:gentext key=\"See\" text=\"參見\"/>\n<l:gentext key=\"seealso\" text=\"另參見\"/>\n<l:gentext key=\"Seealso\" text=\"另參見\"/>\n<l:gentext key=\"SeeAlso\" text=\"另參見\"/>\n<l:gentext key=\"set\" text=\"集合\"/>\n<l:gentext key=\"Set\" text=\"集合\"/>\n<l:gentext key=\"setindex\" text=\"索引\"/>\n<l:gentext key=\"SetIndex\" text=\"索引\"/>\n<l:gentext key=\"Sidebar\" text=\"側欄\"/>\n<l:gentext key=\"sidebar\" text=\"側欄\"/>\n<l:gentext key=\"step\" text=\"步驟\"/>\n<l:gentext key=\"Step\" text=\"步驟\"/>\n<l:gentext key=\"table\" text=\"表格\"/>\n<l:gentext key=\"Table\" text=\"表格\"/>\n<l:gentext key=\"task\" text=\"任務\"/>\n<l:gentext key=\"Task\" text=\"任務\"/>\n<l:gentext key=\"tip\" text=\"提示\"/>\n<l:gentext key=\"TIP\" text=\"提示\"/>\n<l:gentext key=\"Tip\" text=\"提示\"/>\n<l:gentext key=\"Warning\" text=\"警告\"/>\n<l:gentext key=\"warning\" text=\"警告\"/>\n<l:gentext key=\"WARNING\" text=\"警告\"/>\n<l:gentext key=\"and\" text=\"且\"/>\n<l:gentext key=\"or\" text=\"或\"/>\n<l:gentext key=\"by\" text=\"由\"/>\n<l:gentext key=\"Edited\" text=\"編輯\"/>\n<l:gentext key=\"edited\" text=\"編輯\"/>\n<l:gentext key=\"Editedby\" text=\"編輯者\"/>\n<l:gentext key=\"editedby\" text=\"編輯者\"/>\n<l:gentext key=\"in\" text=\"在\"/>\n<l:gentext key=\"lastlistcomma\" text=\",\"/>\n<l:gentext key=\"listcomma\" text=\",\"/>\n<l:gentext key=\"notes\" text=\"注\"/>\n<l:gentext key=\"Notes\" text=\"注\"/>\n<l:gentext key=\"Pgs\" text=\"頁\"/>\n<l:gentext key=\"pgs\" text=\"頁\"/>\n<l:gentext key=\"Revisedby\" text=\"修訂者 \"/>\n<l:gentext key=\"revisedby\" text=\"修訂者 \"/>\n<l:gentext key=\"TableNotes\" text=\"注\"/>\n<l:gentext key=\"tablenotes\" text=\"注\"/>\n<l:gentext key=\"TableofContents\" text=\"內容目錄\"/>\n<l:gentext key=\"tableofcontents\" text=\"內容目錄\"/>\n<l:gentext key=\"unexpectedelementname\" text=\"非預期的名稱\"/>\n<l:gentext key=\"unsupported\" text=\"未支援\"/>\n<l:gentext key=\"xrefto\" text=\"參照\"/>\n<l:gentext key=\"Authors\" text=\"作者\"/>\n<l:gentext key=\"copyeditor\" text=\"版權\"/>\n<l:gentext key=\"graphicdesigner\" text=\"美術編輯\"/>\n<l:gentext key=\"productioneditor\" text=\"製作編輯\"/>\n<l:gentext key=\"technicaleditor\" text=\"技術編輯\"/>\n<l:gentext key=\"translator\" text=\"翻譯者\"/>\n<l:gentext key=\"listofequations\" text=\"公式目錄\"/>\n<l:gentext key=\"ListofEquations\" text=\"公式目錄\"/>\n<l:gentext key=\"ListofExamples\" text=\"範例目錄\"/>\n<l:gentext key=\"listofexamples\" text=\"範例目錄\"/>\n<l:gentext key=\"ListofFigures\" text=\"附圖目錄\"/>\n<l:gentext key=\"listoffigures\" text=\"附圖目錄\"/>\n<l:gentext key=\"ListofProcedures\" text=\"過程清單\"/>\n<l:gentext key=\"listofprocedures\" text=\"過程清單\"/>\n<l:gentext key=\"listoftables\" text=\"附表目錄\"/>\n<l:gentext key=\"ListofTables\" text=\"附表目錄\"/>\n<l:gentext key=\"ListofUnknown\" text=\"其他內容目錄\"/>\n<l:gentext key=\"listofunknown\" text=\"其他內容目錄\"/>\n<l:gentext key=\"nav-home\" text=\"起始頁\"/>\n<l:gentext key=\"nav-next\" text=\"下一頁\"/>\n<l:gentext key=\"nav-next-sibling\" text=\"快速向前\"/>\n<l:gentext key=\"nav-prev\" text=\"前一頁\"/>\n<l:gentext key=\"nav-prev-sibling\" text=\"快速向後\"/>\n<l:gentext key=\"nav-up\" text=\"上一層\"/>\n<l:gentext key=\"nav-toc\" text=\"目錄\"/>\n<l:gentext key=\"Draft\" text=\"草稿\"/>\n<l:gentext key=\"above\" text=\"以上\"/>\n<l:gentext key=\"below\" text=\"以下\"/>\n<l:gentext key=\"sectioncalled\" text=\"一節\"/>\n<l:gentext key=\"index symbols\" text=\"符號\"/>\n<l:gentext key=\"writing-mode\" text=\"lr-tb\"/>\n<l:gentext key=\"lowercase.alpha\" text=\"abcdefghijklmnopqrstuvwxyz\" lang=\"en\"/>\n<l:gentext key=\"uppercase.alpha\" text=\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.input\" text=\"AaÀàÁáÂâÃãÄäÅåĀāĂăĄąǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌǅǲȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚǈȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠǋǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ\" lang=\"en\"/>\n<l:gentext key=\"normalize.sort.output\" text=\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ\" lang=\"en\"/>\n<l:dingbat key=\"startquote\" text=\"“\"/>\n<l:dingbat key=\"endquote\" text=\"”\"/>\n<l:dingbat key=\"nestedstartquote\" text=\"‘\"/>\n<l:dingbat key=\"nestedendquote\" text=\"’\"/>\n<l:dingbat key=\"singlestartquote\" text=\"‘\" lang=\"en\"/>\n<l:dingbat key=\"singleendquote\" text=\"’\" lang=\"en\"/>\n<l:dingbat key=\"bullet\" text=\"•\"/>\n<l:gentext key=\"hyphenation-character\" text=\"-\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-push-character-count\" text=\"2\" lang=\"en\"/>\n<l:gentext key=\"hyphenation-remain-character-count\" text=\"2\" lang=\"en\"/>\n<l:context name=\"keycap\"><l:template name=\"alt\" text=\"Alt\" lang=\"en\"/>\n<l:template name=\"backspace\" text=\"&lt;—\" lang=\"en\"/>\n<l:template name=\"command\" text=\"⌘\" lang=\"en\"/>\n<l:template name=\"control\" text=\"Ctrl\" lang=\"en\"/>\n<l:template name=\"delete\" text=\"Del\" lang=\"en\"/>\n<l:template name=\"down\" text=\"↓\" lang=\"en\"/>\n<l:template name=\"end\" text=\"End\" lang=\"en\"/>\n<l:template name=\"enter\" text=\"Enter\" lang=\"en\"/>\n<l:template name=\"escape\" text=\"Esc\" lang=\"en\"/>\n<l:template name=\"home\" text=\"Home\" lang=\"en\"/>\n<l:template name=\"insert\" text=\"Ins\" lang=\"en\"/>\n<l:template name=\"left\" text=\"←\" lang=\"en\"/>\n<l:template name=\"meta\" text=\"Meta\" lang=\"en\"/>\n<l:template name=\"option\" text=\"???\" lang=\"en\"/>\n<l:template name=\"pagedown\" text=\"Page ↓\" lang=\"en\"/>\n<l:template name=\"pageup\" text=\"Page ↑\" lang=\"en\"/>\n<l:template name=\"right\" text=\"→\" lang=\"en\"/>\n<l:template name=\"shift\" text=\"Shift\" lang=\"en\"/>\n<l:template name=\"space\" text=\"Space\" lang=\"en\"/>\n<l:template name=\"tab\" text=\"→|\" lang=\"en\"/>\n<l:template name=\"up\" text=\"↑\" lang=\"en\"/>\n</l:context>\n<l:context name=\"webhelp\"><l:template name=\"Search\" text=\"Search\" lang=\"en\"/>\n<l:template name=\"Enter_a_term_and_click\" text=\"Enter a term and click \" lang=\"en\"/>\n<l:template name=\"Go\" text=\"Go\" lang=\"en\"/>\n<l:template name=\"to_perform_a_search\" text=\" to perform a search.\" lang=\"en\"/>\n<l:template name=\"txt_filesfound\" text=\"Results\" lang=\"en\"/>\n<l:template name=\"txt_enter_at_least_1_char\" text=\"You must enter at least one character.\" lang=\"en\"/>\n<l:template name=\"txt_browser_not_supported\" text=\"JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.\" lang=\"en\"/>\n<l:template name=\"txt_please_wait\" text=\"Please wait. Search in progress...\" lang=\"en\"/>\n<l:template name=\"txt_results_for\" text=\"Results for: \" lang=\"en\"/>\n<l:template name=\"TableofContents\" text=\"Contents\" lang=\"en\"/>\n<l:template name=\"HighlightButton\" text=\"Toggle search result highlighting\" lang=\"en\"/>\n<l:template name=\"Your_search_returned_no_results\" text=\"Your search returned no results.\" lang=\"en\"/>\n</l:context>\n<l:context name=\"styles\"><l:template name=\"person-name\" text=\"first-last\"/>\n</l:context>\n<l:context name=\"title\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"%t\"/>\n<l:template name=\"appendix\" text=\"附錄 %n. %t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"biblioentry\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliolist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bibliomixed\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"章 %n. %t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"公式 %n. %t\"/>\n<l:template name=\"example\" text=\"範例 %n. %t\"/>\n<l:template name=\"figure\" text=\"圖形 %n. %t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"glosslist\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"glossentry\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"部 %n. %t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"procedure.formal\" text=\"過程 %n. %t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"productionset.formal\" text=\"奉獻 %n\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"%t\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"%t\"/>\n<l:template name=\"refentry\" text=\"%t\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsection\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"refsect1\" text=\"%t\"/>\n<l:template name=\"refsect2\" text=\"%t\"/>\n<l:template name=\"refsect3\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"refsynopsisdivinfo\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"step\" text=\"%t\"/>\n<l:template name=\"table\" text=\"表格 %n. %t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tasksummary\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskprerequisites\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"taskrelated\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"\" lang=\"en\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n</l:context>\n<l:context name=\"title-unnumbered\"><l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article/appendix\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"sect1\" text=\"%t\"/>\n<l:template name=\"sect2\" text=\"%t\"/>\n<l:template name=\"sect3\" text=\"%t\"/>\n<l:template name=\"sect4\" text=\"%t\"/>\n<l:template name=\"sect5\" text=\"%t\"/>\n<l:template name=\"section\" text=\"%t\"/>\n<l:template name=\"simplesect\" text=\"%t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"part\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"title-numbered\"><l:template name=\"appendix\" text=\"附錄 %n. %t\"/>\n<l:template name=\"article/appendix\" text=\"%n. %t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"章 %n. %t\"/>\n<l:template name=\"part\" text=\"部 %n. %t\"/>\n<l:template name=\"sect1\" text=\"%n. %t\"/>\n<l:template name=\"sect2\" text=\"%n. %t\"/>\n<l:template name=\"sect3\" text=\"%n. %t\"/>\n<l:template name=\"sect4\" text=\"%n. %t\"/>\n<l:template name=\"sect5\" text=\"%n. %t\"/>\n<l:template name=\"section\" text=\"%n. %t\"/>\n<l:template name=\"simplesect\" text=\"%n. %t\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n</l:context>\n<l:context name=\"subtitle\"><l:template name=\"appendix\" text=\"%s\"/>\n<l:template name=\"acknowledgements\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"article\" text=\"%s\"/>\n<l:template name=\"bibliodiv\" text=\"%s\"/>\n<l:template name=\"biblioentry\" text=\"%s\"/>\n<l:template name=\"bibliography\" text=\"%s\"/>\n<l:template name=\"bibliomixed\" text=\"%s\"/>\n<l:template name=\"bibliomset\" text=\"%s\"/>\n<l:template name=\"biblioset\" text=\"%s\"/>\n<l:template name=\"book\" text=\"%s\"/>\n<l:template name=\"chapter\" text=\"%s\"/>\n<l:template name=\"colophon\" text=\"%s\"/>\n<l:template name=\"dedication\" text=\"%s\"/>\n<l:template name=\"glossary\" text=\"%s\"/>\n<l:template name=\"glossdiv\" text=\"%s\"/>\n<l:template name=\"index\" text=\"%s\"/>\n<l:template name=\"indexdiv\" text=\"%s\"/>\n<l:template name=\"lot\" text=\"%s\"/>\n<l:template name=\"part\" text=\"%s\"/>\n<l:template name=\"partintro\" text=\"%s\"/>\n<l:template name=\"preface\" text=\"%s\"/>\n<l:template name=\"refentry\" text=\"%s\"/>\n<l:template name=\"reference\" text=\"%s\"/>\n<l:template name=\"refsection\" text=\"%s\" lang=\"en\"/>\n<l:template name=\"refsect1\" text=\"%s\"/>\n<l:template name=\"refsect2\" text=\"%s\"/>\n<l:template name=\"refsect3\" text=\"%s\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%s\"/>\n<l:template name=\"sect1\" text=\"%s\"/>\n<l:template name=\"sect2\" text=\"%s\"/>\n<l:template name=\"sect3\" text=\"%s\"/>\n<l:template name=\"sect4\" text=\"%s\"/>\n<l:template name=\"sect5\" text=\"%s\"/>\n<l:template name=\"section\" text=\"%s\"/>\n<l:template name=\"set\" text=\"%s\"/>\n<l:template name=\"setindex\" text=\"%s\"/>\n<l:template name=\"sidebar\" text=\"%s\"/>\n<l:template name=\"simplesect\" text=\"%s\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"toc\" text=\"%s\"/>\n</l:context>\n<l:context name=\"xref\"><l:template name=\"abstract\" text=\"%t\"/>\n<l:template name=\"acknowledgements\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"answer\" text=\"答： %n\"/>\n<l:template name=\"appendix\" text=\"%t\"/>\n<l:template name=\"article\" text=\"%t\"/>\n<l:template name=\"authorblurb\" text=\"%t\"/>\n<l:template name=\"bibliodiv\" text=\"%t\"/>\n<l:template name=\"bibliography\" text=\"%t\"/>\n<l:template name=\"bibliomset\" text=\"%t\"/>\n<l:template name=\"biblioset\" text=\"%t\"/>\n<l:template name=\"blockquote\" text=\"%t\"/>\n<l:template name=\"book\" text=\"%t\"/>\n<l:template name=\"calloutlist\" text=\"%t\"/>\n<l:template name=\"caution\" text=\"%t\"/>\n<l:template name=\"chapter\" text=\"%t\"/>\n<l:template name=\"colophon\" text=\"%t\"/>\n<l:template name=\"constraintdef\" text=\"%t\"/>\n<l:template name=\"dedication\" text=\"%t\"/>\n<l:template name=\"equation\" text=\"%t\"/>\n<l:template name=\"example\" text=\"%t\"/>\n<l:template name=\"figure\" text=\"%t\"/>\n<l:template name=\"foil\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"foilgroup\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"formalpara\" text=\"%t\"/>\n<l:template name=\"glossary\" text=\"%t\"/>\n<l:template name=\"glossdiv\" text=\"%t\"/>\n<l:template name=\"important\" text=\"%t\"/>\n<l:template name=\"index\" text=\"%t\"/>\n<l:template name=\"indexdiv\" text=\"%t\"/>\n<l:template name=\"itemizedlist\" text=\"%t\"/>\n<l:template name=\"legalnotice\" text=\"%t\"/>\n<l:template name=\"listitem\" text=\"%n\"/>\n<l:template name=\"lot\" text=\"%t\"/>\n<l:template name=\"msg\" text=\"%t\"/>\n<l:template name=\"msgexplan\" text=\"%t\"/>\n<l:template name=\"msgmain\" text=\"%t\"/>\n<l:template name=\"msgrel\" text=\"%t\"/>\n<l:template name=\"msgset\" text=\"%t\"/>\n<l:template name=\"msgsub\" text=\"%t\"/>\n<l:template name=\"note\" text=\"%t\"/>\n<l:template name=\"orderedlist\" text=\"%t\"/>\n<l:template name=\"part\" text=\"%t\"/>\n<l:template name=\"partintro\" text=\"%t\"/>\n<l:template name=\"preface\" text=\"%t\"/>\n<l:template name=\"procedure\" text=\"%t\"/>\n<l:template name=\"productionset\" text=\"%t\"/>\n<l:template name=\"qandadiv\" text=\"%t\"/>\n<l:template name=\"qandaentry\" text=\"問： %n\"/>\n<l:template name=\"qandaset\" text=\"%t\"/>\n<l:template name=\"question\" text=\"問： %n\"/>\n<l:template name=\"reference\" text=\"%t\"/>\n<l:template name=\"refsynopsisdiv\" text=\"%t\"/>\n<l:template name=\"screenshot\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"segmentedlist\" text=\"%t\"/>\n<l:template name=\"set\" text=\"%t\"/>\n<l:template name=\"setindex\" text=\"%t\"/>\n<l:template name=\"sidebar\" text=\"%t\"/>\n<l:template name=\"table\" text=\"%t\"/>\n<l:template name=\"task\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"tip\" text=\"%t\"/>\n<l:template name=\"toc\" text=\"%t\"/>\n<l:template name=\"variablelist\" text=\"%t\"/>\n<l:template name=\"varlistentry\" text=\"%n\"/>\n<l:template name=\"warning\" text=\"%t\"/>\n<l:template name=\"olink.document.citation\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"olink.page.citation\" text=\" (page %p)\" lang=\"en\"/>\n<l:template name=\"page.citation\" text=\" [%p]\"/>\n<l:template name=\"page\" text=\"(page %p)\" lang=\"en\"/>\n<l:template name=\"docname\" text=\" in %o\" lang=\"en\"/>\n<l:template name=\"docnamelong\" text=\" in the document titled %o\" lang=\"en\"/>\n<l:template name=\"pageabbrev\" text=\"(p. %p)\" lang=\"en\"/>\n<l:template name=\"Page\" text=\"Page %p\" lang=\"en\"/>\n<l:template name=\"topic\" text=\"%t\" lang=\"en\"/>\n<l:template name=\"bridgehead\" text=\"“%t”\"/>\n<l:template name=\"refsection\" text=\"“%t”\"/>\n<l:template name=\"refsect1\" text=\"“%t”\"/>\n<l:template name=\"refsect2\" text=\"“%t”\"/>\n<l:template name=\"refsect3\" text=\"“%t”\"/>\n<l:template name=\"sect1\" text=\"“%t”\"/>\n<l:template name=\"sect2\" text=\"“%t”\"/>\n<l:template name=\"sect3\" text=\"“%t”\"/>\n<l:template name=\"sect4\" text=\"“%t”\"/>\n<l:template name=\"sect5\" text=\"“%t”\"/>\n<l:template name=\"section\" text=\"“%t”\"/>\n<l:template name=\"simplesect\" text=\"“%t”\"/>\n</l:context>\n<l:context name=\"xref-number\"><l:template name=\"answer\" text=\"答： %n\"/>\n<l:template name=\"appendix\" text=\"附錄 %n\"/>\n<l:template name=\"bridgehead\" text=\"節 %n\"/>\n<l:template name=\"chapter\" text=\"章 %n\"/>\n<l:template name=\"equation\" text=\"公式 %n\"/>\n<l:template name=\"example\" text=\"範例 %n\"/>\n<l:template name=\"figure\" text=\"圖形 %n\"/>\n<l:template name=\"part\" text=\"部 %n\"/>\n<l:template name=\"procedure\" text=\"過程 %n\"/>\n<l:template name=\"productionset\" text=\"奉獻 %n\"/>\n<l:template name=\"qandadiv\" text=\"問答 %n\"/>\n<l:template name=\"qandaentry\" text=\"問： %n\"/>\n<l:template name=\"question\" text=\"問： %n\"/>\n<l:template name=\"sect1\" text=\"節 %n\"/>\n<l:template name=\"sect2\" text=\"節 %n\"/>\n<l:template name=\"sect3\" text=\"節 %n\"/>\n<l:template name=\"sect4\" text=\"節 %n\"/>\n<l:template name=\"sect5\" text=\"節 %n\"/>\n<l:template name=\"section\" text=\"節 %n\"/>\n<l:template name=\"table\" text=\"表格 %n\"/>\n</l:context>\n<l:context name=\"xref-number-and-title\"><l:template name=\"appendix\" text=\"附錄 %n, %t\"/>\n<l:template name=\"bridgehead\" text=\"節 %n, “%t”\"/>\n<l:template name=\"chapter\" text=\"章 %n, %t\"/>\n<l:template name=\"equation\" text=\"公式 %n, “%t”\"/>\n<l:template name=\"example\" text=\"範例 %n, “%t”\"/>\n<l:template name=\"figure\" text=\"圖形 %n, “%t”\"/>\n<l:template name=\"part\" text=\"部 %n, “%t”\"/>\n<l:template name=\"procedure\" text=\"過程 %n, “%t”\"/>\n<l:template name=\"productionset\" text=\"奉獻 %n, “%t”\"/>\n<l:template name=\"qandadiv\" text=\"問答 %n, “%t”\"/>\n<l:template name=\"refsect1\" text=\"一節 “%t”\"/>\n<l:template name=\"refsect2\" text=\"一節 “%t”\"/>\n<l:template name=\"refsect3\" text=\"一節 “%t”\"/>\n<l:template name=\"refsection\" text=\"一節 “%t”\"/>\n<l:template name=\"sect1\" text=\"節 %n, “%t”\"/>\n<l:template name=\"sect2\" text=\"節 %n, “%t”\"/>\n<l:template name=\"sect3\" text=\"節 %n, “%t”\"/>\n<l:template name=\"sect4\" text=\"節 %n, “%t”\"/>\n<l:template name=\"sect5\" text=\"節 %n, “%t”\"/>\n<l:template name=\"section\" text=\"節 %n, “%t”\"/>\n<l:template name=\"simplesect\" text=\"一節 “%t”\"/>\n<l:template name=\"table\" text=\"表格 %n, “%t”\"/>\n</l:context>\n<l:context name=\"authorgroup\"><l:template name=\"sep\" text=\", \"/>\n<l:template name=\"sep2\" text=\" 且 \"/>\n<l:template name=\"seplast\" text=\", 且 \"/>\n</l:context>\n<l:context name=\"glossary\"><l:template name=\"see\" text=\"參見 %t.\"/>\n<l:template name=\"seealso\" text=\"另參見 %t.\"/>\n<l:template name=\"seealso-separator\" text=\", \"/>\n</l:context>\n<l:context name=\"msgset\"><l:template name=\"MsgAud\" text=\"讀者: \"/>\n<l:template name=\"MsgLevel\" text=\"程度: \"/>\n<l:template name=\"MsgOrig\" text=\"出處: \"/>\n</l:context>\n<l:context name=\"datetime\"><l:template name=\"format\" text=\"m/d/Y\"/>\n</l:context>\n<l:context name=\"termdef\"><l:template name=\"prefix\" text=\"[Definition: \"/>\n<l:template name=\"suffix\" text=\"]\"/>\n</l:context>\n<l:context name=\"datetime-full\"><l:template name=\"January\" text=\"一月\"/>\n<l:template name=\"February\" text=\"二月\"/>\n<l:template name=\"March\" text=\"三月\"/>\n<l:template name=\"April\" text=\"四月\"/>\n<l:template name=\"May\" text=\"五月\"/>\n<l:template name=\"June\" text=\"六月\"/>\n<l:template name=\"July\" text=\"七月\"/>\n<l:template name=\"August\" text=\"八月\"/>\n<l:template name=\"September\" text=\"九月\"/>\n<l:template name=\"October\" text=\"十月\"/>\n<l:template name=\"November\" text=\"十一月\"/>\n<l:template name=\"December\" text=\"十二月\"/>\n<l:template name=\"Monday\" text=\"星期一\"/>\n<l:template name=\"Tuesday\" text=\"星期二\"/>\n<l:template name=\"Wednesday\" text=\"星期三\"/>\n<l:template name=\"Thursday\" text=\"星期四\"/>\n<l:template name=\"Friday\" text=\"星期五\"/>\n<l:template name=\"Saturday\" text=\"星期六\"/>\n<l:template name=\"Sunday\" text=\"星期日\"/>\n</l:context>\n<l:context name=\"datetime-abbrev\"><l:template name=\"Jan\" text=\"一月\"/>\n<l:template name=\"Feb\" text=\"二月\"/>\n<l:template name=\"Mar\" text=\"三月\"/>\n<l:template name=\"Apr\" text=\"四月\"/>\n<l:template name=\"May\" text=\"五月\"/>\n<l:template name=\"Jun\" text=\"六月\"/>\n<l:template name=\"Jul\" text=\"七月\"/>\n<l:template name=\"Aug\" text=\"八月\"/>\n<l:template name=\"Sep\" text=\"九月\"/>\n<l:template name=\"Oct\" text=\"10月\"/>\n<l:template name=\"Nov\" text=\"11月\"/>\n<l:template name=\"Dec\" text=\"12月\"/>\n<l:template name=\"Mon\" text=\"一\"/>\n<l:template name=\"Tue\" text=\"二\"/>\n<l:template name=\"Wed\" text=\"三\"/>\n<l:template name=\"Thu\" text=\"四\"/>\n<l:template name=\"Fri\" text=\"五\"/>\n<l:template name=\"Sat\" text=\"六\"/>\n<l:template name=\"Sun\" text=\"日\"/>\n</l:context>\n<l:context name=\"htmlhelp\"><l:template name=\"langcode\" text=\"0x0404 Chinese (TAIWAN)\"/>\n</l:context>\n<l:context name=\"index\"><l:template name=\"term-separator\" text=\", \"/>\n<l:template name=\"number-separator\" text=\", \"/>\n<l:template name=\"range-separator\" text=\"-\"/>\n</l:context>\n<l:context name=\"iso690\"><l:template name=\"lastfirst.sep\" text=\", \"/>\n<l:template name=\"alt.person.two.sep\" text=\" – \"/>\n<l:template name=\"alt.person.last.sep\" text=\" – \"/>\n<l:template name=\"alt.person.more.sep\" text=\" – \"/>\n<l:template name=\"primary.editor\" text=\" (ed.)\"/>\n<l:template name=\"primary.many\" text=\", et al.\"/>\n<l:template name=\"primary.sep\" text=\". \"/>\n<l:template name=\"submaintitle.sep\" text=\": \"/>\n<l:template name=\"title.sep\" text=\". \"/>\n<l:template name=\"othertitle.sep\" text=\", \"/>\n<l:template name=\"medium1\" text=\" [\"/>\n<l:template name=\"medium2\" text=\"]\"/>\n<l:template name=\"secondary.person.sep\" text=\"; \"/>\n<l:template name=\"secondary.sep\" text=\". \"/>\n<l:template name=\"respons.sep\" text=\". \"/>\n<l:template name=\"edition.sep\" text=\". \"/>\n<l:template name=\"edition.serial.sep\" text=\", \"/>\n<l:template name=\"issuing.range\" text=\"-\"/>\n<l:template name=\"issuing.div\" text=\", \"/>\n<l:template name=\"issuing.sep\" text=\". \"/>\n<l:template name=\"partnr.sep\" text=\". \"/>\n<l:template name=\"placepubl.sep\" text=\": \"/>\n<l:template name=\"publyear.sep\" text=\", \"/>\n<l:template name=\"pubinfo.sep\" text=\". \"/>\n<l:template name=\"spec.pubinfo.sep\" text=\", \"/>\n<l:template name=\"upd.sep\" text=\", \"/>\n<l:template name=\"datecit1\" text=\" [cited \"/>\n<l:template name=\"datecit2\" text=\"]\"/>\n<l:template name=\"extent.sep\" text=\". \"/>\n<l:template name=\"locs.sep\" text=\", \"/>\n<l:template name=\"location.sep\" text=\". \"/>\n<l:template name=\"serie.sep\" text=\". \"/>\n<l:template name=\"notice.sep\" text=\". \"/>\n<l:template name=\"access\" text=\"Available \"/>\n<l:template name=\"acctoo\" text=\"Also available \"/>\n<l:template name=\"onwww\" text=\"from World Wide Web\"/>\n<l:template name=\"oninet\" text=\"from Internet\"/>\n<l:template name=\"access.end\" text=\": \"/>\n<l:template name=\"link1\" text=\"&lt;\"/>\n<l:template name=\"link2\" text=\"&gt;\"/>\n<l:template name=\"access.sep\" text=\". \"/>\n<l:template name=\"isbn\" text=\"ISBN \"/>\n<l:template name=\"issn\" text=\"ISSN \"/>\n<l:template name=\"stdnum.sep\" text=\". \"/>\n<l:template name=\"patcountry.sep\" text=\". \"/>\n<l:template name=\"pattype.sep\" text=\", \"/>\n<l:template name=\"patnum.sep\" text=\". \"/>\n<l:template name=\"patdate.sep\" text=\". \"/>\n</l:context><l:letters><l:l i=\"-1\"/>\n<l:l i=\"0\">符號</l:l>\n<l:l i=\"10\">A</l:l>\n<l:l i=\"10\">a</l:l>\n<l:l i=\"20\">B</l:l>\n<l:l i=\"20\">b</l:l>\n<l:l i=\"30\">C</l:l>\n<l:l i=\"30\">c</l:l>\n<l:l i=\"40\">D</l:l>\n<l:l i=\"40\">d</l:l>\n<l:l i=\"50\">E</l:l>\n<l:l i=\"50\">e</l:l>\n<l:l i=\"60\">F</l:l>\n<l:l i=\"60\">f</l:l>\n<l:l i=\"70\">G</l:l>\n<l:l i=\"70\">g</l:l>\n<l:l i=\"80\">H</l:l>\n<l:l i=\"80\">h</l:l>\n<l:l i=\"90\">I</l:l>\n<l:l i=\"90\">i</l:l>\n<l:l i=\"100\">J</l:l>\n<l:l i=\"100\">j</l:l>\n<l:l i=\"110\">K</l:l>\n<l:l i=\"110\">k</l:l>\n<l:l i=\"120\">L</l:l>\n<l:l i=\"120\">l</l:l>\n<l:l i=\"130\">M</l:l>\n<l:l i=\"130\">m</l:l>\n<l:l i=\"140\">N</l:l>\n<l:l i=\"140\">n</l:l>\n<l:l i=\"150\">O</l:l>\n<l:l i=\"150\">o</l:l>\n<l:l i=\"160\">P</l:l>\n<l:l i=\"160\">p</l:l>\n<l:l i=\"170\">Q</l:l>\n<l:l i=\"170\">q</l:l>\n<l:l i=\"180\">R</l:l>\n<l:l i=\"180\">r</l:l>\n<l:l i=\"190\">S</l:l>\n<l:l i=\"190\">s</l:l>\n<l:l i=\"200\">T</l:l>\n<l:l i=\"200\">t</l:l>\n<l:l i=\"210\">U</l:l>\n<l:l i=\"210\">u</l:l>\n<l:l i=\"220\">V</l:l>\n<l:l i=\"220\">v</l:l>\n<l:l i=\"230\">W</l:l>\n<l:l i=\"230\">w</l:l>\n<l:l i=\"240\">X</l:l>\n<l:l i=\"240\">x</l:l>\n<l:l i=\"250\">Y</l:l>\n<l:l i=\"250\">y</l:l>\n<l:l i=\"260\">Z</l:l>\n<l:l i=\"260\">z</l:l>\n</l:letters>\n</l:l10n>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/lib/dumpfragment.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"US-ASCII\"?>\n<xsl:stylesheet version=\"1.0\"\n                xmlns:exsl=\"http://exslt.org/common\"\n                xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"\n                xmlns=\"http://www.w3.org/1999/xhtml\"\n                exclude-result-prefixes=\"exsl\">\n\n<xsl:template name=\"dump-fragment\">\n  <xsl:param name=\"fragment\"/>\n  <xsl:apply-templates select=\"exsl:node-set($fragment)/*\" mode=\"dump-fragment\"/>\n</xsl:template>\n\n<xsl:template match=\"@*\" mode=\"dump-fragment\">\n  <xsl:text> </xsl:text>\n  <xsl:value-of select=\"local-name(.)\"/>\n  <xsl:text>=\"</xsl:text>\n  <xsl:value-of select=\".\"/>\n  <xsl:text>\"</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"dump-fragment\">\n  <xsl:text>&lt;</xsl:text><xsl:value-of select=\"local-name(.)\"/>\n  <xsl:apply-templates select=\"@*\" mode=\"dump-fragment\"/>\n  <xsl:text>></xsl:text>\n  <xsl:apply-templates mode=\"dump-fragment\"/>\n  <xsl:text>&lt;/</xsl:text><xsl:value-of select=\"local-name(.)\"/>\n  <xsl:text>></xsl:text>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/lib/lib.xsl",
    "content": "<?xml version=\"1.0\"?>\n<!-- ********************************************************************\n     $Id: lib.xweb 9040 2011-08-19 21:51:47Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     This module implements DTD-independent functions\n\n     ******************************************************************** -->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">\n\n<xsl:template name=\"dot.count\">\n  <!-- Returns the number of \".\" characters in a string -->\n  <xsl:param name=\"string\"/>\n  <xsl:param name=\"count\" select=\"0\"/>\n  <xsl:choose>\n    <xsl:when test=\"contains($string, '.')\">\n      <xsl:call-template name=\"dot.count\">\n        <xsl:with-param name=\"string\" select=\"substring-after($string, '.')\"/>\n        <xsl:with-param name=\"count\" select=\"$count+1\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$count\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n<xsl:template name=\"copy-string\">\n  <!-- returns 'count' copies of 'string' -->\n  <xsl:param name=\"string\"/>\n  <xsl:param name=\"count\" select=\"0\"/>\n  <xsl:param name=\"result\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$count&gt;0\">\n      <xsl:call-template name=\"copy-string\">\n        <xsl:with-param name=\"string\" select=\"$string\"/>\n        <xsl:with-param name=\"count\" select=\"$count - 1\"/>\n        <xsl:with-param name=\"result\">\n          <xsl:value-of select=\"$result\"/>\n          <xsl:value-of select=\"$string\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$result\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n<xsl:template name=\"string.subst\">\n  <xsl:param name=\"string\"/>\n  <xsl:param name=\"target\"/>\n  <xsl:param name=\"replacement\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"contains($string, $target)\">\n      <xsl:variable name=\"rest\">\n        <xsl:call-template name=\"string.subst\">\n          <xsl:with-param name=\"string\" select=\"substring-after($string, $target)\"/>\n          <xsl:with-param name=\"target\" select=\"$target\"/>\n          <xsl:with-param name=\"replacement\" select=\"$replacement\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:value-of select=\"concat(substring-before($string, $target),                                    $replacement,                                    $rest)\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$string\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n<xsl:template name=\"xpointer.idref\">\n  <xsl:param name=\"xpointer\">http://...</xsl:param>\n  <xsl:choose>\n    <xsl:when test=\"starts-with($xpointer, '#xpointer(id(')\">\n      <xsl:variable name=\"rest\" select=\"substring-after($xpointer, '#xpointer(id(')\"/>\n      <xsl:variable name=\"quote\" select=\"substring($rest, 1, 1)\"/>\n      <xsl:value-of select=\"substring-before(substring-after($xpointer, $quote), $quote)\"/>\n    </xsl:when>\n    <xsl:when test=\"starts-with($xpointer, '#')\">\n      <xsl:value-of select=\"substring-after($xpointer, '#')\"/>\n    </xsl:when>\n    <!-- otherwise it's a pointer to some other document -->\n  </xsl:choose>\n</xsl:template>\n<xsl:template name=\"length-magnitude\">\n  <xsl:param name=\"length\" select=\"'0pt'\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"string-length($length) = 0\"/>\n    <xsl:when test=\"substring($length,1,1) = '0'                     or substring($length,1,1) = '1'                     or substring($length,1,1) = '2'                     or substring($length,1,1) = '3'                     or substring($length,1,1) = '4'                     or substring($length,1,1) = '5'                     or substring($length,1,1) = '6'                     or substring($length,1,1) = '7'                     or substring($length,1,1) = '8'                     or substring($length,1,1) = '9'                     or substring($length,1,1) = '.'\">\n      <xsl:value-of select=\"substring($length,1,1)\"/>\n      <xsl:call-template name=\"length-magnitude\">\n        <xsl:with-param name=\"length\" select=\"substring($length,2)\"/>\n      </xsl:call-template>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n<xsl:template name=\"length-units\">\n  <xsl:param name=\"length\" select=\"'0pt'\"/>\n  <xsl:param name=\"default.units\" select=\"'px'\"/>\n  <xsl:variable name=\"magnitude\">\n    <xsl:call-template name=\"length-magnitude\">\n      <xsl:with-param name=\"length\" select=\"$length\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"units\">\n    <xsl:value-of select=\"substring($length, string-length($magnitude)+1)\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$units = ''\">\n      <xsl:value-of select=\"$default.units\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$units\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n<xsl:template name=\"length-spec\">\n  <xsl:param name=\"length\" select=\"'0pt'\"/>\n  <xsl:param name=\"default.units\" select=\"'px'\"/>\n\n  <xsl:variable name=\"magnitude\">\n    <xsl:call-template name=\"length-magnitude\">\n      <xsl:with-param name=\"length\" select=\"$length\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"units\">\n    <xsl:value-of select=\"substring($length, string-length($magnitude)+1)\"/>\n  </xsl:variable>\n\n  <xsl:value-of select=\"$magnitude\"/>\n  <xsl:choose>\n    <xsl:when test=\"$units='cm'                     or $units='mm'                     or $units='in'                     or $units='pt'                     or $units='pc'                     or $units='px'                     or $units='em'\">\n      <xsl:value-of select=\"$units\"/>\n    </xsl:when>\n    <xsl:when test=\"$units = ''\">\n      <xsl:value-of select=\"$default.units\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:message>\n        <xsl:text>Unrecognized unit of measure: </xsl:text>\n        <xsl:value-of select=\"$units\"/>\n        <xsl:text>.</xsl:text>\n      </xsl:message>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n<xsl:template name=\"length-in-points\">\n  <xsl:param name=\"length\" select=\"'0pt'\"/>\n  <xsl:param name=\"em.size\" select=\"10\"/>\n  <xsl:param name=\"pixels.per.inch\" select=\"90\"/>\n\n  <xsl:variable name=\"magnitude\">\n    <xsl:call-template name=\"length-magnitude\">\n      <xsl:with-param name=\"length\" select=\"$length\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"units\">\n    <xsl:value-of select=\"substring($length, string-length($magnitude)+1)\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$units = 'pt'\">\n      <xsl:value-of select=\"$magnitude\"/>\n    </xsl:when>\n    <xsl:when test=\"$units = 'cm'\">\n      <xsl:value-of select=\"$magnitude div 2.54 * 72.0\"/>\n    </xsl:when>\n    <xsl:when test=\"$units = 'mm'\">\n      <xsl:value-of select=\"$magnitude div 25.4 * 72.0\"/>\n    </xsl:when>\n    <xsl:when test=\"$units = 'in'\">\n      <xsl:value-of select=\"$magnitude * 72.0\"/>\n    </xsl:when>\n    <xsl:when test=\"$units = 'pc'\">\n      <xsl:value-of select=\"$magnitude * 12.0\"/>\n    </xsl:when>\n    <xsl:when test=\"$units = 'px'\">\n      <xsl:value-of select=\"$magnitude div $pixels.per.inch * 72.0\"/>\n    </xsl:when>\n    <xsl:when test=\"$units = 'em'\">\n      <xsl:value-of select=\"$magnitude * $em.size\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:message>\n        <xsl:text>Unrecognized unit of measure: </xsl:text>\n        <xsl:value-of select=\"$units\"/>\n        <xsl:text>.</xsl:text>\n      </xsl:message>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n<xsl:template name=\"pi-attribute\">\n  <xsl:param name=\"pis\" select=\"processing-instruction('BOGUS_PI')\"/>\n  <xsl:param name=\"attribute\">filename</xsl:param>\n  <xsl:param name=\"count\">1</xsl:param>\n\n  <xsl:choose>\n    <xsl:when test=\"$count&gt;count($pis)\">\n      <!-- not found -->\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:variable name=\"pi\">\n        <xsl:value-of select=\"$pis[$count]\"/>\n      </xsl:variable>\n      <xsl:variable name=\"pivalue\">\n        <xsl:value-of select=\"concat(' ', normalize-space($pi))\"/>\n      </xsl:variable>\n      <xsl:choose>\n        <xsl:when test=\"contains($pivalue,concat(' ', $attribute, '='))\">\n          <xsl:variable name=\"rest\" select=\"substring-after($pivalue,concat(' ', $attribute,'='))\"/>\n          <xsl:variable name=\"quote\" select=\"substring($rest,1,1)\"/>\n          <xsl:value-of select=\"substring-before(substring($rest,2),$quote)\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"pi-attribute\">\n            <xsl:with-param name=\"pis\" select=\"$pis\"/>\n            <xsl:with-param name=\"attribute\" select=\"$attribute\"/>\n            <xsl:with-param name=\"count\" select=\"$count + 1\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n<xsl:template name=\"lookup.key\">\n  <xsl:param name=\"key\" select=\"''\"/>\n  <xsl:param name=\"table\" select=\"''\"/>\n\n  <xsl:if test=\"contains($table, ' ')\">\n    <xsl:choose>\n      <xsl:when test=\"substring-before($table, ' ') = $key\">\n        <xsl:variable name=\"rest\" select=\"substring-after($table, ' ')\"/>\n        <xsl:choose>\n          <xsl:when test=\"contains($rest, ' ')\">\n            <xsl:value-of select=\"substring-before($rest, ' ')\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"$rest\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"lookup.key\">\n          <xsl:with-param name=\"key\" select=\"$key\"/>\n          <xsl:with-param name=\"table\" select=\"substring-after(substring-after($table,' '), ' ')\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:if>\n</xsl:template>\n<xsl:template name=\"xpath.location\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:param name=\"path\" select=\"''\"/>\n\n  <xsl:variable name=\"next.path\">\n    <xsl:value-of select=\"local-name($node)\"/>\n    <xsl:if test=\"$path != ''\">/</xsl:if>\n    <xsl:value-of select=\"$path\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$node/parent::*\">\n      <xsl:call-template name=\"xpath.location\">\n        <xsl:with-param name=\"node\" select=\"$node/parent::*\"/>\n        <xsl:with-param name=\"path\" select=\"$next.path\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:text>/</xsl:text>\n      <xsl:value-of select=\"$next.path\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n<xsl:template name=\"comment-escape-string\">\n  <xsl:param name=\"string\" select=\"''\"/>\n\n  <xsl:if test=\"starts-with($string, '-')\">\n    <xsl:text> </xsl:text>\n  </xsl:if>\n\n  <xsl:call-template name=\"comment-escape-string.recursive\">\n    <xsl:with-param name=\"string\" select=\"$string\"/>\n  </xsl:call-template>\n\n  <xsl:if test=\"substring($string, string-length($string), 1) = '-'\">\n    <xsl:text> </xsl:text>\n  </xsl:if>\n</xsl:template>\n<xsl:template name=\"comment-escape-string.recursive\">\n  <xsl:param name=\"string\" select=\"''\"/>\n  <xsl:choose>\n    <xsl:when test=\"contains($string, '--')\">\n      <xsl:value-of select=\"substring-before($string, '--')\"/>\n      <xsl:value-of select=\"'- -'\"/>\n      <xsl:call-template name=\"comment-escape-string.recursive\">\n        <xsl:with-param name=\"string\" select=\"substring-after($string, '--')\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$string\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n  <xsl:template name=\"str.tokenize.keep.delimiters\">\n    <xsl:param name=\"string\" select=\"''\"/>\n    <xsl:param name=\"delimiters\" select=\"' '\"/>\n    <xsl:choose>\n      <xsl:when test=\"not($string)\"/>\n      <xsl:when test=\"not($delimiters)\">\n        <xsl:call-template name=\"str.tokenize.keep.delimiters-characters\">\n          <xsl:with-param name=\"string\" select=\"$string\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"str.tokenize.keep.delimiters-delimiters\">\n          <xsl:with-param name=\"string\" select=\"$string\"/>\n          <xsl:with-param name=\"delimiters\" select=\"$delimiters\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n  <xsl:template name=\"str.tokenize.keep.delimiters-characters\">\n    <xsl:param name=\"string\"/>\n    <xsl:if test=\"$string\">\n      <ssb:token xmlns:ssb=\"http://sideshowbarker.net/ns\"><xsl:value-of select=\"substring($string, 1, 1)\"/></ssb:token>\n      <xsl:call-template name=\"str.tokenize.keep.delimiters-characters\">\n        <xsl:with-param name=\"string\" select=\"substring($string, 2)\"/>\n      </xsl:call-template>\n    </xsl:if>\n  </xsl:template>\n  <xsl:template name=\"str.tokenize.keep.delimiters-delimiters\">\n    <xsl:param name=\"string\"/>\n    <xsl:param name=\"delimiters\"/>\n    <xsl:variable name=\"delimiter\" select=\"substring($delimiters, 1, 1)\"/>\n    <xsl:choose>\n      <xsl:when test=\"not($delimiter)\">\n        <ssb:token xmlns:ssb=\"http://sideshowbarker.net/ns\"><xsl:value-of select=\"$string\"/></ssb:token>\n      </xsl:when>\n      <xsl:when test=\"contains($string, $delimiter)\">\n        <xsl:if test=\"not(starts-with($string, $delimiter))\">\n          <xsl:call-template name=\"str.tokenize.keep.delimiters-delimiters\">\n            <xsl:with-param name=\"string\" select=\"substring-before($string, $delimiter)\"/>\n            <xsl:with-param name=\"delimiters\" select=\"substring($delimiters, 2)\"/>\n          </xsl:call-template>\n        </xsl:if>\n        <!-- output each delimiter -->\n        <xsl:value-of select=\"$delimiter\"/>\n        <xsl:call-template name=\"str.tokenize.keep.delimiters-delimiters\">\n          <xsl:with-param name=\"string\" select=\"substring-after($string, $delimiter)\"/>\n          <xsl:with-param name=\"delimiters\" select=\"$delimiters\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"str.tokenize.keep.delimiters-delimiters\">\n          <xsl:with-param name=\"string\" select=\"$string\"/>\n          <xsl:with-param name=\"delimiters\" select=\"substring($delimiters, 2)\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n    <xsl:template name=\"apply-string-subst-map\">\n      <xsl:param name=\"content\"/>\n      <xsl:param name=\"map.contents\"/>\n      <xsl:variable name=\"replaced_text\">\n        <xsl:call-template name=\"string.subst\">\n          <xsl:with-param name=\"string\" select=\"$content\"/>\n          <xsl:with-param name=\"target\" select=\"$map.contents[1]/@oldstring\"/>\n          <xsl:with-param name=\"replacement\" select=\"$map.contents[1]/@newstring\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:choose>\n        <xsl:when test=\"$map.contents[2]\">\n          <xsl:call-template name=\"apply-string-subst-map\">\n            <xsl:with-param name=\"content\" select=\"$replaced_text\"/>\n            <xsl:with-param name=\"map.contents\" select=\"$map.contents[position() &gt; 1]\"/>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"$replaced_text\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:template>\n  \n<xsl:template name=\"count.uri.path.depth\">\n  <xsl:param name=\"filename\" select=\"''\"/>\n  <xsl:param name=\"count\" select=\"0\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"contains($filename, '/')\">\n      <xsl:call-template name=\"count.uri.path.depth\">\n        <xsl:with-param name=\"filename\" select=\"substring-after($filename, '/')\"/>\n        <xsl:with-param name=\"count\" select=\"$count + 1\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$count\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n<xsl:template name=\"trim.common.uri.paths\">\n  <xsl:param name=\"uriA\" select=\"''\"/>\n  <xsl:param name=\"uriB\" select=\"''\"/>\n  <xsl:param name=\"return\" select=\"'A'\"/>\n\n  <!-- Resolve any ../ in the path -->\n  <xsl:variable name=\"trimmed.uriA\">\n    <xsl:call-template name=\"resolve.path\">\n      <xsl:with-param name=\"filename\" select=\"$uriA\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"trimmed.uriB\">\n    <xsl:call-template name=\"resolve.path\">\n      <xsl:with-param name=\"filename\" select=\"$uriB\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"contains($trimmed.uriA, '/') and contains($trimmed.uriB, '/')                     and substring-before($trimmed.uriA, '/') = substring-before($trimmed.uriB, '/')\">\n      <xsl:call-template name=\"trim.common.uri.paths\">\n        <xsl:with-param name=\"uriA\" select=\"substring-after($trimmed.uriA, '/')\"/>\n        <xsl:with-param name=\"uriB\" select=\"substring-after($trimmed.uriB, '/')\"/>\n        <xsl:with-param name=\"return\" select=\"$return\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"$return = 'A'\">\n          <xsl:value-of select=\"$trimmed.uriA\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"$trimmed.uriB\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n<xsl:template name=\"resolve.path\">\n  <xsl:param name=\"filename\" select=\"''\"/>\n  <xsl:choose>\n    <!-- Leading .. are not eliminated -->\n    <xsl:when test=\"starts-with($filename, '../')\">\n      <xsl:value-of select=\"'../'\"/>\n      <xsl:call-template name=\"resolve.path\">\n        <xsl:with-param name=\"filename\" select=\"substring-after($filename, '../')\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"contains($filename, '/../')\">\n      <xsl:call-template name=\"resolve.path\">\n        <xsl:with-param name=\"filename\">\n          <xsl:call-template name=\"dirname\">\n            <xsl:with-param name=\"filename\" select=\"substring-before($filename, '/../')\"/>\n          </xsl:call-template>\n          <xsl:value-of select=\"substring-after($filename, '/../')\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$filename\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"dirname\">\n  <xsl:param name=\"filename\" select=\"''\"/>\n  <xsl:if test=\"contains($filename, '/')\">\n    <xsl:value-of select=\"substring-before($filename, '/')\"/>\n    <xsl:text>/</xsl:text>\n    <xsl:call-template name=\"dirname\">\n      <xsl:with-param name=\"filename\" select=\"substring-after($filename, '/')\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n\n  <xsl:template name=\"trim.text\">\n    <xsl:param name=\"contents\" select=\".\"/>\n    <xsl:variable name=\"contents-left-trimmed\">\n      <xsl:call-template name=\"trim-left\">\n        <xsl:with-param name=\"contents\" select=\"$contents\"/>\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:variable name=\"contents-trimmed\">\n      <xsl:call-template name=\"trim-right\">\n        <xsl:with-param name=\"contents\" select=\"$contents-left-trimmed\"/>\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:value-of select=\"$contents-trimmed\"/>\n  </xsl:template>\n\n  <xsl:template name=\"trim-left\">\n    <xsl:param name=\"contents\"/>\n    <xsl:choose>\n      <xsl:when test=\"starts-with($contents,'&#10;') or                       starts-with($contents,'&#13;') or                       starts-with($contents,' ') or                       starts-with($contents,'&#9;')\">\n        <xsl:call-template name=\"trim-left\">\n          <xsl:with-param name=\"contents\" select=\"substring($contents, 2)\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$contents\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n  <xsl:template name=\"trim-right\">\n    <xsl:param name=\"contents\"/>\n    <xsl:variable name=\"last-char\">\n      <xsl:value-of select=\"substring($contents, string-length($contents), 1)\"/>\n    </xsl:variable>\n    <xsl:choose>\n      <xsl:when test=\"($last-char = '&#10;') or                       ($last-char = '&#13;') or                       ($last-char = ' ') or                       ($last-char = '&#9;')\">\n        <xsl:call-template name=\"trim-right\">\n          <xsl:with-param name=\"contents\" select=\"substring($contents, 1, string-length($contents) - 1)\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$contents\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:template>\n\n</xsl:stylesheet>\n\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/admon.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: admon.xsl 9352 2012-05-12 23:17:11Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<xsl:template match=\"*\" mode=\"admon.graphic.width\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:text>25</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"note|important|warning|caution|tip\">\n  <xsl:choose>\n    <xsl:when test=\"$admon.graphics != 0\">\n      <xsl:call-template name=\"graphical.admonition\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"nongraphical.admonition\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"admon.graphic\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:value-of select=\"$admon.graphics.path\"/>\n  <xsl:choose>\n    <xsl:when test=\"local-name($node)='note'\">note</xsl:when>\n    <xsl:when test=\"local-name($node)='warning'\">warning</xsl:when>\n    <xsl:when test=\"local-name($node)='caution'\">caution</xsl:when>\n    <xsl:when test=\"local-name($node)='tip'\">tip</xsl:when>\n    <xsl:when test=\"local-name($node)='important'\">important</xsl:when>\n    <xsl:otherwise>note</xsl:otherwise>\n  </xsl:choose>\n  <xsl:value-of select=\"$admon.graphics.extension\"/>\n</xsl:template>\n\n<xsl:template name=\"graphical.admonition\">\n  <xsl:variable name=\"admon.type\">\n    <xsl:choose>\n      <xsl:when test=\"local-name(.)='note'\">Note</xsl:when>\n      <xsl:when test=\"local-name(.)='warning'\">Warning</xsl:when>\n      <xsl:when test=\"local-name(.)='caution'\">Caution</xsl:when>\n      <xsl:when test=\"local-name(.)='tip'\">Tip</xsl:when>\n      <xsl:when test=\"local-name(.)='important'\">Important</xsl:when>\n      <xsl:otherwise>Note</xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"alt\">\n    <xsl:call-template name=\"gentext\">\n      <xsl:with-param name=\"key\" select=\"$admon.type\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <div>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:if test=\"$admon.style != ''\">\n      <xsl:attribute name=\"style\">\n        <xsl:value-of select=\"$admon.style\"/>\n      </xsl:attribute>\n    </xsl:if>\n\n    <table border=\"{$table.border.off}\">\n      <!-- omit summary attribute in html5 output -->\n      <xsl:if test=\"$div.element != 'section'\">\n        <xsl:attribute name=\"summary\">\n          <xsl:value-of select=\"$admon.type\"/>\n          <xsl:if test=\"title|info/title\">\n            <xsl:text>: </xsl:text>\n            <xsl:value-of select=\"(title|info/title)[1]\"/>\n          </xsl:if>\n        </xsl:attribute>\n      </xsl:if>\n      <tr>\n        <td rowspan=\"2\" align=\"center\" valign=\"top\">\n          \n          <img alt=\"[{$alt}]\">\n            <xsl:attribute name=\"src\">\n              <xsl:call-template name=\"admon.graphic\"/>\n            </xsl:attribute>\n          </img>\n        </td>\n        <th align=\"{$direction.align.start}\">\n          <xsl:call-template name=\"anchor\"/>\n          <xsl:if test=\"$admon.textlabel != 0 or title or info/title\">\n            <xsl:apply-templates select=\".\" mode=\"object.title.markup\"/>\n          </xsl:if>\n        </th>\n      </tr>\n      <tr>\n        <td align=\"{$direction.align.start}\" valign=\"top\">\n          <xsl:apply-templates/>\n        </td>\n      </tr>\n    </table>\n  </div>\n</xsl:template>\n\n<xsl:template name=\"nongraphical.admonition\">\n  <div>\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:if test=\"$admon.style\">\n      <xsl:attribute name=\"style\">\n        <xsl:value-of select=\"$admon.style\"/>\n      </xsl:attribute>\n    </xsl:if>\n\n    <xsl:if test=\"$admon.textlabel != 0 or title or info/title\">\n      <h3 class=\"title\">\n        <xsl:call-template name=\"anchor\"/>\n        <xsl:apply-templates select=\".\" mode=\"object.title.markup\"/>\n      </h3>\n    </xsl:if>\n\n    <xsl:apply-templates/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"note/title\"/>\n<xsl:template match=\"important/title\"/>\n<xsl:template match=\"warning/title\"/>\n<xsl:template match=\"caution/title\"/>\n<xsl:template match=\"tip/title\"/>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/annotations.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<xsl:template name=\"add.annotation.links\">\n  <xsl:param name=\"scripts\" select=\"normalize-space($annotation.js)\"/>\n  <xsl:choose>\n    <xsl:when test=\"contains($scripts, ' ')\">\n      <script type=\"text/javascript\" src=\"{substring-before($scripts, ' ')}\"/>\n      <xsl:call-template name=\"add.annotation.links\">\n        <xsl:with-param name=\"scripts\" select=\"substring-after($scripts, ' ')\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <script type=\"text/javascript\" src=\"{$scripts}\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"annotation\"/>\n\n<xsl:template name=\"apply-annotations\">\n  <xsl:if test=\"$annotation.support != 0\">\n  <!-- do any annotations apply to the context node? -->\n  <xsl:variable name=\"id\" select=\"(@id|@xml:id)[1]\"/>\n\n  <xsl:variable name=\"aids\">\n    <xsl:for-each select=\"//annotation\">\n      <xsl:if test=\"@annotates=$id                     or starts-with(@annotates, concat($id, ' '))                     or contains(@annotates, concat(' ', $id, ' '))                     or substring(@annotates, string-length(@annotates)-3)                        = concat(' ', $id)\">\n        <xsl:value-of select=\"generate-id()\"/>\n        <xsl:text> </xsl:text>\n      </xsl:if>\n    </xsl:for-each>\n    <xsl:if test=\"normalize-space(@annotations) != ''\">\n      <xsl:call-template name=\"annotations-pointed-to\">\n        <xsl:with-param name=\"annotations\" select=\"normalize-space(@annotations)\"/>\n      </xsl:call-template>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:if test=\"$aids != ''\">\n    <xsl:call-template name=\"apply-annotations-by-gid\">\n      <xsl:with-param name=\"gids\" select=\"normalize-space($aids)\"/>\n    </xsl:call-template>\n  </xsl:if>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"annotations-pointed-to\">\n  <xsl:param name=\"annotations\"/>\n  <xsl:choose>\n    <xsl:when test=\"contains($annotations, ' ')\">\n      <xsl:variable name=\"a\" select=\"key('id', substring-before($annotations, ' '))\"/>\n      <xsl:if test=\"$a\">\n        <xsl:value-of select=\"generate-id($a)\"/>\n        <xsl:text> </xsl:text>\n      </xsl:if>\n      <xsl:call-template name=\"annotations-pointed-to\">\n        <xsl:with-param name=\"annotations\" select=\"substring-after($annotations, ' ')\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:variable name=\"a\" select=\"key('id', $annotations)\"/>\n      <xsl:if test=\"$a\">\n        <xsl:value-of select=\"generate-id($a)\"/>\n        <xsl:text> </xsl:text>\n      </xsl:if>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"apply-annotations-by-gid\">\n  <xsl:param name=\"gids\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"contains($gids, ' ')\">\n      <xsl:variable name=\"gid\" select=\"substring-before($gids, ' ')\"/>\n      <xsl:apply-templates select=\"key('gid', $gid)\" mode=\"annotation-inline\"/>\n      <xsl:call-template name=\"apply-annotations-by-gid\">\n        <xsl:with-param name=\"gids\" select=\"substring-after($gids, ' ')\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates select=\"key('gid', $gids)\" mode=\"annotation-inline\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"annotation\" mode=\"annotation-inline\">\n  <xsl:variable name=\"title\">\n    <xsl:choose>\n      <xsl:when test=\"title\">\n        <xsl:value-of select=\"title\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:text>[Annotation #</xsl:text>\n        <xsl:number count=\"annotation\" level=\"any\" format=\"1\"/>\n        <xsl:text>]</xsl:text>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <a id=\"anch-{generate-id(.)}\" href=\"#annot-{generate-id(.)}\" title=\"{$title}\">\n    <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n    <xsl:attribute name=\"onClick\">\n      <xsl:text>popup_</xsl:text>\n      <xsl:value-of select=\"generate-id(.)\"/>\n      <xsl:text>.showPopup('anch-</xsl:text>\n      <xsl:value-of select=\"generate-id(.)\"/>\n      <xsl:text>'); return false;</xsl:text>\n    </xsl:attribute>\n    <img src=\"{$annotation.graphic.open}\" alt=\"{$title}\"/>\n  </a>\n</xsl:template>\n\n<xsl:template match=\"annotation\" mode=\"annotation-popup\">\n  <div class=\"annotation-nocss\">\n    <p>\n      <a id=\"annot-{generate-id(.)}\"/>\n      <xsl:text>Annotation #</xsl:text>\n      <xsl:number count=\"annotation\" level=\"any\" format=\"1\"/>\n      <xsl:text>:</xsl:text>\n    </p>\n  </div>\n\n  <div id=\"popup-{generate-id(.)}\" class=\"annotation-popup\">\n    <xsl:if test=\"string-length(.) &gt; 300\">\n      <xsl:attribute name=\"style\">width:400px</xsl:attribute>\n    </xsl:if>\n\n    <xsl:call-template name=\"annotation-title\"/>\n    <div class=\"annotation-body\">\n      <xsl:apply-templates select=\"*[local-name(.) != 'title']\"/>\n    </div>\n    <div class=\"annotation-close\">\n      <a href=\"#\" onclick=\"popup_{generate-id(.)}.hidePopup();return false;\">\n        <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n        <img src=\"{$annotation.graphic.close}\" alt=\"X\"/>\n      </a>\n    </div>\n  </div>\n</xsl:template>\n\n<xsl:template name=\"annotation-title\">\n  <div class=\"annotation-title\">\n    <xsl:choose>\n      <xsl:when test=\"title\">\n        <xsl:apply-templates select=\"title/node()\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:text>Annotation</xsl:text>\n      </xsl:otherwise>\n    </xsl:choose>\n  </div>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/autoidx-kimber.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:k=\"http://www.isogen.com/functions/com.isogen.saxoni18n.Saxoni18nService\" xmlns=\"http://www.w3.org/1999/xhtml\" exclude-result-prefixes=\"k\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: autoidx-kimber.xsl 8729 2010-07-15 16:43:56Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n<!-- The \"kimber\" method contributed by Eliot Kimber of Innodata Isogen.  -->\n<!-- ==================================================================== -->\n<!--   *** THIS MODULE ONLY WORKS WITH SAXON 6 OR SAXON 8 ***             -->\n<!-- ==================================================================== -->\n\n\n<xsl:include href=\"../common/autoidx-kimber.xsl\"/>\n\n<!-- Java sort apparently works only on lang part, not country -->\n<xsl:param name=\"sort.lang\">\n  <xsl:choose>\n    <xsl:when test=\"contains(concat(/*/@lang, /*/@xml:lang), '-')\">\n      <xsl:value-of select=\"substring-before(concat(/*/@lang, /*/@xml:lang), '-')\"/>\n    </xsl:when>\n    <xsl:when test=\"contains(concat(/*/@lang, /*/@xml:lang), '_')\">\n      <xsl:value-of select=\"substring-before(concat(/*/@lang, /*/@xml:lang), '_')\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"concat(/*/@lang, /*/@xml:lang)\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:param>\n\n<xsl:template name=\"generate-kimber-index\">\n  <xsl:param name=\"scope\" select=\"NOTANODE\"/>\n\n  <xsl:variable name=\"vendor\" select=\"system-property('xsl:vendor')\"/>\n  <xsl:if test=\"not(contains($vendor, 'SAXON '))\">\n    <xsl:message terminate=\"yes\">\n      <xsl:text>ERROR: the 'kimber' index method requires the </xsl:text>\n      <xsl:text>Saxon version 6 or 8 XSLT processor.</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n  <xsl:if test=\"not(function-available('k:getIndexGroupKey'))\">\n    <xsl:message terminate=\"yes\">\n      <xsl:text>ERROR: the 'kimber' index method requires the </xsl:text>\n      <xsl:text>Innodata Isogen \nJava extensions for </xsl:text>\n      <xsl:text>internationalized indexes. \nInstall those </xsl:text>\n      <xsl:text>extensions, or use a different index method.\n</xsl:text>\n      <xsl:text>For more information, see:\n</xsl:text>\n      <xsl:text>http://www.innodata-isogen.com/knowledge_center/tools_downloads/i18nsupport</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n  <xsl:variable name=\"role\">\n    <xsl:if test=\"$index.on.role != 0\">\n      <xsl:value-of select=\"@role\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"type\">\n    <xsl:if test=\"$index.on.type != 0\">\n      <xsl:value-of select=\"@type\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"terms\" select=\"//indexterm[count(.|key('k-group', k:getIndexGroupKey(concat(/*/@lang, /*/@xml:lang), normalize-space(concat(primary/@sortas, &quot; &quot;, primary))))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1 and not(@class = 'endofrange')]\"/>\n\n  <xsl:variable name=\"alphabetical\" select=\"$terms[not(starts-with(                 k:getIndexGroupKey(concat(/*/@lang, /*/@xml:lang), normalize-space(concat(primary/@sortas, &quot; &quot;, primary))),                 '#NUMERIC'                 ))]\"/>\n\n  <xsl:variable name=\"others\" select=\"$terms[starts-with(                 k:getIndexGroupKey(concat(/*/@lang, /*/@xml:lang), normalize-space(concat(primary/@sortas, &quot; &quot;, primary))),                 '#NUMERIC'                 )]\"/>\n\n  <div class=\"index\">\n    <xsl:if test=\"$others\">\n      <div class=\"indexdev\">\n        <h3>\n          <xsl:call-template name=\"gentext\">\n            <xsl:with-param name=\"key\" select=\"'index symbols'\"/>\n          </xsl:call-template>\n        </h3>\n        <dl>\n          <xsl:apply-templates select=\"$others\" mode=\"index-symbol-div\">\n            <xsl:with-param name=\"scope\" select=\"$scope\"/>\n            <xsl:with-param name=\"role\" select=\"$role\"/>\n            <xsl:with-param name=\"type\" select=\"$type\"/>\n            <xsl:sort lang=\"{$sort.lang}\" select=\"k:getIndexGroupSortKey(concat(/*/@lang, /*/@xml:lang),                         k:getIndexGroupKey(concat(/*/@lang, /*/@xml:lang), normalize-space(concat(primary/@sortas, &quot; &quot;, primary))))\"/>\n          </xsl:apply-templates>\n        </dl>\n      </div>\n    </xsl:if>\n\n    <xsl:apply-templates select=\"$alphabetical\" mode=\"index-div-kimber\">\n      <xsl:with-param name=\"scope\" select=\"$scope\"/>\n      <xsl:with-param name=\"role\" select=\"$role\"/>\n      <xsl:with-param name=\"type\" select=\"$type\"/>\n      <xsl:sort lang=\"{$sort.lang}\" select=\"k:getIndexGroupSortKey(concat(/*/@lang, /*/@xml:lang),                      k:getIndexGroupKey(concat(/*/@lang, /*/@xml:lang), normalize-space(concat(primary/@sortas, &quot; &quot;, primary))))\"/>\n    </xsl:apply-templates>\n  </div>\n\n</xsl:template>\n\n<xsl:template match=\"indexterm\" mode=\"index-div-kimber\">\n  <xsl:param name=\"scope\" select=\".\"/>\n  <xsl:param name=\"role\" select=\"''\"/>\n  <xsl:param name=\"type\" select=\"''\"/>\n\n  <xsl:variable name=\"key\" select=\"k:getIndexGroupKey(concat(/*/@lang, /*/@xml:lang), normalize-space(concat(primary/@sortas, &quot; &quot;, primary)))\"/>\n\n  <xsl:variable name=\"label\" select=\"k:getIndexGroupLabel(concat(/*/@lang, /*/@xml:lang), $key)\"/>\n\n  <xsl:if test=\"key('k-group', $label)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][count(.|key('primary', normalize-space(concat(primary/@sortas, &quot; &quot;, primary)))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1]\">\n    <div class=\"indexdiv\">\n      <h3>\n        <xsl:value-of select=\"$label\"/>\n      </h3>\n      <dl>\n        <xsl:apply-templates select=\"key('k-group', $key)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]                             [count(.|key('primary', normalize-space(concat(primary/@sortas, &quot; &quot;, primary)))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]                             [1])=1]\" mode=\"index-primary\">\n          <xsl:sort select=\"normalize-space(concat(primary/@sortas, &quot; &quot;, primary))\" lang=\"{$sort.lang}\"/>\n          <xsl:with-param name=\"scope\" select=\"$scope\"/>\n          <xsl:with-param name=\"role\" select=\"$role\"/>\n          <xsl:with-param name=\"type\" select=\"$type\"/>\n        </xsl:apply-templates>\n      </dl>\n    </div>\n  </xsl:if>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/autoidx-kosek.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:i=\"urn:cz-kosek:functions:index\" xmlns:l=\"http://docbook.sourceforge.net/xmlns/l10n/1.0\" xmlns:func=\"http://exslt.org/functions\" xmlns:k=\"http://www.isogen.com/functions/com.isogen.saxoni18n.Saxoni18nService\" xmlns:exslt=\"http://exslt.org/common\" xmlns=\"http://www.w3.org/1999/xhtml\" extension-element-prefixes=\"func exslt\" exclude-result-prefixes=\"func exslt i l k\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: autoidx-kosek.xsl 8725 2010-07-15 08:08:04Z kosek $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n<!-- The \"kosek\" method contributed by Jirka Kosek. -->\n\n<xsl:include href=\"../common/autoidx-kosek.xsl\"/>\n\n<xsl:template name=\"generate-kosek-index\">\n  <xsl:param name=\"scope\" select=\"(ancestor::book|/)[last()]\"/>\n\n  <xsl:variable name=\"vendor\" select=\"system-property('xsl:vendor')\"/>\n  <xsl:if test=\"contains($vendor, 'libxslt')\">\n    <xsl:message terminate=\"yes\">\n      <xsl:text>ERROR: the 'kosek' index method does not </xsl:text>\n      <xsl:text>work with the xsltproc XSLT processor.</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n  <xsl:if test=\"contains($vendor, 'Saxonica')\">\n    <xsl:message terminate=\"yes\">\n      <xsl:text>ERROR: the 'kosek' index method does not </xsl:text>\n      <xsl:text>work with the Saxon 8 XSLT processor.</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n  <xsl:if test=\"$exsl.node.set.available = 0\">\n    <xsl:message terminate=\"yes\">\n      <xsl:text>ERROR: the 'kosek' index method requires the </xsl:text>\n      <xsl:text>exslt:node-set() function. Use a processor that </xsl:text>\n      <xsl:text>has it, or use a different index method.</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n  <xsl:if test=\"not(function-available('i:group-index'))\">\n    <xsl:message terminate=\"yes\">\n      <xsl:text>ERROR: the 'kosek' index method requires the\n</xsl:text>\n      <xsl:text>index extension functions be imported:\n</xsl:text>\n      <xsl:text>  xsl:import href=\"common/autoidx-kosek.xsl\"</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n  <xsl:variable name=\"role\">\n    <xsl:if test=\"$index.on.role != 0\">\n      <xsl:value-of select=\"@role\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"type\">\n    <xsl:if test=\"$index.on.type != 0\">\n      <xsl:value-of select=\"@type\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"terms\" select=\"//indexterm[count(.|key('group-code', i:group-index(normalize-space(concat(primary/@sortas, &quot; &quot;, primary))))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1 and not(@class = 'endofrange')]\"/>\n\n  <div class=\"index\">\n    <xsl:apply-templates select=\"$terms\" mode=\"index-div-kosek\">\n      <xsl:with-param name=\"scope\" select=\"$scope\"/>\n      <xsl:with-param name=\"role\" select=\"$role\"/>\n      <xsl:with-param name=\"type\" select=\"$type\"/>\n      <xsl:sort select=\"i:group-index(normalize-space(concat(primary/@sortas, &quot; &quot;, primary)))\" data-type=\"number\"/>\n    </xsl:apply-templates>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"indexterm\" mode=\"index-div-kosek\">\n  <xsl:param name=\"scope\" select=\".\"/>\n  <xsl:param name=\"role\" select=\"''\"/>\n  <xsl:param name=\"type\" select=\"''\"/>\n\n  <xsl:variable name=\"key\" select=\"i:group-index(normalize-space(concat(primary/@sortas, &quot; &quot;, primary)))\"/>\n\n  <xsl:variable name=\"lang\">\n    <xsl:call-template name=\"l10n.language\"/>\n  </xsl:variable>\n\n  <xsl:if test=\"key('group-code', $key)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][count(.|key('primary', normalize-space(concat(primary/@sortas, &quot; &quot;, primary)))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1]\">\n    <div class=\"indexdiv\">\n      <h3>\n        <xsl:value-of select=\"i:group-letter($key)\"/>\n      </h3>\n      <dl>\n        <xsl:apply-templates select=\"key('group-code', $key)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][count(.|key('primary', normalize-space(concat(primary/@sortas, &quot; &quot;, primary)))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])=1]\" mode=\"index-primary\">\n          <xsl:sort select=\"normalize-space(concat(primary/@sortas, &quot; &quot;, primary))\" lang=\"{$lang}\"/>\n          <xsl:with-param name=\"scope\" select=\"$scope\"/>\n          <xsl:with-param name=\"role\" select=\"$role\"/>\n          <xsl:with-param name=\"type\" select=\"$type\"/>\n        </xsl:apply-templates>\n      </dl>\n    </div>\n  </xsl:if>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/autoidx-ng.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: autoidx-ng.xsl 6910 2007-06-28 23:23:30Z xmldoc $\n     ********************************************************************\n\n     This file is part of the DocBook XSL Stylesheet distribution.\n     See ../README or http://docbook.sf.net/ for copyright\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- You should have this directly in your customization file. -->\n<!-- This file is there only to retain backward compatibility. -->\n<xsl:import href=\"autoidx-kosek.xsl\"/>\n<xsl:param name=\"index.method\">kosek</xsl:param>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/autoidx.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?><!--This file was created automatically by html2xhtml--><!--from the HTML stylesheets.--><xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:exslt=\"http://exslt.org/common\" xmlns=\"http://www.w3.org/1999/xhtml\" extension-element-prefixes=\"exslt\" exclude-result-prefixes=\"exslt\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: autoidx.xsl 9707 2013-01-21 17:18:44Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n<!-- The \"basic\" method derived from Jeni Tennison's work. -->\n<!-- The \"kosek\" method contributed by Jirka Kosek. -->\n<!-- The \"kimber\" method contributed by Eliot Kimber of Innodata Isogen. -->\n\n<xsl:variable name=\"kimber.imported\" select=\"0\"/>\n<xsl:variable name=\"kosek.imported\" select=\"0\"/>\n\n<xsl:key name=\"letter\" match=\"indexterm\" use=\"translate(substring(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), 1, 1),'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;','AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')\"/>\n\n<xsl:key name=\"primary\" match=\"indexterm\" use=\"normalize-space(concat(primary/@sortas, &#34; &#34;, primary))\"/>\n\n<xsl:key name=\"secondary\" match=\"indexterm\" use=\"concat(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), &#34; &#34;, normalize-space(concat(secondary/@sortas, &#34; &#34;, secondary)))\"/>\n\n<xsl:key name=\"tertiary\" match=\"indexterm\" use=\"concat(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), &#34; &#34;, normalize-space(concat(secondary/@sortas, &#34; &#34;, secondary)), &#34; &#34;, normalize-space(concat(tertiary/@sortas, &#34; &#34;, tertiary)))\"/>\n\n<xsl:key name=\"endofrange\" match=\"indexterm[@class='endofrange']\" use=\"@startref\"/>\n\n<xsl:key name=\"primary-section\" match=\"indexterm[not(secondary) and not(see)]\" use=\"concat(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), &#34; &#34;, generate-id((ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage|ancestor-or-self::topic)[last()]))\"/>\n\n<xsl:key name=\"secondary-section\" match=\"indexterm[not(tertiary) and not(see)]\" use=\"concat(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), &#34; &#34;, normalize-space(concat(secondary/@sortas, &#34; &#34;, secondary)), &#34; &#34;, generate-id((ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage|ancestor-or-self::topic)[last()]))\"/>\n\n<xsl:key name=\"tertiary-section\" match=\"indexterm[not(see)]\" use=\"concat(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), &#34; &#34;, normalize-space(concat(secondary/@sortas, &#34; &#34;, secondary)), &#34; &#34;, normalize-space(concat(tertiary/@sortas, &#34; &#34;, tertiary)), &#34; &#34;, generate-id((ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage|ancestor-or-self::topic)[last()]))\"/>\n\n<xsl:key name=\"see-also\" match=\"indexterm[seealso]\" use=\"concat(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), &#34; &#34;, normalize-space(concat(secondary/@sortas, &#34; &#34;, secondary)), &#34; &#34;, normalize-space(concat(tertiary/@sortas, &#34; &#34;, tertiary)), &#34; &#34;, seealso)\"/>\n\n<xsl:key name=\"see\" match=\"indexterm[see]\" use=\"concat(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), &#34; &#34;, normalize-space(concat(secondary/@sortas, &#34; &#34;, secondary)), &#34; &#34;, normalize-space(concat(tertiary/@sortas, &#34; &#34;, tertiary)), &#34; &#34;, see)\"/>\n\n<xsl:key name=\"sections\" match=\"*[@id or @xml:id]\" use=\"@id|@xml:id\"/>\n\n\n<xsl:template name=\"generate-index\">\n  <xsl:param name=\"scope\" select=\"(ancestor::book|/)[last()]\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$index.method = 'kosek'\">\n      <xsl:call-template name=\"generate-kosek-index\">\n        <xsl:with-param name=\"scope\" select=\"$scope\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"$index.method = 'kimber'\">\n      <xsl:call-template name=\"generate-kimber-index\">\n        <xsl:with-param name=\"scope\" select=\"$scope\"/>\n      </xsl:call-template>\n    </xsl:when>\n\n    <xsl:otherwise>\n      <xsl:call-template name=\"generate-basic-index\">\n        <xsl:with-param name=\"scope\" select=\"$scope\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n      \n<xsl:template name=\"generate-basic-index\">\n  <xsl:param name=\"scope\" select=\"NOTANODE\"/>\n\n  <xsl:variable name=\"role\">\n    <xsl:if test=\"$index.on.role != 0\">\n      <xsl:value-of select=\"@role\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"type\">\n    <xsl:if test=\"$index.on.type != 0\">\n      <xsl:value-of select=\"@type\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"terms\" select=\"//indexterm                         [count(.|key('letter',                           translate(substring(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), 1, 1),                              'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;',                              'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'))                           [count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1                           and not(@class = 'endofrange')]\"/>\n\n  <xsl:variable name=\"alphabetical\" select=\"$terms[contains(concat('Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'),                                         substring(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), 1, 1))]\"/>\n\n  <xsl:variable name=\"others\" select=\"$terms[not(contains(concat('Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;',                                                  'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'),                                              substring(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), 1, 1)))]\"/>\n  <div class=\"index\">\n    <xsl:if test=\"$others\">\n      <xsl:choose>\n        <xsl:when test=\"normalize-space($type) != '' and                          $others[@type = $type][count(.|key('primary', normalize-space(concat(primary/@sortas, &#34; &#34;, primary)))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1]\">\n          <div class=\"indexdiv\">\n            <h3>\n              <xsl:call-template name=\"gentext\">\n                <xsl:with-param name=\"key\" select=\"'index symbols'\"/>\n              </xsl:call-template>\n            </h3>\n            <dl>\n              <xsl:apply-templates select=\"$others[count(.|key('primary', normalize-space(concat(primary/@sortas, &#34; &#34;, primary)))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1]\" mode=\"index-symbol-div\">\n                <xsl:with-param name=\"position\" select=\"position()\"/>                                \n                <xsl:with-param name=\"scope\" select=\"$scope\"/>\n                <xsl:with-param name=\"role\" select=\"$role\"/>\n                <xsl:with-param name=\"type\" select=\"$type\"/>\n                <xsl:sort select=\"translate(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')\"/>\n              </xsl:apply-templates>\n            </dl>\n          </div>\n        </xsl:when>\n        <xsl:when test=\"normalize-space($type) != ''\"> \n          <!-- Output nothing, as there isn't a match for $other using this $type -->\n        </xsl:when>  \n        <xsl:otherwise>\n          <div class=\"indexdiv\">\n            <h3>\n              <xsl:call-template name=\"gentext\">\n                <xsl:with-param name=\"key\" select=\"'index symbols'\"/>\n              </xsl:call-template>\n            </h3>\n            <dl>\n              <xsl:apply-templates select=\"$others[count(.|key('primary',                                           normalize-space(concat(primary/@sortas, &#34; &#34;, primary)))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1]\" mode=\"index-symbol-div\">\n                <xsl:with-param name=\"position\" select=\"position()\"/>                                \n                <xsl:with-param name=\"scope\" select=\"$scope\"/>\n                <xsl:with-param name=\"role\" select=\"$role\"/>\n                <xsl:with-param name=\"type\" select=\"$type\"/>\n                <xsl:sort select=\"translate(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')\"/>\n              </xsl:apply-templates>\n            </dl>\n          </div>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:if>\n\n    <xsl:apply-templates select=\"$alphabetical[count(.|key('letter',                                  translate(substring(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), 1, 1),                                            'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;','AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1]\" mode=\"index-div-basic\">\n      <xsl:with-param name=\"position\" select=\"position()\"/>\n      <xsl:with-param name=\"scope\" select=\"$scope\"/>\n      <xsl:with-param name=\"role\" select=\"$role\"/>\n      <xsl:with-param name=\"type\" select=\"$type\"/>\n      <xsl:sort select=\"translate(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')\"/>\n    </xsl:apply-templates>\n  </div>\n</xsl:template>\n\n<!-- This template not used if html/autoidx-kosek.xsl is imported -->\n<xsl:template name=\"generate-kosek-index\">\n  <xsl:param name=\"scope\" select=\"NOTANODE\"/>\n\n  <xsl:variable name=\"vendor\" select=\"system-property('xsl:vendor')\"/>\n  <xsl:if test=\"contains($vendor, 'libxslt')\">\n    <xsl:message terminate=\"yes\">\n      <xsl:text>ERROR: the 'kosek' index method does not </xsl:text>\n      <xsl:text>work with the xsltproc XSLT processor.</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n\n  <xsl:if test=\"$exsl.node.set.available = 0\">\n    <xsl:message terminate=\"yes\">\n      <xsl:text>ERROR: the 'kosek' index method requires the </xsl:text>\n      <xsl:text>exslt:node-set() function. Use a processor that </xsl:text>\n      <xsl:text>has it, or use a different index method.</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n  <xsl:if test=\"$kosek.imported = 0\">\n    <xsl:message terminate=\"yes\">\n      <xsl:text>ERROR: the 'kosek' index method requires the\n</xsl:text>\n      <xsl:text>kosek index extensions be imported:\n</xsl:text>\n      <xsl:text>  xsl:import href=\"html/autoidx-kosek.xsl\"</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n</xsl:template>\n\n<!-- This template not used if html/autoidx-kimber.xsl is imported -->\n<xsl:template name=\"generate-kimber-index\">\n  <xsl:param name=\"scope\" select=\"NOTANODE\"/>\n\n  <xsl:variable name=\"vendor\" select=\"system-property('xsl:vendor')\"/>\n  <xsl:if test=\"not(contains($vendor, 'SAXON '))\">\n    <xsl:message terminate=\"yes\">\n      <xsl:text>ERROR: the 'kimber' index method requires the </xsl:text>\n      <xsl:text>Saxon version 6 or 8 XSLT processor.</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n  <xsl:if test=\"$kimber.imported = 0\">\n    <xsl:message terminate=\"yes\">\n      <xsl:text>ERROR: the 'kimber' index method requires the\n</xsl:text>\n      <xsl:text>kimber index extensions be imported:\n</xsl:text>\n      <xsl:text>  xsl:import href=\"html/autoidx-kimber.xsl\"</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n</xsl:template>\n\n<xsl:template match=\"indexterm\" mode=\"index-div-basic\">\n  <xsl:param name=\"scope\" select=\".\"/>\n  <xsl:param name=\"role\" select=\"''\"/>\n  <xsl:param name=\"type\" select=\"''\"/>\n\n  <xsl:variable name=\"key\" select=\"translate(substring(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), 1, 1),                          'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;','AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')\"/>\n\n  <xsl:if test=\"key('letter', $key)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]                 [count(.|key('primary', normalize-space(concat(primary/@sortas, &#34; &#34;, primary)))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1]\">\n    <div class=\"indexdiv\">\n      <xsl:if test=\"contains(concat('Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'), $key)\">\n        <h3>\n          <xsl:value-of select=\"translate($key, 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')\"/>\n        </h3>\n      </xsl:if>\n      <dl>\n        <xsl:apply-templates select=\"key('letter', $key)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]                                      [count(.|key('primary', normalize-space(concat(primary/@sortas, &#34; &#34;, primary)))                                      [count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])=1]\" mode=\"index-primary\">\n          <xsl:with-param name=\"position\" select=\"position()\"/>\n          <xsl:with-param name=\"scope\" select=\"$scope\"/>\n          <xsl:with-param name=\"role\" select=\"$role\"/>\n          <xsl:with-param name=\"type\" select=\"$type\"/>\n          <xsl:sort select=\"translate(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')\"/>\n        </xsl:apply-templates>\n      </dl>\n    </div>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"indexterm\" mode=\"index-symbol-div\">\n  <xsl:param name=\"scope\" select=\"/\"/>\n  <xsl:param name=\"role\" select=\"''\"/>\n  <xsl:param name=\"type\" select=\"''\"/>\n\n  <xsl:variable name=\"key\" select=\"translate(substring(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), 1, 1),                                              'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;','AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')\"/>\n\n  <xsl:apply-templates select=\"key('letter', $key)                                [count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][count(.|key('primary', normalize-space(concat(primary/@sortas, &#34; &#34;, primary)))[1]) = 1]\" mode=\"index-primary\">\n    <xsl:with-param name=\"position\" select=\"position()\"/>\n    <xsl:with-param name=\"scope\" select=\"$scope\"/>\n    <xsl:with-param name=\"role\" select=\"$role\"/>\n    <xsl:with-param name=\"type\" select=\"$type\"/>\n    <xsl:sort select=\"translate(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"indexterm\" mode=\"index-primary\">\n  <xsl:param name=\"scope\" select=\".\"/>\n  <xsl:param name=\"role\" select=\"''\"/>\n  <xsl:param name=\"type\" select=\"''\"/>\n\n  <xsl:variable name=\"key\" select=\"normalize-space(concat(primary/@sortas, &#34; &#34;, primary))\"/>\n  <xsl:variable name=\"refs\" select=\"key('primary', $key)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]\"/>\n  <dt>\n    <xsl:for-each select=\"$refs/primary\">\n      <xsl:if test=\"@id or @xml:id\">\n        <xsl:choose>\n          <xsl:when test=\"$generate.id.attributes = 0\">\n            <a id=\"{(@id|@xml:id)[1]}\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <span>\n              <xsl:call-template name=\"id.attribute\"/>\n            </span>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:if>\n    </xsl:for-each>\n    <xsl:value-of select=\"primary\"/>\n    <xsl:choose>\n      <xsl:when test=\"$index.links.to.section = 1\">\n        <xsl:for-each select=\"$refs[@zone != '' or generate-id() = generate-id(key('primary-section', concat($key, &#34; &#34;, generate-id((ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage|ancestor-or-self::topic)[last()])))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])]\">\n          <xsl:apply-templates select=\".\" mode=\"reference\">\n            <xsl:with-param name=\"position\" select=\"position()\"/>\n            <xsl:with-param name=\"scope\" select=\"$scope\"/>\n            <xsl:with-param name=\"role\" select=\"$role\"/>\n            <xsl:with-param name=\"type\" select=\"$type\"/>\n          </xsl:apply-templates>\n        </xsl:for-each>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:for-each select=\"$refs[not(see)                                and not(secondary)][count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]\">\n          <xsl:apply-templates select=\".\" mode=\"reference\">\n            <xsl:with-param name=\"position\" select=\"position()\"/>\n            <xsl:with-param name=\"scope\" select=\"$scope\"/>\n            <xsl:with-param name=\"role\" select=\"$role\"/>\n            <xsl:with-param name=\"type\" select=\"$type\"/>\n          </xsl:apply-templates>\n        </xsl:for-each>\n      </xsl:otherwise>\n    </xsl:choose>\n\n    <xsl:if test=\"$refs[not(secondary)]/*[self::see]\">\n      <xsl:apply-templates select=\"$refs[generate-id() = generate-id(key('see', concat(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), &#34; &#34;, &#34; &#34;, &#34; &#34;, see))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])]\" mode=\"index-see\">\n        <xsl:with-param name=\"position\" select=\"position()\"/>\n        <xsl:with-param name=\"scope\" select=\"$scope\"/>\n        <xsl:with-param name=\"role\" select=\"$role\"/>\n        <xsl:with-param name=\"type\" select=\"$type\"/>\n        <xsl:sort select=\"translate(see, 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')\"/>\n      </xsl:apply-templates>\n    </xsl:if>\n  </dt>\n  <xsl:choose>\n    <xsl:when test=\"$refs/secondary or $refs[not(secondary)]/*[self::seealso]\">\n      <dd>\n        <dl>\n          <xsl:apply-templates select=\"$refs[generate-id() = generate-id(key('see-also', concat(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), &#34; &#34;, &#34; &#34;, &#34; &#34;, seealso))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])]\" mode=\"index-seealso\">\n            <xsl:with-param name=\"position\" select=\"position()\"/>\n            <xsl:with-param name=\"scope\" select=\"$scope\"/>\n            <xsl:with-param name=\"role\" select=\"$role\"/>\n            <xsl:with-param name=\"type\" select=\"$type\"/>\n            <xsl:sort select=\"translate(seealso, 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')\"/>\n          </xsl:apply-templates>\n          <xsl:apply-templates select=\"$refs[secondary and count(.|key('secondary', concat($key, &#34; &#34;, normalize-space(concat(secondary/@sortas, &#34; &#34;, secondary))))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1]\" mode=\"index-secondary\">\n            <xsl:with-param name=\"position\" select=\"position()\"/>\n            <xsl:with-param name=\"scope\" select=\"$scope\"/>\n            <xsl:with-param name=\"role\" select=\"$role\"/>\n            <xsl:with-param name=\"type\" select=\"$type\"/>\n            <xsl:sort select=\"translate(normalize-space(concat(secondary/@sortas, &#34; &#34;, secondary)), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')\"/>\n          </xsl:apply-templates>\n        </dl>\n      </dd>\n    </xsl:when>\n    <!-- HTML5 requires dd for each dt -->\n    <xsl:when test=\"$div.element = 'section'\">\n      <dd/>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"indexterm\" mode=\"index-secondary\">\n  <xsl:param name=\"scope\" select=\".\"/>\n  <xsl:param name=\"role\" select=\"''\"/>\n  <xsl:param name=\"type\" select=\"''\"/>\n\n  <xsl:variable name=\"key\" select=\"concat(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), &#34; &#34;, normalize-space(concat(secondary/@sortas, &#34; &#34;, secondary)))\"/>\n  <xsl:variable name=\"refs\" select=\"key('secondary', $key)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]\"/>\n  <dt>\n    <xsl:for-each select=\"$refs/secondary\">\n      <xsl:if test=\"@id or @xml:id\">\n        <xsl:choose>\n          <xsl:when test=\"$generate.id.attributes = 0\">\n            <a id=\"{(@id|@xml:id)[1]}\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <span>\n              <xsl:call-template name=\"id.attribute\"/>\n            </span>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:if>\n    </xsl:for-each>\n    <xsl:value-of select=\"secondary\"/>\n    <xsl:choose>\n      <xsl:when test=\"$index.links.to.section = 1\">\n        <xsl:for-each select=\"$refs[@zone != '' or generate-id() = generate-id(key('secondary-section', concat($key, &#34; &#34;, generate-id((ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage|ancestor-or-self::topic)[last()])))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])]\">\n          <xsl:apply-templates select=\".\" mode=\"reference\">\n            <xsl:with-param name=\"position\" select=\"position()\"/>\n            <xsl:with-param name=\"scope\" select=\"$scope\"/>\n            <xsl:with-param name=\"role\" select=\"$role\"/>\n            <xsl:with-param name=\"type\" select=\"$type\"/>\n          </xsl:apply-templates>\n        </xsl:for-each>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:for-each select=\"$refs[not(see)                                  and not(tertiary)][count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]\">\n          <xsl:apply-templates select=\".\" mode=\"reference\">\n            <xsl:with-param name=\"position\" select=\"position()\"/>\n            <xsl:with-param name=\"scope\" select=\"$scope\"/>\n            <xsl:with-param name=\"role\" select=\"$role\"/>\n            <xsl:with-param name=\"type\" select=\"$type\"/>\n          </xsl:apply-templates>\n        </xsl:for-each>\n      </xsl:otherwise>\n    </xsl:choose>\n\n    <xsl:if test=\"$refs[not(tertiary)]/*[self::see]\">\n      <xsl:apply-templates select=\"$refs[generate-id() = generate-id(key('see', concat(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), &#34; &#34;, normalize-space(concat(secondary/@sortas, &#34; &#34;, secondary)), &#34; &#34;, &#34; &#34;, see))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])]\" mode=\"index-see\">\n        <xsl:with-param name=\"position\" select=\"position()\"/>\n        <xsl:with-param name=\"scope\" select=\"$scope\"/>\n        <xsl:with-param name=\"role\" select=\"$role\"/>\n        <xsl:with-param name=\"type\" select=\"$type\"/>\n        <xsl:sort select=\"translate(see, 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')\"/>\n      </xsl:apply-templates>\n    </xsl:if>\n  </dt>\n  <xsl:choose>\n    <xsl:when test=\"$refs/tertiary or $refs[not(tertiary)]/*[self::seealso]\">\n      <dd>\n        <dl>\n          <xsl:apply-templates select=\"$refs[generate-id() = generate-id(key('see-also', concat(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), &#34; &#34;, normalize-space(concat(secondary/@sortas, &#34; &#34;, secondary)), &#34; &#34;, &#34; &#34;, seealso))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])]\" mode=\"index-seealso\">\n            <xsl:with-param name=\"position\" select=\"position()\"/>\n            <xsl:with-param name=\"scope\" select=\"$scope\"/>\n            <xsl:with-param name=\"role\" select=\"$role\"/>\n            <xsl:with-param name=\"type\" select=\"$type\"/>\n            <xsl:sort select=\"translate(seealso, 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')\"/>\n          </xsl:apply-templates>\n          <xsl:apply-templates select=\"$refs[tertiary and count(.|key('tertiary', concat($key, &#34; &#34;, normalize-space(concat(tertiary/@sortas, &#34; &#34;, tertiary))))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]) = 1]\" mode=\"index-tertiary\">\n            <xsl:with-param name=\"position\" select=\"position()\"/>\n            <xsl:with-param name=\"scope\" select=\"$scope\"/>\n            <xsl:with-param name=\"role\" select=\"$role\"/>\n            <xsl:with-param name=\"type\" select=\"$type\"/>\n            <xsl:sort select=\"translate(normalize-space(concat(tertiary/@sortas, &#34; &#34;, tertiary)), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')\"/>\n          </xsl:apply-templates>\n        </dl>\n      </dd>\n    </xsl:when>\n    <!-- HTML5 requires dd for each dt -->\n    <xsl:when test=\"$div.element = 'section'\">\n      <dd/>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"indexterm\" mode=\"index-tertiary\">\n  <xsl:param name=\"scope\" select=\".\"/>\n  <xsl:param name=\"role\" select=\"''\"/>\n  <xsl:param name=\"type\" select=\"''\"/>\n\n  <xsl:variable name=\"key\" select=\"concat(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), &#34; &#34;, normalize-space(concat(secondary/@sortas, &#34; &#34;, secondary)), &#34; &#34;, normalize-space(concat(tertiary/@sortas, &#34; &#34;, tertiary)))\"/>\n  <xsl:variable name=\"refs\" select=\"key('tertiary', $key)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]\"/>\n  <dt>\n    <xsl:for-each select=\"$refs/tertiary\">\n      <xsl:if test=\"@id or @xml:id\">\n        <xsl:choose>\n          <xsl:when test=\"$generate.id.attributes = 0\">\n            <a id=\"{(@id|@xml:id)[1]}\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <span>\n              <xsl:call-template name=\"id.attribute\"/>\n            </span>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:if>\n    </xsl:for-each>\n    <xsl:value-of select=\"tertiary\"/>\n    <xsl:choose>\n      <xsl:when test=\"$index.links.to.section = 1\">\n        <xsl:for-each select=\"$refs[@zone != '' or generate-id() = generate-id(key('tertiary-section', concat($key, &#34; &#34;, generate-id((ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage|ancestor-or-self::topic)[last()])))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])]\">\n          <xsl:apply-templates select=\".\" mode=\"reference\">\n            <xsl:with-param name=\"position\" select=\"position()\"/>\n            <xsl:with-param name=\"scope\" select=\"$scope\"/>\n            <xsl:with-param name=\"role\" select=\"$role\"/>\n            <xsl:with-param name=\"type\" select=\"$type\"/>\n          </xsl:apply-templates>\n        </xsl:for-each>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:for-each select=\"$refs[not(see)][count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]\">\n          <xsl:apply-templates select=\".\" mode=\"reference\">\n            <xsl:with-param name=\"position\" select=\"position()\"/>\n            <xsl:with-param name=\"scope\" select=\"$scope\"/>\n            <xsl:with-param name=\"role\" select=\"$role\"/>\n            <xsl:with-param name=\"type\" select=\"$type\"/>\n          </xsl:apply-templates>\n        </xsl:for-each>\n      </xsl:otherwise>\n    </xsl:choose>\n\n    <xsl:if test=\"$refs/see\">\n      <xsl:apply-templates select=\"$refs[generate-id() = generate-id(key('see', concat(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), &#34; &#34;, normalize-space(concat(secondary/@sortas, &#34; &#34;, secondary)), &#34; &#34;, normalize-space(concat(tertiary/@sortas, &#34; &#34;, tertiary)), &#34; &#34;, see))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])]\" mode=\"index-see\">\n        <xsl:with-param name=\"position\" select=\"position()\"/>\n        <xsl:with-param name=\"scope\" select=\"$scope\"/>\n        <xsl:with-param name=\"role\" select=\"$role\"/>\n        <xsl:with-param name=\"type\" select=\"$type\"/>\n        <xsl:sort select=\"translate(see, 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')\"/>\n      </xsl:apply-templates>\n    </xsl:if>\n  </dt>\n  <xsl:choose>\n    <xsl:when test=\"$refs/seealso\">\n      <dd>\n        <dl>\n          <xsl:apply-templates select=\"$refs[generate-id() = generate-id(key('see-also', concat(normalize-space(concat(primary/@sortas, &#34; &#34;, primary)), &#34; &#34;, normalize-space(concat(secondary/@sortas, &#34; &#34;, secondary)), &#34; &#34;, normalize-space(concat(tertiary/@sortas, &#34; &#34;, tertiary)), &#34; &#34;, seealso))[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1])]\" mode=\"index-seealso\">\n            <xsl:with-param name=\"position\" select=\"position()\"/>\n            <xsl:with-param name=\"scope\" select=\"$scope\"/>\n            <xsl:with-param name=\"role\" select=\"$role\"/>\n            <xsl:with-param name=\"type\" select=\"$type\"/>\n            <xsl:sort select=\"translate(seealso, 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')\"/>\n          </xsl:apply-templates>\n        </dl>\n      </dd>\n    </xsl:when>\n    <!-- HTML5 requires dd for each dt -->\n    <xsl:when test=\"$div.element = 'section'\">\n      <dd/>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"indexterm\" mode=\"reference\">\n  <xsl:param name=\"scope\" select=\".\"/>\n  <xsl:param name=\"role\" select=\"''\"/>\n  <xsl:param name=\"type\" select=\"''\"/>\n  <xsl:param name=\"position\"/>\n  <xsl:param name=\"separator\" select=\"''\"/>\n  \n  <xsl:variable name=\"term.separator\">\n    <xsl:call-template name=\"index.separator\">\n      <xsl:with-param name=\"key\" select=\"'index.term.separator'\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"number.separator\">\n    <xsl:call-template name=\"index.separator\">\n      <xsl:with-param name=\"key\" select=\"'index.number.separator'\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"range.separator\">\n    <xsl:call-template name=\"index.separator\">\n      <xsl:with-param name=\"key\" select=\"'index.range.separator'\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$separator != ''\">\n      <xsl:value-of select=\"$separator\"/>\n    </xsl:when>\n    <xsl:when test=\"$position = 1\">\n      <xsl:value-of select=\"$term.separator\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$number.separator\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n\n  <xsl:choose>\n    <xsl:when test=\"@zone and string(@zone)\">\n      <xsl:call-template name=\"reference\">\n        <xsl:with-param name=\"zones\" select=\"normalize-space(@zone)\"/>\n        <xsl:with-param name=\"position\" select=\"position()\"/>\n        <xsl:with-param name=\"scope\" select=\"$scope\"/>\n        <xsl:with-param name=\"role\" select=\"$role\"/>\n        <xsl:with-param name=\"type\" select=\"$type\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <a>\n        <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n        <xsl:variable name=\"title\">\n          <xsl:choose>\n            <xsl:when test=\"$index.prefer.titleabbrev != 0\">\n              <xsl:apply-templates select=\"(ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage|ancestor-or-self::topic)[last()]\" mode=\"titleabbrev.markup\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:apply-templates select=\"(ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage|ancestor-or-self::topic)[last()]\" mode=\"title.markup\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:variable>\n\n        <xsl:attribute name=\"href\">\n          <xsl:choose>\n            <xsl:when test=\"$index.links.to.section = 1\">\n              <xsl:call-template name=\"href.target\">\n                <xsl:with-param name=\"object\" select=\"(ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage|ancestor-or-self::topic)[last()]\"/>\n                <xsl:with-param name=\"context\" select=\"(//index[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))] | //setindex[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))])[1]\"/>\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:call-template name=\"href.target\">\n                <xsl:with-param name=\"object\" select=\".\"/>\n                <xsl:with-param name=\"context\" select=\"(//index[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))] | //setindex[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))])[1]\"/>\n              </xsl:call-template>\n            </xsl:otherwise>\n          </xsl:choose>\n\n        </xsl:attribute>\n\n        <xsl:value-of select=\"$title\"/> <!-- text only -->\n      </a>\n\n      <xsl:variable name=\"id\" select=\"(@id|@xml:id)[1]\"/>\n      <xsl:if test=\"key('endofrange', $id)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))]\">\n        <xsl:apply-templates select=\"key('endofrange', $id)[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][last()]\" mode=\"reference\">\n          <xsl:with-param name=\"position\" select=\"position()\"/>\n          <xsl:with-param name=\"scope\" select=\"$scope\"/>\n          <xsl:with-param name=\"role\" select=\"$role\"/>\n          <xsl:with-param name=\"type\" select=\"$type\"/>\n          <xsl:with-param name=\"separator\" select=\"$range.separator\"/>\n        </xsl:apply-templates>\n      </xsl:if>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"reference\">\n  <xsl:param name=\"scope\" select=\".\"/>\n  <xsl:param name=\"role\" select=\"''\"/>\n  <xsl:param name=\"type\" select=\"''\"/>\n  <xsl:param name=\"zones\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"contains($zones, ' ')\">\n      <xsl:variable name=\"zone\" select=\"substring-before($zones, ' ')\"/>\n      <xsl:variable name=\"target\" select=\"key('sections', $zone)\"/>\n\n      <a>\n        <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:attribute name=\"href\">\n          <xsl:call-template name=\"href.target\">\n            <xsl:with-param name=\"object\" select=\"$target[1]\"/>\n            <xsl:with-param name=\"context\" select=\"//index[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]\"/>\n          </xsl:call-template>\n        </xsl:attribute>\n        <xsl:apply-templates select=\"$target[1]\" mode=\"index-title-content\"/>\n      </a>\n      <xsl:text>, </xsl:text>\n      <xsl:call-template name=\"reference\">\n        <xsl:with-param name=\"zones\" select=\"substring-after($zones, ' ')\"/>\n        <xsl:with-param name=\"position\" select=\"position()\"/>\n        <xsl:with-param name=\"scope\" select=\"$scope\"/>\n        <xsl:with-param name=\"role\" select=\"$role\"/>\n        <xsl:with-param name=\"type\" select=\"$type\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:variable name=\"zone\" select=\"$zones\"/>\n      <xsl:variable name=\"target\" select=\"key('sections', $zone)\"/>\n\n      <a>\n        <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:attribute name=\"href\">\n          <xsl:call-template name=\"href.target\">\n            <xsl:with-param name=\"object\" select=\"$target[1]\"/>\n            <xsl:with-param name=\"context\" select=\"//index[count(ancestor::node()|$scope) = count(ancestor::node()) and ($role = @role or $type = @type or (string-length($role) = 0 and string-length($type) = 0))][1]\"/>\n          </xsl:call-template>\n        </xsl:attribute>\n        <xsl:apply-templates select=\"$target[1]\" mode=\"index-title-content\"/>\n      </a>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"indexterm\" mode=\"index-see\">\n  <xsl:param name=\"scope\" select=\".\"/>\n  <xsl:param name=\"role\" select=\"''\"/>\n  <xsl:param name=\"type\" select=\"''\"/>\n\n  <xsl:text> (</xsl:text>\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\" select=\"'see'\"/>\n  </xsl:call-template>\n  <xsl:text> </xsl:text>\n  <xsl:value-of select=\"see\"/>\n  <xsl:text>)</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"indexterm\" mode=\"index-seealso\">\n  <xsl:param name=\"scope\" select=\".\"/>\n  <xsl:param name=\"role\" select=\"''\"/>\n  <xsl:param name=\"type\" select=\"''\"/>\n\n  <xsl:for-each select=\"seealso\">\n    <xsl:sort select=\"translate(., 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ')\"/>\n    <dt>\n    <xsl:text>(</xsl:text>\n    <xsl:call-template name=\"gentext\">\n      <xsl:with-param name=\"key\" select=\"'seealso'\"/>\n    </xsl:call-template>\n    <xsl:text> </xsl:text>\n    <xsl:value-of select=\".\"/>\n    <xsl:text>)</xsl:text>\n    </dt>\n    <xsl:if test=\"$div.element = 'section'\">\n      <dd/>\n    </xsl:if>\n  </xsl:for-each>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"index-title-content\">\n  <xsl:variable name=\"title\">\n    <xsl:apply-templates select=\"(ancestor-or-self::set|ancestor-or-self::book|ancestor-or-self::part|ancestor-or-self::reference|ancestor-or-self::partintro|ancestor-or-self::chapter|ancestor-or-self::appendix|ancestor-or-self::preface|ancestor-or-self::article|ancestor-or-self::section|ancestor-or-self::sect1|ancestor-or-self::sect2|ancestor-or-self::sect3|ancestor-or-self::sect4|ancestor-or-self::sect5|ancestor-or-self::refentry|ancestor-or-self::refsect1|ancestor-or-self::refsect2|ancestor-or-self::refsect3|ancestor-or-self::simplesect|ancestor-or-self::bibliography|ancestor-or-self::glossary|ancestor-or-self::index|ancestor-or-self::webpage|ancestor-or-self::topic)[last()]\" mode=\"title.markup\"/>\n  </xsl:variable>\n\n  <xsl:value-of select=\"$title\"/>\n</xsl:template>\n\n<xsl:template name=\"index.separator\">\n  <xsl:param name=\"key\" select=\"''\"/>\n  <xsl:param name=\"lang\">\n    <xsl:call-template name=\"l10n.language\"/>\n  </xsl:param>\n\n  <xsl:choose>\n    <xsl:when test=\"$key = 'index.term.separator'\">\n      <xsl:choose>\n        <!-- Use the override if not blank -->\n        <xsl:when test=\"$index.term.separator != ''\">\n          <xsl:copy-of select=\"$index.term.separator\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"gentext.template\">\n            <xsl:with-param name=\"lang\" select=\"$lang\"/>\n            <xsl:with-param name=\"context\">index</xsl:with-param>\n            <xsl:with-param name=\"name\">term-separator</xsl:with-param>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:when test=\"$key = 'index.number.separator'\">\n      <xsl:choose>\n        <!-- Use the override if not blank -->\n        <xsl:when test=\"$index.number.separator != ''\">\n          <xsl:copy-of select=\"$index.number.separator\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"gentext.template\">\n            <xsl:with-param name=\"lang\" select=\"$lang\"/>\n            <xsl:with-param name=\"context\">index</xsl:with-param>\n            <xsl:with-param name=\"name\">number-separator</xsl:with-param>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:when test=\"$key = 'index.range.separator'\">\n      <xsl:choose>\n        <!-- Use the override if not blank -->\n        <xsl:when test=\"$index.range.separator != ''\">\n          <xsl:copy-of select=\"$index.range.separator\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"gentext.template\">\n            <xsl:with-param name=\"lang\" select=\"$lang\"/>\n            <xsl:with-param name=\"context\">index</xsl:with-param>\n            <xsl:with-param name=\"name\">range-separator</xsl:with-param>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n</xsl:stylesheet>"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/autotoc.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?><!--This file was created automatically by html2xhtml--><!--from the HTML stylesheets.--><xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: autotoc.xsl 9692 2012-12-16 02:31:34Z dcramer $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<xsl:variable name=\"toc.listitem.type\">\n  <xsl:choose>\n    <xsl:when test=\"$toc.list.type = 'dl'\">dt</xsl:when>\n    <xsl:otherwise>li</xsl:otherwise>\n  </xsl:choose>\n</xsl:variable>\n\n<!-- this is just hack because dl and ul aren't completely isomorphic -->\n<xsl:variable name=\"toc.dd.type\">\n  <xsl:choose>\n    <xsl:when test=\"$toc.list.type = 'dl'\">dd</xsl:when>\n    <xsl:otherwise/>\n  </xsl:choose>\n</xsl:variable>\n\n<xsl:template name=\"make.toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n  <xsl:param name=\"toc.title.p\" select=\"true()\"/>\n  <xsl:param name=\"nodes\" select=\"/NOT-AN-ELEMENT\"/>\n\n  <xsl:variable name=\"nodes.plus\" select=\"$nodes | qandaset\"/>\n\n  <xsl:variable name=\"toc.title\">\n    <xsl:if test=\"$toc.title.p\">\n      <xsl:choose>\n        <xsl:when test=\"$make.clean.html != 0\">\n          <div class=\"toc-title\">\n            <xsl:call-template name=\"gentext\">\n              <xsl:with-param name=\"key\">TableofContents</xsl:with-param>\n            </xsl:call-template>\n          </div>\n        </xsl:when>\n        <xsl:otherwise>\n          <p>\n            <strong>\n              <xsl:call-template name=\"gentext\">\n                <xsl:with-param name=\"key\">TableofContents</xsl:with-param>\n              </xsl:call-template>\n            </strong>\n          </p>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$manual.toc != ''\">\n      <xsl:variable name=\"id\">\n        <xsl:call-template name=\"object.id\"/>\n      </xsl:variable>\n      <xsl:variable name=\"toc\" select=\"document($manual.toc, .)\"/>\n      <xsl:variable name=\"tocentry\" select=\"$toc//tocentry[@linkend=$id]\"/>\n      <xsl:if test=\"$tocentry and $tocentry/*\">\n        <div class=\"toc\">\n          <xsl:copy-of select=\"$toc.title\"/>\n          <xsl:element name=\"{$toc.list.type}\" namespace=\"http://www.w3.org/1999/xhtml\">\n            <xsl:call-template name=\"toc.list.attributes\">\n              <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n              <xsl:with-param name=\"toc.title.p\" select=\"$toc.title.p\"/>\n              <xsl:with-param name=\"nodes\" select=\"$nodes\"/>\n            </xsl:call-template>\n            <xsl:call-template name=\"manual-toc\">\n              <xsl:with-param name=\"tocentry\" select=\"$tocentry/*[1]\"/>\n            </xsl:call-template>\n          </xsl:element>\n        </div>\n      </xsl:if>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"$qanda.in.toc != 0\">\n          <xsl:if test=\"$nodes.plus\">\n            <div class=\"toc\">\n              <xsl:copy-of select=\"$toc.title\"/>\n              <xsl:element name=\"{$toc.list.type}\" namespace=\"http://www.w3.org/1999/xhtml\">\n                <xsl:call-template name=\"toc.list.attributes\">\n                  <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n                  <xsl:with-param name=\"toc.title.p\" select=\"$toc.title.p\"/>\n                  <xsl:with-param name=\"nodes\" select=\"$nodes\"/>\n                </xsl:call-template>\n                <xsl:apply-templates select=\"$nodes.plus\" mode=\"toc\">\n                  <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n                </xsl:apply-templates>\n              </xsl:element>\n            </div>\n          </xsl:if>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:if test=\"$nodes\">\n            <div class=\"toc\">\n              <xsl:copy-of select=\"$toc.title\"/>\n              <xsl:element name=\"{$toc.list.type}\" namespace=\"http://www.w3.org/1999/xhtml\">\n                <xsl:call-template name=\"toc.list.attributes\">\n                  <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n                  <xsl:with-param name=\"toc.title.p\" select=\"$toc.title.p\"/>\n                  <xsl:with-param name=\"nodes\" select=\"$nodes\"/>\n                </xsl:call-template>\n                <xsl:apply-templates select=\"$nodes\" mode=\"toc\">\n                  <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n                </xsl:apply-templates>\n              </xsl:element>\n            </div>\n          </xsl:if>\n        </xsl:otherwise>\n      </xsl:choose>\n\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"toc.list.attributes\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n  <xsl:param name=\"toc.title.p\" select=\"true()\"/>\n  <xsl:param name=\"nodes\" select=\"/NOT-AN-ELEMENT\"/>\n\n  <xsl:attribute name=\"class\">toc</xsl:attribute>\n</xsl:template>\n\n<xsl:template name=\"make.lots\">\n  <xsl:param name=\"toc.params\" select=\"''\"/>\n  <xsl:param name=\"toc\"/>\n\n  <xsl:if test=\"contains($toc.params, 'toc')\">\n    <xsl:copy-of select=\"$toc\"/>\n  </xsl:if>\n\n  <xsl:if test=\"contains($toc.params, 'figure')\">\n    <xsl:call-template name=\"list.of.titles\">\n      <xsl:with-param name=\"titles\" select=\"'figure'\"/>\n      <xsl:with-param name=\"nodes\" select=\".//figure\"/>\n    </xsl:call-template>\n  </xsl:if>\n\n  <xsl:if test=\"contains($toc.params, 'table')\">\n    <xsl:call-template name=\"list.of.titles\">\n      <xsl:with-param name=\"titles\" select=\"'table'\"/>\n      <xsl:with-param name=\"nodes\" select=\".//table[not(@tocentry = 0)]\"/>\n    </xsl:call-template>\n  </xsl:if>\n\n  <xsl:if test=\"contains($toc.params, 'example')\">\n    <xsl:call-template name=\"list.of.titles\">\n      <xsl:with-param name=\"titles\" select=\"'example'\"/>\n      <xsl:with-param name=\"nodes\" select=\".//example\"/>\n    </xsl:call-template>\n  </xsl:if>\n\n  <xsl:if test=\"contains($toc.params, 'equation')\">\n    <xsl:call-template name=\"list.of.titles\">\n      <xsl:with-param name=\"titles\" select=\"'equation'\"/>\n      <xsl:with-param name=\"nodes\" select=\".//equation[title or info/title]\"/>\n    </xsl:call-template>\n  </xsl:if>\n\n  <xsl:if test=\"contains($toc.params, 'procedure')\">\n    <xsl:call-template name=\"list.of.titles\">\n      <xsl:with-param name=\"titles\" select=\"'procedure'\"/>\n      <xsl:with-param name=\"nodes\" select=\".//procedure[title]\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<!-- ====================================================================== -->\n\n<xsl:template name=\"set.toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n  <xsl:param name=\"toc.title.p\" select=\"true()\"/>\n\n  <xsl:call-template name=\"make.toc\">\n    <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n    <xsl:with-param name=\"toc.title.p\" select=\"$toc.title.p\"/>\n    <xsl:with-param name=\"nodes\" select=\"book|setindex|set\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"division.toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n  <xsl:param name=\"toc.title.p\" select=\"true()\"/>\n\n  <xsl:call-template name=\"make.toc\">\n    <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n    <xsl:with-param name=\"toc.title.p\" select=\"$toc.title.p\"/>\n    <xsl:with-param name=\"nodes\" select=\"part|reference                                          |preface|chapter|appendix                                          |article                                          |topic                                          |bibliography|glossary|index                                          |refentry                                          |bridgehead[$bridgehead.in.toc != 0]\"/>\n\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"component.toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n  <xsl:param name=\"toc.title.p\" select=\"true()\"/>\n\n  <xsl:call-template name=\"make.toc\">\n    <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n    <xsl:with-param name=\"toc.title.p\" select=\"$toc.title.p\"/>\n    <xsl:with-param name=\"nodes\" select=\"section|sect1                                          |simplesect[$simplesect.in.toc != 0]                                          |topic                                          |refentry                                          |article|bibliography|glossary                                          |appendix|index                                          |bridgehead[not(@renderas)                                                      and $bridgehead.in.toc != 0]                                          |.//bridgehead[@renderas='sect1'                                                         and $bridgehead.in.toc != 0]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"component.toc.separator\">\n  <!-- Customize to output something between\n       component.toc and first output -->\n</xsl:template>\n\n<xsl:template name=\"section.toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n  <xsl:param name=\"toc.title.p\" select=\"true()\"/>\n\n  <xsl:call-template name=\"make.toc\">\n    <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n    <xsl:with-param name=\"toc.title.p\" select=\"$toc.title.p\"/>\n    <xsl:with-param name=\"nodes\" select=\"section|sect1|sect2|sect3|sect4|sect5|refentry                            |bridgehead[$bridgehead.in.toc != 0]\"/>\n\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"section.toc.separator\">\n  <!-- Customize to output something between\n       section.toc and first output -->\n</xsl:template>\n<!-- ==================================================================== -->\n\n<xsl:template name=\"subtoc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n  <xsl:param name=\"nodes\" select=\"NOT-AN-ELEMENT\"/>\n\n  <xsl:variable name=\"nodes.plus\" select=\"$nodes | qandaset\"/>\n\n  <xsl:variable name=\"subtoc\">\n    <xsl:element name=\"{$toc.list.type}\" namespace=\"http://www.w3.org/1999/xhtml\">\n      <xsl:choose>\n        <xsl:when test=\"$qanda.in.toc != 0\">\n          <xsl:apply-templates mode=\"toc\" select=\"$nodes.plus\">\n            <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates mode=\"toc\" select=\"$nodes\">\n            <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n          </xsl:apply-templates>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:element>\n  </xsl:variable>\n\n  <xsl:variable name=\"depth\">\n    <xsl:choose>\n      <xsl:when test=\"local-name(.) = 'section'\">\n        <xsl:value-of select=\"count(ancestor::section) + 1\"/>\n      </xsl:when>\n      <xsl:when test=\"local-name(.) = 'sect1'\">1</xsl:when>\n      <xsl:when test=\"local-name(.) = 'sect2'\">2</xsl:when>\n      <xsl:when test=\"local-name(.) = 'sect3'\">3</xsl:when>\n      <xsl:when test=\"local-name(.) = 'sect4'\">4</xsl:when>\n      <xsl:when test=\"local-name(.) = 'sect5'\">5</xsl:when>\n      <xsl:when test=\"local-name(.) = 'refsect1'\">1</xsl:when>\n      <xsl:when test=\"local-name(.) = 'refsect2'\">2</xsl:when>\n      <xsl:when test=\"local-name(.) = 'refsect3'\">3</xsl:when>\n      <xsl:when test=\"local-name(.) = 'topic'\">1</xsl:when>\n      <xsl:when test=\"local-name(.) = 'simplesect'\">\n        <!-- sigh... -->\n        <xsl:choose>\n          <xsl:when test=\"local-name(..) = 'section'\">\n            <xsl:value-of select=\"count(ancestor::section)\"/>\n          </xsl:when>\n          <xsl:when test=\"local-name(..) = 'sect1'\">2</xsl:when>\n          <xsl:when test=\"local-name(..) = 'sect2'\">3</xsl:when>\n          <xsl:when test=\"local-name(..) = 'sect3'\">4</xsl:when>\n          <xsl:when test=\"local-name(..) = 'sect4'\">5</xsl:when>\n          <xsl:when test=\"local-name(..) = 'sect5'\">6</xsl:when>\n          <xsl:when test=\"local-name(..) = 'topic'\">2</xsl:when>\n          <xsl:when test=\"local-name(..) = 'refsect1'\">2</xsl:when>\n          <xsl:when test=\"local-name(..) = 'refsect2'\">3</xsl:when>\n          <xsl:when test=\"local-name(..) = 'refsect3'\">4</xsl:when>\n          <xsl:otherwise>1</xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n      <xsl:otherwise>0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"depth.from.context\" select=\"count(ancestor::*)-count($toc-context/ancestor::*)\"/>\n\n  <xsl:variable name=\"subtoc.list\">\n    <xsl:choose>\n      <xsl:when test=\"$toc.dd.type = ''\">\n        <xsl:copy-of select=\"$subtoc\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:element name=\"{$toc.dd.type}\" namespace=\"http://www.w3.org/1999/xhtml\">\n          <xsl:copy-of select=\"$subtoc\"/>\n        </xsl:element>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:element name=\"{$toc.listitem.type}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:call-template name=\"toc.line\">\n      <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n    </xsl:call-template>\n    <xsl:if test=\"$toc.listitem.type = 'li' and                   ( (self::set or self::book or self::part) or                          $toc.section.depth &gt; $depth) and                    ( ($qanda.in.toc = 0 and count($nodes)&gt;0) or                     ($qanda.in.toc != 0 and count($nodes.plus)&gt;0) )                   and $toc.max.depth &gt; $depth.from.context\">\n      <xsl:copy-of select=\"$subtoc.list\"/>\n    </xsl:if>\n  </xsl:element>\n  <xsl:if test=\"$toc.listitem.type != 'li' and                   ( (self::set or self::book or self::part) or                          $toc.section.depth &gt; $depth) and                  ( ($qanda.in.toc = 0 and count($nodes)&gt;0) or                   ($qanda.in.toc != 0 and count($nodes.plus)&gt;0) )                 and $toc.max.depth &gt; $depth.from.context\">\n    <xsl:copy-of select=\"$subtoc.list\"/>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"toc.line\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n  <xsl:param name=\"depth\" select=\"1\"/>\n  <xsl:param name=\"depth.from.context\" select=\"8\"/>\n\n <span>\n  <xsl:attribute name=\"class\"><xsl:value-of select=\"local-name(.)\"/></xsl:attribute>\n\n  <!-- * if $autotoc.label.in.hyperlink is zero, then output the label -->\n  <!-- * before the hyperlinked title (as the DSSSL stylesheet does) -->\n  <xsl:if test=\"$autotoc.label.in.hyperlink = 0\">\n    <xsl:variable name=\"label\">\n      <xsl:apply-templates select=\".\" mode=\"label.markup\"/>\n    </xsl:variable>\n    <xsl:copy-of select=\"$label\"/>\n    <xsl:if test=\"$label != ''\">\n      <xsl:value-of select=\"$autotoc.label.separator\"/>\n    </xsl:if>\n  </xsl:if>\n\n  <a>\n    <xsl:attribute name=\"href\">\n      <xsl:call-template name=\"href.target\">\n        <xsl:with-param name=\"context\" select=\"$toc-context\"/>\n        <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n      </xsl:call-template>\n    </xsl:attribute>\n    \n  <!-- * if $autotoc.label.in.hyperlink is non-zero, then output the label -->\n  <!-- * as part of the hyperlinked title -->\n  <xsl:if test=\"not($autotoc.label.in.hyperlink = 0)\">\n    <xsl:variable name=\"label\">\n      <xsl:apply-templates select=\".\" mode=\"label.markup\"/>\n    </xsl:variable>\n    <xsl:copy-of select=\"$label\"/>\n    <xsl:if test=\"$label != ''\">\n      <xsl:value-of select=\"$autotoc.label.separator\"/>\n    </xsl:if>\n  </xsl:if>\n\n    <xsl:apply-templates select=\".\" mode=\"titleabbrev.markup\"/>\n  </a>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"book\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n\n  <xsl:call-template name=\"subtoc\">\n    <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n    <xsl:with-param name=\"nodes\" select=\"part|reference                                          |preface|chapter|appendix                                          |article                                          |topic                                          |bibliography|glossary|index                                          |refentry                                          |bridgehead[$bridgehead.in.toc != 0]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"setindex\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n\n  <!-- If the setindex tag is not empty, it should be it in the TOC -->\n  <xsl:if test=\"* or $generate.index != 0\">\n    <xsl:call-template name=\"subtoc\">\n      <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"part|reference\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n\n  <xsl:call-template name=\"subtoc\">\n    <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n    <xsl:with-param name=\"nodes\" select=\"appendix|chapter|article|topic                                          |index|glossary|bibliography                                          |preface|reference|refentry                                          |bridgehead[$bridgehead.in.toc != 0]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"preface|chapter|appendix|article|topic\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n\n  <xsl:call-template name=\"subtoc\">\n    <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n    <xsl:with-param name=\"nodes\" select=\"section|sect1                                          |simplesect[$simplesect.in.toc != 0]                                          |topic                                          |refentry                                          |glossary|bibliography|index                                          |bridgehead[$bridgehead.in.toc != 0]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"sect1\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n  <xsl:call-template name=\"subtoc\">\n    <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n    <xsl:with-param name=\"nodes\" select=\"sect2                                          |bridgehead[$bridgehead.in.toc != 0]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"sect2\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n\n  <xsl:call-template name=\"subtoc\">\n    <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n    <xsl:with-param name=\"nodes\" select=\"sect3                                          |bridgehead[$bridgehead.in.toc != 0]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"sect3\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n\n  <xsl:call-template name=\"subtoc\">\n    <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n    <xsl:with-param name=\"nodes\" select=\"sect4                                          |bridgehead[$bridgehead.in.toc != 0]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"sect4\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n\n  <xsl:call-template name=\"subtoc\">\n    <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n    <xsl:with-param name=\"nodes\" select=\"sect5                                          |bridgehead[$bridgehead.in.toc != 0]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"sect5\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n\n  <xsl:call-template name=\"subtoc\">\n    <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"simplesect\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n\n  <xsl:call-template name=\"subtoc\">\n    <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"section\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n\n  <xsl:call-template name=\"subtoc\">\n    <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n    <xsl:with-param name=\"nodes\" select=\"section|refentry                                          |simplesect[$simplesect.in.toc != 0]                                          |bridgehead[$bridgehead.in.toc != 0]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"topic\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n\n  <xsl:call-template name=\"subtoc\">\n    <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n    <xsl:with-param name=\"nodes\" select=\"section|refentry                                          |simplesect[$simplesect.in.toc != 0]                                          |bridgehead[$bridgehead.in.toc != 0]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"bridgehead\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n\n  <xsl:if test=\"$bridgehead.in.toc != 0\">\n    <xsl:call-template name=\"subtoc\">\n      <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"bibliography|glossary\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n\n  <xsl:call-template name=\"subtoc\">\n    <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"index\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n\n  <!-- If the index tag is not empty, it should be it in the TOC -->\n  <xsl:if test=\"* or $generate.index != 0\">\n    <xsl:call-template name=\"subtoc\">\n      <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"refentry\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n\n  <xsl:variable name=\"refmeta\" select=\".//refmeta\"/>\n  <xsl:variable name=\"refentrytitle\" select=\"$refmeta//refentrytitle\"/>\n  <xsl:variable name=\"refnamediv\" select=\".//refnamediv\"/>\n  <xsl:variable name=\"refname\" select=\"$refnamediv//refname\"/>\n  <xsl:variable name=\"refdesc\" select=\"$refnamediv//refdescriptor\"/>\n  <xsl:variable name=\"title\">\n    <xsl:choose>\n      <xsl:when test=\"$refentrytitle\">\n        <xsl:apply-templates select=\"$refentrytitle[1]\" mode=\"titleabbrev.markup\"/>\n      </xsl:when>\n      <xsl:when test=\"$refdesc\">\n        <xsl:apply-templates select=\"$refdesc\" mode=\"titleabbrev.markup\"/>\n      </xsl:when>\n      <xsl:when test=\"$refname\">\n        <xsl:apply-templates select=\"$refname[1]\" mode=\"titleabbrev.markup\"/>\n      </xsl:when>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:element name=\"{$toc.listitem.type}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <span class=\"refentrytitle\">\n      <a>\n        <xsl:attribute name=\"href\">\n          <xsl:call-template name=\"href.target\">\n            <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n          </xsl:call-template>\n        </xsl:attribute>\n        <xsl:copy-of select=\"$title\"/>\n      </a>\n    </span>\n    <span class=\"refpurpose\">\n      <xsl:if test=\"$annotate.toc != 0\">\n        <!-- * DocBook 5 says inlinemediaobject (among other things) -->\n        <!-- * is allowed in refpurpose; so we need to run -->\n        <!-- * apply-templates on refpurpose here, instead of value-of  -->\n        <xsl:apply-templates select=\"refnamediv/refpurpose\" mode=\"no.anchor.mode\"/>\n      </xsl:if>\n    </span>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n\n  <a>\n    <xsl:attribute name=\"href\">\n      <xsl:call-template name=\"href.target\">\n        <xsl:with-param name=\"object\" select=\"..\"/>\n        <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n      </xsl:call-template>\n    </xsl:attribute>\n    <xsl:apply-templates/>\n  </a>\n</xsl:template>\n\n<xsl:template name=\"manual-toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n  <xsl:param name=\"tocentry\"/>\n  <xsl:param name=\"toc.title.p\" select=\"true()\"/>\n  <xsl:param name=\"nodes\" select=\"/NOT-AN-ELEMENT\"/>\n\n  <!-- be careful, we don't want to change the current document to the other tree! -->\n\n  <xsl:if test=\"$tocentry\">\n    <xsl:variable name=\"node\" select=\"key('id', $tocentry/@linkend)\"/>\n\n    <xsl:element name=\"{$toc.listitem.type}\" namespace=\"http://www.w3.org/1999/xhtml\">\n      <xsl:variable name=\"label\">\n        <xsl:apply-templates select=\"$node\" mode=\"label.markup\"/>\n      </xsl:variable>\n      <xsl:copy-of select=\"$label\"/>\n      <xsl:if test=\"$label != ''\">\n        <xsl:value-of select=\"$autotoc.label.separator\"/>\n      </xsl:if>\n      <a>\n        <xsl:attribute name=\"href\">\n          <xsl:call-template name=\"href.target\">\n            <xsl:with-param name=\"object\" select=\"$node\"/>\n            <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n          </xsl:call-template>\n        </xsl:attribute>\n        <xsl:apply-templates select=\"$node\" mode=\"titleabbrev.markup\"/>\n      </a>\n    </xsl:element>\n\n    <xsl:if test=\"$tocentry/*\">\n      <xsl:element name=\"{$toc.list.type}\" namespace=\"http://www.w3.org/1999/xhtml\">\n        <xsl:call-template name=\"toc.list.attributes\">\n          <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n          <xsl:with-param name=\"toc.title.p\" select=\"$toc.title.p\"/>\n          <xsl:with-param name=\"nodes\" select=\"$nodes\"/>\n        </xsl:call-template>\n        <xsl:call-template name=\"manual-toc\">\n          <xsl:with-param name=\"tocentry\" select=\"$tocentry/*[1]\"/>\n        </xsl:call-template>\n      </xsl:element>\n    </xsl:if>\n\n    <xsl:if test=\"$tocentry/following-sibling::*\">\n      <xsl:call-template name=\"manual-toc\">\n        <xsl:with-param name=\"tocentry\" select=\"$tocentry/following-sibling::*[1]\"/>\n      </xsl:call-template>\n    </xsl:if>\n  </xsl:if>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"list.of.titles\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n  <xsl:param name=\"titles\" select=\"'table'\"/>\n  <xsl:param name=\"nodes\" select=\".//table\"/>\n\n  <xsl:if test=\"$nodes\">\n    <div class=\"list-of-{$titles}s\">\n      <xsl:choose>\n        <xsl:when test=\"$make.clean.html != 0\">\n          <div class=\"toc-title\">\n            <xsl:call-template name=\"gentext\">\n              <xsl:with-param name=\"key\">\n                <xsl:choose>\n                  <xsl:when test=\"$titles='table'\">ListofTables</xsl:when>\n                  <xsl:when test=\"$titles='figure'\">ListofFigures</xsl:when>\n                  <xsl:when test=\"$titles='equation'\">ListofEquations</xsl:when>\n                  <xsl:when test=\"$titles='example'\">ListofExamples</xsl:when>\n                  <xsl:when test=\"$titles='procedure'\">ListofProcedures</xsl:when>\n                  <xsl:otherwise>ListofUnknown</xsl:otherwise>\n                </xsl:choose>\n              </xsl:with-param>\n            </xsl:call-template>\n          </div>\n        </xsl:when>\n        <xsl:otherwise>\n          <p>\n            <strong>\n              <xsl:call-template name=\"gentext\">\n                <xsl:with-param name=\"key\">\n                  <xsl:choose>\n                    <xsl:when test=\"$titles='table'\">ListofTables</xsl:when>\n                    <xsl:when test=\"$titles='figure'\">ListofFigures</xsl:when>\n                    <xsl:when test=\"$titles='equation'\">ListofEquations</xsl:when>\n                    <xsl:when test=\"$titles='example'\">ListofExamples</xsl:when>\n                    <xsl:when test=\"$titles='procedure'\">ListofProcedures</xsl:when>\n                    <xsl:otherwise>ListofUnknown</xsl:otherwise>\n                  </xsl:choose>\n                </xsl:with-param>\n              </xsl:call-template>\n            </strong>\n          </p>\n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:element name=\"{$toc.list.type}\" namespace=\"http://www.w3.org/1999/xhtml\">\n        <xsl:apply-templates select=\"$nodes\" mode=\"toc\">\n          <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n        </xsl:apply-templates>\n      </xsl:element>\n    </div>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"figure|table|example|equation|procedure\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n\n  <xsl:element name=\"{$toc.listitem.type}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:variable name=\"label\">\n      <xsl:apply-templates select=\".\" mode=\"label.markup\"/>\n    </xsl:variable>\n    <xsl:copy-of select=\"$label\"/>\n    <xsl:if test=\"$label != ''\">\n      <xsl:value-of select=\"$autotoc.label.separator\"/>\n    </xsl:if>\n    <a>\n      <xsl:attribute name=\"href\">\n        <xsl:call-template name=\"href.target\">\n          <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n        </xsl:call-template>\n      </xsl:attribute>\n      <xsl:apply-templates select=\".\" mode=\"titleabbrev.markup\"/>\n    </a>\n  </xsl:element>\n</xsl:template>\n\n<!-- Used only if qanda.in.toc parameter is non-zero -->\n<xsl:template match=\"qandaset\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n  <xsl:call-template name=\"subtoc\">\n    <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n    <xsl:with-param name=\"nodes\" select=\"qandadiv | qandaentry\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"qandadiv|qandaentry\" mode=\"toc\">\n  <xsl:apply-templates select=\".\" mode=\"qandatoc.mode\"/>\n</xsl:template>\n\n</xsl:stylesheet>"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/biblio-iso690.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n\n<!-- ********************************************************************\n     $Id: biblio.xsl 6402 2006-11-12 08:23:21Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     The original code for processing bibliography in ISO690 style\n     was provided by Jana Dvorakova <jana4u@seznam.cz>\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<!-- if biblioentry.alt.primary.seps is set to nonzero value then use alternative separators for primary responsibility - $alt.person.two.sep, $alt.person.last.sep, $alt.person.more.sep  -->\n<xsl:param name=\"biblioentry.alt.primary.seps\" select=\"0\"/>\n\n<!-- how many authors will be printed if there is more than three authors - set to number 1 (default value), 2 or 3 -->\n<xsl:param name=\"biblioentry.primary.count\" select=\"1\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"iso690.makecitation\">\n<!-- Types of resources -->\n  <xsl:choose>\n\n    <!-- SYSTEMS OF ELECTRONIC COMMUNICATION : ENTIRE MESSAGE SYSTEM -->\n    <!-- same as Monographs -->\n    <xsl:when test=\"./@role='messagesystem'\">\n      <xsl:call-template name=\"iso690.monogr\"/>\n    </xsl:when>\n\n    <!-- SYSTEMS OF ELECTRONIC COMMUNICATION : ELECTRONIC MESSAGES -->\n    <!-- same as Contributions to Monographs -->\n    <xsl:when test=\"./@role='message'\">\n      <xsl:call-template name=\"iso690.paper.mon\"/>\n    </xsl:when>\n\n    <!-- SERIALS -->\n    <xsl:when test=\"./@role='serial' or ./biblioid/@class='issn' or ./issn\">\n      <xsl:call-template name=\"iso690.serial\"/>\n    </xsl:when>\n\n    <!-- PARTS OF MONOGRAPHS -->\n    <xsl:when test=\"./@role='part' or (./bibliomisc[@role='secnum']|./bibliomisc[@role='sectitle'])\">\n      <xsl:call-template name=\"iso690.monogr.part\"/>\n    </xsl:when>\n\n    <!-- CONTRIBUTIONS TO MONOGRAPHS -->\n    <xsl:when test=\"./@role='contribution' or (./biblioset/@relation='part' and ./biblioset/@relation='book')\">\n      <xsl:call-template name=\"iso690.paper.mon\"/>\n    </xsl:when>\n\n    <!-- ARTICLES, ETC., IN SERIALS -->\n    <xsl:when test=\"./@role='article' or (./biblioset/@relation='journal' and ./biblioset/@relation='article')\">\n      <xsl:call-template name=\"iso690.article\"/>\n    </xsl:when>\n\n    <!-- PATENT DOCUMENTS -->\n    <xsl:when test=\"./@role='patent' or (./bibliomisc[@role='patenttype'] and ./bibliomisc[@role='patentnum'])\">\n      <xsl:call-template name=\"iso690.patent\"/>\n    </xsl:when>\n\n    <!-- MONOGRAPHS -->\n    <xsl:otherwise>\n      <xsl:call-template name=\"iso690.monogr\"/>\n    </xsl:otherwise>\n\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<!-- MONOGRAPHS -->\n<xsl:template name=\"iso690.monogr\">\n  <!-- Primary responsibility -->\n  <xsl:call-template name=\"iso690.primary\"/>\n  <!-- Title and Type of medium -->\n  <xsl:call-template name=\"iso690.title\"/>\n  <!-- Subordinate responsibility -->\n  <xsl:call-template name=\"iso690.secondary\"/>\n  <!-- Edition -->\n  <xsl:call-template name=\"iso690.edition\"/>\n  <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation -->\n  <xsl:call-template name=\"iso690.pub\"/>\n  <!-- Extent -->\n  <xsl:call-template name=\"iso690.extent\"/>\n  <!-- Series -->\n  <xsl:call-template name=\"iso690.serie\"/>\n  <!-- Notes -->\n  <xsl:call-template name=\"iso690.notice\"/>\n  <!-- Avaibility and access -->\n  <xsl:call-template name=\"iso690.access\"/>\n  <!-- Standard number -->\n  <xsl:call-template name=\"iso690.isbn\"/>\n</xsl:template>\n\n<!-- SERIALS -->\n<xsl:template name=\"iso690.serial\">\n  <!-- Title and Type of medium -->\n  <xsl:call-template name=\"iso690.title\"/>\n  <!-- Responsibility [nonEL] -->\n  <xsl:if test=\"not(./bibliomisc[@role='medium'])\">\n    <xsl:call-template name=\"iso690.secondary\"/>\n  </xsl:if>\n  <!-- Edition -->\n  <xsl:call-template name=\"iso690.edition\">\n    <xsl:with-param name=\"after\" select=\"./bibliomisc[@role='issuing']\"/>\n  </xsl:call-template>\n  <!-- Issue designation (date and/or num) [nonEL] -->\n  <xsl:if test=\"not(./bibliomisc[@role='medium'])\">\n    <xsl:call-template name=\"iso690.issuing\"/>\n  </xsl:if>\n  <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation -->\n  <xsl:call-template name=\"iso690.pub\"/>\n  <!-- Series -->\n  <xsl:call-template name=\"iso690.serie\"/>\n  <!-- Notes -->\n  <xsl:call-template name=\"iso690.notice\"/>\n  <!-- Avaibility and access -->\n  <xsl:call-template name=\"iso690.access\"/>\n  <!-- Standard number -->\n  <xsl:call-template name=\"iso690.issn\"/>\n</xsl:template>\n\n<!-- PARTS OF MONOGRAPHS -->\n<xsl:template name=\"iso690.monogr.part\">\n  <!-- Primary responsibility of host document -->\n  <xsl:call-template name=\"iso690.primary\"/>\n  <!-- Title and Type of medium of host document -->\n  <xsl:call-template name=\"iso690.title\"/>\n  <!-- Subordinate responsibility of host document [EL] -->\n  <xsl:if test=\"./bibliomisc[@role='medium']\">\n    <xsl:call-template name=\"iso690.secondary\"/>\n  </xsl:if>\n  <!-- Edition -->\n  <xsl:call-template name=\"iso690.edition\">\n    <xsl:with-param name=\"after\" select=\"./volumenum\"/>\n  </xsl:call-template>\n  <!-- Numeration of the part [nonEL]-->\n  <xsl:if test=\"not(./bibliomisc[@role='medium'])\">\n    <xsl:call-template name=\"iso690.partnr\"/>\n  <!-- Subordinate responsibility [nonEL] -->\n    <xsl:call-template name=\"iso690.secondary\"/>\n  </xsl:if>\n  <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation -->\n  <xsl:call-template name=\"iso690.pub\"/>\n  <!-- Location within host -->\n  <xsl:call-template name=\"iso690.part.location\"/>\n  <xsl:if test=\"./bibliomisc[@role='medium']\">\n  <!-- Numeration within host document [EL] -->\n  <!-- Notes [EL] -->\n    <xsl:call-template name=\"iso690.notice\"/>\n  <!-- Avaibility and access [EL] -->\n    <xsl:call-template name=\"iso690.access\"/>\n  <!-- Standard number [EL] -->\n    <xsl:call-template name=\"iso690.isbn\"/>\n  </xsl:if>\n</xsl:template>\n\n<!-- CONTRIBUTIONS TO MONOGRAPHS -->\n<xsl:template name=\"iso690.paper.mon\">\n<!-- Contribution -->\n  <xsl:apply-templates mode=\"iso690.paper.part\" select=\"./biblioset[@relation='part']\"/>\n<!-- In -->\n  <xsl:text>In </xsl:text>\n<!-- Host -->\n  <xsl:apply-templates mode=\"iso690.paper.book\" select=\"./biblioset[@relation='book']\"/>\n</xsl:template>\n\n<xsl:template match=\"biblioset\" mode=\"iso690.paper.part\">\n<!-- Contribution -->\n  <!-- Primary responsibility -->\n  <xsl:call-template name=\"iso690.primary\"/>\n  <!-- Title -->\n  <xsl:call-template name=\"iso690.title\">\n    <xsl:with-param name=\"italic\" select=\"0\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"biblioset\" mode=\"iso690.paper.book\">\n<!-- Host -->\n  <!-- Primary responsibility -->\n  <xsl:call-template name=\"iso690.primary\"/>\n  <!-- Title and Type of medium -->\n  <xsl:call-template name=\"iso690.title\"/>\n  <!-- Subordinate responsibility [EL] -->\n  <xsl:if test=\"./bibliomisc[@role='medium']\">\n    <xsl:call-template name=\"iso690.secondary\"/>\n  </xsl:if>\n  <!-- Edition -->\n  <xsl:call-template name=\"iso690.edition\"/>\n  <!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation -->\n  <xsl:call-template name=\"iso690.paper.pub\"/>\n  <!-- Numeration within host document [EL] -->\n  <!-- Location within host -->\n  <xsl:call-template name=\"iso690.location\"/>\n  <xsl:if test=\"./bibliomisc[@role='medium']\">\n  <!-- Notes [EL] -->\n    <xsl:call-template name=\"iso690.notice\"/>\n  <!-- Avaibility and access [EL] -->\n    <xsl:call-template name=\"iso690.access\"/>\n  <!-- Standard number [EL] -->\n    <xsl:call-template name=\"iso690.isbn\"/>\n  </xsl:if>\n</xsl:template>\n\n<!-- ARTICLES, ETC., IN SERIALS -->\n<xsl:template name=\"iso690.article\">\n<!-- Article -->\n  <xsl:apply-templates mode=\"iso690.article.art\" select=\"./biblioset[@relation='article']\"/>\n<!-- Serial -->\n  <xsl:apply-templates mode=\"iso690.article.jour\" select=\"./biblioset[@relation='journal']\"/>\n</xsl:template>\n\n<xsl:template match=\"biblioset\" mode=\"iso690.article.art\">\n<!-- Article -->\n  <!-- Primary responsibility -->\n  <xsl:call-template name=\"iso690.primary\"/>\n  <!-- Title -->\n  <xsl:call-template name=\"iso690.title\">\n    <xsl:with-param name=\"italic\" select=\"0\"/>\n  </xsl:call-template>\n  <!-- Subordinate responsibility [nonEL] -->\n  <xsl:if test=\"not(../*/bibliomisc[@role='medium'])\">\n    <xsl:call-template name=\"iso690.secondary\"/>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"biblioset\" mode=\"iso690.article.jour\">\n<!-- Serial -->\n  <!-- Title and Type of medium -->\n  <xsl:call-template name=\"iso690.title\"/>\n  <!-- Edition -->\n  <xsl:call-template name=\"iso690.edition\">\n    <xsl:with-param name=\"after\" select=\"./pubdate[not(@role='issuing')]|./volumenum|./issuenum|./pagenums\"/>\n  </xsl:call-template>\n  <!-- Number designation [EL] -->\n  <!-- Location within host -->\n  <xsl:call-template name=\"iso690.article.location\"/>\n  <xsl:if test=\"./bibliomisc[@role='medium']\">\n  <!-- Notes [EL] -->\n    <xsl:call-template name=\"iso690.notice\"/>\n  <!-- Avaibility and access [EL] -->\n    <xsl:call-template name=\"iso690.access\"/>\n  <!-- Standard number [EL] -->\n    <xsl:call-template name=\"iso690.issn\"/>\n  </xsl:if>\n</xsl:template>\n\n<!-- PATENT DOCUMENTS -->\n<xsl:template name=\"iso690.patent\">\n  <!-- Primary responsibility (applicant) -->\n  <xsl:call-template name=\"iso690.primary\"/>\n  <!-- Title of the invention -->\n  <xsl:call-template name=\"iso690.title\"/>\n  <!-- Subordinate responsibility -->\n  <xsl:call-template name=\"iso690.secondary\"/>\n  <!-- Notes -->\n  <xsl:call-template name=\"iso690.notice\"/>\n  <!-- Identification -->\n  <xsl:call-template name=\"iso690.pat.ident\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n<!-- Elements -->\n\n<!-- Primary responsibility -->\n<xsl:template name=\"iso690.primary\">\n  <xsl:param name=\"primary.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'primary.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:choose>\n    <xsl:when test=\"./authorgroup/author|./author\">\n      <xsl:call-template name=\"iso690.author.list\">\n        <xsl:with-param name=\"person.list\" select=\".//authorgroup/author|.//author\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"./authorgroup/editor|./editor\">\n      <xsl:call-template name=\"iso690.author.list\">\n        <xsl:with-param name=\"person.list\" select=\".//authorgroup/editor|.//editor\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"./authorgroup/corpauthor|./corpauthor\">\n      <xsl:call-template name=\"iso690.author.list\">\n        <xsl:with-param name=\"person.list\" select=\".//authorgroup/corpauthor|.//corpauthor\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:if test=\"(./firstname)and(./surname)\">\n        <xsl:call-template name=\"iso690.author\"/>\n        <xsl:call-template name=\"iso690.endsep\">\n          <xsl:with-param name=\"text\" select=\"string(./firstname[1])\"/>\n          <xsl:with-param name=\"sep\" select=\"$primary.sep\"/>\n        </xsl:call-template>\n      </xsl:if>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"iso690.author.list\">\n  <xsl:param name=\"person.list\" select=\"author|corpauthor|editor\"/>\n  <xsl:param name=\"person.count\" select=\"count($person.list)\"/>\n  <xsl:param name=\"count\" select=\"1\"/>\n  <xsl:param name=\"group\" select=\"./authorgroup[@role='many']\"/>\n  <xsl:param name=\"many\" select=\"0\"/>\n\n  <xsl:param name=\"primary.many\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'primary.many'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"primary.editor\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'primary.editor'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"primary.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'primary.sep'\"/></xsl:call-template>\n  </xsl:param>\n\n  <xsl:choose>\n    <xsl:when test=\"$count &gt; $person.count\"/>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"$person.count &lt; 4 and not($group)\">\n          <xsl:call-template name=\"iso690.author\">\n            <xsl:with-param name=\"node\" select=\"$person.list[position()=$count]\"/>\n          </xsl:call-template>\n          <xsl:choose>\n            <xsl:when test=\"$person.count = 2 and $count = 1 and $biblioentry.alt.primary.seps != 0\">\n              <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'alt.person.two.sep'\"/></xsl:call-template>\n            </xsl:when>\n            <xsl:when test=\"$person.count = 2 and $count = 1\">\n              <xsl:call-template name=\"gentext.template\">\n                <xsl:with-param name=\"context\" select=\"'authorgroup'\"/>\n                <xsl:with-param name=\"name\" select=\"'sep2'\"/>\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:when test=\"$person.count &gt; 2 and $count+1 = $person.count and $biblioentry.alt.primary.seps != 0\">\n              <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'alt.person.last.sep'\"/></xsl:call-template>\n            </xsl:when>\n            <xsl:when test=\"$person.count &gt; 2 and $count+1 = $person.count\">\n              <xsl:call-template name=\"gentext.template\">\n                <xsl:with-param name=\"context\" select=\"'authorgroup'\"/>\n                <xsl:with-param name=\"name\" select=\"'seplast'\"/>\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:when test=\"$count &lt; $person.count and $biblioentry.alt.primary.seps != 0\">\n              <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'alt.person.more.sep'\"/></xsl:call-template>\n            </xsl:when>\n            <xsl:when test=\"$count &lt; $person.count\">\n              <xsl:call-template name=\"gentext.template\">\n                <xsl:with-param name=\"context\" select=\"'authorgroup'\"/>\n                <xsl:with-param name=\"name\" select=\"'sep'\"/>\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:when test=\"($count = $person.count)\">\n              <xsl:choose>\n                <xsl:when test=\"$many!=0\">\n                  <xsl:if test=\"name($person.list[position()=$count])='editor'\">\n                    <xsl:value-of select=\"$primary.editor\"/>\n                  </xsl:if>\n                  <xsl:value-of select=\"$primary.many\"/>\n                  <xsl:call-template name=\"iso690.endsep\">\n                    <xsl:with-param name=\"text\" select=\"$primary.many\"/>\n                    <xsl:with-param name=\"sep\" select=\"$primary.sep\"/>\n                  </xsl:call-template>\n                </xsl:when>\n                <xsl:when test=\"name($person.list[position()=$count])='editor'\">\n                  <xsl:value-of select=\"$primary.editor\"/>\n                  <xsl:value-of select=\"$primary.sep\"/>\n                </xsl:when>\n                <xsl:when test=\"name($person.list[position()=$count])='corpauthor'\">\n                  <xsl:call-template name=\"iso690.endsep\">\n                    <xsl:with-param name=\"text\" select=\"string($person.list[position()=$count])\"/>\n                    <xsl:with-param name=\"sep\" select=\"$primary.sep\"/>\n                  </xsl:call-template>\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:call-template name=\"iso690.endsep\">\n                    <xsl:with-param name=\"text\" select=\"string($person.list[position()=$count]//firstname[1])\"/>\n                    <xsl:with-param name=\"sep\" select=\"$primary.sep\"/>\n                  </xsl:call-template>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:when>\n          </xsl:choose>\n\n          <xsl:call-template name=\"iso690.author.list\">\n            <xsl:with-param name=\"person.list\" select=\"$person.list\"/>\n            <xsl:with-param name=\"person.count\" select=\"$person.count\"/>\n            <xsl:with-param name=\"count\" select=\"$count+1\"/>\n            <xsl:with-param name=\"many\" select=\"$many\"/>\n            <xsl:with-param name=\"group\"/>\n          </xsl:call-template>\n        </xsl:when>\n\n        <xsl:otherwise>\n          <xsl:choose>\n            <xsl:when test=\"($biblioentry.primary.count&gt;=3) and ($person.count&gt;=3)\">\n              <xsl:call-template name=\"iso690.author.list\">\n                <xsl:with-param name=\"person.list\" select=\"$person.list[1]|$person.list[2]|$person.list[3]\"/>\n                <xsl:with-param name=\"person.count\" select=\"3\"/>\n                <xsl:with-param name=\"count\" select=\"1\"/>\n                <xsl:with-param name=\"many\" select=\"1\"/>\n                <xsl:with-param name=\"group\"/>\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:when test=\"($biblioentry.primary.count&gt;1) and  ($person.count&gt;1)\">\n              <xsl:call-template name=\"iso690.author.list\">\n                <xsl:with-param name=\"person.list\" select=\"$person.list[1]|$person.list[2]\"/>\n                <xsl:with-param name=\"person.count\" select=\"2\"/>\n                <xsl:with-param name=\"count\" select=\"1\"/>\n                <xsl:with-param name=\"many\" select=\"1\"/>\n                <xsl:with-param name=\"group\"/>\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:call-template name=\"iso690.author.list\">\n                <xsl:with-param name=\"person.list\" select=\"$person.list[1]\"/>\n                <xsl:with-param name=\"person.count\" select=\"1\"/>\n                <xsl:with-param name=\"count\" select=\"1\"/>\n                <xsl:with-param name=\"many\" select=\"1\"/>\n                <xsl:with-param name=\"group\"/>\n              </xsl:call-template>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"iso690.author\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:param name=\"lastfirst.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'lastfirst.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:choose>\n    <xsl:when test=\"name($node)!='corpauthor'\">\n      <span style=\"text-transform:uppercase\">\n        <xsl:apply-templates mode=\"iso690.mode\" select=\"$node//surname[1]\"/>\n      </span>\n      <xsl:if test=\"$node//surname and $node//firstname\">\n        <xsl:value-of select=\"$lastfirst.sep\"/>\n      </xsl:if>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"$node//firstname[1]\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <span style=\"text-transform:uppercase\">\n        <xsl:apply-templates mode=\"iso690.mode\" select=\"$node\"/>\n      </span>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"corpauthor|firstname|surname\" mode=\"iso690.mode\">\n  <xsl:apply-templates mode=\"iso690.mode\"/>\n</xsl:template>\n\n<!-- Title and Type of medium -->\n<xsl:template name=\"iso690.title\">\n  <xsl:param name=\"medium\" select=\"./bibliomisc[@role='medium']\"/>\n  <xsl:param name=\"italic\" select=\"1\"/>\n  <xsl:param name=\"sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'title.sep'\"/></xsl:call-template>\n  </xsl:param>\n\n  <xsl:apply-templates mode=\"iso690.mode\" select=\"./title\">\n    <xsl:with-param name=\"medium\" select=\"$medium\"/>\n    <xsl:with-param name=\"italic\" select=\"$italic\"/>\n    <xsl:with-param name=\"sep\" select=\"$sep\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"iso690.mode\">\n  <xsl:param name=\"medium\"/>\n  <xsl:param name=\"italic\" select=\"1\"/>\n  <xsl:param name=\"sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'title.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"medium1\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'medium1'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"medium2\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'medium2'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:choose>\n    <xsl:when test=\"$italic=1\">\n      <xsl:call-template name=\"iso690.italic.title\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"iso690.make.title\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n  <xsl:if test=\"$medium\">\n    <xsl:value-of select=\"$medium1\"/>\n    <xsl:apply-templates mode=\"iso690.mode\" select=\"$medium\"/>\n    <xsl:value-of select=\"$medium2\"/>\n  </xsl:if>\n  <xsl:call-template name=\"iso690.endsep\">\n    <xsl:with-param name=\"text\" select=\"concat(string(.),string(../subtitle))\"/>\n    <xsl:with-param name=\"sep\" select=\"$sep\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"iso690.italic.title\">\n  <em xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\">\n    <xsl:call-template name=\"iso690.make.title\"/>\n  </em>\n</xsl:template>\n\n<xsl:template name=\"iso690.make.title\">\n  <xsl:param name=\"submaintitle.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'submaintitle.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:apply-templates mode=\"iso690.mode\"/>\n  <xsl:if test=\"../subtitle|../info/subtitle\">\n    <xsl:value-of select=\"$submaintitle.sep\"/>\n    <xsl:apply-templates mode=\"iso690.mode\" select=\"../subtitle|../info/subtitle\"/>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"iso690.mode\">\n  <xsl:apply-templates mode=\"iso690.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"bibliomisc[@role='medium']\" mode=\"iso690.mode\">\n  <xsl:apply-templates mode=\"iso690.mode\"/>\n</xsl:template>\n\n<!-- Subordinate responsibility -->\n<xsl:template name=\"iso690.secondary\">\n  <xsl:param name=\"secondary.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'secondary.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"secondary.person.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'secondary.person.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:for-each select=\"./bibliomisc[@role='secondary']\">\n    <xsl:apply-templates mode=\"iso690.mode\" select=\".\"/>\n    <xsl:choose>\n      <xsl:when test=\"position()=count(../bibliomisc[@role='secondary'])\">\n        <xsl:call-template name=\"iso690.endsep\">\n          <xsl:with-param name=\"text\" select=\"string(.)\"/>\n          <xsl:with-param name=\"sep\" select=\"$secondary.sep\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$secondary.person.sep\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:for-each>\n</xsl:template>\n\n<xsl:template match=\"bibliomisc[@role='secondary']\" mode=\"iso690.mode\">\n  <xsl:apply-templates mode=\"iso690.mode\"/>\n</xsl:template>\n\n<!-- Edition -->\n<xsl:template name=\"iso690.edition\">\n  <xsl:param name=\"after\"/>\n  <xsl:param name=\"edition.serial.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'edition.serial.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:choose>\n    <xsl:when test=\"string($after)!=''\">\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./edition\">\n        <xsl:with-param name=\"sep\" select=\"$edition.serial.sep\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./edition\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"edition\" mode=\"iso690.mode\">\n  <xsl:param name=\"sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'edition.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:apply-templates mode=\"iso690.mode\"/>\n  <xsl:call-template name=\"iso690.endsep\">\n    <xsl:with-param name=\"text\" select=\"string(.)\"/>\n    <xsl:with-param name=\"sep\" select=\"$sep\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<!-- Issue designation (date and/or num) -->\n<xsl:template name=\"iso690.issuing\">\n  <xsl:param name=\"issuing.div\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'issuing.div'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"issuing.range\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'issuing.range'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"issuing.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'issuing.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:choose>\n    <xsl:when test=\"./pubdate[@role='issuing'] and ./volumenum[2] and ./issuenum[2]\">\n      <xsl:call-template name=\"iso690.issuedate\"/>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./volumenum[1]\">\n        <xsl:with-param name=\"sep\" select=\"$issuing.div\"/>\n      </xsl:apply-templates>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./issuenum[1]\">\n        <xsl:with-param name=\"sep\" select=\"$issuing.range\"/>\n      </xsl:apply-templates>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./volumenum[2]\">\n        <xsl:with-param name=\"sep\" select=\"$issuing.div\"/>\n      </xsl:apply-templates>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./issuenum[2]\">\n        <xsl:with-param name=\"sep\" select=\"$issuing.sep\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:when test=\"./pubdate[@role='issuing'] and ./volumenum[2]\">\n      <xsl:call-template name=\"iso690.issuedate\"/>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./volumenum[1]\">\n        <xsl:with-param name=\"sep\" select=\"$issuing.range\"/>\n      </xsl:apply-templates>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./volumenum[2]\">\n        <xsl:with-param name=\"sep\" select=\"$issuing.sep\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:when test=\"./pubdate[@role='issuing'] and ./volumenum and ./issuenum\">\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./pubdate[@role='issuing']\">\n        <xsl:with-param name=\"sep\" select=\"$issuing.div\"/>\n      </xsl:apply-templates>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./volumenum\">\n        <xsl:with-param name=\"sep\" select=\"$issuing.div\"/>\n      </xsl:apply-templates>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./issuenum\">\n        <xsl:with-param name=\"sep\" select=\"$issuing.sep\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:when test=\"./pubdate[@role='issuing']\">\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./pubdate[@role='issuing']\">\n        <xsl:with-param name=\"sep\" select=\"$issuing.sep\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:when test=\"./volumenum\">\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./volumenum\">\n        <xsl:with-param name=\"sep\" select=\"$issuing.sep\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:when test=\"./issuenum\">\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./issuenum\">\n        <xsl:with-param name=\"sep\" select=\"$issuing.sep\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"iso690.issuedate\">\n  <xsl:param name=\"issuing.div\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'issuing.div'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"issuing.range\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'issuing.range'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"issuing.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'issuing.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:choose>\n    <xsl:when test=\"./pubdate[@role='issuing'][2]\">\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./pubdate[@role='issuing'][1]\">\n        <xsl:with-param name=\"sep\" select=\"$issuing.range\"/>\n      </xsl:apply-templates>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./pubdate[@role='issuing'][2]\">\n        <xsl:with-param name=\"sep\" select=\"$issuing.div\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./pubdate[@role='issuing']\">\n        <xsl:with-param name=\"sep\" select=\"$issuing.div\"/>\n      </xsl:apply-templates>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"pubdate[@role='issuing']\" mode=\"iso690.mode\">\n  <xsl:param name=\"sep\"/>\n  <xsl:variable name=\"substr\" select=\"substring(string(.),string-length(string(.)))\"/>\n  <xsl:apply-templates mode=\"iso690.mode\"/>\n  <xsl:call-template name=\"iso690.space\">\n    <xsl:with-param name=\"text\" select=\"$substr\"/>\n  </xsl:call-template>\n  <xsl:choose>\n    <xsl:when test=\"$substr='-'\">\n      <xsl:call-template name=\"iso690.endsep\">\n        <xsl:with-param name=\"text\" select=\"' '\"/>\n        <xsl:with-param name=\"sep\" select=\"$sep\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"iso690.endsep\">\n        <xsl:with-param name=\"text\" select=\"string(.)\"/>\n        <xsl:with-param name=\"sep\" select=\"$sep\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- Numeration of the part -->\n<xsl:template name=\"iso690.partnr\">\n  <xsl:param name=\"partnr.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'partnr.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:apply-templates mode=\"iso690.mode\" select=\"./volumenum\">\n    <xsl:with-param name=\"sep\" select=\"$partnr.sep\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<!-- Place of publication, Publisher, Year/Date of publication, Date of update/revision, Date of citation -->\n<xsl:template name=\"iso690.pub\">\n  <xsl:param name=\"onlydate\" select=\"0\"/>\n  <xsl:param name=\"placesep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'placepubl.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"pubsep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'publyear.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"endsep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'pubinfo.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:choose>\n    <xsl:when test=\"(./publisher/publishername|./publishername|./publisher/address/city)and($onlydate=0)and(./pubdate[not(@role='issuing')]|./copyright/year|./date[@role='upd']|./date[@role='upd'])\">\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./publisher/address/city\">\n        <xsl:with-param name=\"sep\" select=\"$placesep\"/>\n      </xsl:apply-templates>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./publisher/publishername|./publishername\">\n        <xsl:with-param name=\"sep\" select=\"$pubsep\"/>\n      </xsl:apply-templates>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./pubdate[not(@role='issuing')]|./copyright/year\">\n        <xsl:with-param name=\"sep\" select=\"$endsep\"/>\n      </xsl:apply-templates>\n      <xsl:if test=\"not(./pubdate[not(@role='issuing')]|./copyright/year)\">\n        <xsl:call-template name=\"iso690.data\">\n          <xsl:with-param name=\"sep\" select=\"$endsep\"/>\n        </xsl:call-template>\n      </xsl:if>\n    </xsl:when>\n    <xsl:when test=\"(./publisher/publishername|./publishername)and(./publisher/address/city)and($onlydate=0)\">\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./publisher/address/city\">\n        <xsl:with-param name=\"sep\" select=\"$placesep\"/>\n      </xsl:apply-templates>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./publisher/publishername|./publishername\">\n        <xsl:with-param name=\"sep\" select=\"$endsep\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:when test=\"($onlydate=1)or(./pubdate[not(@role='issuing')]|./copyright/year)\">\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./pubdate[not(@role='issuing')]|./copyright/year\">\n        <xsl:with-param name=\"sep\" select=\"$endsep\"/>\n      </xsl:apply-templates>\n      <xsl:if test=\"$onlydate=1\">\n        <xsl:call-template name=\"iso690.location\">\n          <xsl:with-param name=\"onlypages\" select=\"1\"/>\n        </xsl:call-template>\n      </xsl:if>\n    </xsl:when>\n    <xsl:when test=\"not(./pubdate[not(@role='issuing')]|./copyright/year)\">\n      <xsl:call-template name=\"iso690.data\">\n        <xsl:with-param name=\"sep\" select=\"$endsep\"/>\n      </xsl:call-template>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"iso690.paper.pub\">\n  <xsl:param name=\"spec.pubinfo.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'spec.pubinfo.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:choose>\n    <xsl:when test=\"./volumnum|./issuenum|./pagenums\">\n      <xsl:call-template name=\"iso690.pub\">\n        <xsl:with-param name=\"endsep\" select=\"$spec.pubinfo.sep\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"iso690.pub\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"iso690.data\">\n  <xsl:param name=\"sep\"/>\n  <xsl:param name=\"datecit2\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'datecit2'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:apply-templates mode=\"iso690.mode\" select=\"./date[@role='upd']\">\n    <xsl:with-param name=\"sep\"/>\n  </xsl:apply-templates>\n  <xsl:apply-templates mode=\"iso690.mode\" select=\"./date[@role='cit']\"/>\n  <xsl:choose>\n    <xsl:when test=\"./date[@role='cit']\">\n      <xsl:call-template name=\"iso690.endsep\">\n        <xsl:with-param name=\"text\" select=\"$datecit2\"/>\n        <xsl:with-param name=\"sep\" select=\"$sep\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"./date[@role='upd']\">\n      <xsl:call-template name=\"iso690.endsep\">\n        <xsl:with-param name=\"text\" select=\"string(./date[@role='upd'])\"/>\n        <xsl:with-param name=\"sep\" select=\"$sep\"/>\n      </xsl:call-template>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"publisher/address/city|publishername\" mode=\"iso690.mode\">\n  <xsl:param name=\"sep\"/>\n  <xsl:param name=\"upd\" select=\"0\"/>\n  <xsl:apply-templates mode=\"iso690.mode\"/>\n  <xsl:call-template name=\"iso690.endsep\">\n    <xsl:with-param name=\"text\" select=\"string(.)\"/>\n    <xsl:with-param name=\"sep\" select=\"$sep\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"pubdate|copyright/year\" mode=\"iso690.mode\">\n  <xsl:param name=\"sep\"/>\n  <xsl:param name=\"upd\" select=\"1\"/>\n  <xsl:param name=\"datecit2\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'datecit2'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:variable name=\"substr\" select=\"substring(string(.),string-length(string(.)))\"/>\n  <xsl:if test=\"name(.)!='pubdate'\">\n    <xsl:value-of select=\"'&#169;'\"/><!-- copyright -->\n  </xsl:if>\n  <xsl:apply-templates mode=\"iso690.mode\"/>\n  <xsl:call-template name=\"iso690.space\">\n    <xsl:with-param name=\"text\" select=\"$substr\"/>\n  </xsl:call-template>\n  <xsl:if test=\"$upd!=0\">\n    <xsl:choose>\n      <xsl:when test=\"name(.)='pubdate'\">\n        <xsl:apply-templates mode=\"iso690.mode\" select=\"../date[@role='upd']\"/>\n        <xsl:apply-templates mode=\"iso690.mode\" select=\"../date[@role='cit']\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:apply-templates mode=\"iso690.mode\" select=\"../../date[@role='upd']\"/>\n        <xsl:apply-templates mode=\"iso690.mode\" select=\"../../date[@role='cit']\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:if>\n  <xsl:choose>\n    <xsl:when test=\"../date[@role='cit']|../../date[@role='cit'] and $upd!=0\">\n      <xsl:call-template name=\"iso690.endsep\">\n        <xsl:with-param name=\"text\" select=\"$datecit2\"/>\n        <xsl:with-param name=\"sep\" select=\"$sep\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"../date[@role='upd']|../../date[@role='upd'] and $upd!=0\">\n      <xsl:call-template name=\"iso690.endsep\">\n        <xsl:with-param name=\"text\" select=\"string(../date[@role='upd'])\"/>\n        <xsl:with-param name=\"sep\" select=\"$sep\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"$substr='-'\">\n      <xsl:call-template name=\"iso690.endsep\">\n        <xsl:with-param name=\"text\" select=\"' '\"/>\n        <xsl:with-param name=\"sep\" select=\"$sep\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"iso690.endsep\">\n        <xsl:with-param name=\"text\" select=\"string(.)\"/>\n        <xsl:with-param name=\"sep\" select=\"$sep\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"iso690.space\">\n  <xsl:param name=\"text\" select=\"substring(string(.),string-length(string(.)))\"/>\n  <xsl:if test=\"$text='-'\">\n    <xsl:value-of select=\"' '\"/>\n  </xsl:if>\n</xsl:template>\n\n<!-- Date of update/revision -->\n<xsl:template match=\"date[@role='upd']\" mode=\"iso690.mode\">\n  <xsl:param name=\"sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'upd.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:value-of select=\"$sep\"/>\n  <xsl:apply-templates mode=\"iso690.mode\"/>\n</xsl:template>\n\n<!-- Date of citation -->\n<xsl:template match=\"date[@role='cit']\" mode=\"iso690.mode\">\n  <xsl:param name=\"datecit1\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'datecit1'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"datecit2\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'datecit2'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:value-of select=\"$datecit1\"/>\n  <xsl:apply-templates mode=\"iso690.mode\"/>\n  <xsl:value-of select=\"$datecit2\"/>\n</xsl:template>\n\n<!-- Extent -->\n<xsl:template name=\"iso690.extent\">\n  <xsl:param name=\"extent.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'extent.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:apply-templates mode=\"iso690.mode\" select=\"./pagenums\">\n    <xsl:with-param name=\"sep\" select=\"$extent.sep\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<!-- Location within host -->\n<xsl:template name=\"iso690.part.location\">\n  <xsl:param name=\"location.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'location.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:choose>\n    <xsl:when test=\"./pagenums\">\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./bibliomisc[@role='secnum']\"/>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./bibliomisc[@role='sectitle']\"/>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./pagenums\"/>\n    </xsl:when>\n    <xsl:when test=\"./bibliomisc[@role='sectitle']\">\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./bibliomisc[@role='secnum']\"/>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./bibliomisc[@role='sectitle']\">\n        <xsl:with-param name=\"sep\" select=\"$location.sep\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./bibliomisc[@role='secnum']\">\n        <xsl:with-param name=\"sep\" select=\"$location.sep\"/>\n      </xsl:apply-templates>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"iso690.article.location\">\n  <xsl:param name=\"location.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'location.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"locs.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'locs.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:choose>\n    <xsl:when test=\"not(./date[@role='upd']|./date[@role='cit'])\">\n      <xsl:choose>\n        <xsl:when test=\"./volumenum|./issuenum|./pagenums\">\n          <xsl:apply-templates mode=\"iso690.mode\" select=\"./pubdate[not(@role='issuing')]\">\n            <xsl:with-param name=\"upd\" select=\"0\"/>\n            <xsl:with-param name=\"sep\" select=\"$locs.sep\"/>\n          </xsl:apply-templates>\n          <xsl:call-template name=\"iso690.location\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates mode=\"iso690.mode\" select=\"./pubdate[not(@role='issuing')]\">\n            <xsl:with-param name=\"sep\" select=\"$location.sep\"/>\n          </xsl:apply-templates>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"./volumenum|./issuenum|./pagenums\">\n          <xsl:apply-templates mode=\"iso690.mode\" select=\"./pubdate[not(@role='issuing')]\">\n            <xsl:with-param name=\"upd\" select=\"0\"/>\n            <xsl:with-param name=\"sep\" select=\"$locs.sep\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates mode=\"iso690.mode\" select=\"./pubdate[not(@role='issuing')]\">\n            <xsl:with-param name=\"upd\" select=\"0\"/>\n            <xsl:with-param name=\"sep\" select=\"$location.sep\"/>\n          </xsl:apply-templates>\n        </xsl:otherwise>\n      </xsl:choose>\n      <xsl:choose>\n        <xsl:when test=\"./issuenum\">\n          <xsl:apply-templates mode=\"iso690.mode\" select=\"./volumenum\"/>\n          <xsl:apply-templates mode=\"iso690.mode\" select=\"./issuenum\">\n            <xsl:with-param name=\"sep\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates mode=\"iso690.mode\" select=\"./volumenum\">\n            <xsl:with-param name=\"sep\"/>\n          </xsl:apply-templates>\n        </xsl:otherwise>\n      </xsl:choose>\n      <xsl:choose>\n        <xsl:when test=\"./pagenums\">\n          <xsl:call-template name=\"iso690.data\">\n            <xsl:with-param name=\"sep\" select=\"$locs.sep\"/>\n          </xsl:call-template>\n          <xsl:apply-templates mode=\"iso690.mode\" select=\"./pagenums\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"iso690.data\">\n            <xsl:with-param name=\"sep\" select=\"$location.sep\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"iso690.location\">\n  <xsl:param name=\"location.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'location.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:choose>\n    <xsl:when test=\"./volumenum and not(./issuenum) and not(./pagenums)\">\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./volumenum\">\n        <xsl:with-param name=\"sep\" select=\"$location.sep\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:when test=\"./issuenum and not(./pagenums)\">\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./volumenum\"/>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./issuenum\">\n        <xsl:with-param name=\"sep\" select=\"$location.sep\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:when test=\"./pagenums\">\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./volumenum\"/>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./issuenum\"/>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./pagenums\"/>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"bibliomisc[@role='secnum']|bibliomisc[@role='sectitle']\" mode=\"iso690.mode\">\n  <xsl:param name=\"sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'locs.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:apply-templates mode=\"iso690.mode\"/>\n  <xsl:call-template name=\"iso690.endsep\">\n    <xsl:with-param name=\"text\" select=\"string(.)\"/>\n    <xsl:with-param name=\"sep\" select=\"$sep\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"volumenum|issuenum\" mode=\"iso690.mode\">\n  <xsl:param name=\"sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'locs.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:apply-templates mode=\"iso690.mode\"/>\n  <xsl:call-template name=\"iso690.endsep\">\n    <xsl:with-param name=\"text\" select=\"string(.)\"/>\n    <xsl:with-param name=\"sep\" select=\"$sep\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"pagenums\" mode=\"iso690.mode\">\n  <xsl:param name=\"sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'location.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:apply-templates mode=\"iso690.mode\"/>\n  <xsl:call-template name=\"iso690.endsep\">\n    <xsl:with-param name=\"text\" select=\"string(.)\"/>\n    <xsl:with-param name=\"sep\" select=\"$sep\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<!-- Series -->\n<xsl:template name=\"iso690.serie\">\n  <xsl:apply-templates mode=\"iso690.mode\" select=\".//bibliomisc[@role='serie']\"/>\n</xsl:template>\n\n<!-- Notes -->\n<xsl:template name=\"iso690.notice\">\n  <xsl:apply-templates mode=\"iso690.mode\" select=\".//bibliomisc[not(@role)]\"/>\n</xsl:template>\n\n<xsl:template match=\"bibliomisc[not(@role)]|bibliomisc[@role='serie']\" mode=\"iso690.mode\">\n  <xsl:param name=\"notice.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'notice.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:apply-templates mode=\"iso690.mode\"/>\n  <xsl:call-template name=\"iso690.endsep\">\n    <xsl:with-param name=\"text\" select=\"string(.)\"/>\n    <xsl:with-param name=\"sep\" select=\"$notice.sep\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<!-- Avaibility and access -->\n<xsl:template name=\"iso690.access\">\n  <xsl:for-each select=\"./biblioid[@class='uri']|./bibliomisc[@role='access']\">\n    <xsl:choose>\n      <xsl:when test=\"position()=1\">\n        <xsl:apply-templates mode=\"iso690.mode\" select=\".\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:apply-templates mode=\"iso690.mode\" select=\".\">\n          <xsl:with-param name=\"firstacc\" select=\"0\"/>\n        </xsl:apply-templates>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:for-each>\n</xsl:template>\n\n<xsl:template match=\"biblioid[@class='uri']/ulink|bibliomisc[@role='access']/ulink\" mode=\"iso690.mode\">\n  <xsl:param name=\"link1\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'link1'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"link2\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'link2'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:value-of select=\"$link1\"/>\n  <xsl:call-template name=\"ulink\"/>\n  <xsl:value-of select=\"$link2\"/>\n</xsl:template>\n\n<xsl:template match=\"biblioid[@class='uri']|bibliomisc[@role='access']\" mode=\"iso690.mode\">\n  <xsl:param name=\"firstacc\" select=\"1\"/>\n  <xsl:param name=\"access\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'access'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"acctoo\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'acctoo'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"onwww\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'onwww'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"oninet\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'oninet'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"access.end\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'access.end'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"access.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'access.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:choose>\n    <xsl:when test=\"$firstacc=1\">\n      <xsl:value-of select=\"$access\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$acctoo\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n  <xsl:choose>\n    <xsl:when test=\"(./ulink)and(string(./ulink)=string(.))\">\n      <xsl:choose>\n        <xsl:when test=\"(starts-with(./ulink/@url,'http://')or(starts-with(./ulink/@url,'https://')))\">\n          <xsl:value-of select=\"$onwww\"/>\n          <xsl:value-of select=\"$access.end\"/>\n          <xsl:apply-templates mode=\"iso690.mode\" select=\"./ulink\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"$oninet\"/>\n          <xsl:value-of select=\"$access.end\"/>\n          <xsl:apply-templates mode=\"iso690.mode\" select=\"./ulink\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:when test=\"(./ulink)and(string(./ulink)!=string(.))\">\n      <xsl:value-of select=\"text()[1]\"/>\n      <xsl:call-template name=\"iso690.endsep\">\n        <xsl:with-param name=\"text\" select=\"text()[1]\"/>\n        <xsl:with-param name=\"sep\" select=\"$access.end\"/>\n      </xsl:call-template>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./ulink\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates mode=\"iso690.mode\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n  <xsl:value-of select=\"$access.sep\"/>\n</xsl:template>\n\n<!-- Standard number - ISBN -->\n<xsl:template name=\"iso690.isbn\">\n  <xsl:choose>\n    <xsl:when test=\"./biblioid/@class='isbn'\">\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./biblioid[@class='isbn']\"/>\n    </xsl:when>\n    <xsl:when test=\"./isbn\">\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./isbn\"/>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"isbn|biblioid[@class='isbn']\" mode=\"iso690.mode\">\n  <xsl:param name=\"isbn\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'isbn'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"stdnum.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'stdnum.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:value-of select=\"$isbn\"/>\n  <xsl:apply-templates mode=\"iso690.mode\"/>\n  <xsl:value-of select=\"$stdnum.sep\"/>\n</xsl:template>\n\n<!-- Standard number - ISSN -->\n<xsl:template name=\"iso690.issn\">\n  <xsl:choose>\n    <xsl:when test=\"./biblioid/@class='issn'\">\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./biblioid[@class='issn']\"/>\n    </xsl:when>\n    <xsl:when test=\"./issn\">\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./issn\"/>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"issn|biblioid[@class='issn']\" mode=\"iso690.mode\">\n  <xsl:param name=\"issn\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'issn'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:param name=\"stdnum.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'stdnum.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:value-of select=\"$issn\"/>\n  <xsl:apply-templates mode=\"iso690.mode\"/>\n  <xsl:value-of select=\"$stdnum.sep\"/>\n</xsl:template>\n\n<!-- Identification of patent document -->\n<xsl:template name=\"iso690.pat.ident\">\n  <xsl:param name=\"patdate.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'patdate.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:apply-templates mode=\"iso690.mode\" select=\"./address/country\"/>\n  <xsl:apply-templates mode=\"iso690.mode\" select=\"./bibliomisc[@role='patenttype']\"/>\n  <xsl:choose>\n    <xsl:when test=\"./biblioid[@class='other' and @otherclass='patentnum']\">\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./biblioid[@class='other' and @otherclass='patentnum']\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates mode=\"iso690.mode\" select=\"./bibliomisc[@role='patentnum']\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n  <xsl:apply-templates mode=\"iso690.mode\" select=\"./pubdate[not(@role='issuing')]\">\n    <xsl:with-param name=\"sep\" select=\"$patdate.sep\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<!-- Country or issuing office -->\n<xsl:template match=\"address/country\" mode=\"iso690.mode\">\n  <xsl:param name=\"patcountry.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'patcountry.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <em xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\">\n    <xsl:apply-templates mode=\"iso690.mode\"/>\n  </em>\n  <xsl:value-of select=\"$patcountry.sep\"/>\n</xsl:template>\n\n<!-- Kind of patent document -->\n<xsl:template match=\"bibliomisc[@role='patenttype']\" mode=\"iso690.mode\">\n  <xsl:param name=\"pattype.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'pattype.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <em xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\">\n    <xsl:apply-templates mode=\"iso690.mode\"/>\n  </em>\n  <xsl:value-of select=\"$pattype.sep\"/>\n</xsl:template>\n\n<!-- Number -->\n<xsl:template match=\"biblioid[@class='other' and @otherclass='patentnum']|bibliomisc[@role='patentnum']\" mode=\"iso690.mode\">\n  <xsl:param name=\"patnum.sep\">\n    <xsl:call-template name=\"gentext.template\"><xsl:with-param name=\"context\" select=\"'iso690'\"/><xsl:with-param name=\"name\" select=\"'patnum.sep'\"/></xsl:call-template>\n  </xsl:param>\n  <xsl:apply-templates mode=\"iso690.mode\"/>\n  <xsl:value-of select=\"$patnum.sep\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n<!-- Supplementary templates -->\n\n<xsl:template name=\"iso690.endsep\">\n  <xsl:param name=\"text\"/>\n  <xsl:param name=\"sep\" select=\". \"/>\n  <xsl:choose>\n    <xsl:when test=\"substring($text,string-length($text))!=substring($sep,1,1)\">\n      <xsl:value-of select=\"$sep\"/>\n    </xsl:when>\n    <xsl:when test=\"substring($text,string-length($text))=' '\">\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"' '\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"*\" mode=\"iso690.mode\">\n  <xsl:apply-templates select=\".\"/><!-- try the default mode -->\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/biblio.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: biblio.xsl 9297 2012-04-22 03:56:16Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"bibliography\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <div>\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n\n    <xsl:call-template name=\"bibliography.titlepage\"/>\n\n    <xsl:apply-templates/>\n\n    <xsl:if test=\"not(parent::article)\">\n      <xsl:call-template name=\"process.footnotes\"/>\n    </xsl:if>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"bibliography/bibliographyinfo\"/>\n<xsl:template match=\"bibliography/info\"/>\n<xsl:template match=\"bibliography/title\"/>\n<xsl:template match=\"bibliography/subtitle\"/>\n<xsl:template match=\"bibliography/titleabbrev\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"bibliodiv\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <div>\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:apply-templates/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"bibliodiv/title\">\n  <h3>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"anchor\">\n      <xsl:with-param name=\"node\" select=\"..\"/>\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:apply-templates/>\n  </h3>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"bibliolist\">\n  <div>\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:if test=\"blockinfo/title|info/title|title\">\n      <xsl:call-template name=\"formal.object.heading\"/>\n    </xsl:if>\n    <xsl:apply-templates select=\"*[not(self::blockinfo)                                    and not(self::info)                                    and not(self::title)                                    and not(self::titleabbrev)                                    and not(self::biblioentry)                                    and not(self::bibliomixed)]\"/>\n    <xsl:apply-templates select=\"biblioentry|bibliomixed\"/>\n  </div>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"biblioentry\">\n  <xsl:param name=\"label\">\n    <xsl:call-template name=\"biblioentry.label\"/>\n  </xsl:param>\n\n  <xsl:variable name=\"id\">\n    <xsl:call-template name=\"object.id\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"string(.) = ''\">\n      <xsl:variable name=\"bib\" select=\"document($bibliography.collection,.)\"/>\n      <xsl:variable name=\"entry\" select=\"$bib/bibliography//                                          *[@id=$id or @xml:id=$id][1]\"/>\n      <xsl:choose>\n        <xsl:when test=\"$entry\">\n          <xsl:choose>\n            <xsl:when test=\"$bibliography.numbered != 0\">\n              <xsl:apply-templates select=\"$entry\">\n                <xsl:with-param name=\"label\" select=\"$label\"/>\n              </xsl:apply-templates>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:apply-templates select=\"$entry\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:message>\n            <xsl:text>No bibliography entry: </xsl:text>\n            <xsl:value-of select=\"$id\"/>\n            <xsl:text> found in </xsl:text>\n            <xsl:value-of select=\"$bibliography.collection\"/>\n          </xsl:message>\n          <div>\n            <xsl:call-template name=\"common.html.attributes\"/>\n            <xsl:call-template name=\"id.attribute\"/>\n            <xsl:call-template name=\"anchor\"/>\n            <p>\n              <xsl:copy-of select=\"$label\"/>\n              <xsl:text>Error: no bibliography entry: </xsl:text>\n              <xsl:value-of select=\"$id\"/>\n              <xsl:text> found in </xsl:text>\n              <xsl:value-of select=\"$bibliography.collection\"/>\n            </p>\n          </div>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <div>\n        <xsl:call-template name=\"common.html.attributes\"/>\n        <xsl:call-template name=\"id.attribute\">\n          <xsl:with-param name=\"conditional\" select=\"0\"/>\n        </xsl:call-template>\n        <xsl:call-template name=\"anchor\">\n          <xsl:with-param name=\"conditional\" select=\"0\"/>\n        </xsl:call-template>\n        <p>\n          <xsl:copy-of select=\"$label\"/>\n\t  <xsl:choose>\n\t    <xsl:when test=\"$bibliography.style = 'iso690'\">\n\t      <xsl:call-template name=\"iso690.makecitation\"/>\n\t    </xsl:when>\n\t    <xsl:otherwise>\n\t      <xsl:apply-templates mode=\"bibliography.mode\"/>\n\t    </xsl:otherwise>\n\t  </xsl:choose>\n        </p>\n      </div>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"bibliomixed\">\n  <xsl:param name=\"label\">\n    <xsl:call-template name=\"biblioentry.label\"/>\n  </xsl:param>\n\n  <xsl:variable name=\"id\">\n    <xsl:call-template name=\"object.id\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"string(.) = ''\">\n      <xsl:variable name=\"bib\" select=\"document($bibliography.collection,.)\"/>\n      <xsl:variable name=\"entry\" select=\"$bib/bibliography//                                          *[@id=$id or @xml:id=$id][1]\"/>\n      <xsl:choose>\n        <xsl:when test=\"$entry\">\n          <xsl:choose>\n            <xsl:when test=\"$bibliography.numbered != 0\">\n              <xsl:apply-templates select=\"$entry\">\n                <xsl:with-param name=\"label\" select=\"$label\"/>\n              </xsl:apply-templates>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:apply-templates select=\"$entry\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:message>\n            <xsl:text>No bibliography entry: </xsl:text>\n            <xsl:value-of select=\"$id\"/>\n            <xsl:text> found in </xsl:text>\n            <xsl:value-of select=\"$bibliography.collection\"/>\n          </xsl:message>\n          <div>\n            <xsl:call-template name=\"common.html.attributes\"/>\n            <xsl:call-template name=\"id.attribute\"/>\n            <xsl:call-template name=\"anchor\"/>\n            <p>\n              <xsl:copy-of select=\"$label\"/>\n              <xsl:text>Error: no bibliography entry: </xsl:text>\n              <xsl:value-of select=\"$id\"/>\n              <xsl:text> found in </xsl:text>\n              <xsl:value-of select=\"$bibliography.collection\"/>\n            </p>\n          </div>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <div>\n        <xsl:call-template name=\"common.html.attributes\"/>\n        <xsl:call-template name=\"id.attribute\">\n          <xsl:with-param name=\"conditional\" select=\"0\"/>\n        </xsl:call-template>\n        <xsl:call-template name=\"anchor\">\n          <xsl:with-param name=\"conditional\" select=\"0\"/>\n        </xsl:call-template>\n        <p>\n          <xsl:call-template name=\"common.html.attributes\"/>\n          <xsl:copy-of select=\"$label\"/>\n          <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n        </p>\n      </div>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"biblioentry.label\">\n  <xsl:param name=\"node\" select=\".\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$bibliography.numbered != 0\">\n      <xsl:text>[</xsl:text>\n      <xsl:number from=\"bibliography\" count=\"biblioentry|bibliomixed\" level=\"any\" format=\"1\"/>\n      <xsl:text>] </xsl:text>\n    </xsl:when>\n    <xsl:when test=\"local-name($node/child::*[1]) = 'abbrev'\">\n      <xsl:text>[</xsl:text>\n      <xsl:apply-templates select=\"$node/abbrev[1]\"/>\n      <xsl:text>] </xsl:text>\n    </xsl:when>\n    <xsl:when test=\"$node/@xreflabel\">\n      <xsl:text>[</xsl:text>\n      <xsl:value-of select=\"$node/@xreflabel\"/>\n      <xsl:text>] </xsl:text>\n    </xsl:when>\n    <xsl:when test=\"$node/@id\">\n      <xsl:text>[</xsl:text>\n      <xsl:value-of select=\"$node/@id\"/>\n      <xsl:text>] </xsl:text>\n    </xsl:when>\n    <xsl:when test=\"$node/@xml:id\">\n      <xsl:text>[</xsl:text>\n      <xsl:value-of select=\"$node/@xml:id\"/>\n      <xsl:text>] </xsl:text>\n    </xsl:when>\n    <xsl:otherwise><!-- nop --></xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"*\" mode=\"bibliography.mode\">\n  <xsl:apply-templates select=\".\"/><!-- try the default mode -->\n</xsl:template>\n\n<xsl:template match=\"abbrev\" mode=\"bibliography.mode\">\n  <xsl:if test=\"preceding-sibling::*\">\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"bibliography.mode\">\n  <!-- suppressed -->\n</xsl:template>\n\n<xsl:template match=\"address\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"affiliation\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"shortaffil\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"jobtitle\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"artheader|articleinfo|info\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"artpagenums\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:choose>\n      <xsl:when test=\"orgname\">\n        <xsl:apply-templates select=\"orgname\" mode=\"bibliography.mode\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"person.name\"/>\n        <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"authorblurb|personblurb\" mode=\"bibliography.mode\">\n  <!-- suppressed -->\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"person.name.list\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"authorinitials\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"bibliomisc\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"bibliomset\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<!-- ================================================== -->\n\n<xsl:template match=\"biblioset\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"biblioset/title|biblioset/citetitle\" mode=\"bibliography.mode\">\n  <xsl:variable name=\"relation\" select=\"../@relation\"/>\n  <xsl:choose>\n    <xsl:when test=\"$relation='article' or @pubwork='article'\">\n      <xsl:call-template name=\"gentext.startquote\"/>\n      <xsl:apply-templates/>\n      <xsl:call-template name=\"gentext.endquote\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <em xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\"><xsl:apply-templates/></em>\n    </xsl:otherwise>\n  </xsl:choose>\n  <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n</xsl:template>\n\n<!-- ================================================== -->\n\n<xsl:template match=\"citetitle\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:choose>\n      <xsl:when test=\"@pubwork = 'article'\">\n        <xsl:call-template name=\"gentext.startquote\"/>\n        <xsl:call-template name=\"inline.charseq\"/>\n        <xsl:call-template name=\"gentext.endquote\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"inline.italicseq\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"collab\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"collabname\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"confgroup\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"confdates\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"conftitle\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"confnum\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"confsponsor\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"contractnum\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"contractsponsor\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"contrib\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<!-- ================================================== -->\n\n<xsl:template match=\"copyright\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"gentext\">\n      <xsl:with-param name=\"key\" select=\"'Copyright'\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"gentext.space\"/>\n    <xsl:call-template name=\"dingbat\">\n      <xsl:with-param name=\"dingbat\">copyright</xsl:with-param>\n    </xsl:call-template>\n    <xsl:call-template name=\"gentext.space\"/>\n    <xsl:apply-templates select=\"year\" mode=\"bibliography.mode\"/>\n    <xsl:if test=\"holder\">\n      <xsl:call-template name=\"gentext.space\"/>\n      <xsl:apply-templates select=\"holder\" mode=\"bibliography.mode\"/>\n    </xsl:if>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"year\" mode=\"bibliography.mode\">\n  <xsl:apply-templates/><xsl:text>, </xsl:text>\n</xsl:template>\n\n<xsl:template match=\"year[position()=last()]\" mode=\"bibliography.mode\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"holder\" mode=\"bibliography.mode\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<!-- ================================================== -->\n\n<xsl:template match=\"corpauthor\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"corpcredit\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"corpname\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"date\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"edition\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"editor\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"person.name\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"firstname\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"honorific\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"indexterm\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"invpartnumber\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"isbn\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"issn\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"issuenum\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"lineage\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"orgname\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"orgdiv\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"othername\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"pagenums\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"printhistory\" mode=\"bibliography.mode\">\n  <!-- suppressed -->\n</xsl:template>\n\n<xsl:template match=\"productname\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"productnumber\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"publisher\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"publishername\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"pubsnumber\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"bibliography.mode\">\n  <!-- suppressed; how could this be represented? -->\n</xsl:template>\n\n<xsl:template match=\"seriesinfo\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"seriesvolnums\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"surname\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <em xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\"><xsl:apply-templates mode=\"bibliography.mode\"/></em>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"titleabbrev\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"volumenum\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"bibliocoverage|biblioid|bibliorelation|bibliosource\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliography.mode\"/>\n    <xsl:copy-of select=\"$biblioentry.item.separator\"/>\n  </span>\n</xsl:template>\n\n<!-- See FR #1934434 and http://doi.org -->\n<xsl:template match=\"biblioid[@class='doi']\" mode=\"bibliography.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <a href=\"{concat('http://dx.doi.org/', .)}\">doi:<xsl:value-of select=\".\"/></a>\n  </span>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"*\" mode=\"bibliomixed.mode\">\n  <xsl:apply-templates select=\".\"/><!-- try the default mode -->\n</xsl:template>\n\n<xsl:template match=\"abbrev\" mode=\"bibliomixed.mode\">\n  <xsl:if test=\"preceding-sibling::*\">\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"address\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"affiliation\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"shortaffil\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"jobtitle\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"artpagenums\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:choose>\n      <xsl:when test=\"orgname\">\n        <xsl:apply-templates select=\"orgname\" mode=\"bibliomixed.mode\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"person.name\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"authorblurb|personblurb\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"authorinitials\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"bibliomisc\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<!-- ================================================== -->\n\n<xsl:template match=\"bibliomset\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"bibliomset/title|bibliomset/citetitle\" mode=\"bibliomixed.mode\">\n  <xsl:variable name=\"relation\" select=\"../@relation\"/>\n  <xsl:choose>\n    <xsl:when test=\"$relation='article' or @pubwork='article'\">\n      <xsl:call-template name=\"gentext.startquote\"/>\n      <xsl:apply-templates/>\n      <xsl:call-template name=\"gentext.endquote\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <em xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\"><xsl:apply-templates/></em>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ================================================== -->\n\n<xsl:template match=\"biblioset\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"citetitle\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:choose>\n      <xsl:when test=\"@pubwork = 'article'\">\n        <xsl:call-template name=\"gentext.startquote\"/>\n        <xsl:call-template name=\"inline.charseq\"/>\n        <xsl:call-template name=\"gentext.endquote\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"inline.italicseq\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </span>\n</xsl:template>\n\n\n<xsl:template match=\"collab\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"confgroup\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"contractnum\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"contractsponsor\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"contrib\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"copyright\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"corpauthor\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"corpcredit\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"corpname\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"date\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"edition\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"editor\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"firstname\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"honorific\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"indexterm\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"invpartnumber\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"isbn\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"issn\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"issuenum\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"lineage\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"orgname\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"othername\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"pagenums\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"printhistory\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"productname\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"productnumber\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"publisher\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"publishername\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"pubsnumber\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"bibliomixed.mode\">\n  <!-- suppressed; how could this be represented? -->\n</xsl:template>\n\n<xsl:template match=\"seriesvolnums\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"surname\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"titleabbrev\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"volumenum\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"bibliocoverage|biblioid|bibliorelation|bibliosource\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"bibliomixed.mode\"/>\n  </span>\n</xsl:template>\n\n<!-- See FR #1934434 and http://doi.org -->\n<xsl:template match=\"biblioid[@class='doi']\" mode=\"bibliomixed.mode\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <a href=\"{concat('http://dx.doi.org/', .)}\">doi:<xsl:value-of select=\".\"/></a>\n  </span>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/block.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?><!--This file was created automatically by html2xhtml--><!--from the HTML stylesheets.--><xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: block.xsl 9667 2012-11-26 23:10:44Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n<!-- What should we do about styling blockinfo? -->\n\n<xsl:template match=\"blockinfo|info\">\n  <!-- suppress -->\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"block.object\">\n  <div>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:apply-templates/>\n  </div>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"para\">\n  <xsl:call-template name=\"paragraph\">\n    <xsl:with-param name=\"class\">\n      <xsl:if test=\"@role and $para.propagates.style != 0\">\n        <xsl:value-of select=\"@role\"/>\n      </xsl:if>\n    </xsl:with-param>\n    <xsl:with-param name=\"content\">\n      <xsl:if test=\"position() = 1 and parent::listitem\">\n        <xsl:call-template name=\"anchor\">\n          <xsl:with-param name=\"node\" select=\"parent::listitem\"/>\n        </xsl:call-template>\n      </xsl:if>\n\n      <xsl:call-template name=\"anchor\"/>\n      <xsl:apply-templates/>\n    </xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"paragraph\">\n  <xsl:param name=\"class\" select=\"''\"/>\n  <xsl:param name=\"content\"/>\n\n  <xsl:variable name=\"p\">\n    <p>\n      <xsl:call-template name=\"id.attribute\"/>\n      <xsl:choose>\n        <xsl:when test=\"$class != ''\">\n          <xsl:call-template name=\"common.html.attributes\">\n            <xsl:with-param name=\"class\" select=\"$class\"/>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"common.html.attributes\">\n            <xsl:with-param name=\"class\" select=\"''\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:copy-of select=\"$content\"/>\n    </p>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$html.cleanup != 0\">\n      <xsl:call-template name=\"unwrap.p\">\n        <xsl:with-param name=\"p\" select=\"$p\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy-of select=\"$p\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"simpara\">\n  <!-- see also listitem/simpara in lists.xsl -->\n  <p>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"locale.html.attributes\"/>\n    <xsl:if test=\"@role and $para.propagates.style != 0\">\n      <xsl:apply-templates select=\".\" mode=\"class.attribute\">\n        <xsl:with-param name=\"class\" select=\"@role\"/>\n      </xsl:apply-templates>\n    </xsl:if>\n\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:apply-templates/>\n  </p>\n</xsl:template>\n\n<xsl:template match=\"formalpara\">\n  <xsl:call-template name=\"paragraph\">\n    <xsl:with-param name=\"class\">\n      <xsl:if test=\"@role and $para.propagates.style != 0\">\n        <xsl:value-of select=\"@role\"/>\n      </xsl:if>\n    </xsl:with-param>\n    <xsl:with-param name=\"content\">\n      <xsl:call-template name=\"anchor\"/>\n      <xsl:apply-templates/>\n    </xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<!-- Only use title from info -->\n<xsl:template match=\"formalpara/info\">\n  <xsl:apply-templates select=\"title\"/>\n</xsl:template>\n\n<xsl:template match=\"formalpara/title|formalpara/info/title\">\n  <xsl:variable name=\"titleStr\">\n      <xsl:apply-templates/>\n  </xsl:variable>\n  <xsl:variable name=\"lastChar\">\n    <xsl:if test=\"$titleStr != ''\">\n      <xsl:value-of select=\"substring($titleStr,string-length($titleStr),1)\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$make.clean.html != 0\">\n      <span class=\"formalpara-title\">\n        <xsl:copy-of select=\"$titleStr\"/>\n        <xsl:if test=\"$lastChar != ''                       and not(contains($runinhead.title.end.punct, $lastChar))\">\n          <xsl:value-of select=\"$runinhead.default.title.end.punct\"/>\n        </xsl:if>\n        <xsl:text>&#160;</xsl:text>\n      </span>\n    </xsl:when>\n    <xsl:otherwise>\n      <strong>\n        <xsl:copy-of select=\"$titleStr\"/>\n        <xsl:if test=\"$lastChar != ''                       and not(contains($runinhead.title.end.punct, $lastChar))\">\n          <xsl:value-of select=\"$runinhead.default.title.end.punct\"/>\n        </xsl:if>\n        <xsl:text>&#160;</xsl:text>\n      </strong>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"formalpara/para\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"blockquote\">\n  <div>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n\n    <xsl:choose>\n      <xsl:when test=\"attribution\">\n        <table border=\"{$table.border.off}\" class=\"blockquote\">\n          <xsl:if test=\"$css.decoration != 0\">\n            <xsl:attribute name=\"style\">\n              <xsl:text>width: 100%; cellspacing: 0; cellpadding: 0;</xsl:text>\n            </xsl:attribute>\n          </xsl:if>\n          <xsl:if test=\"$div.element != 'section'\">\n            <xsl:attribute name=\"summary\">Block quote</xsl:attribute>\n          </xsl:if>\n          <tr>\n            <td valign=\"top\">&#160;</td>\n            <td valign=\"top\">\n              <xsl:apply-templates select=\"child::*[local-name(.)!='attribution']\"/>\n            </td>\n            <td valign=\"top\">&#160;</td>\n          </tr>\n          <tr>\n            <td valign=\"top\">&#160;</td>\n            <td colspan=\"2\" align=\"{$direction.align.end}\" valign=\"top\">\n              <xsl:text>--</xsl:text>\n              <xsl:apply-templates select=\"attribution\"/>\n            </td>\n          </tr>\n        </table>\n      </xsl:when>\n      <xsl:otherwise>\n        <blockquote>\n          <xsl:call-template name=\"common.html.attributes\"/>\n          <xsl:apply-templates/>\n        </blockquote>\n      </xsl:otherwise>\n    </xsl:choose>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"blockquote/title|blockquote/info/title\">\n  <xsl:choose>\n    <xsl:when test=\"$make.clean.html != 0\">\n      <div class=\"blockquote-title\">\n        <xsl:apply-templates/>\n      </div>\n    </xsl:when>\n    <xsl:otherwise>\n      <div class=\"blockquote-title\">\n        <p>\n          <strong>\n            <xsl:apply-templates/>\n          </strong>\n        </p>\n      </div>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- Use an em dash per Chicago Manual of Style and https://sourceforge.net/tracker/index.php?func=detail&aid=2793878&group_id=21935&atid=373747 -->\n<xsl:template match=\"epigraph\">\n  <div>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates select=\"para|simpara|formalpara|literallayout\"/>\n    <xsl:if test=\"attribution\">\n      <div class=\"attribution\">\n        <span>&#8212;<xsl:apply-templates select=\"attribution\"/></span>\n      </div>\n    </xsl:if>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"attribution\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates/>\n  </span>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"sidebar\">\n  <div>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"sidebar.titlepage\"/>\n    <xsl:apply-templates/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"abstract/title|sidebar/title\">\n</xsl:template>\n\n<xsl:template match=\"sidebar/sidebarinfo|sidebar/info\"/>\n\n<xsl:template match=\"abstract\">\n  <div>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"formal.object.heading\">\n      <xsl:with-param name=\"title\">\n        <xsl:apply-templates select=\".\" mode=\"title.markup\">\n          <xsl:with-param name=\"allow-anchors\" select=\"'1'\"/>\n        </xsl:apply-templates>\n      </xsl:with-param>\n    </xsl:call-template>\n    <xsl:apply-templates/>\n  </div>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"msgset\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"msgentry\">\n  <xsl:call-template name=\"block.object\"/>\n</xsl:template>\n\n<xsl:template match=\"simplemsgentry\">\n  <xsl:call-template name=\"block.object\"/>\n</xsl:template>\n\n<xsl:template match=\"msg\">\n  <xsl:call-template name=\"block.object\"/>\n</xsl:template>\n\n<xsl:template match=\"msgmain\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"msgmain/title\">\n  <xsl:choose>\n    <xsl:when test=\"$make.clean.html != 0\">\n      <span class=\"msgmain-title\">\n        <xsl:apply-templates/>\n      </span>\n    </xsl:when>\n    <xsl:otherwise>\n      <strong><xsl:apply-templates/></strong>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"msgsub\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"msgsub/title\">\n  <xsl:choose>\n    <xsl:when test=\"$make.clean.html != 0\">\n      <span class=\"msgsub-title\">\n        <xsl:apply-templates/>\n      </span>\n    </xsl:when>\n    <xsl:otherwise>\n      <strong><xsl:apply-templates/></strong>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"msgrel\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"msgrel/title\">\n  <xsl:choose>\n    <xsl:when test=\"$make.clean.html != 0\">\n      <span class=\"msgrel-title\">\n        <xsl:apply-templates/>\n      </span>\n    </xsl:when>\n    <xsl:otherwise>\n      <strong><xsl:apply-templates/></strong>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"msgtext\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"msginfo\">\n  <xsl:call-template name=\"block.object\"/>\n</xsl:template>\n\n<xsl:template match=\"msglevel\">\n  <xsl:choose>\n    <xsl:when test=\"$make.clean.html != 0\">\n      <div class=\"msglevel\">\n        <span class=\"msglevel-title\">\n          <xsl:call-template name=\"gentext.template\">\n            <xsl:with-param name=\"context\" select=\"'msgset'\"/>\n            <xsl:with-param name=\"name\" select=\"'MsgLevel'\"/>\n          </xsl:call-template>\n        </span>\n        <xsl:apply-templates/>\n      </div>\n    </xsl:when>\n    <xsl:otherwise>\n      <p>\n        <strong>\n          <xsl:call-template name=\"gentext.template\">\n            <xsl:with-param name=\"context\" select=\"'msgset'\"/>\n            <xsl:with-param name=\"name\" select=\"'MsgLevel'\"/>\n          </xsl:call-template>\n        </strong>\n        <xsl:apply-templates/>\n      </p>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"msgorig\">\n  <xsl:choose>\n    <xsl:when test=\"$make.clean.html != 0\">\n      <div class=\"msgorig\">\n        <span class=\"msgorig-title\">\n          <xsl:call-template name=\"gentext.template\">\n            <xsl:with-param name=\"context\" select=\"'msgset'\"/>\n            <xsl:with-param name=\"name\" select=\"'MsgOrig'\"/>\n          </xsl:call-template>\n        </span>\n        <xsl:apply-templates/>\n      </div>\n    </xsl:when>\n    <xsl:otherwise>\n      <p>\n        <strong>\n          <xsl:call-template name=\"gentext.template\">\n            <xsl:with-param name=\"context\" select=\"'msgset'\"/>\n            <xsl:with-param name=\"name\" select=\"'MsgOrig'\"/>\n          </xsl:call-template>\n        </strong>\n        <xsl:apply-templates/>\n      </p>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"msgaud\">\n  <xsl:choose>\n    <xsl:when test=\"$make.clean.html != 0\">\n      <div class=\"msgaud\">\n        <span class=\"msgaud-title\">\n          <xsl:call-template name=\"gentext.template\">\n            <xsl:with-param name=\"context\" select=\"'msgset'\"/>\n            <xsl:with-param name=\"name\" select=\"'MsgAud'\"/>\n          </xsl:call-template>\n        </span>\n        <xsl:apply-templates/>\n      </div>\n    </xsl:when>\n    <xsl:otherwise>\n      <p>\n        <strong>\n          <xsl:call-template name=\"gentext.template\">\n            <xsl:with-param name=\"context\" select=\"'msgset'\"/>\n            <xsl:with-param name=\"name\" select=\"'MsgAud'\"/>\n          </xsl:call-template>\n        </strong>\n        <xsl:apply-templates/>\n      </p>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"msgexplan\">\n  <xsl:call-template name=\"block.object\"/>\n</xsl:template>\n\n<xsl:template match=\"msgexplan/title\">\n  <xsl:choose>\n    <xsl:when test=\"$make.clean.html != 0\">\n      <div class=\"msgexplan\">\n        <span class=\"msgexplan-title\">\n          <xsl:apply-templates/>\n        </span>\n      </div>\n    </xsl:when>\n    <xsl:otherwise>\n      <p>\n        <strong>\n          <xsl:apply-templates/>\n        </strong>\n      </p>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"revhistory\">\n  <div>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <table>\n      <xsl:if test=\"$css.decoration != 0\">\n        <xsl:attribute name=\"style\">\n          <xsl:text>border-style:solid; width:100%;</xsl:text>\n        </xsl:attribute>\n      </xsl:if>\n      <!-- include summary attribute if not HTML5 -->\n      <xsl:if test=\"$div.element != 'section'\">\n        <xsl:attribute name=\"summary\">\n          <xsl:call-template name=\"gentext\">\n            <xsl:with-param name=\"key\">revhistory</xsl:with-param>\n          </xsl:call-template>\n        </xsl:attribute>\n      </xsl:if>\n      <tr>\n        <th align=\"{$direction.align.start}\" valign=\"top\" colspan=\"3\">\n          <strong>\n            <xsl:call-template name=\"gentext\">\n              <xsl:with-param name=\"key\" select=\"'RevHistory'\"/>\n            </xsl:call-template>\n          </strong>\n        </th>\n      </tr>\n      <xsl:apply-templates/>\n    </table>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"revhistory/revision\">\n  <xsl:variable name=\"revnumber\" select=\"revnumber\"/>\n  <xsl:variable name=\"revdate\" select=\"date\"/>\n  <xsl:variable name=\"revauthor\" select=\"authorinitials|author\"/>\n  <xsl:variable name=\"revremark\" select=\"revremark|revdescription\"/>\n  <tr>\n    <td align=\"{$direction.align.start}\">\n      <xsl:if test=\"$revnumber\">\n        <xsl:call-template name=\"gentext\">\n          <xsl:with-param name=\"key\" select=\"'Revision'\"/>\n        </xsl:call-template>\n        <xsl:call-template name=\"gentext.space\"/>\n        <xsl:apply-templates select=\"$revnumber\"/>\n      </xsl:if>\n    </td>\n    <td align=\"{$direction.align.start}\">\n      <xsl:apply-templates select=\"$revdate\"/>\n    </td>\n    <xsl:choose>\n      <xsl:when test=\"count($revauthor)=0\">\n        <td align=\"{$direction.align.start}\">\n          <xsl:call-template name=\"dingbat\">\n            <xsl:with-param name=\"dingbat\">nbsp</xsl:with-param>\n          </xsl:call-template>\n        </td>\n      </xsl:when>\n      <xsl:otherwise>\n        <td align=\"{$direction.align.start}\">\n          <xsl:for-each select=\"$revauthor\">\n            <xsl:apply-templates select=\".\"/>\n            <xsl:if test=\"position() != last()\">\n              <xsl:text>, </xsl:text>\n            </xsl:if>\n          </xsl:for-each>\n        </td>\n      </xsl:otherwise>\n    </xsl:choose>\n  </tr>\n  <xsl:if test=\"$revremark\">\n    <tr>\n      <td align=\"{$direction.align.start}\" colspan=\"3\">\n        <xsl:apply-templates select=\"$revremark\"/>\n      </td>\n    </tr>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"revision/revnumber\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"revision/date\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"revision/authorinitials\">\n  <xsl:text>, </xsl:text>\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"revision/authorinitials[1]\" priority=\"2\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"revision/revremark\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"revision/revdescription\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"ackno|acknowledgements[parent::article]\">\n  <xsl:call-template name=\"block.object\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"highlights\">\n  <xsl:call-template name=\"block.object\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n</xsl:stylesheet>"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/callout.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:sverb=\"http://nwalsh.com/xslt/ext/com.nwalsh.saxon.Verbatim\" xmlns:xverb=\"xalan://com.nwalsh.xalan.Verbatim\" xmlns:lxslt=\"http://xml.apache.org/xslt\" xmlns=\"http://www.w3.org/1999/xhtml\" exclude-result-prefixes=\"sverb xverb lxslt\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: callout.xsl 9305 2012-04-27 21:50:53Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<lxslt:component prefix=\"xverb\" functions=\"insertCallouts\"/>\n\n<xsl:template match=\"programlistingco|screenco\">\n  <xsl:variable name=\"verbatim\" select=\"programlisting|screen\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$use.extensions != '0'                     and $callouts.extension != '0'\">\n      <xsl:variable name=\"rtf\">\n        <xsl:apply-templates select=\"$verbatim\">\n          <xsl:with-param name=\"suppress-numbers\" select=\"'1'\"/>\n        </xsl:apply-templates>\n      </xsl:variable>\n\n      <xsl:variable name=\"rtf-with-callouts\">\n        <xsl:choose>\n          <xsl:when test=\"function-available('sverb:insertCallouts')\">\n            <xsl:copy-of select=\"sverb:insertCallouts(areaspec,$rtf)\"/>\n          </xsl:when>\n          <xsl:when test=\"function-available('xverb:insertCallouts')\">\n            <xsl:copy-of select=\"xverb:insertCallouts(areaspec,$rtf)\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:message terminate=\"yes\">\n              <xsl:text>No insertCallouts function is available.</xsl:text>\n            </xsl:message>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:variable>\n\n      <xsl:choose>\n        <xsl:when test=\"$verbatim/@linenumbering = 'numbered'                         and $linenumbering.extension != '0'\">\n          <div>\n            <xsl:call-template name=\"common.html.attributes\"/>\n            <xsl:call-template name=\"id.attribute\"/>\n            <xsl:call-template name=\"number.rtf.lines\">\n              <xsl:with-param name=\"rtf\" select=\"$rtf-with-callouts\"/>\n              <xsl:with-param name=\"pi.context\" select=\"programlisting|screen\"/>\n            </xsl:call-template>\n            <xsl:apply-templates select=\"calloutlist\"/>\n          </div>\n        </xsl:when>\n        <xsl:otherwise>\n          <div>\n            <xsl:call-template name=\"common.html.attributes\"/>\n            <xsl:call-template name=\"id.attribute\"/>\n            <xsl:copy-of select=\"$rtf-with-callouts\"/>\n            <xsl:apply-templates select=\"calloutlist\"/>\n          </div>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <div>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:apply-templates/>\n      </div>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"areaspec|areaset|area\">\n</xsl:template>\n\n<xsl:template match=\"areaset\" mode=\"conumber\">\n  <xsl:number count=\"area|areaset\" format=\"1\"/>\n</xsl:template>\n\n<xsl:template match=\"area\" mode=\"conumber\">\n  <xsl:number count=\"area|areaset\" format=\"1\"/>\n</xsl:template>\n\n<xsl:template match=\"co\" name=\"co\">\n  <!-- Support a single linkend in HTML -->\n  <xsl:variable name=\"targets\" select=\"key('id', @linkends)\"/>\n  <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n  <xsl:choose>\n    <xsl:when test=\"$target\">\n      <a>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:choose>\n          <xsl:when test=\"$generate.id.attributes = 0\">\n            <!-- force an id attribute here -->\n            <xsl:if test=\"@id or @xml:id\">\n              <xsl:attribute name=\"id\">\n                <xsl:value-of select=\"(@id|@xml:id)[1]\"/>\n              </xsl:attribute>\n            </xsl:if>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:call-template name=\"id.attribute\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n        <xsl:attribute name=\"href\">\n          <xsl:call-template name=\"href.target\">\n            <xsl:with-param name=\"object\" select=\"$target\"/>\n          </xsl:call-template>\n        </xsl:attribute>\n        <xsl:apply-templates select=\".\" mode=\"callout-bug\"/>\n      </a>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:if test=\"$generate.id.attributes != 0\">\n        <xsl:if test=\"@id or @xml:id\">\n          <span>\n             <xsl:attribute name=\"id\">\n                <xsl:value-of select=\"(@id|@xml:id)[1]\"/>\n              </xsl:attribute>\n          </span>\n        </xsl:if>\n      </xsl:if>\n      <xsl:call-template name=\"anchor\"/>\n      <xsl:apply-templates select=\".\" mode=\"callout-bug\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"coref\">\n  <!-- tricky; this relies on the fact that we can process the \"co\" that's -->\n  <!-- \"over there\" as if it were \"right here\" -->\n\n  <xsl:variable name=\"co\" select=\"key('id', @linkend)\"/>\n  <xsl:choose>\n    <xsl:when test=\"not($co)\">\n      <xsl:message>\n        <xsl:text>Error: coref link is broken: </xsl:text>\n        <xsl:value-of select=\"@linkend\"/>\n      </xsl:message>\n    </xsl:when>\n    <xsl:when test=\"local-name($co) != 'co'\">\n      <xsl:message>\n        <xsl:text>Error: coref doesn't point to a co: </xsl:text>\n        <xsl:value-of select=\"@linkend\"/>\n      </xsl:message>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates select=\"$co\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"co\" mode=\"callout-bug\">\n  <xsl:call-template name=\"callout-bug\">\n    <xsl:with-param name=\"conum\">\n      <xsl:number count=\"co\" level=\"any\" from=\"programlisting|screen|literallayout|synopsis\" format=\"1\"/>\n    </xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"callout-bug\">\n  <xsl:param name=\"conum\" select=\"1\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$callout.graphics != 0                     and $conum &lt;= $callout.graphics.number.limit\">\n      <!-- Added span to make valid in XHTML 1 -->\n      <span><img src=\"{$callout.graphics.path}{$conum}{$callout.graphics.extension}\" alt=\"{$conum}\"/></span>\n    </xsl:when>\n    <xsl:when test=\"$callout.unicode != 0                     and $conum &lt;= $callout.unicode.number.limit\">\n      <xsl:choose>\n        <xsl:when test=\"$callout.unicode.start.character = 10102\">\n          <xsl:choose>\n            <xsl:when test=\"$conum = 1\">&#10102;</xsl:when>\n            <xsl:when test=\"$conum = 2\">&#10103;</xsl:when>\n            <xsl:when test=\"$conum = 3\">&#10104;</xsl:when>\n            <xsl:when test=\"$conum = 4\">&#10105;</xsl:when>\n            <xsl:when test=\"$conum = 5\">&#10106;</xsl:when>\n            <xsl:when test=\"$conum = 6\">&#10107;</xsl:when>\n            <xsl:when test=\"$conum = 7\">&#10108;</xsl:when>\n            <xsl:when test=\"$conum = 8\">&#10109;</xsl:when>\n            <xsl:when test=\"$conum = 9\">&#10110;</xsl:when>\n            <xsl:when test=\"$conum = 10\">&#10111;</xsl:when>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:message>\n            <xsl:text>Don't know how to generate Unicode callouts </xsl:text>\n            <xsl:text>when $callout.unicode.start.character is </xsl:text>\n            <xsl:value-of select=\"$callout.unicode.start.character\"/>\n          </xsl:message>\n          <xsl:text>(</xsl:text>\n          <xsl:value-of select=\"$conum\"/>\n          <xsl:text>)</xsl:text>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:text>(</xsl:text>\n      <xsl:value-of select=\"$conum\"/>\n      <xsl:text>)</xsl:text>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/changebars.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: changebars.xsl 9286 2012-04-19 10:10:58Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n<xsl:import href=\"docbook.xsl\"/>\n\n<xsl:param name=\"show.revisionflag\" select=\"'1'\"/>\n\n<xsl:template name=\"system.head.content\">\n<xsl:param name=\"node\" select=\".\"/>\n\n<style type=\"text/css\">\n<xsl:text>\ndiv.added    { background-color: #ffff99; \n               text-decoration: underline; }\ndiv.deleted  { text-decoration: line-through;\n               background-color: #FF7F7F; }\ndiv.changed  { background-color: #99ff99; }\ndiv.off      {  }\n\nspan.added   { background-color: #ffff99; \n               text-decoration: underline; }\nspan.deleted { text-decoration: line-through;\n               background-color: #FF7F7F; }\nspan.changed { background-color: #99ff99; }\nspan.off     {  }\n</xsl:text>\n</style>\n</xsl:template>\n\n<xsl:template match=\"*[@revisionflag]\">\n  <xsl:call-template name=\"block.or.inline.revision\"/>\n</xsl:template>\n\n<xsl:template name=\"block.or.inline.revision\">\n  <xsl:param name=\"revisionflag\" select=\"@revisionflag\"/>\n  \n  <xsl:choose>\n    <xsl:when test=\"local-name(.) = 'para'       or local-name(.) = 'formalpara'       or local-name(.) = 'simpara'       or local-name(.) = 'simplesect'       or local-name(.) = 'section'                           or local-name(.) = 'sect1'       or local-name(.) = 'sect2'       or local-name(.) = 'sect3'       or local-name(.) = 'sect4'       or local-name(.) = 'sect5'       or local-name(.) = 'topic'                           or local-name(.) = 'chapter'       or local-name(.) = 'preface'       or local-name(.) = 'itemizedlist'       or local-name(.) = 'orderedlist'       or local-name(.) = 'variablelist'       or local-name(.) = 'varlistentry'       or local-name(.) = 'informaltable'       or local-name(.) = 'informalexample'       or local-name(.) = 'note'       or local-name(.) = 'example'       or local-name(.) = 'mediaobject'       or local-name(.) = 'sidebar'       or local-name(.) = 'glossary'       or local-name(.) = 'glossentry'                           or local-name(.) = 'bibliography'       or local-name(.) = 'index'                           or local-name(.) = 'appendix'\">\n      <div class=\"{$revisionflag}\">\n\t<xsl:apply-imports/>\n      </div>\n    </xsl:when>\n    <xsl:when test=\"local-name(.) = 'phrase'       or local-name(.) = 'ulink'       or local-name(.) = 'link'       or local-name(.) = 'olink'       or local-name(.) = 'inlinemediaobject'       or local-name(.) = 'filename'       or local-name(.) = 'literal'       or local-name(.) = 'member'       or local-name(.) = 'term'       or local-name(.) = 'guilabel'       or local-name(.) = 'glossterm'       or local-name(.) = 'sgmltag'       or local-name(.) = 'tag'       or local-name(.) = 'quote'       or local-name(.) = 'emphasis'       or local-name(.) = 'command'       or local-name(.) = 'xref'\">\n      <span class=\"{$revisionflag}\">\n\t<xsl:apply-imports/>\n      </span>\n    </xsl:when>\n    <xsl:when test=\"local-name(.) = 'listitem'                     or local-name(.) = 'entry'                     or local-name(.) = 'title'\">\n      <!-- nop; these are handled directly in the stylesheet -->\n      <xsl:apply-imports/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:message>\n\t<xsl:text>Revisionflag on unexpected element: </xsl:text>\n\t<xsl:value-of select=\"local-name(.)\"/>\n\t<xsl:text> (Assuming block)</xsl:text>\n      </xsl:message>\n      <div class=\"{$revisionflag}\">\n\t<xsl:apply-imports/>\n      </div>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/chunk-changebars.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:exsl=\"http://exslt.org/common\" xmlns:cf=\"http://docbook.sourceforge.net/xmlns/chunkfast/1.0\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\" exclude-result-prefixes=\"exsl cf\">\n\n<!-- ********************************************************************\n     $Id: chunk-changebars.xsl 8399 2009-04-08 07:37:42Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<!-- This file is a variant of chunk.xsl, to be used for generating chunked \n     output with highlighting based on change markup. -->\n\n<xsl:import href=\"changebars.xsl\"/>\n<xsl:import href=\"chunk-common.xsl\"/>\n\n<!-- This customization of \"process-chunk-element\" is needed in order to make change \n     highlighting be inherited by chunked children of an element with change markup. -->\n<xsl:template name=\"process-chunk-element\">\n  <xsl:param name=\"content\">\n    <xsl:choose>\n\n      <xsl:when test=\"ancestor-or-self::*[@revisionflag] and $show.revisionflag != 0\">\n\t<xsl:variable name=\"revisionflag\" select=\"ancestor-or-self::*[@revisionflag][1]/@revisionflag\"/>\n\t<xsl:call-template name=\"block.or.inline.revision\">\n\t  <xsl:with-param name=\"revisionflag\" select=\"$revisionflag\"/>\n\t</xsl:call-template>\n      </xsl:when>\n\n      <xsl:otherwise>\n\t<xsl:apply-imports/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:param>\n\n  <xsl:choose>\n    <xsl:when test=\"$chunk.fast != 0 and $exsl.node.set.available != 0\">\n      <xsl:variable name=\"chunks\" select=\"exsl:node-set($chunk.hierarchy)//cf:div\"/>\n      <xsl:variable name=\"genid\" select=\"generate-id()\"/>\n\n      <xsl:variable name=\"div\" select=\"$chunks[@id=$genid or @xml:id=$genid]\"/>\n\n      <xsl:variable name=\"prevdiv\" select=\"($div/preceding-sibling::cf:div|$div/preceding::cf:div|$div/parent::cf:div)[last()]\"/>\n      <xsl:variable name=\"prev\" select=\"key('genid', ($prevdiv/@id|$prevdiv/@xml:id)[1])\"/>\n\n      <xsl:variable name=\"nextdiv\" select=\"($div/following-sibling::cf:div|$div/following::cf:div|$div/cf:div)[1]\"/>\n      <xsl:variable name=\"next\" select=\"key('genid', ($nextdiv/@id|$nextdiv/@xml:id)[1])\"/>\n\n      <xsl:choose>\n        <xsl:when test=\"$onechunk != 0 and parent::*\">\n          <xsl:copy-of select=\"$content\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"process-chunk\">\n            <xsl:with-param name=\"prev\" select=\"$prev\"/>\n            <xsl:with-param name=\"next\" select=\"$next\"/>\n            <xsl:with-param name=\"content\" select=\"$content\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"$onechunk != 0 and not(parent::*)\">\n          <xsl:call-template name=\"chunk-all-sections\">\n            <xsl:with-param name=\"content\" select=\"$content\"/>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:when test=\"$onechunk != 0\">\n          <xsl:copy-of select=\"$content\"/>\n        </xsl:when>\n        <xsl:when test=\"$chunk.first.sections = 0\">\n          <xsl:call-template name=\"chunk-first-section-with-parent\">\n            <xsl:with-param name=\"content\" select=\"$content\"/>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"chunk-all-sections\">\n            <xsl:with-param name=\"content\" select=\"$content\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:include href=\"chunk-code.xsl\"/>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/chunk-code.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:exsl=\"http://exslt.org/common\" xmlns:cf=\"http://docbook.sourceforge.net/xmlns/chunkfast/1.0\" xmlns:ng=\"http://docbook.org/docbook-ng\" xmlns:db=\"http://docbook.org/ns/docbook\" xmlns=\"http://www.w3.org/1999/xhtml\" exclude-result-prefixes=\"exsl cf ng db\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: chunk-code.xsl 9328 2012-05-03 16:28:23Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n\n<xsl:template match=\"*\" mode=\"chunk-filename\">\n  <!-- returns the filename of a chunk -->\n  <xsl:variable name=\"ischunk\">\n    <xsl:call-template name=\"chunk\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"fn\">\n    <xsl:apply-templates select=\".\" mode=\"recursive-chunk-filename\"/>\n  </xsl:variable>\n\n  <!--\n  <xsl:message>\n    <xsl:value-of select=\"$ischunk\"/>\n    <xsl:text> (</xsl:text>\n    <xsl:value-of select=\"local-name(.)\"/>\n    <xsl:text>) </xsl:text>\n    <xsl:value-of select=\"$fn\"/>\n    <xsl:text>, </xsl:text>\n    <xsl:call-template name=\"dbhtml-dir\"/>\n  </xsl:message>\n  -->\n\n  <!-- 2003-11-25 by ndw:\n       The following test used to read test=\"$ischunk != 0 and $fn != ''\"\n       I've removed the ischunk part of the test so that href.to.uri and\n       href.from.uri will be fully qualified even if the source or target\n       isn't a chunk. I *think* that if $fn != '' then it's appropriate\n       to put the directory on the front, even if the element isn't a\n       chunk. I could be wrong. -->\n\n  <xsl:if test=\"$fn != ''\">\n    <xsl:call-template name=\"dbhtml-dir\"/>\n  </xsl:if>\n\n  <xsl:value-of select=\"$chunked.filename.prefix\"/>\n\n  <xsl:value-of select=\"$fn\"/>\n  <!-- You can't add the html.ext here because dbhtml filename= may already -->\n  <!-- have added it. It really does have to be handled in the recursive template -->\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"recursive-chunk-filename\">\n  <xsl:param name=\"recursive\" select=\"false()\"/>\n\n  <!-- returns the filename of a chunk -->\n  <xsl:variable name=\"ischunk\">\n    <xsl:call-template name=\"chunk\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"dbhtml-filename\">\n    <xsl:call-template name=\"pi.dbhtml_filename\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"filename\">\n    <xsl:choose>\n      <xsl:when test=\"$dbhtml-filename != ''\">\n        <xsl:value-of select=\"$dbhtml-filename\"/>\n      </xsl:when>\n      <!-- if this is the root element, use the root.filename -->\n      <xsl:when test=\"not(parent::*) and $root.filename != ''\">\n        <xsl:value-of select=\"$root.filename\"/>\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:when>\n      <!-- Special case -->\n      <xsl:when test=\"self::legalnotice and not($generate.legalnotice.link = 0)\">\n        <xsl:choose>\n          <xsl:when test=\"(@id or @xml:id) and not($use.id.as.filename = 0)\">\n            <!-- * if this legalnotice has an ID, then go ahead and use -->\n            <!-- * just the value of that ID as the basename for the file -->\n            <!-- * (that is, without prepending an \"ln-\" too it) -->\n            <xsl:value-of select=\"(@id|@xml:id)[1]\"/>\n            <xsl:value-of select=\"$html.ext\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <!-- * otherwise, if this legalnotice does not have an ID, -->\n            <!-- * then we generate an ID... -->\n            <xsl:variable name=\"id\">\n              <xsl:call-template name=\"object.id\"/>\n            </xsl:variable>\n            <!-- * ...and then we take that generated ID, prepend an -->\n            <!-- * \"ln-\" to it, and use that as the basename for the file -->\n            <xsl:value-of select=\"concat('ln-',$id,$html.ext)\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n      <!-- if there's no dbhtml filename, and if we're to use IDs as -->\n      <!-- filenames, then use the ID to generate the filename. -->\n      <xsl:when test=\"(@id or @xml:id) and $use.id.as.filename != 0\">\n        <xsl:value-of select=\"(@id|@xml:id)[1]\"/>\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:when>\n      <xsl:otherwise/>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$ischunk='0'\">\n      <!-- if called on something that isn't a chunk, walk up... -->\n      <xsl:choose>\n        <xsl:when test=\"count(parent::*)&gt;0\">\n          <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n            <xsl:with-param name=\"recursive\" select=\"$recursive\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <!-- unless there is no up, in which case return \"\" -->\n        <xsl:otherwise/>\n      </xsl:choose>\n    </xsl:when>\n\n    <xsl:when test=\"not($recursive) and $filename != ''\">\n      <!-- if this chunk has an explicit name, use it -->\n      <xsl:value-of select=\"$filename\"/>\n    </xsl:when>\n\n    <xsl:when test=\"self::set\">\n      <xsl:value-of select=\"$root.filename\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::book\">\n      <xsl:text>bk</xsl:text>\n      <xsl:number level=\"any\" format=\"01\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::article\">\n      <xsl:if test=\"/set\">\n        <!-- in a set, make sure we inherit the right book info... -->\n        <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n          <xsl:with-param name=\"recursive\" select=\"true()\"/>\n        </xsl:apply-templates>\n      </xsl:if>\n\n      <xsl:text>ar</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::preface\">\n      <xsl:if test=\"/set\">\n        <!-- in a set, make sure we inherit the right book info... -->\n        <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n          <xsl:with-param name=\"recursive\" select=\"true()\"/>\n        </xsl:apply-templates>\n      </xsl:if>\n\n      <xsl:text>pr</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::chapter\">\n      <xsl:if test=\"/set\">\n        <!-- in a set, make sure we inherit the right book info... -->\n        <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n          <xsl:with-param name=\"recursive\" select=\"true()\"/>\n        </xsl:apply-templates>\n      </xsl:if>\n\n      <xsl:text>ch</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::appendix\">\n      <xsl:if test=\"/set\">\n        <!-- in a set, make sure we inherit the right book info... -->\n        <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n          <xsl:with-param name=\"recursive\" select=\"true()\"/>\n        </xsl:apply-templates>\n      </xsl:if>\n\n      <xsl:text>ap</xsl:text>\n      <xsl:number level=\"any\" format=\"a\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::part\">\n      <xsl:choose>\n        <xsl:when test=\"/set\">\n          <!-- in a set, make sure we inherit the right book info... -->\n          <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n            <xsl:with-param name=\"recursive\" select=\"true()\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:text>pt</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::reference\">\n      <xsl:choose>\n        <xsl:when test=\"/set\">\n          <!-- in a set, make sure we inherit the right book info... -->\n          <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n            <xsl:with-param name=\"recursive\" select=\"true()\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:text>rn</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::refentry\">\n      <xsl:choose>\n        <xsl:when test=\"parent::reference\">\n          <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n            <xsl:with-param name=\"recursive\" select=\"true()\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:if test=\"/set\">\n            <!-- in a set, make sure we inherit the right book info... -->\n            <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n              <xsl:with-param name=\"recursive\" select=\"true()\"/>\n            </xsl:apply-templates>\n          </xsl:if>\n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:text>re</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::colophon\">\n      <xsl:choose>\n        <xsl:when test=\"/set\">\n          <!-- in a set, make sure we inherit the right book info... -->\n          <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n            <xsl:with-param name=\"recursive\" select=\"true()\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:text>co</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::sect1                     or self::sect2                     or self::sect3                     or self::sect4                     or self::sect5                     or self::section\">\n      <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n        <xsl:with-param name=\"recursive\" select=\"true()\"/>\n      </xsl:apply-templates>\n      <xsl:text>s</xsl:text>\n      <xsl:number format=\"01\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::bibliography\">\n      <xsl:choose>\n        <xsl:when test=\"/set\">\n          <!-- in a set, make sure we inherit the right book info... -->\n          <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n            <xsl:with-param name=\"recursive\" select=\"true()\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:text>bi</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::glossary\">\n      <xsl:choose>\n        <xsl:when test=\"/set\">\n          <!-- in a set, make sure we inherit the right book info... -->\n          <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n            <xsl:with-param name=\"recursive\" select=\"true()\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:text>go</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::index\">\n      <xsl:choose>\n        <xsl:when test=\"/set\">\n          <!-- in a set, make sure we inherit the right book info... -->\n          <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n            <xsl:with-param name=\"recursive\" select=\"true()\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:text>ix</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::setindex\">\n      <xsl:text>si</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"set\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::topic\">\n      <xsl:choose>\n        <xsl:when test=\"/set\">\n          <!-- in a set, make sure we inherit the right book info... -->\n          <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n            <xsl:with-param name=\"recursive\" select=\"true()\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:text>to</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:otherwise>\n      <xsl:text>chunk-filename-error-</xsl:text>\n      <xsl:value-of select=\"name(.)\"/>\n      <xsl:number level=\"any\" format=\"01\" from=\"set\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n\n\n<xsl:template match=\"processing-instruction('dbhtml')\">\n  <!-- nop -->\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n\n<xsl:template match=\"*\" mode=\"find.chunks\">\n  <xsl:variable name=\"chunk\">\n    <xsl:call-template name=\"chunk\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$chunk != 0\">\n      <cf:div id=\"{generate-id()}\">\n        <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n        <xsl:apply-templates select=\"*\" mode=\"find.chunks\"/>\n      </cf:div>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates select=\"*\" mode=\"find.chunks\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- Leave legalnotice chunk out of the list for Next and Prev -->\n<xsl:template match=\"legalnotice\" mode=\"find.chunks\"/>\n\n<xsl:template match=\"/\">\n  <!-- * Get a title for current doc so that we let the user -->\n  <!-- * know what document we are processing at this point. -->\n  <xsl:variable name=\"doc.title\">\n    <xsl:call-template name=\"get.doc.title\"/>\n  </xsl:variable>\n  <xsl:choose>\n    <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document,\n         toss the namespace and continue.  Use the docbook5 namespaced\n\t stylesheets for DocBook5 if you don't want to use this feature.-->\n    <xsl:when test=\"$exsl.node.set.available != 0                      and (*/self::ng:* or */self::db:*)\">\n\n      <xsl:call-template name=\"log.message\">\n        <xsl:with-param name=\"level\">Note</xsl:with-param>\n        <xsl:with-param name=\"source\" select=\"$doc.title\"/>\n        <xsl:with-param name=\"context-desc\">\n          <xsl:text>namesp. cut</xsl:text>\n        </xsl:with-param>\n        <xsl:with-param name=\"message\">\n          <xsl:text>processing stripped document</xsl:text>\n        </xsl:with-param>\n      </xsl:call-template>\n\n      <xsl:apply-templates select=\"exsl:node-set($no.namespace)\"/>\n    </xsl:when>\n    <!-- Can't process unless namespace removed -->\n    <xsl:when test=\"*/self::ng:* or */self::db:*\">\n      <xsl:message terminate=\"yes\">\n        <xsl:text>Unable to strip the namespace from DB5 document,</xsl:text>\n        <xsl:text> cannot proceed.</xsl:text>\n      </xsl:message>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"$rootid != ''\">\n          <xsl:choose>\n            <xsl:when test=\"count(key('id',$rootid)) = 0\">\n              <xsl:message terminate=\"yes\">\n                <xsl:text>ID '</xsl:text>\n                <xsl:value-of select=\"$rootid\"/>\n                <xsl:text>' not found in document.</xsl:text>\n              </xsl:message>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:if test=\"$collect.xref.targets = 'yes' or                             $collect.xref.targets = 'only'\">\n                <xsl:apply-templates select=\"key('id', $rootid)\" mode=\"collect.targets\"/>\n              </xsl:if>\n              <xsl:if test=\"$collect.xref.targets != 'only'\">\n                <xsl:apply-templates select=\"key('id',$rootid)\" mode=\"process.root\"/>\n                <xsl:if test=\"$tex.math.in.alt != ''\">\n                  <xsl:apply-templates select=\"key('id',$rootid)\" mode=\"collect.tex.math\"/>\n                </xsl:if>\n                <xsl:if test=\"$generate.manifest != 0\">\n                  <xsl:call-template name=\"generate.manifest\">\n                    <xsl:with-param name=\"node\" select=\"key('id',$rootid)\"/>\n                  </xsl:call-template>\n                </xsl:if>\n              </xsl:if>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:if test=\"$collect.xref.targets = 'yes' or                         $collect.xref.targets = 'only'\">\n            <xsl:apply-templates select=\"/\" mode=\"collect.targets\"/>\n          </xsl:if>\n          <xsl:if test=\"$collect.xref.targets != 'only'\">\n            <xsl:apply-templates select=\"/\" mode=\"process.root\"/>\n            <xsl:if test=\"$tex.math.in.alt != ''\">\n              <xsl:apply-templates select=\"/\" mode=\"collect.tex.math\"/>\n            </xsl:if>\n            <xsl:if test=\"$generate.manifest != 0\">\n              <xsl:call-template name=\"generate.manifest\">\n                <xsl:with-param name=\"node\" select=\"/\"/>\n              </xsl:call-template>\n            </xsl:if>\n          </xsl:if>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"process.root\">\n  <xsl:apply-templates select=\".\"/>\n  <xsl:call-template name=\"generate.css.files\"/>\n</xsl:template>\n\n<!-- ====================================================================== -->\n\n<xsl:template match=\"set|book|part|preface|chapter|appendix                      |article                      |topic                      |reference|refentry                      |book/glossary|article/glossary|part/glossary                      |book/bibliography|article/bibliography|part/bibliography                      |colophon\">\n  <xsl:choose>\n    <xsl:when test=\"$onechunk != 0 and parent::*\">\n      <xsl:apply-imports/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"process-chunk-element\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"sect1|sect2|sect3|sect4|sect5|section\">\n  <xsl:variable name=\"ischunk\">\n    <xsl:call-template name=\"chunk\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"not(parent::*)\">\n      <xsl:call-template name=\"process-chunk-element\"/>\n    </xsl:when>\n    <xsl:when test=\"$ischunk = 0\">\n      <xsl:apply-imports/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"process-chunk-element\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"setindex                      |book/index                      |article/index                      |part/index\">\n  <!-- some implementations use completely empty index tags to indicate -->\n  <!-- where an automatically generated index should be inserted. so -->\n  <!-- if the index is completely empty, skip it. -->\n  <xsl:if test=\"count(*)&gt;0 or $generate.index != '0'\">\n    <xsl:call-template name=\"process-chunk-element\"/>\n  </xsl:if>\n</xsl:template>\n\n<!-- Resolve xml:base attributes -->\n<xsl:template match=\"@fileref\">\n  <!-- need a check for absolute urls -->\n  <xsl:choose>\n    <xsl:when test=\"contains(., ':')\">\n      <!-- it has a uri scheme so it is an absolute uri -->\n      <xsl:value-of select=\".\"/>\n    </xsl:when>\n    <xsl:when test=\"$keep.relative.image.uris != 0\">\n      <!-- leave it alone -->\n      <xsl:value-of select=\".\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <!-- its a relative uri -->\n      <xsl:call-template name=\"relative-uri\">\n        <xsl:with-param name=\"destdir\">\n          <xsl:call-template name=\"dbhtml-dir\">\n            <xsl:with-param name=\"context\" select=\"..\"/>\n          </xsl:call-template>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n<xsl:template match=\"set|book|part|preface|chapter|appendix                      |article                      |topic                      |reference|refentry                      |sect1|sect2|sect3|sect4|sect5                      |section                      |book/glossary|article/glossary|part/glossary                      |book/bibliography|article/bibliography|part/bibliography                      |colophon\" mode=\"enumerate-files\">\n  <xsl:variable name=\"ischunk\"><xsl:call-template name=\"chunk\"/></xsl:variable>\n  <xsl:if test=\"$ischunk='1'\">\n    <xsl:call-template name=\"make-relative-filename\">\n      <xsl:with-param name=\"base.dir\">\n        <xsl:if test=\"$manifest.in.base.dir = 0\">\n          <xsl:value-of select=\"$chunk.base.dir\"/>\n        </xsl:if>\n      </xsl:with-param>\n      <xsl:with-param name=\"base.name\">\n        <xsl:apply-templates mode=\"chunk-filename\" select=\".\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n    <xsl:text>\n</xsl:text>\n  </xsl:if>\n  <xsl:apply-templates select=\"*\" mode=\"enumerate-files\"/>\n</xsl:template>\n\n<xsl:template match=\"book/index|article/index|part/index\" mode=\"enumerate-files\">\n  <xsl:if test=\"$htmlhelp.output != 1\">\n    <xsl:variable name=\"ischunk\"><xsl:call-template name=\"chunk\"/></xsl:variable>\n    <xsl:if test=\"$ischunk='1'\">\n      <xsl:call-template name=\"make-relative-filename\">\n        <xsl:with-param name=\"base.dir\">\n          <xsl:if test=\"$manifest.in.base.dir = 0\">\n            <xsl:value-of select=\"$chunk.base.dir\"/>\n          </xsl:if>\n        </xsl:with-param>\n        <xsl:with-param name=\"base.name\">\n          <xsl:apply-templates mode=\"chunk-filename\" select=\".\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n      <xsl:text>\n</xsl:text>\n    </xsl:if>\n    <xsl:apply-templates select=\"*\" mode=\"enumerate-files\"/>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"enumerate-files\">\n  <xsl:variable name=\"id\"><xsl:call-template name=\"object.id\"/></xsl:variable>\n  <xsl:if test=\"$generate.legalnotice.link != 0\">\n    <xsl:call-template name=\"make-relative-filename\">\n      <xsl:with-param name=\"base.dir\">\n        <xsl:if test=\"$manifest.in.base.dir = 0\">\n          <xsl:value-of select=\"$chunk.base.dir\"/>\n        </xsl:if>\n      </xsl:with-param>\n      <xsl:with-param name=\"base.name\">\n        <xsl:apply-templates mode=\"chunk-filename\" select=\".\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n    <xsl:text>\n</xsl:text>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"mediaobject[imageobject] | inlinemediaobject[imageobject]\" mode=\"enumerate-files\">\n  <xsl:variable name=\"longdesc.uri\">\n    <xsl:call-template name=\"longdesc.uri\">\n      <xsl:with-param name=\"mediaobject\" select=\".\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:variable name=\"mediaobject\" select=\".\"/>\n\n  <xsl:if test=\"$html.longdesc != 0 and $mediaobject/textobject[not(phrase)]\">\n    <xsl:call-template name=\"longdesc.uri\">\n      <xsl:with-param name=\"mediaobject\" select=\"$mediaobject\"/>\n    </xsl:call-template>\n    <xsl:text>\n</xsl:text>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"text()\" mode=\"enumerate-files\">\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/chunk-common.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?><!--This file was created automatically by html2xhtml--><!--from the HTML stylesheets.--><xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:exsl=\"http://exslt.org/common\" xmlns:cf=\"http://docbook.sourceforge.net/xmlns/chunkfast/1.0\" xmlns:ng=\"http://docbook.org/docbook-ng\" xmlns:db=\"http://docbook.org/ns/docbook\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\" exclude-result-prefixes=\"exsl cf ng db\">\n\n<!-- ********************************************************************\n     $Id: chunk-common.xsl 9717 2013-01-25 18:13:36Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:param name=\"onechunk\" select=\"0\"/>\n<xsl:param name=\"refentry.separator\" select=\"0\"/>\n<xsl:param name=\"chunk.fast\" select=\"0\"/>\n\n<xsl:key name=\"genid\" match=\"*\" use=\"generate-id()\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:variable name=\"chunk.hierarchy\">\n  <xsl:if test=\"$chunk.fast != 0\">\n    <xsl:choose>\n      <!-- Are we handling a docbook5 document? -->\n      <xsl:when test=\"$exsl.node.set.available != 0                       and (*/self::ng:* or */self::db:*)\">\n        <xsl:if test=\"$chunk.quietly = 0\">\n          <xsl:message>Computing stripped namespace chunks...</xsl:message>\n        </xsl:if>\n        <xsl:apply-templates mode=\"find.chunks\" select=\"exsl:node-set($no.namespace)\"/>\n      </xsl:when>\n      <xsl:when test=\"$exsl.node.set.available != 0\">\n        <xsl:if test=\"$chunk.quietly = 0\">\n          <xsl:message>Computing chunks...</xsl:message>\n        </xsl:if>\n\n        <xsl:apply-templates select=\"/*\" mode=\"find.chunks\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:if test=\"$chunk.quietly = 0\">\n          <xsl:message>\n            <xsl:text>Fast chunking requires exsl:node-set(). </xsl:text>\n            <xsl:text>Using \"slow\" chunking.</xsl:text>\n          </xsl:message>\n        </xsl:if>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:if>\n</xsl:variable>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"process-chunk-element\">\n  <xsl:param name=\"content\">\n    <xsl:apply-imports/>\n  </xsl:param>\n\n  <xsl:choose>\n    <xsl:when test=\"$chunk.fast != 0 and $exsl.node.set.available != 0\">\n      <xsl:variable name=\"chunks\" select=\"exsl:node-set($chunk.hierarchy)//cf:div\"/>\n      <xsl:variable name=\"genid\" select=\"generate-id()\"/>\n\n      <xsl:variable name=\"div\" select=\"$chunks[@id=$genid or @xml:id=$genid]\"/>\n\n      <xsl:variable name=\"prevdiv\" select=\"($div/preceding-sibling::cf:div|$div/preceding::cf:div|$div/parent::cf:div)[last()]\"/>\n      <xsl:variable name=\"prev\" select=\"key('genid', ($prevdiv/@id|$prevdiv/@xml:id)[1])\"/>\n\n      <xsl:variable name=\"nextdiv\" select=\"($div/following-sibling::cf:div|$div/following::cf:div|$div/cf:div)[1]\"/>\n      <xsl:variable name=\"next\" select=\"key('genid', ($nextdiv/@id|$nextdiv/@xml:id)[1])\"/>\n\n      <xsl:choose>\n        <xsl:when test=\"$onechunk != 0 and parent::*\">\n          <xsl:copy-of select=\"$content\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"process-chunk\">\n            <xsl:with-param name=\"prev\" select=\"$prev\"/>\n            <xsl:with-param name=\"next\" select=\"$next\"/>\n            <xsl:with-param name=\"content\" select=\"$content\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"$onechunk != 0 and not(parent::*)\">\n          <xsl:call-template name=\"chunk-all-sections\">\n            <xsl:with-param name=\"content\" select=\"$content\"/>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:when test=\"$onechunk != 0\">\n          <xsl:copy-of select=\"$content\"/>\n        </xsl:when>\n        <xsl:when test=\"$chunk.first.sections = 0\">\n          <xsl:call-template name=\"chunk-first-section-with-parent\">\n            <xsl:with-param name=\"content\" select=\"$content\"/>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"chunk-all-sections\">\n            <xsl:with-param name=\"content\" select=\"$content\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"process-chunk\">\n  <xsl:param name=\"prev\" select=\".\"/>\n  <xsl:param name=\"next\" select=\".\"/>\n  <xsl:param name=\"content\">\n    <xsl:apply-imports/>\n  </xsl:param>\n\n  <xsl:variable name=\"ischunk\">\n    <xsl:call-template name=\"chunk\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"chunkfn\">\n    <xsl:if test=\"$ischunk='1'\">\n      <xsl:apply-templates mode=\"chunk-filename\" select=\".\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:if test=\"$ischunk='0'\">\n    <xsl:message>\n      <xsl:text>Error </xsl:text>\n      <xsl:value-of select=\"name(.)\"/>\n      <xsl:text> is not a chunk!</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n  <xsl:variable name=\"filename\">\n    <xsl:call-template name=\"make-relative-filename\">\n      <xsl:with-param name=\"base.dir\" select=\"$chunk.base.dir\"/>\n      <xsl:with-param name=\"base.name\" select=\"$chunkfn\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:call-template name=\"write.chunk\">\n    <xsl:with-param name=\"filename\" select=\"$filename\"/>\n    <xsl:with-param name=\"content\">\n      <xsl:call-template name=\"chunk-element-content\">\n        <xsl:with-param name=\"prev\" select=\"$prev\"/>\n        <xsl:with-param name=\"next\" select=\"$next\"/>\n        <xsl:with-param name=\"content\" select=\"$content\"/>\n      </xsl:call-template>\n    </xsl:with-param>\n    <xsl:with-param name=\"quiet\" select=\"$chunk.quietly\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"chunk-first-section-with-parent\">\n  <xsl:param name=\"content\">\n    <xsl:apply-imports/>\n  </xsl:param>\n\n  <!-- These xpath expressions are really hairy. The trick is to pick sections -->\n  <!-- that are not first children and are not the children of first children -->\n\n  <!-- Break these variables into pieces to work around\n       http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6063 -->\n\n  <xsl:variable name=\"prev-v1\" select=\"(ancestor::sect1[$chunk.section.depth &gt; 0                              and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect1][1]               |ancestor::sect2[$chunk.section.depth &gt; 1                                and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect2                                and parent::sect1[preceding-sibling::sect1]][1]               |ancestor::sect3[$chunk.section.depth &gt; 2                                and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect3                                and parent::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |ancestor::sect4[$chunk.section.depth &gt; 3                                and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect4                                and parent::sect3[preceding-sibling::sect3]                                and ancestor::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |ancestor::sect5[$chunk.section.depth &gt; 4                                and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect5                                and parent::sect4[preceding-sibling::sect4]                                and ancestor::sect3[preceding-sibling::sect3]                                and ancestor::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |ancestor::section[$chunk.section.depth &gt; count(ancestor::section)                              and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                 and not(ancestor::section[not(preceding-sibling::section)])][1])[last()]\"/>\n\n  <xsl:variable name=\"prev-v2\" select=\"(preceding::sect1[$chunk.section.depth &gt; 0                                and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect1][1]               |preceding::sect2[$chunk.section.depth &gt; 1                                and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect2                                and parent::sect1[preceding-sibling::sect1]][1]               |preceding::sect3[$chunk.section.depth &gt; 2                                and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect3                                and parent::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |preceding::sect4[$chunk.section.depth &gt; 3                                and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect4                                and parent::sect3[preceding-sibling::sect3]                                and ancestor::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |preceding::sect5[$chunk.section.depth &gt; 4                                and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect5                                and parent::sect4[preceding-sibling::sect4]                                and ancestor::sect3[preceding-sibling::sect3]                                and ancestor::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |preceding::section[$chunk.section.depth &gt; count(ancestor::section)                                 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                  and preceding-sibling::section                                  and not(ancestor::section[not(preceding-sibling::section)])][1])[last()]\"/>\n\n  <xsl:variable name=\"prev\" select=\"(preceding::book[1]              |preceding::preface[1]              |preceding::chapter[1]              |preceding::appendix[1]              |preceding::part[1]              |preceding::reference[1]              |preceding::refentry[1]              |preceding::colophon[1]              |preceding::article[1]              |preceding::topic[1]              |preceding::bibliography[parent::article or parent::book or parent::part][1]              |preceding::glossary[parent::article or parent::book or parent::part][1]              |preceding::index[$generate.index != 0]                                [parent::article or parent::book or parent::part][1]              |preceding::setindex[$generate.index != 0][1]              |ancestor::set              |ancestor::book[1]              |ancestor::preface[1]              |ancestor::chapter[1]              |ancestor::appendix[1]              |ancestor::part[1]              |ancestor::reference[1]              |ancestor::article[1]              |ancestor::topic[1]              |$prev-v1              |$prev-v2)[last()]\"/>\n\n  <xsl:variable name=\"next-v1\" select=\"(following::sect1[$chunk.section.depth &gt; 0                             and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect1][1]               |following::sect2[$chunk.section.depth &gt; 1                             and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect2                                and parent::sect1[preceding-sibling::sect1]][1]               |following::sect3[$chunk.section.depth &gt; 2                             and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect3                                and parent::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |following::sect4[$chunk.section.depth &gt; 3                             and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect4                                and parent::sect3[preceding-sibling::sect3]                                and ancestor::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |following::sect5[$chunk.section.depth &gt; 4                             and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect5                                and parent::sect4[preceding-sibling::sect4]                                and ancestor::sect3[preceding-sibling::sect3]                                and ancestor::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |following::section[$chunk.section.depth &gt; count(ancestor::section)                                 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                  and preceding-sibling::section                                   and not(ancestor::section[not(preceding-sibling::section)])][1])[1]\"/>\n\n  <xsl:variable name=\"next-v2\" select=\"(descendant::sect1[$chunk.section.depth &gt; 0                             and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect1][1]               |descendant::sect2[$chunk.section.depth &gt; 1                             and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect2                                and parent::sect1[preceding-sibling::sect1]][1]               |descendant::sect3[$chunk.section.depth &gt; 2                             and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect3                                and parent::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |descendant::sect4[$chunk.section.depth &gt; 3                             and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect4                                and parent::sect3[preceding-sibling::sect3]                                and ancestor::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |descendant::sect5[$chunk.section.depth &gt; 4                             and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                and preceding-sibling::sect5                                and parent::sect4[preceding-sibling::sect4]                                and ancestor::sect3[preceding-sibling::sect3]                                and ancestor::sect2[preceding-sibling::sect2]                                and ancestor::sect1[preceding-sibling::sect1]][1]               |descendant::section[$chunk.section.depth &gt; count(ancestor::section)                                  and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])                                  and preceding-sibling::section                                  and not(ancestor::section[not(preceding-sibling::section)])])[1]\"/>\n\n  <xsl:variable name=\"next\" select=\"(following::book[1]              |following::preface[1]              |following::chapter[1]              |following::appendix[1]              |following::part[1]              |following::reference[1]              |following::refentry[1]              |following::colophon[1]              |following::bibliography[parent::article or parent::book or parent::part][1]              |following::glossary[parent::article or parent::book or parent::part][1]              |following::index[$generate.index != 0]                                [parent::article or parent::book or parent::part][1]              |following::article[1]              |following::topic[1]              |following::setindex[$generate.index != 0][1]              |descendant::book[1]              |descendant::preface[1]              |descendant::chapter[1]              |descendant::appendix[1]              |descendant::article[1]              |descendant::topic[1]              |descendant::bibliography[parent::article or parent::book or parent::part][1]              |descendant::glossary[parent::article or parent::book or parent::part][1]              |descendant::index[$generate.index != 0]                                [parent::article or parent::book or parent::part][1]              |descendant::colophon[1]              |descendant::setindex[$generate.index != 0][1]              |descendant::part[1]              |descendant::reference[1]              |descendant::refentry[1]              |$next-v1              |$next-v2)[1]\"/>\n\n  <xsl:call-template name=\"process-chunk\">\n    <xsl:with-param name=\"prev\" select=\"$prev\"/>\n    <xsl:with-param name=\"next\" select=\"$next\"/>\n    <xsl:with-param name=\"content\" select=\"$content\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"chunk-all-sections\">\n  <xsl:param name=\"content\">\n    <xsl:apply-imports/>\n  </xsl:param>\n\n  <xsl:variable name=\"prev-v1\" select=\"(preceding::sect1[$chunk.section.depth &gt; 0 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |preceding::sect2[$chunk.section.depth &gt; 1 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |preceding::sect3[$chunk.section.depth &gt; 2 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |preceding::sect4[$chunk.section.depth &gt; 3 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |preceding::sect5[$chunk.section.depth &gt; 4 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |preceding::section[$chunk.section.depth &gt; count(ancestor::section) and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1])[last()]\"/>\n\n  <xsl:variable name=\"prev-v2\" select=\"(ancestor::sect1[$chunk.section.depth &gt; 0 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |ancestor::sect2[$chunk.section.depth &gt; 1 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |ancestor::sect3[$chunk.section.depth &gt; 2 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |ancestor::sect4[$chunk.section.depth &gt; 3 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |ancestor::sect5[$chunk.section.depth &gt; 4 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |ancestor::section[$chunk.section.depth &gt; count(ancestor::section) and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1])[last()]\"/>\n\n  <xsl:variable name=\"prev\" select=\"(preceding::book[1]              |preceding::preface[1]              |preceding::chapter[1]              |preceding::appendix[1]              |preceding::part[1]              |preceding::reference[1]              |preceding::refentry[1]              |preceding::colophon[1]              |preceding::article[1]              |preceding::topic[1]              |preceding::bibliography[parent::article or parent::book or parent::part][1]              |preceding::glossary[parent::article or parent::book or parent::part][1]              |preceding::index[$generate.index != 0]                                [parent::article or parent::book or parent::part][1]              |preceding::setindex[$generate.index != 0][1]              |ancestor::set              |ancestor::book[1]              |ancestor::preface[1]              |ancestor::chapter[1]              |ancestor::appendix[1]              |ancestor::part[1]              |ancestor::reference[1]              |ancestor::article[1]              |ancestor::topic[1]              |$prev-v1              |$prev-v2)[last()]\"/>\n\n  <xsl:variable name=\"next-v1\" select=\"(following::sect1[$chunk.section.depth &gt; 0 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |following::sect2[$chunk.section.depth &gt; 1 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |following::sect3[$chunk.section.depth &gt; 2 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |following::sect4[$chunk.section.depth &gt; 3 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |following::sect5[$chunk.section.depth &gt; 4 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |following::section[$chunk.section.depth &gt; count(ancestor::section) and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1])[1]\"/>\n\n  <xsl:variable name=\"next-v2\" select=\"(descendant::sect1[$chunk.section.depth &gt; 0 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |descendant::sect2[$chunk.section.depth &gt; 1 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |descendant::sect3[$chunk.section.depth &gt; 2 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |descendant::sect4[$chunk.section.depth &gt; 3 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |descendant::sect5[$chunk.section.depth &gt; 4 and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1]              |descendant::section[$chunk.section.depth                                    &gt; count(ancestor::section) and not(ancestor::*/processing-instruction('dbhtml')[normalize-space(.) ='stop-chunking'])][1])[1]\"/>\n\n  <xsl:variable name=\"next\" select=\"(following::book[1]              |following::preface[1]              |following::chapter[1]              |following::appendix[1]              |following::part[1]              |following::reference[1]              |following::refentry[1]              |following::colophon[1]              |following::bibliography[parent::article or parent::book or parent::part][1]              |following::glossary[parent::article or parent::book or parent::part][1]              |following::index[$generate.index != 0]                                [parent::article or parent::book][1]              |following::article[1]              |following::topic[1]              |following::setindex[$generate.index != 0][1]              |descendant::book[1]              |descendant::preface[1]              |descendant::chapter[1]              |descendant::appendix[1]              |descendant::article[1]              |descendant::topic[1]              |descendant::bibliography[parent::article or parent::book][1]              |descendant::glossary[parent::article or parent::book or parent::part][1]              |descendant::index[$generate.index != 0]                                [parent::article or parent::book][1]              |descendant::colophon[1]              |descendant::setindex[$generate.index != 0][1]              |descendant::part[1]              |descendant::reference[1]              |descendant::refentry[1]              |$next-v1              |$next-v2)[1]\"/>\n\n  <xsl:call-template name=\"process-chunk\">\n    <xsl:with-param name=\"prev\" select=\"$prev\"/>\n    <xsl:with-param name=\"next\" select=\"$next\"/>\n    <xsl:with-param name=\"content\" select=\"$content\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"make.lots\">\n  <xsl:param name=\"toc.params\" select=\"''\"/>\n  <xsl:param name=\"toc\"/>\n\n  <xsl:variable name=\"lots\">\n    <xsl:if test=\"contains($toc.params, 'toc')\">\n      <xsl:copy-of select=\"$toc\"/>\n    </xsl:if>\n\n    <xsl:if test=\"contains($toc.params, 'figure')\">\n      <xsl:choose>\n        <xsl:when test=\"$chunk.separate.lots != '0'\">\n          <xsl:call-template name=\"make.lot.chunk\">\n            <xsl:with-param name=\"type\" select=\"'figure'\"/>\n            <xsl:with-param name=\"lot\">\n              <xsl:call-template name=\"list.of.titles\">\n                <xsl:with-param name=\"titles\" select=\"'figure'\"/>\n                <xsl:with-param name=\"nodes\" select=\".//figure\"/>\n              </xsl:call-template>\n            </xsl:with-param>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"list.of.titles\">\n            <xsl:with-param name=\"titles\" select=\"'figure'\"/>\n            <xsl:with-param name=\"nodes\" select=\".//figure\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:if>\n\n    <xsl:if test=\"contains($toc.params, 'table')\">\n      <xsl:choose>\n        <xsl:when test=\"$chunk.separate.lots != '0'\">\n          <xsl:call-template name=\"make.lot.chunk\">\n            <xsl:with-param name=\"type\" select=\"'table'\"/>\n            <xsl:with-param name=\"lot\">\n              <xsl:call-template name=\"list.of.titles\">\n                <xsl:with-param name=\"titles\" select=\"'table'\"/>\n                <xsl:with-param name=\"nodes\" select=\".//table[not(@tocentry = 0)]\"/>\n              </xsl:call-template>\n            </xsl:with-param>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"list.of.titles\">\n            <xsl:with-param name=\"titles\" select=\"'table'\"/>\n            <xsl:with-param name=\"nodes\" select=\".//table[not(@tocentry = 0)]\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:if>\n\n    <xsl:if test=\"contains($toc.params, 'example')\">\n      <xsl:choose>\n        <xsl:when test=\"$chunk.separate.lots != '0'\">\n          <xsl:call-template name=\"make.lot.chunk\">\n            <xsl:with-param name=\"type\" select=\"'example'\"/>\n            <xsl:with-param name=\"lot\">\n              <xsl:call-template name=\"list.of.titles\">\n                <xsl:with-param name=\"titles\" select=\"'example'\"/>\n                <xsl:with-param name=\"nodes\" select=\".//example\"/>\n              </xsl:call-template>\n            </xsl:with-param>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"list.of.titles\">\n            <xsl:with-param name=\"titles\" select=\"'example'\"/>\n            <xsl:with-param name=\"nodes\" select=\".//example\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:if>\n\n    <xsl:if test=\"contains($toc.params, 'equation')\">\n      <xsl:choose>\n        <xsl:when test=\"$chunk.separate.lots != '0'\">\n          <xsl:call-template name=\"make.lot.chunk\">\n            <xsl:with-param name=\"type\" select=\"'equation'\"/>\n            <xsl:with-param name=\"lot\">\n              <xsl:call-template name=\"list.of.titles\">\n                <xsl:with-param name=\"titles\" select=\"'equation'\"/>\n                <xsl:with-param name=\"nodes\" select=\".//equation[title or info/title]\"/>\n              </xsl:call-template>\n            </xsl:with-param>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"list.of.titles\">\n            <xsl:with-param name=\"titles\" select=\"'equation'\"/>\n            <xsl:with-param name=\"nodes\" select=\".//equation[title or info/title]\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:if>\n\n    <xsl:if test=\"contains($toc.params, 'procedure')\">\n      <xsl:choose>\n        <xsl:when test=\"$chunk.separate.lots != '0'\">\n          <xsl:call-template name=\"make.lot.chunk\">\n            <xsl:with-param name=\"type\" select=\"'procedure'\"/>\n            <xsl:with-param name=\"lot\">\n              <xsl:call-template name=\"list.of.titles\">\n                <xsl:with-param name=\"titles\" select=\"'procedure'\"/>\n                <xsl:with-param name=\"nodes\" select=\".//procedure[title]\"/>\n              </xsl:call-template>\n            </xsl:with-param>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"list.of.titles\">\n            <xsl:with-param name=\"titles\" select=\"'procedure'\"/>\n            <xsl:with-param name=\"nodes\" select=\".//procedure[title]\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:if test=\"string($lots) != ''\">\n    <xsl:choose>\n      <xsl:when test=\"$chunk.tocs.and.lots != 0 and not(parent::*)\">\n        <xsl:call-template name=\"write.chunk\">\n          <xsl:with-param name=\"filename\">\n            <xsl:call-template name=\"make-relative-filename\">\n              <xsl:with-param name=\"base.dir\" select=\"$chunk.base.dir\"/>\n              <xsl:with-param name=\"base.name\">\n                <xsl:call-template name=\"dbhtml-dir\"/>\n                <xsl:value-of select=\"$chunked.filename.prefix\"/>\n                <xsl:apply-templates select=\".\" mode=\"recursive-chunk-filename\">\n                  <xsl:with-param name=\"recursive\" select=\"true()\"/>\n                </xsl:apply-templates>\n                <xsl:text>-toc</xsl:text>\n                <xsl:value-of select=\"$html.ext\"/>\n              </xsl:with-param>\n            </xsl:call-template>\n          </xsl:with-param>\n          <xsl:with-param name=\"content\">\n            <xsl:call-template name=\"chunk-element-content\">\n              <xsl:with-param name=\"prev\" select=\"/foo\"/>\n              <xsl:with-param name=\"next\" select=\"/foo\"/>\n              <xsl:with-param name=\"nav.context\" select=\"'toc'\"/>\n              <xsl:with-param name=\"content\">\n                <xsl:if test=\"$chunk.tocs.and.lots.has.title != 0\">\n                  <h1>\n                    <xsl:apply-templates select=\".\" mode=\"object.title.markup\"/>\n                  </h1>\n                </xsl:if>\n                <xsl:copy-of select=\"$lots\"/>\n              </xsl:with-param>\n            </xsl:call-template>\n          </xsl:with-param>\n          <xsl:with-param name=\"quiet\" select=\"$chunk.quietly\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:copy-of select=\"$lots\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"make.lot.chunk\">\n  <xsl:param name=\"type\" select=\"''\"/>\n  <xsl:param name=\"lot\"/>\n\n  <xsl:if test=\"string($lot) != ''\">\n    <xsl:variable name=\"filename\">\n      <xsl:call-template name=\"make-relative-filename\">\n        <xsl:with-param name=\"base.dir\" select=\"$chunk.base.dir\"/>\n        <xsl:with-param name=\"base.name\">\n          <xsl:call-template name=\"dbhtml-dir\"/>\n          <xsl:value-of select=\"$type\"/>\n          <xsl:text>-toc</xsl:text>\n          <xsl:value-of select=\"$html.ext\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:variable name=\"href\">\n      <xsl:call-template name=\"make-relative-filename\">\n        <xsl:with-param name=\"base.dir\" select=\"''\"/>\n        <xsl:with-param name=\"base.name\">\n          <xsl:call-template name=\"dbhtml-dir\"/>\n          <xsl:value-of select=\"$type\"/>\n          <xsl:text>-toc</xsl:text>\n          <xsl:value-of select=\"$html.ext\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:call-template name=\"write.chunk\">\n      <xsl:with-param name=\"filename\" select=\"$filename\"/>\n      <xsl:with-param name=\"content\">\n        <xsl:call-template name=\"chunk-element-content\">\n          <xsl:with-param name=\"prev\" select=\"/foo\"/>\n          <xsl:with-param name=\"next\" select=\"/foo\"/>\n          <xsl:with-param name=\"nav.context\" select=\"'toc'\"/>\n          <xsl:with-param name=\"content\">\n            <xsl:copy-of select=\"$lot\"/>\n          </xsl:with-param>\n        </xsl:call-template>\n      </xsl:with-param>\n      <xsl:with-param name=\"quiet\" select=\"$chunk.quietly\"/>\n    </xsl:call-template>\n    <!-- And output a link to this file -->\n    <div>\n      <xsl:attribute name=\"class\">\n        <xsl:text>ListofTitles</xsl:text>\n      </xsl:attribute>\n      <a href=\"{$href}\">\n        <xsl:call-template name=\"gentext\">\n          <xsl:with-param name=\"key\">\n            <xsl:choose>\n              <xsl:when test=\"$type='table'\">ListofTables</xsl:when>\n              <xsl:when test=\"$type='figure'\">ListofFigures</xsl:when>\n              <xsl:when test=\"$type='equation'\">ListofEquations</xsl:when>\n              <xsl:when test=\"$type='example'\">ListofExamples</xsl:when>\n              <xsl:when test=\"$type='procedure'\">ListofProcedures</xsl:when>\n              <xsl:otherwise>ListofUnknown</xsl:otherwise>\n            </xsl:choose>\n          </xsl:with-param>\n        </xsl:call-template>\n      </a>\n    </div>\n  </xsl:if>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"in.other.chunk\">\n  <xsl:param name=\"chunk\" select=\".\"/>\n  <xsl:param name=\"node\" select=\".\"/>\n\n  <xsl:variable name=\"is.chunk\">\n    <xsl:call-template name=\"chunk\">\n      <xsl:with-param name=\"node\" select=\"$node\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n<!--\n  <xsl:message>\n    <xsl:text>in.other.chunk: </xsl:text>\n    <xsl:value-of select=\"name($chunk)\"/>\n    <xsl:text> </xsl:text>\n    <xsl:value-of select=\"name($node)\"/>\n    <xsl:text> </xsl:text>\n    <xsl:value-of select=\"$chunk = $node\"/>\n    <xsl:text> </xsl:text>\n    <xsl:value-of select=\"$is.chunk\"/>\n  </xsl:message>\n-->\n\n  <xsl:choose>\n    <xsl:when test=\"$chunk = $node\">0</xsl:when>\n    <xsl:when test=\"$is.chunk = 1\">1</xsl:when>\n    <xsl:when test=\"count($node) = 0\">0</xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"in.other.chunk\">\n        <xsl:with-param name=\"chunk\" select=\"$chunk\"/>\n        <xsl:with-param name=\"node\" select=\"$node/parent::*\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"count.footnotes.in.this.chunk\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:param name=\"footnotes\" select=\"$node//footnote\"/>\n  <xsl:param name=\"count\" select=\"0\"/>\n\n<!--\n  <xsl:message>\n    <xsl:text>count.footnotes.in.this.chunk: </xsl:text>\n    <xsl:value-of select=\"name($node)\"/>\n  </xsl:message>\n-->\n\n  <xsl:variable name=\"in.other.chunk\">\n    <xsl:call-template name=\"in.other.chunk\">\n      <xsl:with-param name=\"chunk\" select=\"$node\"/>\n      <xsl:with-param name=\"node\" select=\"$footnotes[1]\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"count($footnotes) = 0\">\n      <xsl:value-of select=\"$count\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"$in.other.chunk != 0\">\n          <xsl:call-template name=\"count.footnotes.in.this.chunk\">\n            <xsl:with-param name=\"node\" select=\"$node\"/>\n            <xsl:with-param name=\"footnotes\" select=\"$footnotes[position() &gt; 1]\"/>\n            <xsl:with-param name=\"count\" select=\"$count\"/>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:when test=\"$footnotes[1]/ancestor::table                         |$footnotes[1]/ancestor::informaltable\">\n          <xsl:call-template name=\"count.footnotes.in.this.chunk\">\n            <xsl:with-param name=\"node\" select=\"$node\"/>\n            <xsl:with-param name=\"footnotes\" select=\"$footnotes[position() &gt; 1]\"/>\n            <xsl:with-param name=\"count\" select=\"$count\"/>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"count.footnotes.in.this.chunk\">\n            <xsl:with-param name=\"node\" select=\"$node\"/>\n            <xsl:with-param name=\"footnotes\" select=\"$footnotes[position() &gt; 1]\"/>\n            <xsl:with-param name=\"count\" select=\"$count + 1\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"process.footnotes.in.this.chunk\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:param name=\"footnotes\" select=\"$node//footnote\"/>\n\n<!--\n  <xsl:message>process.footnotes.in.this.chunk</xsl:message>\n-->\n\n  <xsl:variable name=\"in.other.chunk\">\n    <xsl:call-template name=\"in.other.chunk\">\n      <xsl:with-param name=\"chunk\" select=\"$node\"/>\n      <xsl:with-param name=\"node\" select=\"$footnotes[1]\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"count($footnotes) = 0\">\n      <!-- nop -->\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"$in.other.chunk != 0\">\n          <xsl:call-template name=\"process.footnotes.in.this.chunk\">\n            <xsl:with-param name=\"node\" select=\"$node\"/>\n            <xsl:with-param name=\"footnotes\" select=\"$footnotes[position() &gt; 1]\"/>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:when test=\"$footnotes[1]/ancestor::table                         |$footnotes[1]/ancestor::informaltable\">\n          <xsl:call-template name=\"process.footnotes.in.this.chunk\">\n            <xsl:with-param name=\"node\" select=\"$node\"/>\n            <xsl:with-param name=\"footnotes\" select=\"$footnotes[position() &gt; 1]\"/>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates select=\"$footnotes[1]\" mode=\"process.footnote.mode\"/>\n          <xsl:call-template name=\"process.footnotes.in.this.chunk\">\n            <xsl:with-param name=\"node\" select=\"$node\"/>\n            <xsl:with-param name=\"footnotes\" select=\"$footnotes[position() &gt; 1]\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"process.footnotes\">\n  <xsl:variable name=\"footnotes\" select=\".//footnote\"/>\n  <xsl:variable name=\"fcount\">\n    <xsl:call-template name=\"count.footnotes.in.this.chunk\">\n      <xsl:with-param name=\"node\" select=\".\"/>\n      <xsl:with-param name=\"footnotes\" select=\"$footnotes\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n<!--\n  <xsl:message>\n    <xsl:value-of select=\"name(.)\"/>\n    <xsl:text> fcount: </xsl:text>\n    <xsl:value-of select=\"$fcount\"/>\n  </xsl:message>\n-->\n\n  <!-- Only bother to do this if there's at least one non-table footnote -->\n  <xsl:if test=\"$fcount &gt; 0\">\n    <div class=\"footnotes\">\n      <xsl:call-template name=\"footnotes.attributes\"/>\n      <br/>\n      <hr/>\n      <xsl:call-template name=\"process.footnotes.in.this.chunk\">\n        <xsl:with-param name=\"node\" select=\".\"/>\n        <xsl:with-param name=\"footnotes\" select=\"$footnotes\"/>\n      </xsl:call-template>\n    </div>\n  </xsl:if>\n\n  <!-- FIXME: When chunking, only the annotations actually used\n              in this chunk should be referenced. I don't think it\n              does any harm to reference them all, but it adds\n              unnecessary bloat to each chunk. -->\n  <xsl:if test=\"$annotation.support != 0 and //annotation\">\n    <div class=\"annotation-list\">\n      <div class=\"annotation-nocss\">\n        <p>The following annotations are from this essay. You are seeing\n        them here because your browser doesn&#8217;t support the user-interface\n        techniques used to make them appear as &#8216;popups&#8217; on modern browsers.</p>\n      </div>\n\n      <xsl:apply-templates select=\"//annotation\" mode=\"annotation-popup\"/>\n    </div>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"process.chunk.footnotes\">\n  <xsl:variable name=\"is.chunk\">\n    <xsl:call-template name=\"chunk\"/>\n  </xsl:variable>\n  <xsl:if test=\"$is.chunk = 1\">\n    <xsl:call-template name=\"process.footnotes\"/>\n  </xsl:if>\n</xsl:template>\n\n<!-- ====================================================================== -->\n\n<xsl:template name=\"chunk\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <!-- returns 1 if $node is a chunk -->\n\n  <!-- ==================================================================== -->\n  <!-- What's a chunk?\n\n       The root element\n       appendix\n       article\n       bibliography  in article or part or book\n       book\n       chapter\n       colophon\n       glossary      in article or part or book\n       index         in article or part or book\n       part\n       preface\n       refentry\n       reference\n       sect{1,2,3,4,5}  if position()>1 && depth < chunk.section.depth\n       section          if position()>1 && depth < chunk.section.depth\n       set\n       setindex\n       topic\n                                                                            -->\n  <!-- ==================================================================== -->\n\n<!--\n  <xsl:message>\n    <xsl:text>chunk: </xsl:text>\n    <xsl:value-of select=\"name($node)\"/>\n    <xsl:text>(</xsl:text>\n    <xsl:value-of select=\"$node/@id\"/>\n    <xsl:text>)</xsl:text>\n    <xsl:text> csd: </xsl:text>\n    <xsl:value-of select=\"$chunk.section.depth\"/>\n    <xsl:text> cfs: </xsl:text>\n    <xsl:value-of select=\"$chunk.first.sections\"/>\n    <xsl:text> ps: </xsl:text>\n    <xsl:value-of select=\"count($node/parent::section)\"/>\n    <xsl:text> prs: </xsl:text>\n    <xsl:value-of select=\"count($node/preceding-sibling::section)\"/>\n  </xsl:message>\n-->\n\n  <xsl:choose>\n\t  <xsl:when test=\"$node/parent::*/processing-instruction('dbhtml')[normalize-space(.) = 'stop-chunking']\">0</xsl:when>\n    <xsl:when test=\"not($node/parent::*)\">1</xsl:when>\n\n    <xsl:when test=\"local-name($node) = 'sect1'                     and $chunk.section.depth &gt;= 1                     and ($chunk.first.sections != 0                          or count($node/preceding-sibling::sect1) &gt; 0)\">\n      <xsl:text>1</xsl:text>\n    </xsl:when>\n    <xsl:when test=\"local-name($node) = 'sect2'                     and $chunk.section.depth &gt;= 2                     and ($chunk.first.sections != 0                          or count($node/preceding-sibling::sect2) &gt; 0)\">\n      <xsl:call-template name=\"chunk\">\n        <xsl:with-param name=\"node\" select=\"$node/parent::*\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"local-name($node) = 'sect3'                     and $chunk.section.depth &gt;= 3                     and ($chunk.first.sections != 0                          or count($node/preceding-sibling::sect3) &gt; 0)\">\n      <xsl:call-template name=\"chunk\">\n        <xsl:with-param name=\"node\" select=\"$node/parent::*\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"local-name($node) = 'sect4'                     and $chunk.section.depth &gt;= 4                     and ($chunk.first.sections != 0                          or count($node/preceding-sibling::sect4) &gt; 0)\">\n      <xsl:call-template name=\"chunk\">\n        <xsl:with-param name=\"node\" select=\"$node/parent::*\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"local-name($node) = 'sect5'                     and $chunk.section.depth &gt;= 5                     and ($chunk.first.sections != 0                          or count($node/preceding-sibling::sect5) &gt; 0)\">\n      <xsl:call-template name=\"chunk\">\n        <xsl:with-param name=\"node\" select=\"$node/parent::*\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"local-name($node) = 'section'                     and $chunk.section.depth &gt;= count($node/ancestor::section)+1                     and ($chunk.first.sections != 0                          or count($node/preceding-sibling::section) &gt; 0)\">\n      <xsl:call-template name=\"chunk\">\n        <xsl:with-param name=\"node\" select=\"$node/parent::*\"/>\n      </xsl:call-template>\n    </xsl:when>\n\n    <xsl:when test=\"local-name($node)='preface'\">1</xsl:when>\n    <xsl:when test=\"local-name($node)='chapter'\">1</xsl:when>\n    <xsl:when test=\"local-name($node)='appendix'\">1</xsl:when>\n    <xsl:when test=\"local-name($node)='article'\">1</xsl:when>\n    <xsl:when test=\"local-name($node)='topic'\">1</xsl:when>\n    <xsl:when test=\"local-name($node)='part'\">1</xsl:when>\n    <xsl:when test=\"local-name($node)='reference'\">1</xsl:when>\n    <xsl:when test=\"local-name($node)='refentry'\">1</xsl:when>\n    <xsl:when test=\"local-name($node)='index' and ($generate.index != 0 or count($node/*) &gt; 0)                     and (local-name($node/parent::*) = 'article'                     or local-name($node/parent::*) = 'book'                     or local-name($node/parent::*) = 'part'                     )\">1</xsl:when>\n    <xsl:when test=\"local-name($node)='bibliography'                     and (local-name($node/parent::*) = 'article'                     or local-name($node/parent::*) = 'book'                     or local-name($node/parent::*) = 'part'                     )\">1</xsl:when>\n    <xsl:when test=\"local-name($node)='glossary'                     and (local-name($node/parent::*) = 'article'                     or local-name($node/parent::*) = 'book'                     or local-name($node/parent::*) = 'part'                     )\">1</xsl:when>\n    <xsl:when test=\"local-name($node)='colophon'\">1</xsl:when>\n    <xsl:when test=\"local-name($node)='book'\">1</xsl:when>\n    <xsl:when test=\"local-name($node)='set'\">1</xsl:when>\n    <xsl:when test=\"local-name($node)='setindex'\">1</xsl:when>\n    <xsl:when test=\"local-name($node)='legalnotice'                     and $generate.legalnotice.link != 0\">1</xsl:when>\n    <xsl:otherwise>0</xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n<xsl:template name=\"href.target.uri\">\n  <xsl:param name=\"object\" select=\".\"/>\n  <xsl:variable name=\"ischunk\">\n    <xsl:call-template name=\"chunk\">\n      <xsl:with-param name=\"node\" select=\"$object\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:apply-templates mode=\"chunk-filename\" select=\"$object\"/>\n\n  <xsl:if test=\"$ischunk='0'\">\n    <xsl:text>#</xsl:text>\n    <xsl:call-template name=\"object.id\">\n      <xsl:with-param name=\"object\" select=\"$object\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"href.target\">\n  <xsl:param name=\"context\" select=\".\"/>\n  <xsl:param name=\"object\" select=\".\"/>\n  <xsl:param name=\"toc-context\" select=\".\"/>\n  <!-- * If $toc-context contains some node other than the current node, -->\n  <!-- * it means we're processing a link in a TOC. In that case, to -->\n  <!-- * ensure the link will work correctly, we need to take a look at -->\n  <!-- * where the file containing the TOC will get written, and where -->\n  <!-- * the file that's being linked to will get written. -->\n  <xsl:variable name=\"toc-output-dir\">\n    <xsl:if test=\"not($toc-context = .)\">\n      <!-- * Get the $toc-context node and all its ancestors, look down -->\n      <!-- * through them to find the last/closest node to the -->\n      <!-- * toc-context node that has a \"dbhtml dir\" PI, and get the -->\n      <!-- * directory name from that. That's the name of the directory -->\n      <!-- * to which the current toc output file will get written. -->\n      <xsl:call-template name=\"dbhtml-dir\">\n        <xsl:with-param name=\"context\" select=\"$toc-context/ancestor-or-self::*[processing-instruction('dbhtml')[contains(.,'dir')]][last()]\"/>\n      </xsl:call-template>\n    </xsl:if>\n  </xsl:variable>\n  <xsl:variable name=\"linked-file-output-dir\">\n    <xsl:if test=\"not($toc-context = .)\">\n      <!-- * Get the current node and all its ancestors, look down -->\n      <!-- * through them to find the last/closest node to the current -->\n      <!-- * node that has a \"dbhtml dir\" PI, and get the directory name -->\n      <!-- * from that.  That's the name of the directory to which the -->\n      <!-- * file that's being linked to will get written. -->\n      <xsl:call-template name=\"dbhtml-dir\">\n        <xsl:with-param name=\"context\" select=\"ancestor-or-self::*[processing-instruction('dbhtml')[contains(.,'dir')]][last()]\"/>\n      </xsl:call-template>\n    </xsl:if>\n  </xsl:variable>\n  <xsl:variable name=\"href.to.uri\">\n    <xsl:call-template name=\"href.target.uri\">\n      <xsl:with-param name=\"object\" select=\"$object\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:variable name=\"href.from.uri\">\n    <xsl:choose>\n      <xsl:when test=\"not($toc-context = .)\">\n        <xsl:call-template name=\"href.target.uri\">\n          <xsl:with-param name=\"object\" select=\"$toc-context\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"href.target.uri\">\n          <xsl:with-param name=\"object\" select=\"$context\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n  <!-- * <xsl:message>toc-context: <xsl:value-of select=\"local-name($toc-context)\"/></xsl:message> -->\n  <!-- * <xsl:message>node: <xsl:value-of select=\"local-name(.)\"/></xsl:message> -->\n  <!-- * <xsl:message>context: <xsl:value-of select=\"local-name($context)\"/></xsl:message> -->\n  <!-- * <xsl:message>object: <xsl:value-of select=\"local-name($object)\"/></xsl:message> -->\n  <!-- * <xsl:message>toc-output-dir: <xsl:value-of select=\"$toc-output-dir\"/></xsl:message> -->\n  <!-- * <xsl:message>linked-file-output-dir: <xsl:value-of select=\"$linked-file-output-dir\"/></xsl:message> -->\n  <!-- * <xsl:message>href.to.uri: <xsl:value-of select=\"$href.to.uri\"/></xsl:message> -->\n  <!-- * <xsl:message>href.from.uri: <xsl:value-of select=\"$href.from.uri\"/></xsl:message> -->\n  <xsl:variable name=\"href.to\">\n    <xsl:choose>\n      <!-- * 2007-07-19, MikeSmith: Added the following conditional to -->\n      <!-- * deal with a problem case for links in TOCs. It checks to see -->\n      <!-- * if the output dir that a TOC will get written to is -->\n      <!-- * different from the output dir of the file being linked to. -->\n      <!-- * If it is different, we do not call trim.common.uri.paths. -->\n      <!-- *  -->\n      <!-- * Reason why I added that conditional is: I ran into a bug for -->\n      <!-- * this case: -->\n      <!-- *  -->\n      <!-- * 1. we are chunking into separate dirs -->\n      <!-- *  -->\n      <!-- * 2. output for the TOC is written to current dir, but the file -->\n      <!-- *    being linked to is written to some subdir \"foo\". -->\n      <!-- *  -->\n      <!-- * For that case, links to that file in that TOC did not show -->\n      <!-- * the correct path - they omitted the \"foo\". -->\n      <!-- *  -->\n      <!-- * The cause of that problem was that the trim.common.uri.paths -->\n      <!-- * template[1] was being called under all conditions. But it's -->\n      <!-- * apparent that we don't want to call trim.common.uri.paths in -->\n      <!-- * the case where a linked file is being written to a different -->\n      <!-- * directory than the TOC that contains the link, because doing -->\n      <!-- * so will cause a necessary (not redundant) directory-name -->\n      <!-- * part of the link to get inadvertently trimmed, resulting in -->\n      <!-- * a broken link to that file. Thus, added the conditional. -->\n      <!-- *  -->\n      <!-- * [1] The purpose of the trim.common.uri.paths template is to -->\n      <!-- * prevent cases where, if we didn't call it, we end up with -->\n      <!-- * unnecessary, redundant directory names getting output; for -->\n      <!-- * example, \"foo/foo/refname.html\". -->\n      <xsl:when test=\"not($toc-output-dir = $linked-file-output-dir)\">\n        <xsl:value-of select=\"$href.to.uri\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"trim.common.uri.paths\">\n          <xsl:with-param name=\"uriA\" select=\"$href.to.uri\"/>\n          <xsl:with-param name=\"uriB\" select=\"$href.from.uri\"/>\n          <xsl:with-param name=\"return\" select=\"'A'\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n  <xsl:variable name=\"href.from\">\n    <xsl:call-template name=\"trim.common.uri.paths\">\n      <xsl:with-param name=\"uriA\" select=\"$href.to.uri\"/>\n      <xsl:with-param name=\"uriB\" select=\"$href.from.uri\"/>\n      <xsl:with-param name=\"return\" select=\"'B'\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:variable name=\"depth\">\n    <xsl:call-template name=\"count.uri.path.depth\">\n      <xsl:with-param name=\"filename\" select=\"$href.from\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:variable name=\"href\">\n    <xsl:call-template name=\"copy-string\">\n      <xsl:with-param name=\"string\" select=\"'../'\"/>\n      <xsl:with-param name=\"count\" select=\"$depth\"/>\n    </xsl:call-template>\n    <xsl:value-of select=\"$href.to\"/>\n  </xsl:variable>\n  <!--\n  <xsl:message>\n    <xsl:text>In </xsl:text>\n    <xsl:value-of select=\"name(.)\"/>\n    <xsl:text> (</xsl:text>\n    <xsl:value-of select=\"$href.from\"/>\n    <xsl:text>,</xsl:text>\n    <xsl:value-of select=\"$depth\"/>\n    <xsl:text>) </xsl:text>\n    <xsl:value-of select=\"name($object)\"/>\n    <xsl:text> href=</xsl:text>\n    <xsl:value-of select=\"$href\"/>\n  </xsl:message>\n  -->\n  <xsl:value-of select=\"$href\"/>\n</xsl:template>\n\n<!-- Returns the complete olink href value if found -->\n<!-- Must take into account any dbhtml dir of the chunk containing the olink -->\n<xsl:template name=\"make.olink.href\">\n  <xsl:param name=\"olink.key\" select=\"''\"/>\n  <xsl:param name=\"target.database\"/>\n\n  <xsl:if test=\"$olink.key != ''\">\n    <xsl:variable name=\"target.href\">\n      <xsl:for-each select=\"$target.database\">\n        <xsl:value-of select=\"key('targetptr-key', $olink.key)[1]/@href\"/>\n      </xsl:for-each>\n    </xsl:variable>\n  \n    <!-- an olink starting point may be in a subdirectory, so need\n         the \"from\" reference point to compute a relative path -->\n\n    <xsl:variable name=\"from.href\">\n      <xsl:call-template name=\"olink.from.uri\">\n        <xsl:with-param name=\"target.database\" select=\"$target.database\"/>\n        <xsl:with-param name=\"object\" select=\".\"/>\n        <xsl:with-param name=\"object.targetdoc\" select=\"$current.docid\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <!-- If the from.href has directory path, then must \"../\" upward\n         to document level -->\n    <xsl:variable name=\"upward.from.path\">\n      <xsl:call-template name=\"upward.path\">\n        <xsl:with-param name=\"path\" select=\"$from.href\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:variable name=\"targetdoc\">\n      <xsl:value-of select=\"substring-before($olink.key, '/')\"/>\n    </xsl:variable>\n  \n    <!-- Does the target database use a sitemap? -->\n    <xsl:variable name=\"use.sitemap\">\n      <xsl:choose>\n        <xsl:when test=\"$target.database//sitemap\">1</xsl:when>\n        <xsl:otherwise>0</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n  \n  \n    <!-- Get the baseuri for this targetptr -->\n    <xsl:variable name=\"baseuri\">\n      <xsl:choose>\n        <!-- Does the database use a sitemap? -->\n        <xsl:when test=\"$use.sitemap != 0\">\n          <xsl:choose>\n            <!-- Was current.docid parameter set? -->\n            <xsl:when test=\"$current.docid != ''\">\n              <!-- Was it found in the database? -->\n              <xsl:variable name=\"currentdoc.key\">\n                <xsl:for-each select=\"$target.database\">\n                  <xsl:value-of select=\"key('targetdoc-key',                                         $current.docid)[1]/@targetdoc\"/>\n                </xsl:for-each>\n              </xsl:variable>\n              <xsl:choose>\n                <xsl:when test=\"$currentdoc.key != ''\">\n                  <xsl:for-each select=\"$target.database\">\n                    <xsl:call-template name=\"targetpath\">\n                      <xsl:with-param name=\"dirnode\" select=\"key('targetdoc-key', $current.docid)[1]/parent::dir\"/>\n                      <xsl:with-param name=\"targetdoc\" select=\"$targetdoc\"/>\n                    </xsl:call-template>\n                  </xsl:for-each>\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:message>\n                    <xsl:text>Olink error: cannot compute relative </xsl:text>\n                    <xsl:text>sitemap path because $current.docid '</xsl:text>\n                    <xsl:value-of select=\"$current.docid\"/>\n                    <xsl:text>' not found in target database.</xsl:text>\n                  </xsl:message>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:message>\n                <xsl:text>Olink warning: cannot compute relative </xsl:text>\n                <xsl:text>sitemap path without $current.docid parameter</xsl:text>\n              </xsl:message>\n            </xsl:otherwise>\n          </xsl:choose> \n          <!-- In either case, add baseuri from its document entry-->\n          <xsl:variable name=\"docbaseuri\">\n            <xsl:for-each select=\"$target.database\">\n              <xsl:value-of select=\"key('targetdoc-key', $targetdoc)[1]/@baseuri\"/>\n            </xsl:for-each>\n          </xsl:variable>\n          <xsl:if test=\"$docbaseuri != ''\">\n            <xsl:value-of select=\"$docbaseuri\"/>\n          </xsl:if>\n        </xsl:when>\n        <!-- No database sitemap in use -->\n        <xsl:otherwise>\n          <!-- Just use any baseuri from its document entry -->\n          <xsl:variable name=\"docbaseuri\">\n            <xsl:for-each select=\"$target.database\">\n              <xsl:value-of select=\"key('targetdoc-key', $targetdoc)[1]/@baseuri\"/>\n            </xsl:for-each>\n          </xsl:variable>\n          <xsl:if test=\"$docbaseuri != ''\">\n            <xsl:value-of select=\"$docbaseuri\"/>\n          </xsl:if>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n  \n    <!-- Is this olink to be active? -->\n    <xsl:variable name=\"active.olink\">\n      <xsl:choose>\n        <xsl:when test=\"$activate.external.olinks = 0\">\n          <xsl:choose>\n            <xsl:when test=\"$current.docid = ''\">1</xsl:when>\n            <xsl:when test=\"$targetdoc = ''\">1</xsl:when>\n            <xsl:when test=\"$targetdoc = $current.docid\">1</xsl:when>\n            <xsl:otherwise>0</xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n\n    <xsl:if test=\"$active.olink != 0\">\n      <!-- Form the href information -->\n      <xsl:if test=\"not(contains($baseuri, ':'))\">\n        <!-- if not an absolute uri, add upward path from olink chunk -->\n        <xsl:value-of select=\"$upward.from.path\"/>\n      </xsl:if>\n  \n      <xsl:if test=\"$baseuri != ''\">\n        <xsl:value-of select=\"$baseuri\"/>\n        <xsl:if test=\"substring($target.href,1,1) != '#'\">\n          <!--xsl:text>/</xsl:text-->\n        </xsl:if>\n      </xsl:if>\n      <!-- optionally turn off frag for PDF references -->\n      <xsl:if test=\"not($insert.olink.pdf.frag = 0 and             translate(substring($baseuri, string-length($baseuri) - 3),                       'PDF', 'pdf') = '.pdf'             and starts-with($target.href, '#') )\">\n        <xsl:value-of select=\"$target.href\"/>\n      </xsl:if>\n    </xsl:if>\n  </xsl:if>\n</xsl:template>\n\n<!-- Computes \"../\" to reach top -->\n<xsl:template name=\"upward.path\">\n  <xsl:param name=\"path\" select=\"''\"/>\n  <xsl:choose> \n    <!-- Don't bother with absolute uris -->\n    <xsl:when test=\"contains($path, ':')\"/>\n    <xsl:when test=\"starts-with($path, '/')\"/>\n    <xsl:when test=\"contains($path, '/')\">\n      <xsl:text>../</xsl:text>\n      <xsl:call-template name=\"upward.path\">\n        <xsl:with-param name=\"path\" select=\"substring-after($path, '/')\"/>\n      </xsl:call-template>\n    </xsl:when>\n  </xsl:choose>\n\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"html.head\">\n  <xsl:param name=\"prev\" select=\"/foo\"/>\n  <xsl:param name=\"next\" select=\"/foo\"/>\n  <xsl:variable name=\"this\" select=\".\"/>\n  <xsl:variable name=\"home\" select=\"/*[1]\"/>\n  <xsl:variable name=\"up\" select=\"parent::*\"/>\n\n  <head>\n    <xsl:call-template name=\"system.head.content\"/>\n    <xsl:call-template name=\"head.content\"/>\n\n    <!-- home link not valid in HTML5 -->\n    <xsl:if test=\"$home and $div.element != 'section'\">\n      <link rel=\"home\">\n        <xsl:attribute name=\"href\">\n          <xsl:call-template name=\"href.target\">\n            <xsl:with-param name=\"object\" select=\"$home\"/>\n          </xsl:call-template>\n        </xsl:attribute>\n        <xsl:attribute name=\"title\">\n          <xsl:apply-templates select=\"$home\" mode=\"object.title.markup.textonly\"/>\n        </xsl:attribute>\n      </link>\n    </xsl:if>\n\n    <!-- up link not valid in HTML5 -->\n    <xsl:if test=\"$up and $div.element != 'section'\">\n      <link rel=\"up\">\n        <xsl:attribute name=\"href\">\n          <xsl:call-template name=\"href.target\">\n            <xsl:with-param name=\"object\" select=\"$up\"/>\n          </xsl:call-template>\n        </xsl:attribute>\n        <xsl:attribute name=\"title\">\n          <xsl:apply-templates select=\"$up\" mode=\"object.title.markup.textonly\"/>\n        </xsl:attribute>\n      </link>\n    </xsl:if>\n\n    <xsl:if test=\"$prev\">\n      <link rel=\"prev\">\n        <xsl:attribute name=\"href\">\n          <xsl:call-template name=\"href.target\">\n            <xsl:with-param name=\"object\" select=\"$prev\"/>\n          </xsl:call-template>\n        </xsl:attribute>\n        <xsl:attribute name=\"title\">\n          <xsl:apply-templates select=\"$prev\" mode=\"object.title.markup.textonly\"/>\n        </xsl:attribute>\n      </link>\n    </xsl:if>\n\n    <xsl:if test=\"$next\">\n      <link rel=\"next\">\n        <xsl:attribute name=\"href\">\n          <xsl:call-template name=\"href.target\">\n            <xsl:with-param name=\"object\" select=\"$next\"/>\n          </xsl:call-template>\n        </xsl:attribute>\n        <xsl:attribute name=\"title\">\n          <xsl:apply-templates select=\"$next\" mode=\"object.title.markup.textonly\"/>\n        </xsl:attribute>\n      </link>\n    </xsl:if>\n\n    <xsl:if test=\"$html.extra.head.links != 0\">\n      <xsl:for-each select=\"//part                             |//reference                             |//preface                             |//chapter                             |//article                             |//refentry                             |//appendix[not(parent::article)]|appendix                             |//glossary[not(parent::article)]|glossary                             |//index[not(parent::article)]|index\">\n        <link rel=\"{local-name(.)}\">\n          <xsl:attribute name=\"href\">\n            <xsl:call-template name=\"href.target\">\n              <xsl:with-param name=\"context\" select=\"$this\"/>\n              <xsl:with-param name=\"object\" select=\".\"/>\n            </xsl:call-template>\n          </xsl:attribute>\n          <xsl:attribute name=\"title\">\n            <xsl:apply-templates select=\".\" mode=\"object.title.markup.textonly\"/>\n          </xsl:attribute>\n        </link>\n      </xsl:for-each>\n\n      <xsl:for-each select=\"section|sect1|refsection|refsect1\">\n        <link>\n          <xsl:attribute name=\"rel\">\n            <xsl:choose>\n              <xsl:when test=\"local-name($this) = 'section'                               or local-name($this) = 'refsection'\">\n                <xsl:value-of select=\"'subsection'\"/>\n              </xsl:when>\n              <xsl:otherwise>\n                <xsl:value-of select=\"'section'\"/>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:attribute>\n          <xsl:attribute name=\"href\">\n            <xsl:call-template name=\"href.target\">\n              <xsl:with-param name=\"context\" select=\"$this\"/>\n              <xsl:with-param name=\"object\" select=\".\"/>\n            </xsl:call-template>\n          </xsl:attribute>\n          <xsl:attribute name=\"title\">\n            <xsl:apply-templates select=\".\" mode=\"object.title.markup.textonly\"/>\n          </xsl:attribute>\n        </link>\n      </xsl:for-each>\n\n      <xsl:for-each select=\"sect2|sect3|sect4|sect5|refsect2|refsect3\">\n        <link rel=\"subsection\">\n          <xsl:attribute name=\"href\">\n            <xsl:call-template name=\"href.target\">\n              <xsl:with-param name=\"context\" select=\"$this\"/>\n              <xsl:with-param name=\"object\" select=\".\"/>\n            </xsl:call-template>\n          </xsl:attribute>\n          <xsl:attribute name=\"title\">\n            <xsl:apply-templates select=\".\" mode=\"object.title.markup.textonly\"/>\n          </xsl:attribute>\n        </link>\n      </xsl:for-each>\n    </xsl:if>\n\n    <!-- * if we have a legalnotice and user wants it output as a -->\n    <!-- * separate page and $html.head.legalnotice.link.types is -->\n    <!-- * non-empty, we generate a link or links for each value in -->\n    <!-- * $html.head.legalnotice.link.types -->\n    <xsl:if test=\"//legalnotice                   and not($generate.legalnotice.link = 0)                   and not($html.head.legalnotice.link.types = '')\">\n      <xsl:call-template name=\"make.legalnotice.head.links\"/>\n    </xsl:if>\n\n    <xsl:call-template name=\"user.head.content\"/>\n  </head>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"header.navigation\">\n  <xsl:param name=\"prev\" select=\"/foo\"/>\n  <xsl:param name=\"next\" select=\"/foo\"/>\n  <xsl:param name=\"nav.context\"/>\n\n  <xsl:variable name=\"home\" select=\"/*[1]\"/>\n  <xsl:variable name=\"up\" select=\"parent::*\"/>\n\n  <xsl:variable name=\"row1\" select=\"$navig.showtitles != 0\"/>\n  <xsl:variable name=\"row2\" select=\"count($prev) &gt; 0                                     or (count($up) &gt; 0                                          and generate-id($up) != generate-id($home)                                         and $navig.showtitles != 0)                                     or count($next) &gt; 0\"/>\n\n  <xsl:if test=\"$suppress.navigation = '0' and $suppress.header.navigation = '0'\">\n    <div class=\"navheader\">\n      <xsl:if test=\"$row1 or $row2\">\n        <table width=\"100%\" summary=\"Navigation header\">\n          <xsl:if test=\"$row1\">\n            <tr>\n              <th colspan=\"3\" align=\"center\">\n                <xsl:apply-templates select=\".\" mode=\"object.title.markup\"/>\n              </th>\n            </tr>\n          </xsl:if>\n\n          <xsl:if test=\"$row2\">\n            <tr>\n              <td align=\"{$direction.align.start}\">\n                <xsl:if test=\"count($prev)&gt;0\">\n                  <a accesskey=\"p\">\n                    <xsl:attribute name=\"href\">\n                      <xsl:call-template name=\"href.target\">\n                        <xsl:with-param name=\"object\" select=\"$prev\"/>\n                      </xsl:call-template>\n                    </xsl:attribute>\n                    <xsl:call-template name=\"navig.content\">\n                      <xsl:with-param name=\"direction\" select=\"'prev'\"/>\n                    </xsl:call-template>\n                  </a>\n                </xsl:if>\n                <xsl:text>&#160;</xsl:text>\n              </td>\n              <th width=\"60%\" align=\"center\">\n                <xsl:choose>\n                  <xsl:when test=\"count($up) &gt; 0                                   and generate-id($up) != generate-id($home)                                   and $navig.showtitles != 0\">\n                    <xsl:apply-templates select=\"$up\" mode=\"object.title.markup\"/>\n                  </xsl:when>\n                  <xsl:otherwise>&#160;</xsl:otherwise>\n                </xsl:choose>\n              </th>\n              <td align=\"{$direction.align.end}\">\n                <xsl:text>&#160;</xsl:text>\n                <xsl:if test=\"count($next)&gt;0\">\n                  <a accesskey=\"n\">\n                    <xsl:attribute name=\"href\">\n                      <xsl:call-template name=\"href.target\">\n                        <xsl:with-param name=\"object\" select=\"$next\"/>\n                      </xsl:call-template>\n                    </xsl:attribute>\n                    <xsl:call-template name=\"navig.content\">\n                      <xsl:with-param name=\"direction\" select=\"'next'\"/>\n                    </xsl:call-template>\n                  </a>\n                </xsl:if>\n              </td>\n            </tr>\n          </xsl:if>\n        </table>\n      </xsl:if>\n      <xsl:if test=\"$header.rule != 0\">\n        <hr/>\n      </xsl:if>\n    </div>\n  </xsl:if>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"footer.navigation\">\n  <xsl:param name=\"prev\" select=\"/foo\"/>\n  <xsl:param name=\"next\" select=\"/foo\"/>\n  <xsl:param name=\"nav.context\"/>\n\n  <xsl:variable name=\"home\" select=\"/*[1]\"/>\n  <xsl:variable name=\"up\" select=\"parent::*\"/>\n\n  <xsl:variable name=\"row1\" select=\"count($prev) &gt; 0                                     or count($up) &gt; 0                                     or count($next) &gt; 0\"/>\n\n  <xsl:variable name=\"row2\" select=\"($prev and $navig.showtitles != 0)                                     or (generate-id($home) != generate-id(.)                                         or $nav.context = 'toc')                                     or ($chunk.tocs.and.lots != 0                                         and $nav.context != 'toc')                                     or ($next and $navig.showtitles != 0)\"/>\n\n  <xsl:if test=\"$suppress.navigation = '0' and $suppress.footer.navigation = '0'\">\n    <div class=\"navfooter\">\n      <xsl:if test=\"$footer.rule != 0\">\n        <hr/>\n      </xsl:if>\n\n      <xsl:if test=\"$row1 or $row2\">\n        <table width=\"100%\" summary=\"Navigation footer\">\n          <xsl:if test=\"$row1\">\n            <tr>\n              <td align=\"{$direction.align.start}\">\n                <xsl:if test=\"count($prev)&gt;0\">\n                  <a accesskey=\"p\">\n                    <xsl:attribute name=\"href\">\n                      <xsl:call-template name=\"href.target\">\n                        <xsl:with-param name=\"object\" select=\"$prev\"/>\n                      </xsl:call-template>\n                    </xsl:attribute>\n                    <xsl:call-template name=\"navig.content\">\n                      <xsl:with-param name=\"direction\" select=\"'prev'\"/>\n                    </xsl:call-template>\n                  </a>\n                </xsl:if>\n                <xsl:text>&#160;</xsl:text>\n              </td>\n              <td align=\"center\">\n                <xsl:choose>\n                  <xsl:when test=\"count($up)&gt;0                                   and generate-id($up) != generate-id($home)\">\n                    <a accesskey=\"u\">\n                      <xsl:attribute name=\"href\">\n                        <xsl:call-template name=\"href.target\">\n                          <xsl:with-param name=\"object\" select=\"$up\"/>\n                        </xsl:call-template>\n                      </xsl:attribute>\n                      <xsl:call-template name=\"navig.content\">\n                        <xsl:with-param name=\"direction\" select=\"'up'\"/>\n                      </xsl:call-template>\n                    </a>\n                  </xsl:when>\n                  <xsl:otherwise>&#160;</xsl:otherwise>\n                </xsl:choose>\n              </td>\n              <td align=\"{$direction.align.end}\">\n                <xsl:text>&#160;</xsl:text>\n                <xsl:if test=\"count($next)&gt;0\">\n                  <a accesskey=\"n\">\n                    <xsl:attribute name=\"href\">\n                      <xsl:call-template name=\"href.target\">\n                        <xsl:with-param name=\"object\" select=\"$next\"/>\n                      </xsl:call-template>\n                    </xsl:attribute>\n                    <xsl:call-template name=\"navig.content\">\n                      <xsl:with-param name=\"direction\" select=\"'next'\"/>\n                    </xsl:call-template>\n                  </a>\n                </xsl:if>\n              </td>\n            </tr>\n          </xsl:if>\n\n          <xsl:if test=\"$row2\">\n            <tr>\n              <td align=\"{$direction.align.start}\" valign=\"top\">\n                <xsl:if test=\"$navig.showtitles != 0\">\n                  <xsl:apply-templates select=\"$prev\" mode=\"object.title.markup\"/>\n                </xsl:if>\n                <xsl:text>&#160;</xsl:text>\n              </td>\n              <td align=\"center\">\n                <xsl:choose>\n                  <xsl:when test=\"$home != . or $nav.context = 'toc'\">\n                    <a accesskey=\"h\">\n                      <xsl:attribute name=\"href\">\n                        <xsl:call-template name=\"href.target\">\n                          <xsl:with-param name=\"object\" select=\"$home\"/>\n                        </xsl:call-template>\n                      </xsl:attribute>\n                      <xsl:call-template name=\"navig.content\">\n                        <xsl:with-param name=\"direction\" select=\"'home'\"/>\n                      </xsl:call-template>\n                    </a>\n                    <xsl:if test=\"$chunk.tocs.and.lots != 0 and $nav.context != 'toc'\">\n                      <xsl:text>&#160;|&#160;</xsl:text>\n                    </xsl:if>\n                  </xsl:when>\n                  <xsl:otherwise>&#160;</xsl:otherwise>\n                </xsl:choose>\n\n                <xsl:if test=\"$chunk.tocs.and.lots != 0 and $nav.context != 'toc'\">\n                  <a accesskey=\"t\">\n                    <xsl:attribute name=\"href\">\n                      <xsl:value-of select=\"$chunked.filename.prefix\"/>\n                      <xsl:apply-templates select=\"/*[1]\" mode=\"recursive-chunk-filename\">\n                        <xsl:with-param name=\"recursive\" select=\"true()\"/>\n                      </xsl:apply-templates>\n                      <xsl:text>-toc</xsl:text>\n                      <xsl:value-of select=\"$html.ext\"/>\n                    </xsl:attribute>\n                    <xsl:call-template name=\"gentext\">\n                      <xsl:with-param name=\"key\" select=\"'nav-toc'\"/>\n                    </xsl:call-template>\n                  </a>\n                </xsl:if>\n              </td>\n              <td align=\"{$direction.align.end}\" valign=\"top\">\n                <xsl:text>&#160;</xsl:text>\n                <xsl:if test=\"$navig.showtitles != 0\">\n                  <xsl:apply-templates select=\"$next\" mode=\"object.title.markup\"/>\n                </xsl:if>\n              </td>\n            </tr>\n          </xsl:if>\n        </table>\n      </xsl:if>\n    </div>\n  </xsl:if>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"navig.content\">\n    <xsl:param name=\"direction\" select=\"next\"/>\n    <xsl:variable name=\"navtext\">\n        <xsl:choose>\n            <xsl:when test=\"$direction = 'prev'\">\n                <xsl:call-template name=\"gentext.nav.prev\"/>\n            </xsl:when>\n            <xsl:when test=\"$direction = 'next'\">\n                <xsl:call-template name=\"gentext.nav.next\"/>\n            </xsl:when>\n            <xsl:when test=\"$direction = 'up'\">\n                <xsl:call-template name=\"gentext.nav.up\"/>\n            </xsl:when>\n            <xsl:when test=\"$direction = 'home'\">\n                <xsl:call-template name=\"gentext.nav.home\"/>\n            </xsl:when>\n            <xsl:otherwise>\n                <xsl:text>xxx</xsl:text>\n            </xsl:otherwise>\n        </xsl:choose>\n    </xsl:variable>\n\n    <xsl:choose>\n        <xsl:when test=\"$navig.graphics != 0\">\n            <img>\n                <xsl:attribute name=\"src\">\n                    <xsl:value-of select=\"$navig.graphics.path\"/>\n                    <xsl:value-of select=\"$direction\"/>\n                    <xsl:value-of select=\"$navig.graphics.extension\"/>\n                </xsl:attribute>\n                <xsl:attribute name=\"alt\">\n                    <xsl:value-of select=\"$navtext\"/>\n                </xsl:attribute>\n            </img>\n        </xsl:when>\n        <xsl:otherwise>\n            <xsl:value-of select=\"$navtext\"/>\n        </xsl:otherwise>\n    </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<!-- * The following template assumes that the first legalnotice -->\n<!-- * instance found in a document applies to the contents of the -->\n<!-- * entire document. It generates an HTML link in each chunk, back -->\n<!-- * to the file containing the contents of the first legalnotice. -->\n<!-- * -->\n<!-- * Actually, it may generate multiple link instances in each chunk, -->\n<!-- * because it walks through the space-separated list of link -->\n<!-- * types specified in the $html.head.legalnotice.link.types param, -->\n<!-- * popping off link types and generating links for them until it -->\n<!-- * depletes the list. -->\n  \n<xsl:template name=\"make.legalnotice.head.links\">\n  <!-- * the following ID is used as part of the legalnotice filename; -->\n  <!-- * we need it in order to construct the filename for use in the -->\n  <!-- * value of the href attribute on the link -->\n\n  <xsl:param name=\"ln-node\" select=\"(//legalnotice)[1]\"/>\n  \n  <xsl:param name=\"linktype\">\n    <xsl:choose>\n      <xsl:when test=\"contains($html.head.legalnotice.link.types, ' ')\">\n        <xsl:value-of select=\"normalize-space(                     substring-before($html.head.legalnotice.link.types, ' '))\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$html.head.legalnotice.link.types\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:param>\n  <xsl:param name=\"remaining.linktypes\" select=\"concat(               normalize-space(               substring-after($html.head.legalnotice.link.types, ' ')),' ')\"/>\n  <xsl:if test=\"not($linktype = '')\">\n\n    <!-- Compute name of legalnotice file (see titlepage.xsl) -->\n    <xsl:variable name=\"file\">\n      <xsl:call-template name=\"ln.or.rh.filename\">\n\t<xsl:with-param name=\"node\" select=\"$ln-node\"/>\n      </xsl:call-template>\n    </xsl:variable>\n   \n    <link rel=\"{$linktype}\">\n      <xsl:attribute name=\"href\">\n        <xsl:value-of select=\"$file\"/>\n      </xsl:attribute>\n      <xsl:attribute name=\"title\">\n        <xsl:apply-templates select=\"(//legalnotice)[1]\" mode=\"object.title.markup.textonly\"/>\n      </xsl:attribute>\n    </link>\n    <xsl:call-template name=\"make.legalnotice.head.links\">\n      <!-- * pop the next value off the list of link types -->\n      <xsl:with-param name=\"linktype\" select=\"substring-before($remaining.linktypes, ' ')\"/>\n      <!-- * remove the link type from the list of remaining link types -->\n      <xsl:with-param name=\"remaining.linktypes\" select=\"substring-after($remaining.linktypes, ' ')\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<!-- ==================================================================== -->\n<xsl:template name=\"chunk-element-content\">\n  <xsl:param name=\"prev\"/>\n  <xsl:param name=\"next\"/>\n  <xsl:param name=\"nav.context\"/>\n  <xsl:param name=\"content\">\n    <xsl:apply-imports/>\n  </xsl:param>\n\n  <xsl:call-template name=\"user.preroot\"/>\n\n  <html>\n    <xsl:call-template name=\"root.attributes\"/>\n    <xsl:call-template name=\"html.head\">\n      <xsl:with-param name=\"prev\" select=\"$prev\"/>\n      <xsl:with-param name=\"next\" select=\"$next\"/>\n    </xsl:call-template>\n\n    <body>\n      <xsl:call-template name=\"body.attributes\"/>\n\n      <xsl:call-template name=\"user.header.navigation\">\n        <xsl:with-param name=\"prev\" select=\"$prev\"/>\n        <xsl:with-param name=\"next\" select=\"$next\"/>\n        <xsl:with-param name=\"nav.context\" select=\"$nav.context\"/>\n      </xsl:call-template>\n\n      <xsl:call-template name=\"header.navigation\">\n        <xsl:with-param name=\"prev\" select=\"$prev\"/>\n        <xsl:with-param name=\"next\" select=\"$next\"/>\n        <xsl:with-param name=\"nav.context\" select=\"$nav.context\"/>\n      </xsl:call-template>\n\n      <xsl:call-template name=\"user.header.content\"/>\n\n      <xsl:copy-of select=\"$content\"/>\n\n      <xsl:call-template name=\"user.footer.content\"/>\n\n      <xsl:call-template name=\"footer.navigation\">\n        <xsl:with-param name=\"prev\" select=\"$prev\"/>\n        <xsl:with-param name=\"next\" select=\"$next\"/>\n        <xsl:with-param name=\"nav.context\" select=\"$nav.context\"/>\n      </xsl:call-template>\n\n      <xsl:call-template name=\"user.footer.navigation\">\n        <xsl:with-param name=\"prev\" select=\"$prev\"/>\n        <xsl:with-param name=\"next\" select=\"$next\"/>\n        <xsl:with-param name=\"nav.context\" select=\"$nav.context\"/>\n      </xsl:call-template>\n    </body>\n  </html>\n  <xsl:value-of select=\"$chunk.append\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n<xsl:template name=\"generate.manifest\">\n  <xsl:param name=\"node\" select=\"/\"/>\n  <xsl:call-template name=\"write.text.chunk\">\n    <xsl:with-param name=\"filename\">\n      <xsl:if test=\"$manifest.in.base.dir != 0\">\n        <xsl:value-of select=\"$chunk.base.dir\"/>\n      </xsl:if>\n      <xsl:value-of select=\"$manifest\"/>\n    </xsl:with-param>\n    <xsl:with-param name=\"method\" select=\"'text'\"/>\n    <xsl:with-param name=\"content\">\n      <xsl:apply-templates select=\"$node\" mode=\"enumerate-files\"/>\n    </xsl:with-param>\n    <xsl:with-param name=\"encoding\" select=\"$chunker.output.encoding\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"dbhtml-dir\">\n  <xsl:param name=\"context\" select=\".\"/>\n  <!-- directories are now inherited from previous levels -->\n  <xsl:variable name=\"ppath\">\n    <xsl:if test=\"$context/parent::*\">\n      <xsl:call-template name=\"dbhtml-dir\">\n        <xsl:with-param name=\"context\" select=\"$context/parent::*\"/>\n      </xsl:call-template>\n    </xsl:if>\n  </xsl:variable>\n  <xsl:variable name=\"path\">\n    <xsl:call-template name=\"pi.dbhtml_dir\">\n      <xsl:with-param name=\"node\" select=\"$context\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:choose>\n    <xsl:when test=\"$path = ''\">\n      <xsl:if test=\"$ppath != ''\">\n        <xsl:value-of select=\"$ppath\"/>\n      </xsl:if>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:if test=\"$ppath != ''\">\n        <xsl:value-of select=\"$ppath\"/>\n        <xsl:if test=\"substring($ppath, string-length($ppath), 1) != '/'\">\n          <xsl:text>/</xsl:text>\n        </xsl:if>\n      </xsl:if>\n      <xsl:value-of select=\"$path\"/>\n      <xsl:text>/</xsl:text>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n</xsl:stylesheet>"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/chunk.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:exsl=\"http://exslt.org/common\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\" exclude-result-prefixes=\"exsl\">\n\n<!-- ********************************************************************\n     $Id: chunk.xsl 6910 2007-06-28 23:23:30Z xmldoc $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<!-- First import the non-chunking templates that format elements\n     within each chunk file. In a customization, you should\n     create a separate non-chunking customization layer such\n     as mydocbook.xsl that imports the original docbook.xsl and\n     customizes any presentation templates. Then your chunking\n     customization should import mydocbook.xsl instead of\n     docbook.xsl.  -->\n<xsl:import href=\"docbook.xsl\"/>\n\n<!-- chunk-common.xsl contains all the named templates for chunking.\n     In a customization file, you import chunk-common.xsl, then\n     add any customized chunking templates of the same name. \n     They will have import precedence over the original \n     chunking templates in chunk-common.xsl. -->\n<xsl:import href=\"chunk-common.xsl\"/>\n\n<!-- The manifest.xsl module is no longer imported because its\n     templates were moved into chunk-common and chunk-code -->\n\n<!-- chunk-code.xsl contains all the chunking templates that use\n     a match attribute.  In a customization it should be referenced\n     using <xsl:include> instead of <xsl:import>, and then add\n     any customized chunking templates with match attributes. But be sure\n     to add a priority=\"1\" to such customized templates to resolve\n     its conflict with the original, since they have the\n     same import precedence.\n     \n     Using xsl:include prevents adding another layer\n     of import precedence, which would cause any\n     customizations that use xsl:apply-imports to wrongly\n     apply the chunking version instead of the original\n     non-chunking version to format an element.  -->\n<xsl:include href=\"chunk-code.xsl\"/>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/chunker.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?><!--This file was created automatically by html2xhtml--><!--from the HTML stylesheets.--><xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:saxon=\"http://icl.com/saxon\" xmlns:lxslt=\"http://xml.apache.org/xslt\" xmlns:redirect=\"http://xml.apache.org/xalan/redirect\" xmlns:exsl=\"http://exslt.org/common\" xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\" exclude-result-prefixes=\"saxon lxslt redirect exsl doc\" extension-element-prefixes=\"saxon redirect lxslt exsl\">\n\n<!-- ********************************************************************\n     $Id: chunker.xsl 9656 2012-10-29 18:09:53Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<!-- This stylesheet works with XSLT implementations that support -->\n<!-- exsl:document, saxon:output, or Xalan's redirect:write -->\n<!-- Note: Only Saxon 6.4.2 or later is supported. -->\n\n<xsl:param name=\"chunker.output.method\" select=\"'xml'\"/>\n<xsl:param name=\"chunker.output.encoding\" select=\"'UTF-8'\"/>\n<xsl:param name=\"chunker.output.indent\" select=\"'no'\"/>\n<xsl:param name=\"chunker.output.omit-xml-declaration\" select=\"'no'\"/>\n<xsl:param name=\"chunker.output.standalone\" select=\"'no'\"/>\n<xsl:param name=\"chunker.output.doctype-public\" select=\"'-//W3C//DTD XHTML 1.1//EN'\"/>\n<xsl:param name=\"chunker.output.doctype-system\" select=\"'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'\"/>\n<xsl:param name=\"chunker.output.media-type\" select=\"''\"/>\n<xsl:param name=\"chunker.output.cdata-section-elements\" select=\"''\"/>\n\n<!-- Make sure base.dir has a trailing slash now -->\n<xsl:param name=\"chunk.base.dir\">\n  <xsl:choose>\n    <xsl:when test=\"string-length($base.dir) = 0\"/>\n    <!-- make sure to add trailing slash if omitted by user -->\n    <xsl:when test=\"substring($base.dir, string-length($base.dir), 1) = '/'\">\n      <xsl:value-of select=\"$base.dir\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"concat($base.dir, '/')\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:param>\n\n<xsl:param name=\"saxon.character.representation\" select=\"'entity;decimal'\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"make-relative-filename\">\n  <xsl:param name=\"base.dir\" select=\"'./'\"/>\n  <xsl:param name=\"base.name\" select=\"''\"/>\n\n  <xsl:choose>\n    <!-- put Saxon first to work around a bug in libxslt -->\n    <xsl:when test=\"element-available('saxon:output')\">\n      <!-- Saxon doesn't make the chunks relative -->\n      <xsl:value-of select=\"concat($base.dir,$base.name)\"/>\n    </xsl:when>\n    <xsl:when test=\"element-available('exsl:document')\">\n      <!-- EXSL document does make the chunks relative, I think -->\n      <xsl:choose>\n        <xsl:when test=\"count(parent::*) = 0\">\n          <xsl:value-of select=\"concat($base.dir,$base.name)\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"$base.name\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:when test=\"element-available('redirect:write')\">\n      <!-- Xalan doesn't make the chunks relative -->\n      <xsl:value-of select=\"concat($base.dir,$base.name)\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:message terminate=\"yes\">\n        <xsl:text>Don't know how to chunk with </xsl:text>\n        <xsl:value-of select=\"system-property('xsl:vendor')\"/>\n      </xsl:message>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"write.chunk\">\n  <xsl:param name=\"filename\" select=\"''\"/>\n  <xsl:param name=\"quiet\" select=\"$chunk.quietly\"/>\n  <xsl:param name=\"suppress-context-node-name\" select=\"0\"/>\n  <xsl:param name=\"message-prolog\"/>\n  <xsl:param name=\"message-epilog\"/>\n\n  <xsl:param name=\"method\" select=\"$chunker.output.method\"/>\n  <xsl:param name=\"encoding\" select=\"$chunker.output.encoding\"/>\n  <xsl:param name=\"indent\" select=\"$chunker.output.indent\"/>\n  <xsl:param name=\"omit-xml-declaration\" select=\"$chunker.output.omit-xml-declaration\"/>\n  <xsl:param name=\"standalone\" select=\"$chunker.output.standalone\"/>\n  <xsl:param name=\"doctype-public\" select=\"$chunker.output.doctype-public\"/>\n  <xsl:param name=\"doctype-system\" select=\"$chunker.output.doctype-system\"/>\n  <xsl:param name=\"media-type\" select=\"$chunker.output.media-type\"/>\n  <xsl:param name=\"cdata-section-elements\" select=\"$chunker.output.cdata-section-elements\"/>\n\n  <xsl:param name=\"content\"/>\n\n  <xsl:if test=\"$quiet = 0\">\n    <xsl:message>\n      <xsl:if test=\"not($message-prolog = '')\">\n        <xsl:value-of select=\"$message-prolog\"/>\n      </xsl:if>\n      <xsl:text>Writing </xsl:text>\n      <xsl:value-of select=\"$filename\"/>\n      <xsl:if test=\"name(.) != '' and $suppress-context-node-name = 0\">\n        <xsl:text> for </xsl:text>\n        <xsl:value-of select=\"name(.)\"/>\n        <xsl:if test=\"@id or @xml:id\">\n          <xsl:text>(</xsl:text>\n          <xsl:value-of select=\"(@id|@xml:id)[1]\"/>\n          <xsl:text>)</xsl:text>\n        </xsl:if>\n      </xsl:if>\n      <xsl:if test=\"not($message-epilog = '')\">\n        <xsl:value-of select=\"$message-epilog\"/>\n      </xsl:if>\n    </xsl:message>\n  </xsl:if>\n\n  <xsl:choose>\n    <xsl:when test=\"element-available('exsl:document')\">\n      <xsl:choose>\n        <!-- Handle the permutations ... -->\n        <xsl:when test=\"$media-type != ''\">\n          <xsl:choose>\n            <xsl:when test=\"$doctype-public != '' and $doctype-system != ''\">\n              <exsl:document href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" omit-xml-declaration=\"{$omit-xml-declaration}\" cdata-section-elements=\"{$cdata-section-elements}\" media-type=\"{$media-type}\" doctype-public=\"{$doctype-public}\" doctype-system=\"{$doctype-system}\" standalone=\"{$standalone}\">\n                <xsl:copy-of select=\"$content\"/>\n              </exsl:document>\n            </xsl:when>\n            <xsl:when test=\"$doctype-public != '' and $doctype-system = ''\">\n              <exsl:document href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" omit-xml-declaration=\"{$omit-xml-declaration}\" cdata-section-elements=\"{$cdata-section-elements}\" media-type=\"{$media-type}\" doctype-public=\"{$doctype-public}\" standalone=\"{$standalone}\">\n                <xsl:copy-of select=\"$content\"/>\n              </exsl:document>\n            </xsl:when>\n            <xsl:when test=\"$doctype-public = '' and $doctype-system != ''\">\n              <exsl:document href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" omit-xml-declaration=\"{$omit-xml-declaration}\" cdata-section-elements=\"{$cdata-section-elements}\" media-type=\"{$media-type}\" doctype-system=\"{$doctype-system}\" standalone=\"{$standalone}\">\n                <xsl:copy-of select=\"$content\"/>\n              </exsl:document>\n            </xsl:when>\n            <xsl:otherwise><!-- $doctype-public = '' and $doctype-system = ''\"> -->\n              <exsl:document href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" omit-xml-declaration=\"{$omit-xml-declaration}\" cdata-section-elements=\"{$cdata-section-elements}\" media-type=\"{$media-type}\" standalone=\"{$standalone}\">\n                <xsl:copy-of select=\"$content\"/>\n              </exsl:document>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:choose>\n            <xsl:when test=\"$doctype-public != '' and $doctype-system != ''\">\n              <exsl:document href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" omit-xml-declaration=\"{$omit-xml-declaration}\" cdata-section-elements=\"{$cdata-section-elements}\" doctype-public=\"{$doctype-public}\" doctype-system=\"{$doctype-system}\" standalone=\"{$standalone}\">\n                <xsl:copy-of select=\"$content\"/>\n              </exsl:document>\n            </xsl:when>\n            <xsl:when test=\"$doctype-public != '' and $doctype-system = ''\">\n              <exsl:document href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" omit-xml-declaration=\"{$omit-xml-declaration}\" cdata-section-elements=\"{$cdata-section-elements}\" doctype-public=\"{$doctype-public}\" standalone=\"{$standalone}\">\n                <xsl:copy-of select=\"$content\"/>\n              </exsl:document>\n            </xsl:when>\n            <xsl:when test=\"$doctype-public = '' and $doctype-system != ''\">\n              <exsl:document href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" omit-xml-declaration=\"{$omit-xml-declaration}\" cdata-section-elements=\"{$cdata-section-elements}\" doctype-system=\"{$doctype-system}\" standalone=\"{$standalone}\">\n                <xsl:copy-of select=\"$content\"/>\n              </exsl:document>\n            </xsl:when>\n            <xsl:otherwise><!-- $doctype-public = '' and $doctype-system = ''\"> -->\n              <exsl:document href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" omit-xml-declaration=\"{$omit-xml-declaration}\" cdata-section-elements=\"{$cdata-section-elements}\" standalone=\"{$standalone}\">\n                <xsl:copy-of select=\"$content\"/>\n              </exsl:document>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n\n    <xsl:when test=\"element-available('saxon:output')\">\n      <xsl:choose>\n        <!-- Handle the permutations ... -->\n        <xsl:when test=\"$media-type != ''\">\n          <xsl:choose>\n            <xsl:when test=\"$doctype-public != '' and $doctype-system != ''\">\n              <saxon:output saxon:character-representation=\"{$saxon.character.representation}\" href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" omit-xml-declaration=\"{$omit-xml-declaration}\" cdata-section-elements=\"{$cdata-section-elements}\" media-type=\"{$media-type}\" doctype-public=\"{$doctype-public}\" doctype-system=\"{$doctype-system}\" standalone=\"{$standalone}\">\n                <xsl:copy-of select=\"$content\"/>\n              </saxon:output>\n            </xsl:when>\n            <xsl:when test=\"$doctype-public != '' and $doctype-system = ''\">\n              <saxon:output saxon:character-representation=\"{$saxon.character.representation}\" href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" omit-xml-declaration=\"{$omit-xml-declaration}\" cdata-section-elements=\"{$cdata-section-elements}\" media-type=\"{$media-type}\" doctype-public=\"{$doctype-public}\" standalone=\"{$standalone}\">\n                <xsl:copy-of select=\"$content\"/>\n              </saxon:output>\n            </xsl:when>\n            <xsl:when test=\"$doctype-public = '' and $doctype-system != ''\">\n              <saxon:output saxon:character-representation=\"{$saxon.character.representation}\" href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" omit-xml-declaration=\"{$omit-xml-declaration}\" cdata-section-elements=\"{$cdata-section-elements}\" media-type=\"{$media-type}\" doctype-system=\"{$doctype-system}\" standalone=\"{$standalone}\">\n                <xsl:copy-of select=\"$content\"/>\n              </saxon:output>\n            </xsl:when>\n            <xsl:otherwise><!-- $doctype-public = '' and $doctype-system = ''\"> -->\n              <saxon:output saxon:character-representation=\"{$saxon.character.representation}\" href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" omit-xml-declaration=\"{$omit-xml-declaration}\" cdata-section-elements=\"{$cdata-section-elements}\" media-type=\"{$media-type}\" standalone=\"{$standalone}\">\n                <xsl:copy-of select=\"$content\"/>\n              </saxon:output>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:choose>\n            <xsl:when test=\"$doctype-public != '' and $doctype-system != ''\">\n              <saxon:output saxon:character-representation=\"{$saxon.character.representation}\" href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" omit-xml-declaration=\"{$omit-xml-declaration}\" cdata-section-elements=\"{$cdata-section-elements}\" doctype-public=\"{$doctype-public}\" doctype-system=\"{$doctype-system}\" standalone=\"{$standalone}\">\n                <xsl:copy-of select=\"$content\"/>\n              </saxon:output>\n            </xsl:when>\n            <xsl:when test=\"$doctype-public != '' and $doctype-system = ''\">\n              <saxon:output saxon:character-representation=\"{$saxon.character.representation}\" href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" omit-xml-declaration=\"{$omit-xml-declaration}\" cdata-section-elements=\"{$cdata-section-elements}\" doctype-public=\"{$doctype-public}\" standalone=\"{$standalone}\">\n                <xsl:copy-of select=\"$content\"/>\n              </saxon:output>\n            </xsl:when>\n            <xsl:when test=\"$doctype-public = '' and $doctype-system != ''\">\n              <saxon:output saxon:character-representation=\"{$saxon.character.representation}\" href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" omit-xml-declaration=\"{$omit-xml-declaration}\" cdata-section-elements=\"{$cdata-section-elements}\" doctype-system=\"{$doctype-system}\" standalone=\"{$standalone}\">\n                <xsl:copy-of select=\"$content\"/>\n              </saxon:output>\n            </xsl:when>\n            <xsl:otherwise><!-- $doctype-public = '' and $doctype-system = ''\"> -->\n              <saxon:output saxon:character-representation=\"{$saxon.character.representation}\" href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" omit-xml-declaration=\"{$omit-xml-declaration}\" cdata-section-elements=\"{$cdata-section-elements}\" standalone=\"{$standalone}\">\n                <xsl:copy-of select=\"$content\"/>\n              </saxon:output>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n\n    <xsl:when test=\"element-available('redirect:write')\">\n      <!-- Xalan uses redirect -->\n      <redirect:write file=\"{$filename}\">\n        <xsl:copy-of select=\"$content\"/>\n      </redirect:write>\n    </xsl:when>\n\n    <xsl:otherwise>\n      <!-- it doesn't matter since we won't be making chunks... -->\n      <xsl:message terminate=\"yes\">\n        <xsl:text>Can't make chunks with </xsl:text>\n        <xsl:value-of select=\"system-property('xsl:vendor')\"/>\n        <xsl:text>'s processor.</xsl:text>\n      </xsl:message>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"write.chunk.with.doctype\">\n  <xsl:param name=\"filename\" select=\"''\"/>\n  <xsl:param name=\"quiet\" select=\"$chunk.quietly\"/>\n\n  <xsl:param name=\"method\" select=\"$chunker.output.method\"/>\n  <xsl:param name=\"encoding\" select=\"$chunker.output.encoding\"/>\n  <xsl:param name=\"indent\" select=\"$chunker.output.indent\"/>\n  <xsl:param name=\"omit-xml-declaration\" select=\"$chunker.output.omit-xml-declaration\"/>\n  <xsl:param name=\"standalone\" select=\"$chunker.output.standalone\"/>\n  <xsl:param name=\"doctype-public\" select=\"$chunker.output.doctype-public\"/>\n  <xsl:param name=\"doctype-system\" select=\"$chunker.output.doctype-system\"/>\n  <xsl:param name=\"media-type\" select=\"$chunker.output.media-type\"/>\n  <xsl:param name=\"cdata-section-elements\" select=\"$chunker.output.cdata-section-elements\"/>\n\n  <xsl:param name=\"content\"/>\n\n  <xsl:call-template name=\"write.chunk\">\n    <xsl:with-param name=\"filename\" select=\"$filename\"/>\n    <xsl:with-param name=\"quiet\" select=\"$quiet\"/>\n    <xsl:with-param name=\"method\" select=\"$method\"/>\n    <xsl:with-param name=\"encoding\" select=\"$encoding\"/>\n    <xsl:with-param name=\"indent\" select=\"$indent\"/>\n    <xsl:with-param name=\"omit-xml-declaration\" select=\"$omit-xml-declaration\"/>\n    <xsl:with-param name=\"standalone\" select=\"$standalone\"/>\n    <xsl:with-param name=\"doctype-public\" select=\"$doctype-public\"/>\n    <xsl:with-param name=\"doctype-system\" select=\"$doctype-system\"/>\n    <xsl:with-param name=\"media-type\" select=\"$media-type\"/>\n    <xsl:with-param name=\"cdata-section-elements\" select=\"$cdata-section-elements\"/>\n    <xsl:with-param name=\"content\" select=\"$content\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"write.text.chunk\">\n  <xsl:param name=\"filename\" select=\"''\"/>\n  <xsl:param name=\"quiet\" select=\"$chunk.quietly\"/>\n  <xsl:param name=\"suppress-context-node-name\" select=\"0\"/>\n  <xsl:param name=\"message-prolog\"/>\n  <xsl:param name=\"message-epilog\"/>\n  <xsl:param name=\"method\" select=\"'text'\"/>\n  <xsl:param name=\"encoding\" select=\"$chunker.output.encoding\"/>\n  <xsl:param name=\"media-type\" select=\"$chunker.output.media-type\"/>\n  <xsl:param name=\"content\"/>\n\n  <xsl:call-template name=\"write.chunk\">\n    <xsl:with-param name=\"filename\" select=\"$filename\"/>\n    <xsl:with-param name=\"quiet\" select=\"$quiet\"/>\n    <xsl:with-param name=\"suppress-context-node-name\" select=\"$suppress-context-node-name\"/>\n    <xsl:with-param name=\"message-prolog\" select=\"$message-prolog\"/>\n    <xsl:with-param name=\"message-epilog\" select=\"$message-epilog\"/>\n    <xsl:with-param name=\"method\" select=\"$method\"/>\n    <xsl:with-param name=\"encoding\" select=\"$encoding\"/>\n    <xsl:with-param name=\"indent\" select=\"'no'\"/>\n    <xsl:with-param name=\"omit-xml-declaration\" select=\"'yes'\"/>\n    <xsl:with-param name=\"standalone\" select=\"'no'\"/>\n    <xsl:with-param name=\"doctype-public\"/>\n    <xsl:with-param name=\"doctype-system\"/>\n    <xsl:with-param name=\"media-type\" select=\"$media-type\"/>\n    <xsl:with-param name=\"cdata-section-elements\"/>\n    <xsl:with-param name=\"content\" select=\"$content\"/>\n  </xsl:call-template>\n</xsl:template>\n\n\n</xsl:stylesheet>"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/chunkfast.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:exsl=\"http://exslt.org/common\" xmlns:cf=\"http://docbook.sourceforge.net/xmlns/chunkfast/1.0\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\" exclude-result-prefixes=\"cf exsl\">\n\n<!-- ********************************************************************\n     $Id: chunkfast.xsl 8345 2009-03-16 06:44:07Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:import href=\"chunk.xsl\"/>\n<xsl:param name=\"chunk.fast\" select=\"1\"/>\n\n<xsl:variable name=\"chunks\" select=\"exsl:node-set($chunk.hierarchy)//cf:div\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"process-chunk-element\">\n  <xsl:choose>\n    <xsl:when test=\"$chunk.fast != 0 and $exsl.node.set.available != 0\">\n      <xsl:variable name=\"genid\" select=\"generate-id()\"/>\n\n      <xsl:variable name=\"div\" select=\"$chunks[@id=$genid or @xml:id=$genid]\"/>\n\n      <xsl:variable name=\"prevdiv\" select=\"($div/preceding-sibling::cf:div|$div/preceding::cf:div|$div/parent::cf:div)[last()]\"/>\n      <xsl:variable name=\"prev\" select=\"key('genid', ($prevdiv/@id|$prevdiv/@xml:id)[1])\"/>\n\n      <xsl:variable name=\"nextdiv\" select=\"($div/following-sibling::cf:div|$div/following::cf:div|$div/cf:div)[1]\"/>\n      <xsl:variable name=\"next\" select=\"key('genid', ($nextdiv/@id|$nextdiv/@xml:id)[1])\"/>\n\n      <xsl:choose>\n        <xsl:when test=\"$onechunk != 0 and parent::*\">\n          <xsl:apply-imports/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"process-chunk\">\n            <xsl:with-param name=\"prev\" select=\"$prev\"/>\n            <xsl:with-param name=\"next\" select=\"$next\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"$onechunk != 0 and not(parent::*)\">\n          <xsl:call-template name=\"chunk-all-sections\"/>\n        </xsl:when>\n        <xsl:when test=\"$onechunk != 0\">\n          <xsl:apply-imports/>\n        </xsl:when>\n        <xsl:when test=\"$chunk.first.sections = 0\">\n          <xsl:call-template name=\"chunk-first-section-with-parent\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"chunk-all-sections\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/chunktoc.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\" exclude-result-prefixes=\"doc\">\n\n<!-- ********************************************************************\n     $Id: chunktoc.xsl 9286 2012-04-19 10:10:58Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:import href=\"docbook.xsl\"/>\n<xsl:import href=\"chunk-common.xsl\"/>\n\n<xsl:template name=\"chunk\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <!-- returns 1 if $node is a chunk -->\n\n  <xsl:variable name=\"id\">\n    <xsl:call-template name=\"object.id\">\n      <xsl:with-param name=\"object\" select=\"$node\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"chunks\" select=\"document($chunk.toc,/)\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$chunks//tocentry[@linkend=$id]\">1</xsl:when>\n    <xsl:otherwise>0</xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"*\" mode=\"chunk-filename\">\n  <!-- returns the filename of a chunk -->\n\n  <xsl:variable name=\"id\">\n    <xsl:call-template name=\"object.id\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"chunks\" select=\"document($chunk.toc,/)\"/>\n\n  <xsl:variable name=\"chunk\" select=\"$chunks//tocentry[@linkend=$id]\"/>\n  <xsl:variable name=\"filename\">\n    <xsl:call-template name=\"pi.dbhtml_filename\">\n      <xsl:with-param name=\"node\" select=\"$chunk\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$chunk\">\n      <xsl:value-of select=\"$filename\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates select=\"parent::*\" mode=\"chunk-filename\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"process-chunk\">\n  <xsl:variable name=\"id\">\n    <xsl:call-template name=\"object.id\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"chunks\" select=\"document($chunk.toc,/)\"/>\n\n  <xsl:variable name=\"chunk\" select=\"$chunks//tocentry[@linkend=$id]\"/>\n  <xsl:variable name=\"prev-id\" select=\"($chunk/preceding::tocentry                          |$chunk/ancestor::tocentry)[last()]/@linkend\"/>\n  <xsl:variable name=\"next-id\" select=\"($chunk/following::tocentry                          |$chunk/child::tocentry)[1]/@linkend\"/>\n\n  <xsl:variable name=\"prev\" select=\"key('id',$prev-id)\"/>\n  <xsl:variable name=\"next\" select=\"key('id',$next-id)\"/>\n\n  <xsl:variable name=\"ischunk\">\n    <xsl:call-template name=\"chunk\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"chunkfn\">\n    <xsl:if test=\"$ischunk='1'\">\n      <xsl:apply-templates mode=\"chunk-filename\" select=\".\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"filename\">\n    <xsl:call-template name=\"make-relative-filename\">\n      <xsl:with-param name=\"base.dir\" select=\"$chunk.base.dir\"/>\n      <xsl:with-param name=\"base.name\" select=\"$chunkfn\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$ischunk = 0\">\n      <xsl:apply-imports/>\n    </xsl:when>\n\n    <xsl:otherwise>\n      <xsl:call-template name=\"write.chunk\">\n        <xsl:with-param name=\"filename\" select=\"$filename\"/>\n        <xsl:with-param name=\"content\">\n          <xsl:call-template name=\"chunk-element-content\">\n            <xsl:with-param name=\"prev\" select=\"$prev\"/>\n            <xsl:with-param name=\"next\" select=\"$next\"/>\n          </xsl:call-template>\n        </xsl:with-param>\n        <xsl:with-param name=\"quiet\" select=\"$chunk.quietly\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"set\">\n  <xsl:call-template name=\"process-chunk\"/>\n</xsl:template>\n\n<xsl:template match=\"book\">\n  <xsl:call-template name=\"process-chunk\"/>\n</xsl:template>\n\n<xsl:template match=\"book/appendix\">\n  <xsl:call-template name=\"process-chunk\"/>\n</xsl:template>\n\n<xsl:template match=\"book/glossary\">\n  <xsl:call-template name=\"process-chunk\"/>\n</xsl:template>\n\n<xsl:template match=\"book/bibliography\">\n  <xsl:call-template name=\"process-chunk\"/>\n</xsl:template>\n\n<xsl:template match=\"dedication\" mode=\"dedication\">\n  <xsl:call-template name=\"process-chunk\"/>\n</xsl:template>\n\n<xsl:template match=\"preface|chapter\">\n  <xsl:call-template name=\"process-chunk\"/>\n</xsl:template>\n\n<xsl:template match=\"part|reference\">\n  <xsl:call-template name=\"process-chunk\"/>\n</xsl:template>\n\n<xsl:template match=\"refentry\">\n  <xsl:call-template name=\"process-chunk\"/>\n</xsl:template>\n\n<xsl:template match=\"colophon\">\n  <xsl:call-template name=\"process-chunk\"/>\n</xsl:template>\n\n<xsl:template match=\"article\">\n  <xsl:call-template name=\"process-chunk\"/>\n</xsl:template>\n\n<xsl:template match=\"topic\">\n  <xsl:call-template name=\"process-chunk\"/>\n</xsl:template>\n\n<xsl:template match=\"article/appendix\">\n  <xsl:call-template name=\"process-chunk\"/>\n</xsl:template>\n\n<xsl:template match=\"article/glossary\">\n  <xsl:call-template name=\"process-chunk\"/>\n</xsl:template>\n\n<xsl:template match=\"article/bibliography\">\n  <xsl:call-template name=\"process-chunk\"/>\n</xsl:template>\n\n<xsl:template match=\"sect1|sect2|sect3|sect4|sect5|section\">\n  <xsl:variable name=\"ischunk\">\n    <xsl:call-template name=\"chunk\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$ischunk != 0\">\n      <xsl:call-template name=\"process-chunk\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-imports/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"setindex                      |book/index                      |article/index\">\n  <!-- some implementations use completely empty index tags to indicate -->\n  <!-- where an automatically generated index should be inserted. so -->\n  <!-- if the index is completely empty, skip it. -->\n  <xsl:if test=\"count(*)&gt;0 or $generate.index != '0'\">\n    <xsl:call-template name=\"process-chunk\"/>\n  </xsl:if>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"/\">\n  <!-- * Get a title for current doc so that we let the user -->\n  <!-- * know what document we are processing at this point. -->\n  <xsl:variable name=\"doc.title\">\n    <xsl:call-template name=\"get.doc.title\"/>\n  </xsl:variable>\n  <xsl:choose>\n    <xsl:when test=\"$chunk.toc = ''\">\n      <xsl:message terminate=\"yes\">\n        <xsl:text>The chunk.toc file is not set.</xsl:text>\n      </xsl:message>\n    </xsl:when>\n    <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document,\n         toss the namespace and continue.  Use the docbook5 namespaced\n\t stylesheets for DocBook5 if you don't want to use this feature.-->\n    <!-- include extra test for Xalan quirk -->\n    <xsl:when test=\"$exsl.node.set.available != 0                     and (*/self::ng:* or */self::db:*)\">\n      <xsl:call-template name=\"log.message\">\n        <xsl:with-param name=\"level\">Note</xsl:with-param>\n        <xsl:with-param name=\"source\" select=\"$doc.title\"/>\n        <xsl:with-param name=\"context-desc\">\n          <xsl:text>namesp. cut</xsl:text>\n        </xsl:with-param>\n        <xsl:with-param name=\"message\">\n          <xsl:text>stripped namespace before processing</xsl:text>\n        </xsl:with-param>\n      </xsl:call-template>\n      <xsl:variable name=\"nons\">\n        <xsl:apply-templates mode=\"stripNS\"/>\n      </xsl:variable>\n      <xsl:call-template name=\"log.message\">\n        <xsl:with-param name=\"level\">Note</xsl:with-param>\n        <xsl:with-param name=\"source\" select=\"$doc.title\"/>\n        <xsl:with-param name=\"context-desc\">\n          <xsl:text>namesp. cut</xsl:text>\n        </xsl:with-param>\n        <xsl:with-param name=\"message\">\n          <xsl:text>processing stripped document</xsl:text>\n        </xsl:with-param>\n      </xsl:call-template>\n      <xsl:apply-templates select=\"exsl:node-set($nons)\"/>\n    </xsl:when>\n    <!-- Can't process unless namespace removed -->\n    <xsl:when test=\"*/self::ng:* or */self::db:*\">\n      <xsl:message terminate=\"yes\">\n        <xsl:text>Unable to strip the namespace from DB5 document,</xsl:text>\n        <xsl:text> cannot proceed.</xsl:text>\n      </xsl:message>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"$rootid != ''\">\n          <xsl:choose>\n            <xsl:when test=\"count(key('id',$rootid)) = 0\">\n              <xsl:message terminate=\"yes\">\n                <xsl:text>ID '</xsl:text>\n                <xsl:value-of select=\"$rootid\"/>\n                <xsl:text>' not found in document.</xsl:text>\n              </xsl:message>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:if test=\"$collect.xref.targets = 'yes' or                             $collect.xref.targets = 'only'\">\n                <xsl:apply-templates select=\"key('id', $rootid)\" mode=\"collect.targets\"/>\n              </xsl:if>\n              <xsl:if test=\"$collect.xref.targets != 'only'\">\n                <xsl:apply-templates select=\"key('id',$rootid)\" mode=\"process.root\"/>\n                <xsl:if test=\"$tex.math.in.alt != ''\">\n                  <xsl:apply-templates select=\"key('id',$rootid)\" mode=\"collect.tex.math\"/>\n                </xsl:if>\n                <xsl:if test=\"$generate.manifest != 0\">\n                  <xsl:call-template name=\"generate.manifest\">\n                    <xsl:with-param name=\"node\" select=\"key('id',$rootid)\"/>\n                  </xsl:call-template>\n                </xsl:if>\n              </xsl:if>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:if test=\"$collect.xref.targets = 'yes' or                         $collect.xref.targets = 'only'\">\n            <xsl:apply-templates select=\"/\" mode=\"collect.targets\"/>\n          </xsl:if>\n          <xsl:if test=\"$collect.xref.targets != 'only'\">\n            <xsl:apply-templates select=\"/\" mode=\"process.root\"/>\n            <xsl:if test=\"$tex.math.in.alt != ''\">\n              <xsl:apply-templates select=\"/\" mode=\"collect.tex.math\"/>\n            </xsl:if>\n            <xsl:if test=\"$generate.manifest != 0\">\n              <xsl:call-template name=\"generate.manifest\">\n                <xsl:with-param name=\"node\" select=\"/\"/>\n              </xsl:call-template>\n            </xsl:if>\n          </xsl:if>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"process.root\">\n  <xsl:apply-templates select=\".\"/>\n  <xsl:call-template name=\"generate.css\"/>\n</xsl:template>\n\n<xsl:template name=\"make.lots\">\n  <xsl:param name=\"toc.params\" select=\"''\"/>\n  <xsl:param name=\"toc\"/>\n\n  <xsl:variable name=\"lots\">\n    <xsl:if test=\"contains($toc.params, 'toc')\">\n      <xsl:copy-of select=\"$toc\"/>\n    </xsl:if>\n\n    <xsl:if test=\"contains($toc.params, 'figure')\">\n      <xsl:choose>\n        <xsl:when test=\"$chunk.separate.lots != '0'\">\n          <xsl:call-template name=\"make.lot.chunk\">\n            <xsl:with-param name=\"type\" select=\"'figure'\"/>\n            <xsl:with-param name=\"lot\">\n              <xsl:call-template name=\"list.of.titles\">\n                <xsl:with-param name=\"titles\" select=\"'figure'\"/>\n                <xsl:with-param name=\"nodes\" select=\".//figure\"/>\n              </xsl:call-template>\n            </xsl:with-param>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"list.of.titles\">\n            <xsl:with-param name=\"titles\" select=\"'figure'\"/>\n            <xsl:with-param name=\"nodes\" select=\".//figure\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:if>\n\n    <xsl:if test=\"contains($toc.params, 'table')\">\n      <xsl:choose>\n        <xsl:when test=\"$chunk.separate.lots != '0'\">\n          <xsl:call-template name=\"make.lot.chunk\">\n            <xsl:with-param name=\"type\" select=\"'table'\"/>\n            <xsl:with-param name=\"lot\">\n              <xsl:call-template name=\"list.of.titles\">\n                <xsl:with-param name=\"titles\" select=\"'table'\"/>\n                <xsl:with-param name=\"nodes\" select=\".//table\"/>\n              </xsl:call-template>\n            </xsl:with-param>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"list.of.titles\">\n            <xsl:with-param name=\"titles\" select=\"'table'\"/>\n            <xsl:with-param name=\"nodes\" select=\".//table\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:if>\n\n    <xsl:if test=\"contains($toc.params, 'example')\">\n      <xsl:choose>\n        <xsl:when test=\"$chunk.separate.lots != '0'\">\n          <xsl:call-template name=\"make.lot.chunk\">\n            <xsl:with-param name=\"type\" select=\"'example'\"/>\n            <xsl:with-param name=\"lot\">\n              <xsl:call-template name=\"list.of.titles\">\n                <xsl:with-param name=\"titles\" select=\"'example'\"/>\n                <xsl:with-param name=\"nodes\" select=\".//example\"/>\n              </xsl:call-template>\n            </xsl:with-param>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"list.of.titles\">\n            <xsl:with-param name=\"titles\" select=\"'example'\"/>\n            <xsl:with-param name=\"nodes\" select=\".//example\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:if>\n\n    <xsl:if test=\"contains($toc.params, 'equation')\">\n      <xsl:choose>\n        <xsl:when test=\"$chunk.separate.lots != '0'\">\n          <xsl:call-template name=\"make.lot.chunk\">\n            <xsl:with-param name=\"type\" select=\"'equation'\"/>\n            <xsl:with-param name=\"lot\">\n              <xsl:call-template name=\"list.of.titles\">\n                <xsl:with-param name=\"titles\" select=\"'equation'\"/>\n                <xsl:with-param name=\"nodes\" select=\".//equation\"/>\n              </xsl:call-template>\n            </xsl:with-param>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"list.of.titles\">\n            <xsl:with-param name=\"titles\" select=\"'equation'\"/>\n            <xsl:with-param name=\"nodes\" select=\".//equation\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:if>\n\n    <xsl:if test=\"contains($toc.params, 'procedure')\">\n      <xsl:choose>\n        <xsl:when test=\"$chunk.separate.lots != '0'\">\n          <xsl:call-template name=\"make.lot.chunk\">\n            <xsl:with-param name=\"type\" select=\"'procedure'\"/>\n            <xsl:with-param name=\"lot\">\n              <xsl:call-template name=\"list.of.titles\">\n                <xsl:with-param name=\"titles\" select=\"'procedure'\"/>\n                <xsl:with-param name=\"nodes\" select=\".//procedure[title]\"/>\n              </xsl:call-template>\n            </xsl:with-param>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"list.of.titles\">\n            <xsl:with-param name=\"titles\" select=\"'procedure'\"/>\n            <xsl:with-param name=\"nodes\" select=\".//procedure[title]\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:if test=\"string($lots) != ''\">\n    <xsl:choose>\n      <xsl:when test=\"$chunk.tocs.and.lots != 0 and not(parent::*)\">\n        <xsl:call-template name=\"write.chunk\">\n          <xsl:with-param name=\"filename\">\n            <xsl:call-template name=\"make-relative-filename\">\n              <xsl:with-param name=\"base.dir\" select=\"$chunk.base.dir\"/>\n              <xsl:with-param name=\"base.name\">\n                <xsl:call-template name=\"dbhtml-dir\"/>\n                <xsl:apply-templates select=\".\" mode=\"recursive-chunk-filename\">\n                  <xsl:with-param name=\"recursive\" select=\"true()\"/>\n                </xsl:apply-templates>\n                <xsl:text>-toc</xsl:text>\n                <xsl:value-of select=\"$html.ext\"/>\n              </xsl:with-param>\n            </xsl:call-template>\n          </xsl:with-param>\n          <xsl:with-param name=\"content\">\n            <xsl:call-template name=\"chunk-element-content\">\n              <xsl:with-param name=\"prev\" select=\"/foo\"/>\n              <xsl:with-param name=\"next\" select=\"/foo\"/>\n              <xsl:with-param name=\"nav.context\" select=\"'toc'\"/>\n              <xsl:with-param name=\"content\">\n                <h1>\n                  <xsl:apply-templates select=\".\" mode=\"object.title.markup\"/>\n                </h1>\n                <xsl:copy-of select=\"$lots\"/>\n              </xsl:with-param>\n            </xsl:call-template>\n          </xsl:with-param>\n          <xsl:with-param name=\"quiet\" select=\"$chunk.quietly\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:copy-of select=\"$lots\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"make.lot.chunk\">\n  <xsl:param name=\"type\" select=\"''\"/>\n  <xsl:param name=\"lot\"/>\n\n  <xsl:if test=\"string($lot) != ''\">\n    <xsl:variable name=\"filename\">\n      <xsl:call-template name=\"make-relative-filename\">\n        <xsl:with-param name=\"base.dir\" select=\"$chunk.base.dir\"/>\n        <xsl:with-param name=\"base.name\">\n          <xsl:call-template name=\"dbhtml-dir\"/>\n          <xsl:value-of select=\"$type\"/>\n          <xsl:text>-toc</xsl:text>\n          <xsl:value-of select=\"$html.ext\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:variable name=\"href\">\n      <xsl:call-template name=\"make-relative-filename\">\n        <xsl:with-param name=\"base.dir\" select=\"''\"/>\n        <xsl:with-param name=\"base.name\">\n          <xsl:call-template name=\"dbhtml-dir\"/>\n          <xsl:value-of select=\"$type\"/>\n          <xsl:text>-toc</xsl:text>\n          <xsl:value-of select=\"$html.ext\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:call-template name=\"write.chunk\">\n      <xsl:with-param name=\"filename\" select=\"$filename\"/>\n      <xsl:with-param name=\"content\">\n        <xsl:call-template name=\"chunk-element-content\">\n          <xsl:with-param name=\"prev\" select=\"/foo\"/>\n          <xsl:with-param name=\"next\" select=\"/foo\"/>\n          <xsl:with-param name=\"nav.context\" select=\"'toc'\"/>\n          <xsl:with-param name=\"content\">\n            <xsl:copy-of select=\"$lot\"/>\n          </xsl:with-param>\n        </xsl:call-template>\n      </xsl:with-param>\n      <xsl:with-param name=\"quiet\" select=\"$chunk.quietly\"/>\n    </xsl:call-template>\n    <!-- And output a link to this file -->\n    <div>\n      <xsl:attribute name=\"class\">\n        <xsl:text>ListofTitles</xsl:text>\n      </xsl:attribute>\n      <a href=\"{$href}\">\n        <xsl:call-template name=\"gentext\">\n          <xsl:with-param name=\"key\">\n            <xsl:choose>\n              <xsl:when test=\"$type='table'\">ListofTables</xsl:when>\n              <xsl:when test=\"$type='figure'\">ListofFigures</xsl:when>\n              <xsl:when test=\"$type='equation'\">ListofEquations</xsl:when>\n              <xsl:when test=\"$type='example'\">ListofExamples</xsl:when>\n              <xsl:when test=\"$type='procedure'\">ListofProcedures</xsl:when>\n              <xsl:otherwise>ListofUnknown</xsl:otherwise>\n            </xsl:choose>\n          </xsl:with-param>\n        </xsl:call-template>\n      </a>\n    </div>\n  </xsl:if>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/component.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: component.xsl 9500 2012-07-15 23:24:21Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<!-- Set to 2 for backwards compatibility -->\n<xsl:param name=\"component.heading.level\" select=\"2\"/>\n\n<xsl:template name=\"component.title\">\n  <xsl:param name=\"node\" select=\".\"/>\n\n  <!-- This handles the case where a component (bibliography, for example)\n       occurs inside a section; will we need parameters for this? -->\n\n  <!-- This \"level\" is a section level.  To compute <h> level, add 1. -->\n  <xsl:variable name=\"level\">\n    <xsl:choose>\n      <!-- chapters and other book children should get <h1> -->\n      <xsl:when test=\"$node/parent::book\">0</xsl:when>\n      <xsl:when test=\"ancestor::section\">\n        <xsl:value-of select=\"count(ancestor::section)+1\"/>\n      </xsl:when>\n      <xsl:when test=\"ancestor::sect5\">6</xsl:when>\n      <xsl:when test=\"ancestor::sect4\">5</xsl:when>\n      <xsl:when test=\"ancestor::sect3\">4</xsl:when>\n      <xsl:when test=\"ancestor::sect2\">3</xsl:when>\n      <xsl:when test=\"ancestor::sect1\">2</xsl:when>\n      <xsl:otherwise>1</xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:element name=\"h{$level+1}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:attribute name=\"class\">title</xsl:attribute>\n    <xsl:call-template name=\"anchor\">\n      <xsl:with-param name=\"node\" select=\"$node\"/>\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:apply-templates select=\"$node\" mode=\"object.title.markup\">\n      <xsl:with-param name=\"allow-anchors\" select=\"1\"/>\n    </xsl:apply-templates>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template name=\"component.subtitle\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:variable name=\"subtitle\" select=\"($node/docinfo/subtitle                         |$node/info/subtitle                         |$node/prefaceinfo/subtitle                         |$node/chapterinfo/subtitle                         |$node/appendixinfo/subtitle                         |$node/articleinfo/subtitle                         |$node/artheader/subtitle                         |$node/subtitle)[1]\"/>\n\n  <xsl:if test=\"$subtitle\">\n    <h3 class=\"subtitle\">\n      <xsl:call-template name=\"id.attribute\"/>\n      <em xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\">\n        <xsl:apply-templates select=\"$node\" mode=\"object.subtitle.markup\"/>\n      </em>\n    </h3>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"component.separator\">\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"dedication\" mode=\"dedication\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <div>\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"dedication.titlepage\"/>\n    <xsl:apply-templates/>\n    <xsl:call-template name=\"process.footnotes\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"dedication/title|dedication/info/title\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"component.title\">\n    <xsl:with-param name=\"node\" select=\"ancestor::dedication[1]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"dedication/subtitle|dedication/info/subtitle\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"component.subtitle\">\n    <xsl:with-param name=\"node\" select=\"ancestor::dedication[1]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"dedication\"/> <!-- see mode=\"dedication\" -->\n<xsl:template match=\"dedication/title\"/>\n<xsl:template match=\"dedication/subtitle\"/>\n<xsl:template match=\"dedication/titleabbrev\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"acknowledgements\" mode=\"acknowledgements\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <div>\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"acknowledgements.titlepage\"/>\n    <xsl:apply-templates/>\n    <xsl:call-template name=\"process.footnotes\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"acknowledgements/title|acknowledgements/info/title\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"component.title\">\n    <xsl:with-param name=\"node\" select=\"ancestor::acknowledgements[1]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"acknowledgements/subtitle|acknowledgements/info/subtitle\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"component.subtitle\">\n    <xsl:with-param name=\"node\" select=\"ancestor::acknowledgements[1]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"acknowledgements\"/> <!-- see mode=\"acknowledgements\" -->\n<xsl:template match=\"acknowledgements/title\"/>\n<xsl:template match=\"acknowledgements/subtitle\"/>\n<xsl:template match=\"acknowledgements/titleabbrev\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"colophon\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <div>\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n\n    <xsl:call-template name=\"component.separator\"/>\n    <xsl:call-template name=\"component.title\"/>\n    <xsl:call-template name=\"component.subtitle\"/>\n\n    <xsl:apply-templates/>\n    <xsl:call-template name=\"process.footnotes\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"colophon/title\"/>\n<xsl:template match=\"colophon/subtitle\"/>\n<xsl:template match=\"colophon/titleabbrev\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"preface\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <xsl:element name=\"{$div.element}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n\n    <xsl:call-template name=\"component.separator\"/>\n    <xsl:call-template name=\"preface.titlepage\"/>\n\n    <xsl:variable name=\"toc.params\">\n      <xsl:call-template name=\"find.path.params\">\n        <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:if test=\"contains($toc.params, 'toc')\">\n      <xsl:call-template name=\"component.toc\">\n        <xsl:with-param name=\"toc.title.p\" select=\"contains($toc.params, 'title')\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"component.toc.separator\"/>\n    </xsl:if>\n    <xsl:apply-templates/>\n    <xsl:call-template name=\"process.footnotes\"/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"preface/title\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"component.title\">\n    <xsl:with-param name=\"node\" select=\"ancestor::preface[1]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"preface/subtitle                      |preface/prefaceinfo/subtitle                      |preface/info/subtitle                      |preface/docinfo/subtitle\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"component.subtitle\">\n    <xsl:with-param name=\"node\" select=\"ancestor::preface[1]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"preface/docinfo|prefaceinfo\"/>\n<xsl:template match=\"preface/info\"/>\n<xsl:template match=\"preface/title\"/>\n<xsl:template match=\"preface/titleabbrev\"/>\n<xsl:template match=\"preface/subtitle\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"chapter\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <xsl:element name=\"{$div.element}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n\n    <xsl:call-template name=\"component.separator\"/>\n    <xsl:call-template name=\"chapter.titlepage\"/>\n\n    <xsl:variable name=\"toc.params\">\n      <xsl:call-template name=\"find.path.params\">\n        <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:if test=\"contains($toc.params, 'toc')\">\n      <xsl:call-template name=\"component.toc\">\n        <xsl:with-param name=\"toc.title.p\" select=\"contains($toc.params, 'title')\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"component.toc.separator\"/>\n    </xsl:if>\n    <xsl:apply-templates/>\n    <xsl:call-template name=\"process.footnotes\"/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"chapter/title|chapter/chapterinfo/title|chapter/info/title\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"component.title\">\n    <xsl:with-param name=\"node\" select=\"ancestor::chapter[1]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"chapter/subtitle                      |chapter/chapterinfo/subtitle                      |chapter/info/subtitle                      |chapter/docinfo/subtitle\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"component.subtitle\">\n    <xsl:with-param name=\"node\" select=\"ancestor::chapter[1]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"chapter/docinfo|chapterinfo\"/>\n<xsl:template match=\"chapter/info\"/>\n<xsl:template match=\"chapter/title\"/>\n<xsl:template match=\"chapter/titleabbrev\"/>\n<xsl:template match=\"chapter/subtitle\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"appendix\">\n  <xsl:variable name=\"ischunk\">\n    <xsl:call-template name=\"chunk\"/>\n  </xsl:variable>\n\n  <xsl:call-template name=\"id.warning\"/>\n\n  <xsl:element name=\"{$div.element}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n\n    <xsl:choose>\n      <xsl:when test=\"parent::article and $ischunk = 0\">\n        <xsl:call-template name=\"section.heading\">\n          <xsl:with-param name=\"level\" select=\"1\"/>\n          <xsl:with-param name=\"title\">\n            <xsl:apply-templates select=\".\" mode=\"object.title.markup\"/>\n          </xsl:with-param>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"component.separator\"/>\n        <xsl:call-template name=\"appendix.titlepage\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n\n    <xsl:variable name=\"toc.params\">\n      <xsl:call-template name=\"find.path.params\">\n        <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:if test=\"contains($toc.params, 'toc')\">\n      <xsl:call-template name=\"component.toc\">\n        <xsl:with-param name=\"toc.title.p\" select=\"contains($toc.params, 'title')\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"component.toc.separator\"/>\n    </xsl:if>\n\n    <xsl:apply-templates/>\n\n    <xsl:if test=\"not(parent::article) or $ischunk != 0\">\n      <xsl:call-template name=\"process.footnotes\"/>\n    </xsl:if>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"appendix/title|appendix/appendixinfo/title\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"component.title\">\n    <xsl:with-param name=\"node\" select=\"ancestor::appendix[1]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"appendix/subtitle                      |appendix/appendixinfo/subtitle                      |appendix/info/subtitle                      |appendix/docinfo/subtitle\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"component.subtitle\">\n    <xsl:with-param name=\"node\" select=\"ancestor::appendix[1]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"appendix/docinfo|appendixinfo\"/>\n<xsl:template match=\"appendix/info\"/>\n<xsl:template match=\"appendix/title\"/>\n<xsl:template match=\"appendix/titleabbrev\"/>\n<xsl:template match=\"appendix/subtitle\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"article\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <xsl:element name=\"{$div.element}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n\n    <xsl:call-template name=\"article.titlepage\"/>\n\n    <xsl:variable name=\"toc.params\">\n      <xsl:call-template name=\"find.path.params\">\n        <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:call-template name=\"make.lots\">\n      <xsl:with-param name=\"toc.params\" select=\"$toc.params\"/>\n      <xsl:with-param name=\"toc\">\n        <xsl:call-template name=\"component.toc\">\n          <xsl:with-param name=\"toc.title.p\" select=\"contains($toc.params, 'title')\"/>\n        </xsl:call-template>\n      </xsl:with-param>\n    </xsl:call-template>\n\n    <xsl:apply-templates/>\n    <xsl:call-template name=\"process.footnotes\"/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"article/title|article/articleinfo/title\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"component.title\">\n    <xsl:with-param name=\"node\" select=\"ancestor::article[1]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"article/subtitle                      |article/articleinfo/subtitle                      |article/info/subtitle                      |article/artheader/subtitle\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"component.subtitle\">\n    <xsl:with-param name=\"node\" select=\"ancestor::article[1]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"article/artheader|article/articleinfo\"/>\n<xsl:template match=\"article/info\"/>\n<xsl:template match=\"article/title\"/>\n<xsl:template match=\"article/titleabbrev\"/>\n<xsl:template match=\"article/subtitle\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"topic\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <xsl:element name=\"{$div.element}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n\n    <xsl:call-template name=\"topic.titlepage\"/>\n\n    <xsl:variable name=\"toc.params\">\n      <xsl:call-template name=\"find.path.params\">\n        <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:apply-templates/>\n\n    <xsl:call-template name=\"process.footnotes\"/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"topic/title|topic/info/title\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"component.title\">\n    <xsl:with-param name=\"node\" select=\"ancestor::topic[1]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"topic/subtitle                      |topic/info/subtitle\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"component.subtitle\">\n    <xsl:with-param name=\"node\" select=\"ancestor::topic[1]\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"topic/info\"/>\n<xsl:template match=\"topic/title\"/>\n<xsl:template match=\"topic/titleabbrev\"/>\n<xsl:template match=\"topic/subtitle\"/>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/division.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: division.xsl 9366 2012-05-12 23:44:25Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"set\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <xsl:element name=\"{$div.element}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"dir\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"xml.language.attribute\"/>\n    <xsl:if test=\"$generate.id.attributes != 0\">\n      <xsl:attribute name=\"id\">\n        <xsl:call-template name=\"object.id\"/>\n      </xsl:attribute>\n    </xsl:if>\n\n    <xsl:call-template name=\"set.titlepage\"/>\n\n    <xsl:variable name=\"toc.params\">\n      <xsl:call-template name=\"find.path.params\">\n        <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:call-template name=\"make.lots\">\n      <xsl:with-param name=\"toc.params\" select=\"$toc.params\"/>\n      <xsl:with-param name=\"toc\">\n        <xsl:call-template name=\"set.toc\">\n          <xsl:with-param name=\"toc.title.p\" select=\"contains($toc.params, 'title')\"/>\n        </xsl:call-template>\n      </xsl:with-param>\n    </xsl:call-template>\n\n    <xsl:apply-templates/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"set/setinfo\"/>\n<xsl:template match=\"set/title\"/>\n<xsl:template match=\"set/titleabbrev\"/>\n<xsl:template match=\"set/subtitle\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"book\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n\n    <xsl:call-template name=\"book.titlepage\"/>\n\n    <xsl:apply-templates select=\"dedication\" mode=\"dedication\"/>\n    <xsl:apply-templates select=\"acknowledgements\" mode=\"acknowledgements\"/>\n\n    <xsl:variable name=\"toc.params\">\n      <xsl:call-template name=\"find.path.params\">\n        <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:call-template name=\"make.lots\">\n      <xsl:with-param name=\"toc.params\" select=\"$toc.params\"/>\n      <xsl:with-param name=\"toc\">\n        <xsl:call-template name=\"division.toc\">\n          <xsl:with-param name=\"toc.title.p\" select=\"contains($toc.params, 'title')\"/>\n        </xsl:call-template>\n      </xsl:with-param>\n    </xsl:call-template>\n\n    <xsl:apply-templates/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"book/bookinfo\"/>\n<xsl:template match=\"book/info\"/>\n<xsl:template match=\"book/title\"/>\n<xsl:template match=\"book/titleabbrev\"/>\n<xsl:template match=\"book/subtitle\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"part\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n\n    <xsl:call-template name=\"part.titlepage\"/>\n\n    <xsl:variable name=\"toc.params\">\n      <xsl:call-template name=\"find.path.params\">\n        <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:if test=\"not(partintro) and contains($toc.params, 'toc')\">\n      <xsl:call-template name=\"division.toc\"/>\n    </xsl:if>\n    <xsl:apply-templates/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"part\" mode=\"make.part.toc\">\n  <xsl:call-template name=\"division.toc\"/>\n</xsl:template>\n\n<xsl:template match=\"reference\" mode=\"make.part.toc\">\n  <xsl:call-template name=\"division.toc\"/>\n</xsl:template>\n\n<xsl:template match=\"part/docinfo\"/>\n<xsl:template match=\"part/partinfo\"/>\n<xsl:template match=\"part/info\"/>\n<xsl:template match=\"part/title\"/>\n<xsl:template match=\"part/titleabbrev\"/>\n<xsl:template match=\"part/subtitle\"/>\n\n<xsl:template match=\"partintro\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <div>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n\n    <xsl:call-template name=\"partintro.titlepage\"/>\n    <xsl:apply-templates/>\n\n    <xsl:variable name=\"toc.params\">\n      <xsl:call-template name=\"find.path.params\">\n        <xsl:with-param name=\"node\" select=\"parent::*\"/>\n        <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n      </xsl:call-template>\n    </xsl:variable>\n    <xsl:if test=\"contains($toc.params, 'toc')\">\n      <!-- not ancestor::part because partintro appears in reference -->\n      <xsl:apply-templates select=\"parent::*\" mode=\"make.part.toc\"/>\n    </xsl:if>\n    <xsl:call-template name=\"process.footnotes\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"partintro/title\"/>\n<xsl:template match=\"partintro/titleabbrev\"/>\n<xsl:template match=\"partintro/subtitle\"/>\n\n<xsl:template match=\"partintro/title\" mode=\"partintro.title.mode\">\n  <h2>\n    <xsl:apply-templates/>\n  </h2>\n</xsl:template>\n\n<xsl:template match=\"partintro/subtitle\" mode=\"partintro.title.mode\">\n  <h3>\n    <em xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\"><xsl:apply-templates/></em>\n  </h3>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"book\" mode=\"division.number\">\n  <xsl:number from=\"set\" count=\"book\" format=\"1.\"/>\n</xsl:template>\n\n<xsl:template match=\"part\" mode=\"division.number\">\n  <xsl:number from=\"book\" count=\"part\" format=\"I.\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"division.title\">\n  <xsl:param name=\"node\" select=\".\"/>\n\n  <h1>\n    <xsl:attribute name=\"class\">title</xsl:attribute>\n    <xsl:call-template name=\"anchor\">\n      <xsl:with-param name=\"node\" select=\"$node\"/>\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:apply-templates select=\"$node\" mode=\"object.title.markup\">\n      <xsl:with-param name=\"allow-anchors\" select=\"1\"/>\n    </xsl:apply-templates>\n  </h1>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/docbook.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:ng=\"http://docbook.org/docbook-ng\" xmlns:db=\"http://docbook.org/ns/docbook\" xmlns:exsl=\"http://exslt.org/common\" xmlns:exslt=\"http://exslt.org/common\" xmlns=\"http://www.w3.org/1999/xhtml\" exclude-result-prefixes=\"db ng exsl exslt\" version=\"1.0\">\n\n<xsl:output method=\"xml\" encoding=\"UTF-8\" indent=\"no\" doctype-public=\"-//W3C//DTD XHTML 1.1//EN\" doctype-system=\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\"/>\n\n<!-- ********************************************************************\n     $Id: docbook.xsl 9605 2012-09-18 10:48:54Z tom_schr $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:include href=\"../VERSION.xsl\"/>\n<xsl:include href=\"param.xsl\"/>\n<xsl:include href=\"../lib/lib.xsl\"/>\n<xsl:include href=\"../common/l10n.xsl\"/>\n<xsl:include href=\"../common/common.xsl\"/>\n<xsl:include href=\"../common/utility.xsl\"/>\n<xsl:include href=\"../common/labels.xsl\"/>\n<xsl:include href=\"../common/titles.xsl\"/>\n<xsl:include href=\"../common/subtitles.xsl\"/>\n<xsl:include href=\"../common/gentext.xsl\"/>\n<xsl:include href=\"../common/targets.xsl\"/>\n<xsl:include href=\"../common/olink.xsl\"/>\n<xsl:include href=\"../common/pi.xsl\"/>\n<xsl:include href=\"autotoc.xsl\"/>\n<xsl:include href=\"autoidx.xsl\"/>\n<xsl:include href=\"lists.xsl\"/>\n<xsl:include href=\"callout.xsl\"/>\n<xsl:include href=\"verbatim.xsl\"/>\n<xsl:include href=\"graphics.xsl\"/>\n<xsl:include href=\"xref.xsl\"/>\n<xsl:include href=\"formal.xsl\"/>\n<xsl:include href=\"table.xsl\"/>\n<xsl:include href=\"htmltbl.xsl\"/>\n<xsl:include href=\"sections.xsl\"/>\n<xsl:include href=\"inline.xsl\"/>\n<xsl:include href=\"footnote.xsl\"/>\n<xsl:include href=\"html.xsl\"/>\n<xsl:include href=\"info.xsl\"/>\n<xsl:include href=\"keywords.xsl\"/>\n<xsl:include href=\"division.xsl\"/>\n<xsl:include href=\"toc.xsl\"/>\n<xsl:include href=\"index.xsl\"/>\n<xsl:include href=\"refentry.xsl\"/>\n<xsl:include href=\"math.xsl\"/>\n<xsl:include href=\"admon.xsl\"/>\n<xsl:include href=\"component.xsl\"/>\n<xsl:include href=\"biblio.xsl\"/>\n<xsl:include href=\"biblio-iso690.xsl\"/>\n<xsl:include href=\"glossary.xsl\"/>\n<xsl:include href=\"block.xsl\"/>\n<xsl:include href=\"task.xsl\"/>\n<xsl:include href=\"qandaset.xsl\"/>\n<xsl:include href=\"synop.xsl\"/>\n<xsl:include href=\"titlepage.xsl\"/>\n<xsl:include href=\"titlepage.templates.xsl\"/>\n<xsl:include href=\"pi.xsl\"/>\n<xsl:include href=\"ebnf.xsl\"/>\n<xsl:include href=\"chunker.xsl\"/>\n<xsl:include href=\"html-rtf.xsl\"/>\n<xsl:include href=\"annotations.xsl\"/>\n<xsl:include href=\"../common/stripns.xsl\"/>\n\n<xsl:param name=\"stylesheet.result.type\" select=\"'xhtml'\"/>\n<xsl:param name=\"htmlhelp.output\" select=\"0\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:key name=\"id\" match=\"*\" use=\"@id|@xml:id\"/>\n<xsl:key name=\"gid\" match=\"*\" use=\"generate-id()\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"*\">\n  <xsl:message>\n    <xsl:text>Element </xsl:text>\n    <xsl:value-of select=\"local-name(.)\"/>\n    <xsl:text> in namespace '</xsl:text>\n    <xsl:value-of select=\"namespace-uri(.)\"/>\n    <xsl:text>' encountered</xsl:text>\n    <xsl:if test=\"parent::*\">\n      <xsl:text> in </xsl:text>\n      <xsl:value-of select=\"name(parent::*)\"/>\n    </xsl:if>\n    <xsl:text>, but no template matches.</xsl:text>\n  </xsl:message>\n\n  <span style=\"color: red\">\n    <xsl:text>&lt;</xsl:text>\n    <xsl:value-of select=\"name(.)\"/>\n    <xsl:text>&gt;</xsl:text>\n    <xsl:apply-templates/>\n    <xsl:text>&lt;/</xsl:text>\n    <xsl:value-of select=\"name(.)\"/>\n    <xsl:text>&gt;</xsl:text>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"text()\">\n  <xsl:value-of select=\".\"/>\n</xsl:template>\n\n<xsl:template name=\"body.attributes\">\n<!-- no apply-templates; make it empty -->\n</xsl:template>\n\n<xsl:template name=\"head.content.base\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <base href=\"{$html.base}\"/>\n</xsl:template>\n\n<xsl:template name=\"head.content.abstract\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:variable name=\"info\" select=\"(articleinfo     |bookinfo     |prefaceinfo     |chapterinfo     |appendixinfo     |sectioninfo     |sect1info     |sect2info     |sect3info     |sect4info     |sect5info     |referenceinfo     |refentryinfo     |partinfo     |info     |docinfo)[1]\"/>\n  <xsl:if test=\"$info and $info/abstract\">\n    <meta name=\"description\">\n      <xsl:attribute name=\"content\">\n        <xsl:for-each select=\"$info/abstract[1]/*\">\n          <xsl:value-of select=\"normalize-space(.)\"/>\n          <xsl:if test=\"position() &lt; last()\">\n            <xsl:text> </xsl:text>\n          </xsl:if>\n        </xsl:for-each>\n      </xsl:attribute>\n    </meta>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"head.content.link.made\">\n  <xsl:param name=\"node\" select=\".\"/>\n  \n  <link rev=\"made\" href=\"{$link.mailto.url}\"/>\n</xsl:template>\n\n<xsl:template name=\"head.content.generator\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <meta name=\"generator\" content=\"DocBook {$DistroTitle} V{$VERSION}\"/>\n</xsl:template>\n\n<xsl:template name=\"head.content.style\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <style type=\"text/css\"><xsl:text>\nbody { background-image: url('</xsl:text>\n<xsl:value-of select=\"$draft.watermark.image\"/><xsl:text>');\n       background-repeat: no-repeat;\n       background-position: top left;\n       /* The following properties make the watermark \"fixed\" on the page. */\n       /* I think that's just a bit too distracting for the reader... */\n       /* background-attachment: fixed; */\n       /* background-position: center center; */\n     }</xsl:text>\n    </style>\n</xsl:template>\n\n<xsl:template name=\"head.content\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:param name=\"title\">\n    <xsl:apply-templates select=\"$node\" mode=\"object.title.markup.textonly\"/>\n  </xsl:param>\n\n  <xsl:call-template name=\"user.head.title\">\n    <xsl:with-param name=\"title\" select=\"$title\"/>\n    <xsl:with-param name=\"node\" select=\"$node\"/>\n  </xsl:call-template>\n\n  <xsl:if test=\"$html.base != ''\">\n    <xsl:call-template name=\"head.content.base\">\n      <xsl:with-param name=\"node\" select=\"$node\"/>\n    </xsl:call-template>\n  </xsl:if>\n\n  <!-- Insert links to CSS files or insert literal style elements -->\n  <xsl:call-template name=\"generate.css\"/>\n\n  <xsl:if test=\"$html.stylesheet != ''\">\n    <xsl:call-template name=\"output.html.stylesheets\">\n      <xsl:with-param name=\"stylesheets\" select=\"normalize-space($html.stylesheet)\"/>\n    </xsl:call-template>\n  </xsl:if>\n\n  <xsl:if test=\"$html.script != ''\">\n    <xsl:call-template name=\"output.html.scripts\">\n      <xsl:with-param name=\"scripts\" select=\"normalize-space($html.script)\"/>\n    </xsl:call-template>\n  </xsl:if>\n\n  <xsl:if test=\"$link.mailto.url != ''\">\n    <xsl:call-template name=\"head.content.link.made\">\n      <xsl:with-param name=\"node\" select=\"$node\"/>\n    </xsl:call-template>\n  </xsl:if>\n\n  <xsl:call-template name=\"head.content.generator\">\n    <xsl:with-param name=\"node\" select=\"$node\"/>\n  </xsl:call-template>\n\n  <xsl:if test=\"$generate.meta.abstract != 0\">\n    <xsl:call-template name=\"head.content.abstract\">\n      <xsl:with-param name=\"node\" select=\"$node\"/>\n    </xsl:call-template>\n  </xsl:if>\n\n  <xsl:if test=\"($draft.mode = 'yes' or                 ($draft.mode = 'maybe' and                 ancestor-or-self::*[@status][1]/@status = 'draft'))                 and $draft.watermark.image != ''\">\n    <xsl:call-template name=\"head.content.style\">\n      <xsl:with-param name=\"node\" select=\"$node\"/>\n    </xsl:call-template>\n  </xsl:if>\n  <xsl:apply-templates select=\".\" mode=\"head.keywords.content\"/>\n</xsl:template>\n\n<xsl:template name=\"output.html.stylesheets\">\n  <xsl:param name=\"stylesheets\" select=\"''\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"contains($stylesheets, ' ')\">\n      <xsl:variable name=\"css.filename\" select=\"substring-before($stylesheets, ' ')\"/>\n\n      <xsl:call-template name=\"make.css.link\">\n        <xsl:with-param name=\"css.filename\" select=\"$css.filename\"/>\n      </xsl:call-template>\n\n      <xsl:call-template name=\"output.html.stylesheets\">\n        <xsl:with-param name=\"stylesheets\" select=\"substring-after($stylesheets, ' ')\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"$stylesheets != ''\">\n      <xsl:call-template name=\"make.css.link\">\n        <xsl:with-param name=\"css.filename\" select=\"$stylesheets\"/>\n      </xsl:call-template>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"output.html.scripts\">\n  <xsl:param name=\"scripts\" select=\"''\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"contains($scripts, ' ')\">\n      <xsl:variable name=\"script.filename\" select=\"substring-before($scripts, ' ')\"/>\n\n      <xsl:call-template name=\"make.script.link\">\n        <xsl:with-param name=\"script.filename\" select=\"$script.filename\"/>\n      </xsl:call-template>\n\n      <xsl:call-template name=\"output.html.scripts\">\n        <xsl:with-param name=\"scripts\" select=\"substring-after($scripts, ' ')\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"$scripts != ''\">\n      <xsl:call-template name=\"make.script.link\">\n        <xsl:with-param name=\"script.filename\" select=\"$scripts\"/>\n      </xsl:call-template>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ============================================================ -->\n\n<xsl:template match=\"*\" mode=\"head.keywords.content\">\n  <xsl:apply-templates select=\"chapterinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"appendixinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"prefaceinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"bookinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"setinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"articleinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"artheader/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"sect1info/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"sect2info/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"sect3info/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"sect4info/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"sect5info/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"sectioninfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"refsect1info/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"refsect2info/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"refsect3info/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"bibliographyinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"glossaryinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"indexinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"refentryinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"partinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"referenceinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"docinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"info/keywordset\" mode=\"html.header\"/>\n\n  <xsl:if test=\"$inherit.keywords != 0                 and parent::*\">\n    <xsl:apply-templates select=\"parent::*\" mode=\"head.keywords.content\"/>\n  </xsl:if>\n</xsl:template>\n\n<!-- ============================================================ -->\n\n<xsl:template name=\"system.head.content\">\n  <xsl:param name=\"node\" select=\".\"/>\n\n  <!-- FIXME: When chunking, only the annotations actually used\n              in this chunk should be referenced. I don't think it\n              does any harm to reference them all, but it adds\n              unnecessary bloat to each chunk. -->\n  <xsl:if test=\"$annotation.support != 0 and //annotation\">\n    <xsl:call-template name=\"add.annotation.links\"/>\n    <script type=\"text/javascript\">\n      <xsl:text>\n// Create PopupWindow objects</xsl:text>\n      <xsl:for-each select=\"//annotation\">\n        <xsl:text>\nvar popup_</xsl:text>\n        <xsl:value-of select=\"generate-id(.)\"/>\n        <xsl:text> = new PopupWindow(\"popup-</xsl:text>\n        <xsl:value-of select=\"generate-id(.)\"/>\n        <xsl:text>\");\n</xsl:text>\n        <xsl:text>popup_</xsl:text>\n        <xsl:value-of select=\"generate-id(.)\"/>\n        <xsl:text>.offsetY = 15;\n</xsl:text>\n        <xsl:text>popup_</xsl:text>\n        <xsl:value-of select=\"generate-id(.)\"/>\n        <xsl:text>.autoHide();\n</xsl:text>\n      </xsl:for-each>\n    </script>\n\n    <style type=\"text/css\">\n      <xsl:value-of select=\"$annotation.css\"/>\n    </style>\n  </xsl:if>\n\n  <!-- system.head.content is like user.head.content, except that\n       it is called before head.content. This is important because it\n       means, for example, that <style> elements output by system.head.content\n       have a lower CSS precedence than the users stylesheet. -->\n</xsl:template>\n\n<!-- ============================================================ -->\n\n<xsl:template name=\"user.preroot\">\n  <!-- Pre-root output, can be used to output comments and PIs. -->\n  <!-- This must not output any element content! -->\n</xsl:template>\n\n<xsl:template name=\"user.head.title\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:param name=\"title\"/>\n\n  <title>\n    <xsl:copy-of select=\"$title\"/>\n  </title>\n</xsl:template>\n\n<xsl:template name=\"user.head.content\">\n  <xsl:param name=\"node\" select=\".\"/>\n</xsl:template>\n\n<xsl:template name=\"user.header.navigation\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:param name=\"prev\" select=\"/foo\"/>\n  <xsl:param name=\"next\" select=\"/foo\"/>\n  <xsl:param name=\"nav.context\"/>\n</xsl:template>\n\n<xsl:template name=\"user.header.content\">\n  <xsl:param name=\"node\" select=\".\"/>\n</xsl:template>\n\n<xsl:template name=\"user.footer.content\">\n  <xsl:param name=\"node\" select=\".\"/>\n</xsl:template>\n\n<xsl:template name=\"user.footer.navigation\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:param name=\"prev\" select=\"/foo\"/>\n  <xsl:param name=\"next\" select=\"/foo\"/>\n  <xsl:param name=\"nav.context\"/>\n</xsl:template>\n\n<!-- To use the same stripped nodeset everywhere, it should\nbe created as a global variable here.\nUsed by docbook.xsl, chunk-code.xsl and chunkfast.xsl -->\n<xsl:variable name=\"no.namespace\">\n  <xsl:if test=\"$exsl.node.set.available != 0                     and (*/self::ng:* or */self::db:*)\">\n    <xsl:apply-templates select=\"/*\" mode=\"stripNS\"/>\n  </xsl:if>\n</xsl:variable>\n\n<xsl:template match=\"/\">\n  <!-- * Get a title for current doc so that we let the user -->\n  <!-- * know what document we are processing at this point. -->\n  <xsl:variable name=\"doc.title\">\n    <xsl:call-template name=\"get.doc.title\"/>\n  </xsl:variable>\n  <xsl:choose>\n    <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document,\n         toss the namespace and continue.  Use the docbook5 namespaced\n         stylesheets for DocBook5 if you don't want to use this feature.-->\n    <!-- include extra test for Xalan quirk -->\n    <xsl:when test=\"$exsl.node.set.available != 0                     and (*/self::ng:* or */self::db:*)\">\n      <xsl:call-template name=\"log.message\">\n        <xsl:with-param name=\"level\">Note</xsl:with-param>\n        <xsl:with-param name=\"source\" select=\"$doc.title\"/>\n        <xsl:with-param name=\"context-desc\">\n          <xsl:text>namesp. cut</xsl:text>\n        </xsl:with-param>\n        <xsl:with-param name=\"message\">\n          <xsl:text>stripped namespace before processing</xsl:text>\n        </xsl:with-param>\n      </xsl:call-template>\n      <!-- DEBUG: to save stripped document.\n      <xsl:message>Saving stripped document.</xsl:message>\n      <xsl:call-template name=\"write.chunk\">\n        <xsl:with-param name=\"filename\" select=\"'/tmp/stripped.xml'\"/>\n        <xsl:with-param name=\"method\" select=\"'xml'\"/>\n        <xsl:with-param name=\"content\">\n          <xsl:copy-of select=\"exsl:node-set($no.namespace)\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n      -->\n      <xsl:call-template name=\"log.message\">\n        <xsl:with-param name=\"level\">Note</xsl:with-param>\n        <xsl:with-param name=\"source\" select=\"$doc.title\"/>\n        <xsl:with-param name=\"context-desc\">\n          <xsl:text>namesp. cut</xsl:text>\n        </xsl:with-param>\n        <xsl:with-param name=\"message\">\n          <xsl:text>processing stripped document</xsl:text>\n        </xsl:with-param>\n      </xsl:call-template>\n      <xsl:apply-templates select=\"exsl:node-set($no.namespace)\"/>\n    </xsl:when>\n    <!-- Can't process unless namespace removed -->\n    <xsl:when test=\"*/self::ng:* or */self::db:*\">\n      <xsl:message terminate=\"yes\">\n        <xsl:text>Unable to strip the namespace from DB5 document,</xsl:text>\n        <xsl:text> cannot proceed.</xsl:text>\n      </xsl:message>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"$rootid != ''\">\n          <xsl:choose>\n            <xsl:when test=\"count(key('id',$rootid)) = 0\">\n              <xsl:message terminate=\"yes\">\n                <xsl:text>ID '</xsl:text>\n                <xsl:value-of select=\"$rootid\"/>\n                <xsl:text>' not found in document.</xsl:text>\n              </xsl:message>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:if test=\"$collect.xref.targets = 'yes' or                             $collect.xref.targets = 'only'\">\n                <xsl:apply-templates select=\"key('id', $rootid)\" mode=\"collect.targets\"/>\n              </xsl:if>\n              <xsl:if test=\"$collect.xref.targets != 'only'\">\n                <xsl:apply-templates select=\"key('id',$rootid)\" mode=\"process.root\"/>\n                <xsl:if test=\"$tex.math.in.alt != ''\">\n                  <xsl:apply-templates select=\"key('id',$rootid)\" mode=\"collect.tex.math\"/>\n                </xsl:if>\n              </xsl:if>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:if test=\"$collect.xref.targets = 'yes' or                         $collect.xref.targets = 'only'\">\n            <xsl:apply-templates select=\"/\" mode=\"collect.targets\"/>\n          </xsl:if>\n          <xsl:if test=\"$collect.xref.targets != 'only'\">\n            <xsl:apply-templates select=\"/\" mode=\"process.root\"/>\n            <xsl:if test=\"$tex.math.in.alt != ''\">\n              <xsl:apply-templates select=\"/\" mode=\"collect.tex.math\"/>\n            </xsl:if>\n          </xsl:if>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"process.root\">\n  <xsl:variable name=\"doc\" select=\"self::*\"/>\n\n  <xsl:call-template name=\"user.preroot\"/>\n  <xsl:call-template name=\"root.messages\"/>\n\n  <html>\n    <xsl:call-template name=\"root.attributes\"/>\n    <head>\n      <xsl:call-template name=\"system.head.content\">\n        <xsl:with-param name=\"node\" select=\"$doc\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"head.content\">\n        <xsl:with-param name=\"node\" select=\"$doc\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"user.head.content\">\n        <xsl:with-param name=\"node\" select=\"$doc\"/>\n      </xsl:call-template>\n    </head>\n    <body>\n      <xsl:call-template name=\"body.attributes\"/>\n      <xsl:call-template name=\"user.header.content\">\n        <xsl:with-param name=\"node\" select=\"$doc\"/>\n      </xsl:call-template>\n      <xsl:apply-templates select=\".\"/>\n      <xsl:call-template name=\"user.footer.content\">\n        <xsl:with-param name=\"node\" select=\"$doc\"/>\n      </xsl:call-template>\n    </body>\n  </html>\n  <xsl:value-of select=\"$html.append\"/>\n  \n  <!-- Generate any css files only once, not once per chunk -->\n  <xsl:call-template name=\"generate.css.files\"/>\n</xsl:template>\n\n<xsl:template name=\"root.attributes\">\n  <!-- customize to add attributes to <html> element  -->\n</xsl:template>\n\n<xsl:template name=\"root.messages\">\n  <!-- redefine this any way you'd like to output messages -->\n  <!-- DO NOT OUTPUT ANYTHING FROM THIS TEMPLATE -->\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"chunk\">\n  <xsl:param name=\"node\" select=\".\"/>\n\n  <!-- The default is that we are not chunking... -->\n  <xsl:text>0</xsl:text>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/ebnf.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?><!--This file was created automatically by html2xhtml--><!--from the HTML stylesheets.--><xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\" xmlns=\"http://www.w3.org/1999/xhtml\" exclude-result-prefixes=\"doc\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: ebnf.xsl 9664 2012-11-07 20:02:17Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<doc:reference xmlns=\"\">\n<referenceinfo xmlns=\"http://www.w3.org/1999/xhtml\">\n<releaseinfo role=\"meta\">\n$Id: ebnf.xsl 9664 2012-11-07 20:02:17Z bobstayton $\n</releaseinfo>\n<author><surname>Walsh</surname>\n<firstname>Norman</firstname></author>\n<copyright><year>1999</year><year>2000</year>\n<holder>Norman Walsh</holder>\n</copyright>\n</referenceinfo>\n<title xmlns=\"http://www.w3.org/1999/xhtml\">HTML EBNF Reference</title>\n\n<partintro xmlns=\"http://www.w3.org/1999/xhtml\">\n<section><title>Introduction</title>\n\n<para>This is technical reference documentation for the DocBook XSL\nStylesheets; it documents (some of) the parameters, templates, and\nother elements of the stylesheets.</para>\n\n<para>This reference describes the templates and parameters relevant\nto formatting EBNF markup.</para>\n\n<para>This is not intended to be <quote>user</quote> documentation.\nIt is provided for developers writing customization layers for the\nstylesheets, and for anyone who's interested in <quote>how it\nworks</quote>.</para>\n\n<para>Although I am trying to be thorough, this documentation is known\nto be incomplete. Don't forget to read the source, too :-)</para>\n</section>\n</partintro>\n</doc:reference>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"productionset\">\n  <table width=\"100%\" cellpadding=\"5\">\n    <xsl:if test=\"$ebnf.table.bgcolor != ''\">\n      <xsl:attribute name=\"style\"><xsl:text>background-color: </xsl:text>\n        <xsl:value-of select=\"$ebnf.table.bgcolor\"/>\n      </xsl:attribute>\n    </xsl:if>\n    <xsl:if test=\"$ebnf.table.border != 0\">\n      <xsl:attribute name=\"border\">1</xsl:attribute>\n    </xsl:if>\n    <xsl:attribute name=\"class\">\n      <xsl:value-of select=\"local-name(.)\"/>\n    </xsl:attribute>\n    <xsl:attribute name=\"summary\">\n      <xsl:text>EBNF</xsl:text>\n      <xsl:if test=\"title|info/title\">\n        <xsl:text> for </xsl:text>\n        <xsl:value-of select=\"title|info/title[1]\"/>\n      </xsl:if>\n    </xsl:attribute>\n\n    <xsl:if test=\"title|info/title\">\n      <tr>\n        <th align=\"{$direction.align.start}\" valign=\"top\">\n          <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n          <xsl:apply-templates select=\"title|info/title[1]\"/>\n        </th>\n      </tr>\n    </xsl:if>\n    <tr>\n      <td>\n        <table border=\"0\" width=\"99%\" cellpadding=\"0\">\n          <xsl:if test=\"$ebnf.table.bgcolor != ''\">\n            <xsl:attribute name=\"style\"><xsl:text>background-color: </xsl:text>\n              <xsl:value-of select=\"$ebnf.table.bgcolor\"/>\n            </xsl:attribute>\n          </xsl:if>\n          <xsl:attribute name=\"class\">\n            <xsl:value-of select=\"local-name(.)\"/>\n          </xsl:attribute>\n          <xsl:attribute name=\"summary\">EBNF productions</xsl:attribute>\n          <xsl:apply-templates select=\"production|productionrecap\"/>\n        </table>\n      </td>\n    </tr>\n  </table>\n</xsl:template>\n\n<xsl:template match=\"productionset/title\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"production\">\n  <xsl:param name=\"recap\" select=\"false()\"/>\n  <tr>\n    <td align=\"{$direction.align.start}\" valign=\"top\">\n      <xsl:text>[</xsl:text>\n      <xsl:apply-templates select=\".\" mode=\"label.markup\"/>\n      <xsl:text>]</xsl:text>\n    </td>\n    <td align=\"{$direction.align.end}\" valign=\"top\">\n      <xsl:choose>\n        <xsl:when test=\"$recap\">\n          <a>\n            <xsl:attribute name=\"href\">\n              <xsl:call-template name=\"href.target\">\n                <xsl:with-param name=\"object\" select=\".\"/>\n              </xsl:call-template>\n            </xsl:attribute>\n            <xsl:apply-templates select=\"lhs\"/>\n          </a>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"id.attribute\"/>\n          <xsl:call-template name=\"anchor\"/>\n          <xsl:apply-templates select=\"lhs\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </td>\n    <td valign=\"top\" align=\"center\">\n      <xsl:copy-of select=\"$ebnf.assignment\"/>\n    </td>\n    <td valign=\"top\">\n      <xsl:apply-templates select=\"rhs\"/>\n      <xsl:copy-of select=\"$ebnf.statement.terminator\"/>\n    </td>\n    <td align=\"{$direction.align.start}\" valign=\"top\">\n      <xsl:choose>\n        <xsl:when test=\"rhs/lineannotation|constraint\">\n          <xsl:apply-templates select=\"rhs/lineannotation\" mode=\"rhslo\"/>\n          <xsl:apply-templates select=\"constraint\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:text>&#160;</xsl:text>\n        </xsl:otherwise>\n      </xsl:choose>\n    </td>\n  </tr>\n</xsl:template>\n\n<xsl:template match=\"productionrecap\">\n  <xsl:variable name=\"targets\" select=\"key('id',@linkend)\"/>\n  <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n\n  <xsl:if test=\"count($targets)=0\">\n    <xsl:message>\n      <xsl:text>Error: no ID for productionrecap linkend: </xsl:text>\n      <xsl:value-of select=\"@linkend\"/>\n      <xsl:text>.</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n  <xsl:if test=\"count($targets)&gt;1\">\n    <xsl:message>\n      <xsl:text>Warning: multiple \"IDs\" for productionrecap linkend: </xsl:text>\n      <xsl:value-of select=\"@linkend\"/>\n      <xsl:text>.</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n  <xsl:apply-templates select=\"$target\">\n    <xsl:with-param name=\"recap\" select=\"true()\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"lhs\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"rhs\">\n  <xsl:apply-templates/>\n  <xsl:if test=\"following-sibling::rhs\">\n    <xsl:text> |</xsl:text>\n    <br/>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"nonterminal\">\n  <xsl:variable name=\"linkend\">\n    <xsl:call-template name=\"xpointer.idref\">\n      <xsl:with-param name=\"xpointer\" select=\"@def\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:call-template name=\"check.id.unique\">\n    <xsl:with-param name=\"linkend\" select=\"$linkend\"/>\n  </xsl:call-template>\n\n  <xsl:call-template name=\"check.idref.targets\">\n    <xsl:with-param name=\"linkend\" select=\"$linkend\"/>\n    <xsl:with-param name=\"element-list\">production</xsl:with-param>\n  </xsl:call-template>\n\n  <!-- If you don't provide content, you can't point outside this doc. -->\n  <xsl:choose>\n    <xsl:when test=\"*|text()\"><!--nop--></xsl:when>\n    <xsl:otherwise>\n      <xsl:if test=\"$linkend = ''\">\n        <xsl:message>\n          <xsl:text>Non-terminals with no content must point to </xsl:text>\n          <xsl:text>production elements in the current document.</xsl:text>\n        </xsl:message>\n        <xsl:message>\n          <xsl:text>Invalid xpointer for empty nt: </xsl:text>\n          <xsl:value-of select=\"@def\"/>\n        </xsl:message>\n      </xsl:if>\n    </xsl:otherwise>\n  </xsl:choose>\n\n  <xsl:variable name=\"href\">\n    <xsl:choose>\n      <xsl:when test=\"$linkend != ''\">\n        <xsl:variable name=\"targets\" select=\"key('id',$linkend)\"/>\n        <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n        <xsl:call-template name=\"href.target\">\n          <xsl:with-param name=\"object\" select=\"$target\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"@def\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <a href=\"{$href}\">\n    <xsl:choose>\n      <xsl:when test=\"*|text()\">\n        <xsl:apply-templates/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:choose>\n          <xsl:when test=\"$linkend != ''\">\n            <xsl:variable name=\"targets\" select=\"key('id',$linkend)\"/>\n            <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n            <xsl:apply-templates select=\"$target/lhs\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:text>???</xsl:text>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:otherwise>\n    </xsl:choose>\n  </a>\n</xsl:template>\n\n<xsl:template match=\"rhs/lineannotation\">\n  <!--nop-->\n</xsl:template>\n\n<xsl:template match=\"rhs/lineannotation\" mode=\"rhslo\">\n  <xsl:text>/*&#160;</xsl:text>\n  <xsl:apply-templates/>\n  <xsl:text>&#160;*/</xsl:text>\n  <br/>\n</xsl:template>\n\n<xsl:template match=\"constraint\">\n  <xsl:call-template name=\"check.id.unique\">\n    <xsl:with-param name=\"linkend\" select=\"@linkend\"/>\n  </xsl:call-template>\n\n  <xsl:call-template name=\"check.idref.targets\">\n    <xsl:with-param name=\"linkend\" select=\"@linkend\"/>\n    <xsl:with-param name=\"element-list\">constraintdef</xsl:with-param>\n  </xsl:call-template>\n\n  <xsl:variable name=\"href\">\n    <xsl:variable name=\"targets\" select=\"key('id',@linkend)\"/>\n    <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n    <xsl:call-template name=\"href.target\">\n      <xsl:with-param name=\"object\" select=\"$target\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:text>[&#160;</xsl:text>\n\n  <xsl:choose>\n    <xsl:when test=\"@role\">\n      <xsl:value-of select=\"@role\"/>\n      <xsl:text>: </xsl:text>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:variable name=\"targets\" select=\"key('id',@linkend)\"/>\n      <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n      <xsl:if test=\"$target/@role\">\n        <xsl:value-of select=\"$target/@role\"/>\n        <xsl:text>: </xsl:text>\n      </xsl:if>\n    </xsl:otherwise>\n  </xsl:choose>\n\n  <a href=\"{$href}\">\n    <xsl:variable name=\"targets\" select=\"key('id',@linkend)\"/>\n    <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n    <xsl:apply-templates select=\"$target\" mode=\"title.markup\"/>\n  </a>\n  <xsl:text>&#160;]</xsl:text>\n  <xsl:if test=\"following-sibling::constraint\">\n    <br/>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"constraintdef\">\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:apply-templates/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"constraintdef/title\">\n  <p><strong><xsl:apply-templates/></strong></p>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n</xsl:stylesheet>"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/footnote.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?><!--This file was created automatically by html2xhtml--><!--from the HTML stylesheets.--><xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:exsl=\"http://exslt.org/common\" xmlns=\"http://www.w3.org/1999/xhtml\" exclude-result-prefixes=\"exsl\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: footnote.xsl 9665 2012-11-08 14:26:20Z kosek $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- This template generates just the footnote marker inline.\nThe footnote text is handled in name=\"process.footnote\".\nThe footnote marker gets an id of @id, while the\nfootnote text gets an id of #ftn.@id. They cross link to each other. -->\n<xsl:template match=\"footnote\">\n  <xsl:variable name=\"name\">\n    <xsl:call-template name=\"object.id\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:variable name=\"href\">\n    <xsl:text>#ftn.</xsl:text>\n    <xsl:value-of select=\"$name\"/>\n  </xsl:variable>\n\n  <a href=\"{$href}\">\n    <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n    <xsl:if test=\"$generate.id.attributes = 0\">\n      <xsl:attribute name=\"id\">\n        <xsl:value-of select=\"$name\"/>\n      </xsl:attribute>\n    </xsl:if>\n    \n    <sup>\n      <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n      <xsl:call-template name=\"id.attribute\">\n        <xsl:with-param name=\"conditional\" select=\"0\"/>\n      </xsl:call-template>\n      <xsl:text>[</xsl:text>\n      <xsl:apply-templates select=\".\" mode=\"footnote.number\"/>\n      <xsl:text>]</xsl:text>\n    </sup>\n  </a>\n</xsl:template>\n\n<xsl:template match=\"footnoteref\">\n  <xsl:variable name=\"targets\" select=\"key('id',@linkend)\"/>\n  <xsl:variable name=\"footnote\" select=\"$targets[1]\"/>\n\n  <xsl:if test=\"not(local-name($footnote) = 'footnote')\">\n   <xsl:message terminate=\"yes\">\nERROR: A footnoteref element has a linkend that points to an element that is not a footnote. \nTypically this happens when an id attribute is accidentally applied to the child of a footnote element. \ntarget element: <xsl:value-of select=\"local-name($footnote)\"/>\nlinkend/id: <xsl:value-of select=\"@linkend\"/>\n   </xsl:message>\n  </xsl:if>\n\n  <xsl:variable name=\"target.href\">\n    <xsl:call-template name=\"href.target\">\n      <xsl:with-param name=\"object\" select=\"$footnote\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"href\">\n    <xsl:value-of select=\"substring-before($target.href, '#')\"/>\n    <xsl:text>#ftn.</xsl:text>\n    <xsl:value-of select=\"substring-after($target.href, '#')\"/>\n  </xsl:variable>\n\n  <a href=\"{$href}\">\n    <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <sup>\n      <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n      <xsl:text>[</xsl:text>\n      <xsl:apply-templates select=\"$footnote\" mode=\"footnote.number\"/>\n      <xsl:text>]</xsl:text>\n    </sup>\n  </a>\n</xsl:template>\n\n<xsl:template match=\"footnote\" mode=\"footnote.number\">\n  <xsl:choose>\n    <xsl:when test=\"string-length(@label) != 0\">\n      <xsl:value-of select=\"@label\"/>\n    </xsl:when>\n    <xsl:when test=\"ancestor::table or ancestor::informaltable\">\n      <xsl:variable name=\"tfnum\">\n        <xsl:number level=\"any\" from=\"table|informaltable\" format=\"1\"/>\n      </xsl:variable>\n\n      <xsl:choose>\n        <xsl:when test=\"string-length($table.footnote.number.symbols) &gt;= $tfnum\">\n          <xsl:value-of select=\"substring($table.footnote.number.symbols, $tfnum, 1)\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:number level=\"any\" from=\"table | informaltable\" format=\"{$table.footnote.number.format}\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:variable name=\"pfoot\" select=\"preceding::footnote[not(@label)]\"/>\n      <xsl:variable name=\"ptfoot\" select=\"preceding::table//footnote |                                           preceding::informaltable//footnote\"/>\n      <xsl:variable name=\"fnum\" select=\"count($pfoot) - count($ptfoot) + 1\"/>\n\n      <xsl:choose>\n        <xsl:when test=\"string-length($footnote.number.symbols) &gt;= $fnum\">\n          <xsl:value-of select=\"substring($footnote.number.symbols, $fnum, 1)\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:number value=\"$fnum\" format=\"{$footnote.number.format}\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"footnote/para[1]|footnote/simpara[1]\" priority=\"2\">\n  <!-- this only works if the first thing in a footnote is a para, -->\n  <!-- which is ok, because it usually is. -->\n  <xsl:variable name=\"href\">\n    <xsl:text>#</xsl:text>\n    <xsl:call-template name=\"object.id\">\n      <xsl:with-param name=\"object\" select=\"ancestor::footnote\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:call-template name=\"paragraph\">\n    <xsl:with-param name=\"class\">\n      <xsl:if test=\"@role and $para.propagates.style != 0\">\n        <xsl:value-of select=\"@role\"/>\n      </xsl:if>\n    </xsl:with-param>\n    <xsl:with-param name=\"content\">\n      <a href=\"{$href}\">\n        <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n        <sup>\n          <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n          <xsl:text>[</xsl:text>\n          <xsl:apply-templates select=\"ancestor::footnote\" mode=\"footnote.number\"/>\n          <xsl:text>] </xsl:text>\n        </sup>\n      </a>\n      <xsl:apply-templates/>\n    </xsl:with-param>\n  </xsl:call-template>\n\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"*\" mode=\"footnote.body.number\">\n  <xsl:variable name=\"name\">\n    <xsl:text>ftn.</xsl:text>\n    <xsl:call-template name=\"object.id\">\n      <xsl:with-param name=\"object\" select=\"ancestor::footnote\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:variable name=\"href\">\n    <xsl:text>#</xsl:text>\n    <xsl:call-template name=\"object.id\">\n      <xsl:with-param name=\"object\" select=\"ancestor::footnote\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:variable name=\"footnote.mark\">\n    <a href=\"{$href}\">\n      <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n      <xsl:choose>\n        <xsl:when test=\"$generate.id.attributes = 0\">\n          <xsl:if test=\"@id or @xml:id\">\n            <xsl:attribute name=\"id\">\n              <xsl:value-of select=\"@id|@xml:id\"/>\n            </xsl:attribute>\n          </xsl:if>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"id.attribute\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n      <sup>\n        <xsl:text>[</xsl:text>\n        <xsl:apply-templates select=\"ancestor::footnote\" mode=\"footnote.number\"/>\n        <xsl:text>] </xsl:text>\n      </sup>\n    </a>\n  </xsl:variable>\n\n  <xsl:variable name=\"html\">\n    <xsl:apply-templates select=\".\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$exsl.node.set.available != 0\">\n      <xsl:variable name=\"html-nodes\" select=\"exsl:node-set($html)\"/>\n      <xsl:choose>\n        <xsl:when test=\"$html-nodes//p\">\n          <xsl:apply-templates select=\"$html-nodes\" mode=\"insert.html.p\">\n            <xsl:with-param name=\"mark\" select=\"$footnote.mark\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates select=\"$html-nodes\" mode=\"insert.html.text\">\n            <xsl:with-param name=\"mark\" select=\"$footnote.mark\"/>\n          </xsl:apply-templates>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy-of select=\"$html\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<!--\n<xsl:template name=\"count-element-from\">\n  <xsl:param name=\"from\" select=\"..\"/>\n  <xsl:param name=\"to\" select=\".\"/>\n  <xsl:param name=\"count\" select=\"0\"/>\n  <xsl:param name=\"list\" select=\"$from/following::*[local-name(.)=local-name($to)]\n                                 |$from/descendant-or-self::*[local-name(.)=local-name($to)]\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"not($list)\">\n      <xsl:text>-1</xsl:text>\n    </xsl:when>\n    <xsl:when test=\"$list[1] = $to\">\n      <xsl:value-of select=\"$count + 1\"/>\n    </xsl:when>\n    <xsl:otherwise>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n-->\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"process.footnotes\">\n  <xsl:variable name=\"footnotes\" select=\".//footnote\"/>\n  <xsl:variable name=\"table.footnotes\" select=\".//table//footnote | .//informaltable//footnote\"/>\n\n  <!-- Only bother to do this if there's at least one non-table footnote -->\n  <xsl:if test=\"count($footnotes)&gt;count($table.footnotes)\">\n    <div class=\"footnotes\">\n      <xsl:call-template name=\"footnotes.attributes\"/>\n      <br/>\n      <hr/>\n      <xsl:apply-templates select=\"$footnotes\" mode=\"process.footnote.mode\"/>\n    </div>\n  </xsl:if>\n\n  <xsl:if test=\"$annotation.support != 0 and //annotation\">\n    <div class=\"annotation-list\">\n      <div class=\"annotation-nocss\">\n\t<p>The following annotations are from this essay. You are seeing\n\tthem here because your browser doesn&#8217;t support the user-interface\n\ttechniques used to make them appear as &#8216;popups&#8217; on modern browsers.</p>\n      </div>\n\n      <xsl:apply-templates select=\"//annotation\" mode=\"annotation-popup\"/>\n    </div>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"footnotes.attributes\">\n  <!-- customizable for footnotes attributes -->\n</xsl:template>\n\n<xsl:template name=\"process.chunk.footnotes\">\n  <!-- nop -->\n</xsl:template>\n\n<xsl:template match=\"footnote\" name=\"process.footnote\" mode=\"process.footnote.mode\">\n  <xsl:variable name=\"id\">\n    <xsl:text>ftn.</xsl:text>\n    <xsl:call-template name=\"object.id\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"local-name(*[1]) = 'para' or local-name(*[1]) = 'simpara'\">\n      <div id=\"{$id}\">\n        <xsl:call-template name=\"common.html.attributes\"/>\n        <xsl:apply-templates/>\n      </div>\n    </xsl:when>\n\n    <xsl:when test=\"$html.cleanup != 0 and                      $exsl.node.set.available != 0\">\n      <div id=\"{$id}\">\n        <xsl:call-template name=\"common.html.attributes\"/>\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:apply-templates select=\"*[1]\" mode=\"footnote.body.number\"/>\n        <xsl:apply-templates select=\"*[position() &gt; 1]\"/>\n      </div>\n    </xsl:when>\n\n    <xsl:otherwise>\n      <xsl:message>\n        <xsl:text>Warning: footnote number may not be generated </xsl:text>\n        <xsl:text>correctly; </xsl:text>\n        <xsl:value-of select=\"local-name(*[1])\"/>\n        <xsl:text> unexpected as first child of footnote.</xsl:text>\n      </xsl:message>\n      <div id=\"{$id}\">\n        <xsl:call-template name=\"common.html.attributes\"/>\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:apply-templates/>\n      </div>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"table//footnote | informaltable//footnote\" mode=\"process.footnote.mode\">\n</xsl:template>\n\n<xsl:template match=\"footnote\" mode=\"table.footnote.mode\">\n  <xsl:call-template name=\"process.footnote\"/>\n</xsl:template>\n\n</xsl:stylesheet>"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/formal.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: formal.xsl 9501 2012-07-16 00:14:50Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<xsl:param name=\"formal.object.break.after\">1</xsl:param>\n\n<xsl:template name=\"formal.object\">\n  <xsl:param name=\"placement\" select=\"'before'\"/>\n  <xsl:param name=\"class\">\n    <xsl:apply-templates select=\".\" mode=\"class.value\"/>\n  </xsl:param>\n\n  <xsl:call-template name=\"id.warning\"/>\n\n  <xsl:variable name=\"content\">\n    <div class=\"{$class}\">\n      <xsl:call-template name=\"id.attribute\">\n        <xsl:with-param name=\"conditional\" select=\"0\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"anchor\">\n        <xsl:with-param name=\"conditional\" select=\"0\"/>\n      </xsl:call-template>\n    \n      <xsl:choose>\n        <xsl:when test=\"$placement = 'before'\">\n          <xsl:call-template name=\"formal.object.heading\"/>\n          <div class=\"{$class}-contents\">\n            <xsl:apply-templates/>\n          </div>\n          <!-- HACK: This doesn't belong inside formal.object; it \n               should be done by the table template, but I want \n               the link to be inside the DIV, so... -->\n          <xsl:if test=\"local-name(.) = 'table'\">\n            <xsl:call-template name=\"table.longdesc\"/>\n          </xsl:if>\n    \n          <xsl:if test=\"$spacing.paras != 0\"><p/></xsl:if>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:if test=\"$spacing.paras != 0\"><p/></xsl:if>\n          <div class=\"{$class}-contents\"><xsl:apply-templates/></div>\n          <!-- HACK: This doesn't belong inside formal.object; it \n               should be done by the table template, but I want \n               the link to be inside the DIV, so... -->\n          <xsl:if test=\"local-name(.) = 'table'\">\n            <xsl:call-template name=\"table.longdesc\"/>\n          </xsl:if>\n    \n          <xsl:call-template name=\"formal.object.heading\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </div>\n    <xsl:if test=\"not($formal.object.break.after = '0')\">\n      <br class=\"{$class}-break\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"floatstyle\">\n    <xsl:call-template name=\"floatstyle\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$floatstyle != ''\">\n      <xsl:call-template name=\"floater\">\n        <xsl:with-param name=\"class\"><xsl:value-of select=\"$class\"/>-float</xsl:with-param>\n        <xsl:with-param name=\"floatstyle\" select=\"$floatstyle\"/>\n        <xsl:with-param name=\"content\" select=\"$content\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy-of select=\"$content\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n\n</xsl:template>\n\n<xsl:template name=\"formal.object.heading\">\n  <xsl:param name=\"object\" select=\".\"/>\n  <xsl:param name=\"title\">\n    <xsl:apply-templates select=\"$object\" mode=\"object.title.markup\">\n      <xsl:with-param name=\"allow-anchors\" select=\"1\"/>\n    </xsl:apply-templates>\n  </xsl:param>\n\n\n  <xsl:choose>\n    <xsl:when test=\"$make.clean.html != 0\">\n      <xsl:variable name=\"html.class\" select=\"concat(local-name($object),'-title')\"/>\n      <div class=\"{$html.class}\">\n        <xsl:copy-of select=\"$title\"/>\n      </div>\n    </xsl:when>\n    <xsl:otherwise>\n      <p class=\"title\">\n        <strong xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\">\n          <xsl:copy-of select=\"$title\"/>\n        </strong>\n      </p>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"informal.object\">\n  <xsl:param name=\"class\">\n    <xsl:apply-templates select=\".\" mode=\"class.value\"/>\n  </xsl:param>\n\n  <xsl:variable name=\"content\">\n    <div class=\"{$class}\">\n      <xsl:call-template name=\"id.attribute\"/>\n      <xsl:if test=\"$spacing.paras != 0\"><p/></xsl:if>\n      <xsl:call-template name=\"anchor\"/>\n      <xsl:apply-templates/>\n  \n      <!-- HACK: This doesn't belong inside formal.object; it \n           should be done by the table template, but I want \n           the link to be inside the DIV, so... -->\n      <xsl:if test=\"local-name(.) = 'informaltable'\">\n        <xsl:call-template name=\"table.longdesc\"/>\n      </xsl:if>\n  \n      <xsl:if test=\"$spacing.paras != 0\"><p/></xsl:if>\n    </div>\n  </xsl:variable>\n\n  <xsl:variable name=\"floatstyle\">\n    <xsl:call-template name=\"floatstyle\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$floatstyle != ''\">\n      <xsl:call-template name=\"floater\">\n        <xsl:with-param name=\"class\"><xsl:value-of select=\"$class\"/>-float</xsl:with-param>\n        <xsl:with-param name=\"floatstyle\" select=\"$floatstyle\"/>\n        <xsl:with-param name=\"content\" select=\"$content\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy-of select=\"$content\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n\n</xsl:template>\n\n<xsl:template name=\"semiformal.object\">\n  <xsl:param name=\"placement\" select=\"'before'\"/>\n  <xsl:param name=\"class\" select=\"local-name(.)\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"title or info/title\">\n      <xsl:call-template name=\"formal.object\">\n        <xsl:with-param name=\"placement\" select=\"$placement\"/>\n        <xsl:with-param name=\"class\" select=\"$class\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"informal.object\">\n        <xsl:with-param name=\"class\" select=\"$class\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"figure\">\n  <xsl:variable name=\"param.placement\" select=\"substring-after(normalize-space($formal.title.placement),                                         concat(local-name(.), ' '))\"/>\n\n  <xsl:variable name=\"placement\">\n    <xsl:choose>\n      <xsl:when test=\"contains($param.placement, ' ')\">\n        <xsl:value-of select=\"substring-before($param.placement, ' ')\"/>\n      </xsl:when>\n      <xsl:when test=\"$param.placement = ''\">before</xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$param.placement\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:call-template name=\"formal.object\">\n    <xsl:with-param name=\"placement\" select=\"$placement\"/>\n  </xsl:call-template>\n\n</xsl:template>\n\n<xsl:template match=\"table\">\n  <xsl:choose>\n    <xsl:when test=\"tgroup|mediaobject|graphic\">\n      <xsl:call-template name=\"calsTable\"/>\n    </xsl:when>\n    <xsl:when test=\"caption\">\n      <xsl:call-template name=\"htmlTable.with.caption\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <!-- do not use xsl:copy because of XHTML's needs -->\n      <div>\n        <xsl:call-template name=\"generate.class.attribute\"/>\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:call-template name=\"anchor\"/>\n        <xsl:element name=\"table\" namespace=\"http://www.w3.org/1999/xhtml\">\n          <xsl:apply-templates select=\"@*\" mode=\"htmlTableAtt\"/>\n          <xsl:call-template name=\"htmlTable\"/>\n        </xsl:element>\n      </div>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- Handle html markup table like formal.object -->\n<xsl:template name=\"htmlTable.with.caption\">\n  <xsl:param name=\"class\">\n    <xsl:apply-templates select=\".\" mode=\"class.value\"/>\n  </xsl:param>\n\n  <xsl:variable name=\"param.placement\" select=\"substring-after(normalize-space($formal.title.placement),                                         concat(local-name(.), ' '))\"/>\n\n  <xsl:variable name=\"placement\">\n    <xsl:choose>\n      <xsl:when test=\"contains($param.placement, ' ')\">\n        <xsl:value-of select=\"substring-before($param.placement, ' ')\"/>\n      </xsl:when>\n      <xsl:when test=\"$param.placement = ''\">before</xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$param.placement\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:call-template name=\"id.warning\"/>\n\n  <xsl:variable name=\"content\">\n    <div class=\"{$class}\">\n      <xsl:call-template name=\"id.attribute\">\n        <xsl:with-param name=\"conditional\" select=\"0\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"anchor\">\n        <xsl:with-param name=\"conditional\" select=\"0\"/>\n      </xsl:call-template>\n    \n      <xsl:choose>\n        <xsl:when test=\"$placement = 'before'\">\n\n          <xsl:call-template name=\"formal.object.heading\"/>\n\n          <div class=\"{$class}-contents\">\n            <xsl:apply-templates select=\".\" mode=\"htmlTable\"/>\n          </div>\n\n          <xsl:call-template name=\"table.longdesc\"/>\n    \n          <xsl:if test=\"$spacing.paras != 0\"><p/></xsl:if>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:if test=\"$spacing.paras != 0\"><p/></xsl:if>\n\n          <div class=\"{$class}-contents\">\n            <xsl:apply-templates select=\".\" mode=\"htmlTable\"/>\n          </div>\n\n          <xsl:call-template name=\"table.longdesc\"/>\n    \n          <xsl:call-template name=\"formal.object.heading\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </div>\n    <xsl:if test=\"not($formal.object.break.after = '0')\">\n      <br class=\"{$class}-break\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"floatstyle\">\n    <xsl:call-template name=\"floatstyle\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$floatstyle != ''\">\n      <xsl:call-template name=\"floater\">\n        <xsl:with-param name=\"class\"><xsl:value-of select=\"$class\"/>-float</xsl:with-param>\n        <xsl:with-param name=\"floatstyle\" select=\"$floatstyle\"/>\n        <xsl:with-param name=\"content\" select=\"$content\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy-of select=\"$content\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n\n</xsl:template>\n\n<xsl:template name=\"calsTable\">\n  <xsl:if test=\"tgroup/tbody/tr                 |tgroup/thead/tr                 |tgroup/tfoot/tr\">\n    <xsl:message terminate=\"yes\">Broken table: tr descendent of CALS Table.</xsl:message>\n  </xsl:if>\n\n  <xsl:variable name=\"param.placement\" select=\"substring-after(normalize-space($formal.title.placement),                                         concat(local-name(.), ' '))\"/>\n\n  <xsl:variable name=\"placement\">\n    <xsl:choose>\n      <xsl:when test=\"contains($param.placement, ' ')\">\n        <xsl:value-of select=\"substring-before($param.placement, ' ')\"/>\n      </xsl:when>\n      <xsl:when test=\"$param.placement = ''\">before</xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$param.placement\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:call-template name=\"formal.object\">\n    <xsl:with-param name=\"placement\" select=\"$placement\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"table|informaltable\" mode=\"class.value\">\n  <xsl:choose>\n    <xsl:when test=\"@tabstyle\">\n      <xsl:value-of select=\"@tabstyle\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"local-name(.)\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"htmlTable\">\n  <xsl:if test=\"tgroup/tbody/row                 |tgroup/thead/row                 |tgroup/tfoot/row\">\n    <xsl:message terminate=\"yes\">Broken table: row descendent of HTML table.</xsl:message>\n  </xsl:if>\n\n  <xsl:apply-templates mode=\"htmlTable\"/>\n\n  <xsl:if test=\".//footnote|../title//footnote\">\n    <tbody class=\"footnotes\">\n      <tr>\n        <td colspan=\"50\">\n          <xsl:apply-templates select=\".//footnote|../title//footnote\" mode=\"table.footnote.mode\"/>\n        </td>\n      </tr>\n    </tbody>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"example\">\n  <xsl:variable name=\"param.placement\" select=\"substring-after(normalize-space($formal.title.placement),                      concat(local-name(.), ' '))\"/>\n\n  <xsl:variable name=\"placement\">\n    <xsl:choose>\n      <xsl:when test=\"contains($param.placement, ' ')\">\n        <xsl:value-of select=\"substring-before($param.placement, ' ')\"/>\n      </xsl:when>\n      <xsl:when test=\"$param.placement = ''\">before</xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$param.placement\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:call-template name=\"formal.object\">\n    <xsl:with-param name=\"placement\" select=\"$placement\"/>\n  </xsl:call-template>\n\n</xsl:template>\n\n<xsl:template match=\"equation\">\n  <xsl:variable name=\"param.placement\" select=\"substring-after(normalize-space($formal.title.placement),                                       concat(local-name(.), ' '))\"/>\n\n  <xsl:variable name=\"placement\">\n    <xsl:choose>\n      <xsl:when test=\"contains($param.placement, ' ')\">\n        <xsl:value-of select=\"substring-before($param.placement, ' ')\"/>\n      </xsl:when>\n      <xsl:when test=\"$param.placement = ''\">before</xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$param.placement\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:call-template name=\"formal.object\">\n    <xsl:with-param name=\"placement\" select=\"$placement\"/>\n  </xsl:call-template>\n\n</xsl:template>\n\n<xsl:template match=\"figure/title\"/>\n<xsl:template match=\"figure/titleabbrev\"/>\n<xsl:template match=\"table/title\"/>\n<xsl:template match=\"table/titleabbrev\"/>\n<xsl:template match=\"table/textobject\"/>\n<xsl:template match=\"example/title\"/>\n<xsl:template match=\"example/titleabbrev\"/>\n<xsl:template match=\"equation/title\"/>\n<xsl:template match=\"equation/titleabbrev\"/>\n\n<xsl:template match=\"informalfigure\">\n  <xsl:call-template name=\"informal.object\"/>\n</xsl:template>\n\n<xsl:template match=\"informalexample\">\n  <xsl:call-template name=\"informal.object\"/>\n</xsl:template>\n\n<xsl:template match=\"informaltable\">\n  <xsl:choose>\n    <xsl:when test=\"tgroup|mediaobject|graphic\">\n      <xsl:call-template name=\"informal.object\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <div>\n        <xsl:call-template name=\"generate.class.attribute\"/>\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:call-template name=\"anchor\"/>\n        <xsl:element name=\"table\" namespace=\"http://www.w3.org/1999/xhtml\">\n          <xsl:apply-templates select=\"@*\" mode=\"htmlTableAtt\"/>\n          <xsl:call-template name=\"htmlTable\"/>\n        </xsl:element>\n      </div>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"informaltable/textobject\"/>\n\n<xsl:template name=\"table.longdesc\">\n  <!-- HACK: This doesn't belong inside formal.objectt; it should be done by -->\n  <!-- the table template, but I want the link to be inside the DIV, so... -->\n  <xsl:variable name=\"longdesc.uri\">\n    <xsl:call-template name=\"longdesc.uri\">\n      <xsl:with-param name=\"mediaobject\" select=\".\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"irrelevant\">\n    <!-- write.longdesc returns the filename ... -->\n    <xsl:call-template name=\"write.longdesc\">\n      <xsl:with-param name=\"mediaobject\" select=\".\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:if test=\"$html.longdesc != 0 and $html.longdesc.link != 0                 and textobject[not(phrase)]\">\n    <xsl:call-template name=\"longdesc.link\">\n      <xsl:with-param name=\"longdesc.uri\" select=\"$longdesc.uri\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"informalequation\">\n  <xsl:call-template name=\"informal.object\"/>\n</xsl:template>\n\n<xsl:template name=\"floatstyle\">\n  <xsl:if test=\"(@float and @float != '0') or @floatstyle != ''\">\n    <xsl:choose>\n      <xsl:when test=\"@floatstyle != ''\">\n        <xsl:value-of select=\"@floatstyle\"/>\n      </xsl:when>\n      <xsl:when test=\"@float = '1'\">\n        <xsl:value-of select=\"$default.float.class\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"@float\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"floater\">\n  <xsl:param name=\"content\"/>\n  <xsl:param name=\"class\" select=\"'float'\"/>\n  <xsl:param name=\"floatstyle\" select=\"'left'\"/>\n\n  <div class=\"{$class}\">\n    <xsl:if test=\"$floatstyle = 'left' or $floatstyle = 'right'\">\n      <xsl:attribute name=\"style\">\n        <xsl:text>float: </xsl:text>\n        <xsl:value-of select=\"$floatstyle\"/>\n        <xsl:text>;</xsl:text>\n      </xsl:attribute>\n    </xsl:if>\n    <xsl:copy-of select=\"$content\"/>\n  </div>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/glossary.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?><!--This file was created automatically by html2xhtml--><!--from the HTML stylesheets.--><xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns=\"http://www.w3.org/1999/xhtml\" exclude-result-prefixes=\"xlink\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: glossary.xsl 9709 2013-01-22 18:56:09Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"glossary\">\n  \n<xsl:variable name=\"language\">\n  <xsl:call-template name=\"l10n.language\"/>\n</xsl:variable>\n\n<xsl:variable name=\"lowercase\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\">normalize.sort.input</xsl:with-param>\n  </xsl:call-template>\n</xsl:variable>\n\n<xsl:variable name=\"uppercase\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\">normalize.sort.output</xsl:with-param>\n  </xsl:call-template>\n</xsl:variable>\n\n  <xsl:call-template name=\"id.warning\"/>\n\n  <xsl:element name=\"{$div.element}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n\n    <xsl:call-template name=\"glossary.titlepage\"/>\n\n    <xsl:choose>\n      <xsl:when test=\"glossdiv\">\n        <xsl:apply-templates select=\"(glossdiv[1]/preceding-sibling::*)\"/>\n      </xsl:when>\n      <xsl:when test=\"glossentry\">\n        <xsl:apply-templates select=\"(glossentry[1]/preceding-sibling::*)\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:apply-templates/>\n      </xsl:otherwise>\n    </xsl:choose>\n\n    <xsl:choose>\n      <xsl:when test=\"glossdiv\">\n        <xsl:apply-templates select=\"glossdiv\"/>\n      </xsl:when>\n      <xsl:when test=\"glossentry\">\n        <dl>\n          <xsl:choose>\n            <xsl:when test=\"$glossary.sort != 0\">\n              <xsl:apply-templates select=\"glossentry\">\n\t\t\t\t<xsl:sort lang=\"{$language}\" select=\"normalize-space(translate(concat(@sortas, glossterm[not(parent::glossentry/@sortas) or parent::glossentry/@sortas = '']), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'))\"/>\n              </xsl:apply-templates>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:apply-templates select=\"glossentry\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </dl>\n      </xsl:when>\n      <xsl:otherwise>\n        <!-- empty glossary -->\n      </xsl:otherwise>\n    </xsl:choose>\n\n    <xsl:if test=\"not(parent::article)\">\n      <xsl:call-template name=\"process.footnotes\"/>\n    </xsl:if>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"glossary/glossaryinfo\"/>\n<xsl:template match=\"glossary/info\"/>\n<xsl:template match=\"glossary/title\"/>\n<xsl:template match=\"glossary/subtitle\"/>\n<xsl:template match=\"glossary/titleabbrev\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"glosslist\">\n  \n<xsl:variable name=\"language\">\n  <xsl:call-template name=\"l10n.language\"/>\n</xsl:variable>\n\n<xsl:variable name=\"lowercase\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\">normalize.sort.input</xsl:with-param>\n  </xsl:call-template>\n</xsl:variable>\n\n<xsl:variable name=\"uppercase\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\">normalize.sort.output</xsl:with-param>\n  </xsl:call-template>\n</xsl:variable>\n\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:if test=\"blockinfo/title|info/title|title\">\n      <xsl:call-template name=\"formal.object.heading\"/>\n    </xsl:if>\n    <dl>\n      <xsl:choose>\n        <xsl:when test=\"$glossary.sort != 0\">\n          <xsl:apply-templates select=\"glossentry\">\n\t\t\t\t<xsl:sort lang=\"{$language}\" select=\"normalize-space(translate(concat(@sortas, glossterm[not(parent::glossentry/@sortas) or parent::glossentry/@sortas = '']), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'))\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates select=\"glossentry\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </dl>\n  </div>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"glossdiv\">\n  \n<xsl:variable name=\"language\">\n  <xsl:call-template name=\"l10n.language\"/>\n</xsl:variable>\n\n<xsl:variable name=\"lowercase\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\">normalize.sort.input</xsl:with-param>\n  </xsl:call-template>\n</xsl:variable>\n\n<xsl:variable name=\"uppercase\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\">normalize.sort.output</xsl:with-param>\n  </xsl:call-template>\n</xsl:variable>\n\n  <xsl:call-template name=\"id.warning\"/>\n\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:apply-templates select=\"(glossentry[1]/preceding-sibling::*)\"/>\n\n    <dl>\n      <xsl:choose>\n        <xsl:when test=\"$glossary.sort != 0\">\n          <xsl:apply-templates select=\"glossentry\">\n            <xsl:sort lang=\"{$language}\" select=\"translate(glossterm, $lowercase,                                          $uppercase)\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates select=\"glossentry\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </dl>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"glossdiv/title\">\n  <h3>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:apply-templates/>\n  </h3>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<!--\nGlossEntry ::=\n  GlossTerm, Acronym?, Abbrev?,\n  (IndexTerm)*,\n  RevHistory?,\n  (GlossSee | GlossDef+)\n-->\n\n<xsl:template match=\"glossentry\">\n  <xsl:choose>\n    <xsl:when test=\"$glossentry.show.acronym = 'primary'\">\n      <dt>\n        <xsl:call-template name=\"id.attribute\">\n          <xsl:with-param name=\"conditional\">\n            <xsl:choose>\n              <xsl:when test=\"$glossterm.auto.link != 0\">0</xsl:when>\n              <xsl:otherwise>1</xsl:otherwise>\n            </xsl:choose>\n          </xsl:with-param>\n        </xsl:call-template>\n        <xsl:call-template name=\"anchor\">\n          <xsl:with-param name=\"conditional\">\n            <xsl:choose>\n              <xsl:when test=\"$glossterm.auto.link != 0\">0</xsl:when>\n              <xsl:otherwise>1</xsl:otherwise>\n            </xsl:choose>\n          </xsl:with-param>\n        </xsl:call-template>\n\n        <xsl:choose>\n          <xsl:when test=\"acronym|abbrev\">\n            <xsl:apply-templates select=\"acronym|abbrev\"/>\n            <xsl:text> (</xsl:text>\n            <xsl:apply-templates select=\"glossterm\"/>\n            <xsl:text>)</xsl:text>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:apply-templates select=\"glossterm\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </dt>\n    </xsl:when>\n    <xsl:when test=\"$glossentry.show.acronym = 'yes'\">\n      <dt>\n        <xsl:call-template name=\"id.attribute\">\n          <xsl:with-param name=\"conditional\">\n            <xsl:choose>\n              <xsl:when test=\"$glossterm.auto.link != 0\">0</xsl:when>\n              <xsl:otherwise>1</xsl:otherwise>\n            </xsl:choose>\n          </xsl:with-param>\n        </xsl:call-template>\n        <xsl:call-template name=\"anchor\">\n          <xsl:with-param name=\"conditional\">\n            <xsl:choose>\n              <xsl:when test=\"$glossterm.auto.link != 0\">0</xsl:when>\n              <xsl:otherwise>1</xsl:otherwise>\n            </xsl:choose>\n          </xsl:with-param>\n        </xsl:call-template>\n\n        <xsl:apply-templates select=\"glossterm\"/>\n\n        <xsl:if test=\"acronym|abbrev\">\n          <xsl:text> (</xsl:text>\n          <xsl:apply-templates select=\"acronym|abbrev\"/>\n          <xsl:text>)</xsl:text>\n        </xsl:if>\n      </dt>\n    </xsl:when>\n    <xsl:otherwise>\n      <dt>\n        <xsl:call-template name=\"id.attribute\">\n          <xsl:with-param name=\"conditional\">\n            <xsl:choose>\n              <xsl:when test=\"$glossterm.auto.link != 0\">0</xsl:when>\n              <xsl:otherwise>1</xsl:otherwise>\n            </xsl:choose>\n          </xsl:with-param>\n        </xsl:call-template>\n        <xsl:call-template name=\"anchor\">\n          <xsl:with-param name=\"conditional\">\n            <xsl:choose>\n              <xsl:when test=\"$glossterm.auto.link != 0\">0</xsl:when>\n              <xsl:otherwise>1</xsl:otherwise>\n            </xsl:choose>\n          </xsl:with-param>\n        </xsl:call-template>\n\n        <xsl:apply-templates select=\"glossterm\"/>\n      </dt>\n    </xsl:otherwise>\n  </xsl:choose>\n\n  <xsl:apply-templates select=\"indexterm|revhistory|glosssee|glossdef\"/>\n</xsl:template>\n\n<xsl:template match=\"glossentry/glossterm\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:apply-templates/>\n  </span>\n  <xsl:if test=\"following-sibling::glossterm\">, </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"glossentry/acronym\">\n  <xsl:apply-templates/>\n  <xsl:if test=\"following-sibling::acronym|following-sibling::abbrev\">, </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"glossentry/abbrev\">\n  <xsl:apply-templates/>\n  <xsl:if test=\"following-sibling::acronym|following-sibling::abbrev\">, </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"glossentry/revhistory\">\n</xsl:template>\n\n<xsl:template match=\"glossentry/glosssee\">\n  <xsl:variable name=\"otherterm\" select=\"@otherterm\"/>\n  <xsl:variable name=\"targets\" select=\"key('id', $otherterm)\"/>\n  <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n  <xsl:variable name=\"xlink\" select=\"@xlink:href\"/>\n\n  <dd>\n    <p>\n      <xsl:variable name=\"template\">\n        <xsl:call-template name=\"gentext.template\">\n          <xsl:with-param name=\"context\" select=\"'glossary'\"/>\n          <xsl:with-param name=\"name\" select=\"'see'\"/>\n        </xsl:call-template>\n      </xsl:variable>\n\n      <xsl:variable name=\"title\">\n        <xsl:choose>\n          <xsl:when test=\"$target\">\n            <a>\n              <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n              <xsl:call-template name=\"id.attribute\"/>\n              <xsl:attribute name=\"href\">\n                <xsl:call-template name=\"href.target\">\n                  <xsl:with-param name=\"object\" select=\"$target\"/>\n                </xsl:call-template>\n              </xsl:attribute>\n              <xsl:apply-templates select=\"$target\" mode=\"xref-to\"/>\n            </a>\n          </xsl:when>\n          <xsl:when test=\"$xlink\">\n            <xsl:call-template name=\"simple.xlink\">\n              <xsl:with-param name=\"content\">\n                <xsl:apply-templates/>\n              </xsl:with-param>\n            </xsl:call-template>\n          </xsl:when>\n          <xsl:when test=\"$otherterm != '' and not($target)\">\n            <xsl:message>\n              <xsl:text>Warning: glosssee @otherterm reference not found: </xsl:text>\n              <xsl:value-of select=\"$otherterm\"/>\n            </xsl:message>\n            <xsl:apply-templates/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:apply-templates/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:variable>\n\n      <xsl:call-template name=\"substitute-markup\">\n        <xsl:with-param name=\"template\" select=\"$template\"/>\n        <xsl:with-param name=\"title\" select=\"$title\"/>\n      </xsl:call-template>\n    </p>\n  </dd>\n</xsl:template>\n\n<xsl:template match=\"glossentry/glossdef\">\n  <dd>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:apply-templates select=\"*[local-name(.) != 'glossseealso']\"/>\n    <xsl:if test=\"glossseealso\">\n      <p>\n        <xsl:variable name=\"template\">\n          <xsl:call-template name=\"gentext.template\">\n            <xsl:with-param name=\"context\" select=\"'glossary'\"/>\n            <xsl:with-param name=\"name\" select=\"'seealso'\"/>\n          </xsl:call-template>\n        </xsl:variable>\n        <xsl:variable name=\"title\">\n          <xsl:apply-templates select=\"glossseealso\"/>\n        </xsl:variable>\n        <xsl:call-template name=\"substitute-markup\">\n          <xsl:with-param name=\"template\" select=\"$template\"/>\n          <xsl:with-param name=\"title\" select=\"$title\"/>\n        </xsl:call-template>\n      </p>\n    </xsl:if>\n  </dd>\n</xsl:template>\n\n<xsl:template match=\"glossseealso\">\n  <xsl:variable name=\"otherterm\" select=\"@otherterm\"/>\n  <xsl:variable name=\"targets\" select=\"key('id', $otherterm)\"/>\n  <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n  <xsl:variable name=\"xlink\" select=\"@xlink:href\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$target\">\n      <a>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:attribute name=\"href\">\n          <xsl:call-template name=\"href.target\">\n            <xsl:with-param name=\"object\" select=\"$target\"/>\n          </xsl:call-template>\n        </xsl:attribute>\n        <xsl:apply-templates select=\"$target\" mode=\"xref-to\"/>\n      </a>\n    </xsl:when>\n    <xsl:when test=\"$xlink\">\n      <xsl:call-template name=\"simple.xlink\">\n        <xsl:with-param name=\"content\">\n          <xsl:apply-templates/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"$otherterm != '' and not($target)\">\n      <xsl:message>\n        <xsl:text>Warning: glossseealso @otherterm reference not found: </xsl:text>\n        <xsl:value-of select=\"$otherterm\"/>\n      </xsl:message>\n      <xsl:apply-templates/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates/>\n    </xsl:otherwise>\n  </xsl:choose>\n\n  <xsl:choose>\n    <xsl:when test=\"position() = last()\"/>\n    <xsl:otherwise>\n\t\t<xsl:call-template name=\"gentext.template\">\n\t\t  <xsl:with-param name=\"context\" select=\"'glossary'\"/>\n\t\t  <xsl:with-param name=\"name\" select=\"'seealso-separator'\"/>\n\t\t</xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<!-- Glossary collection -->\n\n<xsl:template match=\"glossary[@role='auto']\" priority=\"2\">\n  \n<xsl:variable name=\"language\">\n  <xsl:call-template name=\"l10n.language\"/>\n</xsl:variable>\n\n<xsl:variable name=\"lowercase\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\">normalize.sort.input</xsl:with-param>\n  </xsl:call-template>\n</xsl:variable>\n\n<xsl:variable name=\"uppercase\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\">normalize.sort.output</xsl:with-param>\n  </xsl:call-template>\n</xsl:variable>\n\n  <xsl:variable name=\"terms\" select=\"//glossterm[not(parent::glossdef)]|//firstterm\"/>\n  <xsl:variable name=\"collection\" select=\"document($glossary.collection, .)\"/>\n\n  <xsl:call-template name=\"id.warning\"/>\n\n  <xsl:if test=\"$glossary.collection = ''\">\n    <xsl:message>\n      <xsl:text>Warning: processing automatic glossary </xsl:text>\n      <xsl:text>without a glossary.collection file.</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n  <xsl:if test=\"not($collection) and $glossary.collection != ''\">\n    <xsl:message>\n      <xsl:text>Warning: processing automatic glossary but unable to </xsl:text>\n      <xsl:text>open glossary.collection file '</xsl:text>\n      <xsl:value-of select=\"$glossary.collection\"/>\n      <xsl:text>'</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n\n    <xsl:call-template name=\"glossary.titlepage\"/>\n\n    <xsl:choose>\n      <xsl:when test=\"glossdiv and $collection//glossdiv\">\n        <xsl:for-each select=\"$collection//glossdiv\">\n          <!-- first see if there are any in this div -->\n          <xsl:variable name=\"exist.test\">\n            <xsl:for-each select=\"glossentry\">\n              <xsl:variable name=\"cterm\" select=\"glossterm\"/>\n              <xsl:if test=\"$terms[@baseform = $cterm or . = $cterm]\">\n                <xsl:value-of select=\"glossterm\"/>\n              </xsl:if>\n            </xsl:for-each>\n          </xsl:variable>\n\n          <xsl:if test=\"$exist.test != ''\">\n            <xsl:apply-templates select=\".\" mode=\"auto-glossary\">\n              <xsl:with-param name=\"terms\" select=\"$terms\"/>\n            </xsl:apply-templates>\n          </xsl:if>\n        </xsl:for-each>\n      </xsl:when>\n      <xsl:otherwise>\n        <dl>\n          <xsl:choose>\n            <xsl:when test=\"$glossary.sort != 0\">\n              <xsl:for-each select=\"$collection//glossentry\">\n\t\t\t\t<xsl:sort lang=\"{$language}\" select=\"normalize-space(translate(concat(@sortas, glossterm[not(parent::glossentry/@sortas) or parent::glossentry/@sortas = '']), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'))\"/>\n                <xsl:variable name=\"cterm\" select=\"glossterm\"/>\n                <xsl:if test=\"$terms[@baseform = $cterm or . = $cterm]\">\n                  <xsl:apply-templates select=\".\" mode=\"auto-glossary\"/>\n                </xsl:if>\n              </xsl:for-each>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:for-each select=\"$collection//glossentry\">\n                <xsl:variable name=\"cterm\" select=\"glossterm\"/>\n                <xsl:if test=\"$terms[@baseform = $cterm or . = $cterm]\">\n                  <xsl:apply-templates select=\".\" mode=\"auto-glossary\"/>\n                </xsl:if>\n              </xsl:for-each>\n            </xsl:otherwise>\n          </xsl:choose>\n        </dl>\n      </xsl:otherwise>\n    </xsl:choose>\n\n    <xsl:if test=\"not(parent::article)\">\n      <xsl:call-template name=\"process.footnotes\"/>\n    </xsl:if>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"auto-glossary\">\n  <!-- pop back out to the default mode for most elements -->\n  <xsl:apply-templates select=\".\"/>\n</xsl:template>\n\n<xsl:template match=\"glossdiv\" mode=\"auto-glossary\">\n  <xsl:param name=\"terms\" select=\".\"/>\n\n  \n<xsl:variable name=\"language\">\n  <xsl:call-template name=\"l10n.language\"/>\n</xsl:variable>\n\n<xsl:variable name=\"lowercase\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\">normalize.sort.input</xsl:with-param>\n  </xsl:call-template>\n</xsl:variable>\n\n<xsl:variable name=\"uppercase\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\">normalize.sort.output</xsl:with-param>\n  </xsl:call-template>\n</xsl:variable>\n\n\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:apply-templates select=\"(glossentry[1]/preceding-sibling::*)\"/>\n\n    <dl>\n      <xsl:choose>\n        <xsl:when test=\"$glossary.sort != 0\">\n          <xsl:for-each select=\"glossentry\">\n\t\t\t\t<xsl:sort lang=\"{$language}\" select=\"normalize-space(translate(concat(@sortas, glossterm[not(parent::glossentry/@sortas) or parent::glossentry/@sortas = '']), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'))\"/>\n            <xsl:variable name=\"cterm\" select=\"glossterm\"/>\n            <xsl:if test=\"$terms[@baseform = $cterm or . = $cterm]\">\n              <xsl:apply-templates select=\".\" mode=\"auto-glossary\"/>\n            </xsl:if>\n          </xsl:for-each>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:for-each select=\"glossentry\">\n            <xsl:variable name=\"cterm\" select=\"glossterm\"/>\n            <xsl:if test=\"$terms[@baseform = $cterm or . = $cterm]\">\n              <xsl:apply-templates select=\".\" mode=\"auto-glossary\"/>\n            </xsl:if>\n          </xsl:for-each>\n        </xsl:otherwise>\n      </xsl:choose>\n    </dl>\n  </div>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n</xsl:stylesheet>"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/graphics.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?><!--This file was created automatically by html2xhtml--><!--from the HTML stylesheets.--><xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:stext=\"http://nwalsh.com/xslt/ext/com.nwalsh.saxon.TextFactory\" xmlns:simg=\"http://nwalsh.com/xslt/ext/com.nwalsh.saxon.ImageIntrinsics\" xmlns:ximg=\"xalan://com.nwalsh.xalan.ImageIntrinsics\" xmlns:xtext=\"xalan://com.nwalsh.xalan.Text\" xmlns:lxslt=\"http://xml.apache.org/xslt\" xmlns=\"http://www.w3.org/1999/xhtml\" exclude-result-prefixes=\"xlink stext xtext lxslt simg ximg\" extension-element-prefixes=\"stext xtext\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: graphics.xsl 9710 2013-01-22 19:34:18Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     Contributors:\n     Colin Paul Adams, <colin@colina.demon.co.uk>\n\n     ******************************************************************** -->\n\n<lxslt:component prefix=\"xtext\" elements=\"insertfile\"/>\n<lxslt:component prefix=\"ximg\" functions=\"new getWidth getDepth\"/>\n\n<!-- ==================================================================== -->\n<!-- Graphic format tests for the HTML backend -->\n\n<xsl:template name=\"is.graphic.format\">\n  <xsl:param name=\"format\"/>\n  <xsl:if test=\"$format = 'SVG'                 or $format = 'PNG'                 or $format = 'JPG'                 or $format = 'JPEG'                 or $format = 'linespecific'                 or $format = 'GIF'                 or $format = 'GIF87a'                 or $format = 'GIF89a'                 or $format = 'BMP'\">1</xsl:if>\n</xsl:template>\n\n<xsl:template name=\"is.graphic.extension\">\n  <xsl:param name=\"ext\"/>\n  <xsl:variable name=\"lcext\" select=\"translate($ext,                                        'ABCDEFGHIJKLMNOPQRSTUVWXYZ',                                        'abcdefghijklmnopqrstuvwxyz')\"/>\n  <xsl:if test=\"$lcext = 'svg'              or $lcext = 'png'              or $lcext = 'jpeg'              or $lcext = 'jpg'              or $lcext = 'avi'              or $lcext = 'mpg'              or $lcext = 'mp4'              or $lcext = 'mpeg'              or $lcext = 'qt'              or $lcext = 'gif'              or $lcext = 'acc'              or $lcext = 'mp1'              or $lcext = 'mp2'              or $lcext = 'mp3'              or $lcext = 'mp4'              or $lcext = 'm4v'              or $lcext = 'm4a'              or $lcext = 'wav'              or $lcext = 'ogv'              or $lcext = 'ogg'              or $lcext = 'webm'              or $lcext = 'bmp'\">1</xsl:if>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"screenshot\">\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:apply-templates/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"screenshot/title\">\n  <xsl:call-template name=\"formal.object.heading\">\n    <xsl:with-param name=\"object\" select=\"..\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"screeninfo\">\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"process.image\">\n  <!-- When this template is called, the current node should be  -->\n  <!-- a graphic, inlinegraphic, imagedata, or videodata. All    -->\n  <!-- those elements have the same set of attributes, so we can -->\n  <!-- handle them all in one place.                             -->\n  <xsl:param name=\"tag\" select=\"'img'\"/>\n  <xsl:param name=\"alt\"/>\n  <xsl:param name=\"longdesc\"/>\n\n  <!-- The HTML img element only supports the notion of content-area\n       scaling; it doesn't support the distinction between a\n       content-area and a viewport-area, so we have to make some\n       compromises.\n\n       1. If only the content-area is specified, everything is fine.\n          (If you ask for a three inch image, that's what you'll get.)\n\n       2. If only the viewport-area is provided:\n          - If scalefit=1, treat it as both the content-area and\n            the viewport-area. (If you ask for an image in a five inch\n            area, we'll make the image five inches to fill that area.)\n          - If scalefit=0, ignore the viewport-area specification.\n\n          Note: this is not quite the right semantic and has the additional\n          problem that it can result in anamorphic scaling, which scalefit\n          should never cause.\n\n       3. If both the content-area and the viewport-area is specified\n          on a graphic element, ignore the viewport-area.\n          (If you ask for a three inch image in a five inch area, we'll assume\n           it's better to give you a three inch image in an unspecified area\n           than a five inch image in a five inch area.\n\n       Relative units also cause problems. As a general rule, the stylesheets\n       are operating too early and too loosely coupled with the rendering engine\n       to know things like the current font size or the actual dimensions of\n       an image. Therefore:\n\n       1. We use a fixed size for pixels, $pixels.per.inch\n\n       2. We use a fixed size for \"em\"s, $points.per.em\n\n       Percentages are problematic. In the following discussion, we speak\n       of width and contentwidth, but the same issues apply to depth and\n       contentdepth\n\n       1. A width of 50% means \"half of the available space for the image.\"\n          That's fine. But note that in HTML, this is a dynamic property and\n          the image size will vary if the browser window is resized.\n\n       2. A contentwidth of 50% means \"half of the actual image width\". But\n          the stylesheets have no way to assess the image's actual size. Treating\n          this as a width of 50% is one possibility, but it produces behavior\n          (dynamic scaling) that seems entirely out of character with the\n          meaning.\n\n          Instead, the stylesheets define a $nominal.image.width\n          and convert percentages to actual values based on that nominal size.\n\n       Scale can be problematic. Scale applies to the contentwidth, so\n       a scale of 50 when a contentwidth is not specified is analagous to a\n       width of 50%. (If a contentwidth is specified, the scaling factor can\n       be applied to that value and no problem exists.)\n\n       If scale is specified but contentwidth is not supplied, the\n       nominal.image.width is used to calculate a base size\n       for scaling.\n\n       Warning: as a consequence of these decisions, unless the aspect ratio\n       of your image happens to be exactly the same as (nominal width / nominal height),\n       specifying contentwidth=\"50%\" and contentdepth=\"50%\" is NOT going to\n       scale the way you expect (or really, the way it should).\n\n       Don't do that. In fact, a percentage value is not recommended for content\n       size at all. Use scale instead.\n\n       Finally, align and valign are troublesome. Horizontal alignment is now\n       supported by wrapping the image in a <div align=\"{@align}\"> (in block\n       contexts!). I can't think of anything (practical) to do about vertical\n       alignment.\n  -->\n\n  <xsl:variable name=\"width-units\">\n    <xsl:choose>\n      <xsl:when test=\"$ignore.image.scaling != 0\"/>\n      <xsl:when test=\"@width\">\n        <xsl:call-template name=\"length-units\">\n          <xsl:with-param name=\"length\" select=\"@width\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:when test=\"not(@depth) and $default.image.width != ''\">\n        <xsl:call-template name=\"length-units\">\n          <xsl:with-param name=\"length\" select=\"$default.image.width\"/>\n        </xsl:call-template>\n      </xsl:when>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"width\">\n    <xsl:choose>\n      <xsl:when test=\"$ignore.image.scaling != 0\"/>\n      <xsl:when test=\"@width\">\n        <xsl:choose>\n          <xsl:when test=\"$width-units = '%'\">\n            <xsl:value-of select=\"@width\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:call-template name=\"length-spec\">\n              <xsl:with-param name=\"length\" select=\"@width\"/>\n            </xsl:call-template>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n      <xsl:when test=\"not(@depth) and $default.image.width != ''\">\n        <xsl:value-of select=\"$default.image.width\"/>\n      </xsl:when>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"scalefit\">\n    <xsl:choose>\n      <xsl:when test=\"$ignore.image.scaling != 0\">0</xsl:when>\n      <xsl:when test=\"@contentwidth or @contentdepth\">0</xsl:when>\n      <xsl:when test=\"@scale\">0</xsl:when>\n      <xsl:when test=\"@scalefit\"><xsl:value-of select=\"@scalefit\"/></xsl:when>\n      <xsl:when test=\"$width != '' or @depth\">1</xsl:when>\n      <xsl:otherwise>0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"scale\">\n    <xsl:choose>\n      <xsl:when test=\"$ignore.image.scaling != 0\">1.0</xsl:when>\n      <xsl:when test=\"@contentwidth or @contentdepth\">1.0</xsl:when>\n      <xsl:when test=\"@scale\">\n        <xsl:value-of select=\"@scale div 100.0\"/>\n      </xsl:when>\n      <xsl:otherwise>1.0</xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"filename\">\n    <xsl:choose>\n      <xsl:when test=\"local-name(.) = 'graphic'                       or local-name(.) = 'inlinegraphic'\">\n        <!-- handle legacy graphic and inlinegraphic by new template --> \n        <xsl:call-template name=\"mediaobject.filename\">\n          <xsl:with-param name=\"object\" select=\".\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <!-- imagedata, videodata, audiodata -->\n        <xsl:call-template name=\"mediaobject.filename\">\n          <xsl:with-param name=\"object\" select=\"..\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"output_filename\">\n    <xsl:choose>\n      <xsl:when test=\"@entityref\">\n        <xsl:value-of select=\"$filename\"/>\n      </xsl:when>\n      <!--\n        Moved test for $keep.relative.image.uris to template below:\n            <xsl:template match=\"@fileref\">\n      -->\n      <xsl:otherwise>\n        <xsl:value-of select=\"$filename\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"img.src.path.pi\">\n    <xsl:call-template name=\"pi.dbhtml_img.src.path\">\n      <xsl:with-param name=\"node\" select=\"..\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"filename.for.graphicsize\">\n    <xsl:choose>\n      <xsl:when test=\"$img.src.path.pi != ''\">\n        <xsl:value-of select=\"concat($img.src.path.pi, $filename)\"/>\n      </xsl:when>\n      <xsl:when test=\"$img.src.path != '' and                       $graphicsize.use.img.src.path != 0 and                       $tag = 'img' and                       not(starts-with($filename, '/')) and                       not(contains($filename, '://'))\">\n        <xsl:value-of select=\"concat($img.src.path, $filename)\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$filename\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"realintrinsicwidth\">\n    <!-- This funny compound test works around a bug in XSLTC -->\n    <xsl:choose>\n      <xsl:when test=\"$use.extensions != 0 and $graphicsize.extension != 0                       and not(@format='SVG')\">\n        <xsl:choose>\n          <xsl:when test=\"function-available('simg:getWidth')\">\n            <xsl:value-of select=\"simg:getWidth(simg:new($filename.for.graphicsize),                                                 $nominal.image.width)\"/>\n          </xsl:when>\n          <xsl:when test=\"function-available('ximg:getWidth')\">\n            <xsl:value-of select=\"ximg:getWidth(ximg:new($filename.for.graphicsize),                                                 $nominal.image.width)\"/>\n          </xsl:when>\n          <xsl:otherwise>\n           <xsl:value-of select=\"0\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"0\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"intrinsicwidth\">\n    <xsl:choose>\n      <xsl:when test=\"$realintrinsicwidth = 0\">\n       <xsl:value-of select=\"$nominal.image.width\"/>\n      </xsl:when>\n      <xsl:otherwise>\n       <xsl:value-of select=\"$realintrinsicwidth\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"intrinsicdepth\">\n    <!-- This funny compound test works around a bug in XSLTC -->\n    <xsl:choose>\n      <xsl:when test=\"$use.extensions != 0 and $graphicsize.extension != 0                       and not(@format='SVG')\">\n        <xsl:choose>\n          <xsl:when test=\"function-available('simg:getDepth')\">\n            <xsl:value-of select=\"simg:getDepth(simg:new($filename.for.graphicsize),                                                 $nominal.image.depth)\"/>\n          </xsl:when>\n          <xsl:when test=\"function-available('ximg:getDepth')\">\n            <xsl:value-of select=\"ximg:getDepth(ximg:new($filename.for.graphicsize),                                                 $nominal.image.depth)\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"$nominal.image.depth\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$nominal.image.depth\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"contentwidth\">\n    <xsl:choose>\n      <xsl:when test=\"$ignore.image.scaling != 0\"/>\n      <xsl:when test=\"@contentwidth\">\n        <xsl:variable name=\"units\">\n          <xsl:call-template name=\"length-units\">\n            <xsl:with-param name=\"length\" select=\"@contentwidth\"/>\n          </xsl:call-template>\n        </xsl:variable>\n\n        <xsl:choose>\n          <xsl:when test=\"$units = '%'\">\n            <xsl:variable name=\"cmagnitude\">\n              <xsl:call-template name=\"length-magnitude\">\n                <xsl:with-param name=\"length\" select=\"@contentwidth\"/>\n              </xsl:call-template>\n            </xsl:variable>\n            <xsl:value-of select=\"$intrinsicwidth * $cmagnitude div 100.0\"/>\n            <xsl:text>px</xsl:text>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:call-template name=\"length-spec\">\n              <xsl:with-param name=\"length\" select=\"@contentwidth\"/>\n            </xsl:call-template>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$intrinsicwidth\"/>\n        <xsl:text>px</xsl:text>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"scaled.contentwidth\">\n    <xsl:if test=\"$contentwidth != ''\">\n      <xsl:variable name=\"cwidth.in.points\">\n        <xsl:call-template name=\"length-in-points\">\n          <xsl:with-param name=\"length\" select=\"$contentwidth\"/>\n          <xsl:with-param name=\"pixels.per.inch\" select=\"$pixels.per.inch\"/>\n          <xsl:with-param name=\"em.size\" select=\"$points.per.em\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:value-of select=\"round($cwidth.in.points div 72.0 * $pixels.per.inch * $scale)\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"html.width\">\n    <xsl:choose>\n      <xsl:when test=\"$ignore.image.scaling != 0\"/>\n      <xsl:when test=\"$width-units = '%'\">\n        <xsl:value-of select=\"$width\"/>\n      </xsl:when>\n      <xsl:when test=\"$width != ''\">\n        <xsl:variable name=\"width.in.points\">\n          <xsl:call-template name=\"length-in-points\">\n            <xsl:with-param name=\"length\" select=\"$width\"/>\n            <xsl:with-param name=\"pixels.per.inch\" select=\"$pixels.per.inch\"/>\n            <xsl:with-param name=\"em.size\" select=\"$points.per.em\"/>\n          </xsl:call-template>\n        </xsl:variable>\n        <xsl:value-of select=\"round($width.in.points div 72.0 * $pixels.per.inch)\"/>\n      </xsl:when>\n      <xsl:otherwise/>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"contentdepth\">\n    <xsl:choose>\n      <xsl:when test=\"$ignore.image.scaling != 0\"/>\n      <xsl:when test=\"@contentdepth\">\n        <xsl:variable name=\"units\">\n          <xsl:call-template name=\"length-units\">\n            <xsl:with-param name=\"length\" select=\"@contentdepth\"/>\n          </xsl:call-template>\n        </xsl:variable>\n\n        <xsl:choose>\n          <xsl:when test=\"$units = '%'\">\n            <xsl:variable name=\"cmagnitude\">\n              <xsl:call-template name=\"length-magnitude\">\n                <xsl:with-param name=\"length\" select=\"@contentdepth\"/>\n              </xsl:call-template>\n            </xsl:variable>\n            <xsl:value-of select=\"$intrinsicdepth * $cmagnitude div 100.0\"/>\n            <xsl:text>px</xsl:text>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:call-template name=\"length-spec\">\n              <xsl:with-param name=\"length\" select=\"@contentdepth\"/>\n            </xsl:call-template>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$intrinsicdepth\"/>\n        <xsl:text>px</xsl:text>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"scaled.contentdepth\">\n    <xsl:if test=\"$contentdepth != ''\">\n      <xsl:variable name=\"cdepth.in.points\">\n        <xsl:call-template name=\"length-in-points\">\n          <xsl:with-param name=\"length\" select=\"$contentdepth\"/>\n          <xsl:with-param name=\"pixels.per.inch\" select=\"$pixels.per.inch\"/>\n          <xsl:with-param name=\"em.size\" select=\"$points.per.em\"/>\n        </xsl:call-template>\n      </xsl:variable>\n      <xsl:value-of select=\"round($cdepth.in.points div 72.0 * $pixels.per.inch * $scale)\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"depth-units\">\n    <xsl:if test=\"@depth\">\n      <xsl:call-template name=\"length-units\">\n        <xsl:with-param name=\"length\" select=\"@depth\"/>\n      </xsl:call-template>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"depth\">\n    <xsl:if test=\"@depth\">\n      <xsl:choose>\n        <xsl:when test=\"$depth-units = '%'\">\n          <xsl:value-of select=\"@depth\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"length-spec\">\n            <xsl:with-param name=\"length\" select=\"@depth\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"html.depth\">\n    <xsl:choose>\n      <xsl:when test=\"$ignore.image.scaling != 0\"/>\n      <xsl:when test=\"$depth-units = '%'\">\n        <xsl:value-of select=\"$depth\"/>\n      </xsl:when>\n      <xsl:when test=\"@depth and @depth != ''\">\n        <xsl:variable name=\"depth.in.points\">\n          <xsl:call-template name=\"length-in-points\">\n            <xsl:with-param name=\"length\" select=\"$depth\"/>\n            <xsl:with-param name=\"pixels.per.inch\" select=\"$pixels.per.inch\"/>\n            <xsl:with-param name=\"em.size\" select=\"$points.per.em\"/>\n          </xsl:call-template>\n        </xsl:variable>\n        <xsl:value-of select=\"round($depth.in.points div 72.0 * $pixels.per.inch)\"/>\n      </xsl:when>\n      <xsl:otherwise/>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"viewport\">\n    <xsl:choose>\n      <xsl:when test=\"$ignore.image.scaling != 0\">0</xsl:when>\n      <xsl:when test=\"local-name(.) = 'inlinegraphic'                       or ancestor::inlinemediaobject                       or ancestor::inlineequation\">0</xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$make.graphic.viewport\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n<!--\n  <xsl:message>=====================================\nscale: <xsl:value-of select=\"$scale\"/>, <xsl:value-of select=\"$scalefit\"/>\n@contentwidth <xsl:value-of select=\"@contentwidth\"/>\n$contentwidth <xsl:value-of select=\"$contentwidth\"/>\nscaled.contentwidth: <xsl:value-of select=\"$scaled.contentwidth\"/>\n@width: <xsl:value-of select=\"@width\"/>\nwidth: <xsl:value-of select=\"$width\"/>\nhtml.width: <xsl:value-of select=\"$html.width\"/>\n@contentdepth <xsl:value-of select=\"@contentdepth\"/>\n$contentdepth <xsl:value-of select=\"$contentdepth\"/>\nscaled.contentdepth: <xsl:value-of select=\"$scaled.contentdepth\"/>\n@depth: <xsl:value-of select=\"@depth\"/>\ndepth: <xsl:value-of select=\"$depth\"/>\nhtml.depth: <xsl:value-of select=\"$html.depth\"/>\nalign: <xsl:value-of select=\"@align\"/>\nvalign: <xsl:value-of select=\"@valign\"/></xsl:message>\n-->\n\n  <xsl:variable name=\"scaled\" select=\"@width|@depth|@contentwidth|@contentdepth                         |@scale|@scalefit\"/>\n\n  <xsl:variable name=\"img\">\n    <xsl:choose>\n      <xsl:when test=\"@format = 'SVG'\">\n        <object type=\"image/svg+xml\">\n\t  <xsl:attribute name=\"data\">\n\t    <xsl:choose>\n\t      <xsl:when test=\"$img.src.path != '' and                            $tag = 'img' and       not(starts-with($output_filename, '/')) and       not(contains($output_filename, '://'))\">\n\t\t<xsl:value-of select=\"$img.src.path\"/>\n\t      </xsl:when>\n           </xsl:choose>\n\t   <xsl:value-of select=\"$output_filename\"/>\n\t  </xsl:attribute>\n\t  <xsl:call-template name=\"process.image.attributes\">\n            <!--xsl:with-param name=\"alt\" select=\"$alt\"/ there's no alt here-->\n            <xsl:with-param name=\"html.depth\" select=\"$html.depth\"/>\n            <xsl:with-param name=\"html.width\" select=\"$html.width\"/>\n            <xsl:with-param name=\"longdesc\" select=\"$longdesc\"/>\n            <xsl:with-param name=\"scale\" select=\"$scale\"/>\n            <xsl:with-param name=\"scalefit\" select=\"$scalefit\"/>\n            <xsl:with-param name=\"scaled.contentdepth\" select=\"$scaled.contentdepth\"/>\n            <xsl:with-param name=\"scaled.contentwidth\" select=\"$scaled.contentwidth\"/>\n            <xsl:with-param name=\"viewport\" select=\"$viewport\"/>\n          </xsl:call-template>\n          <xsl:if test=\"@align\">\n            <xsl:attribute name=\"style\"><xsl:text>text-align: </xsl:text>\n                <xsl:choose>\n                  <xsl:when test=\"@align = 'center'\">middle</xsl:when>\n                  <xsl:otherwise>\n                    <xsl:value-of select=\"@align\"/>\n                  </xsl:otherwise>\n                </xsl:choose>\n            </xsl:attribute>\n          </xsl:if>\n          <xsl:if test=\"$use.embed.for.svg != 0\">\n\t    <embed type=\"image/svg+xml\">\n\t      <xsl:attribute name=\"src\">\n\t\t<xsl:choose>\n                  <xsl:when test=\"$img.src.path != '' and       $tag = 'img' and       not(starts-with($output_filename, '/')) and       not(contains($output_filename, '://'))\">\n\t\t    <xsl:value-of select=\"$img.src.path\"/>\n                  </xsl:when>\n\t\t</xsl:choose>\n\t\t<xsl:value-of select=\"$output_filename\"/>\n              </xsl:attribute>\n              <xsl:call-template name=\"process.image.attributes\">\n                <!--xsl:with-param name=\"alt\" select=\"$alt\"/ there's no alt here -->\n                <xsl:with-param name=\"html.depth\" select=\"$html.depth\"/>\n                <xsl:with-param name=\"html.width\" select=\"$html.width\"/>\n                <xsl:with-param name=\"longdesc\" select=\"$longdesc\"/>\n                <xsl:with-param name=\"scale\" select=\"$scale\"/>\n                <xsl:with-param name=\"scalefit\" select=\"$scalefit\"/>\n                <xsl:with-param name=\"scaled.contentdepth\" select=\"$scaled.contentdepth\"/>\n                <xsl:with-param name=\"scaled.contentwidth\" select=\"$scaled.contentwidth\"/>\n                <xsl:with-param name=\"viewport\" select=\"$viewport\"/>\n              </xsl:call-template>\n            </embed>\n          </xsl:if>\n        </object>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:element name=\"{$tag}\" namespace=\"http://www.w3.org/1999/xhtml\">\n         <xsl:if test=\"$tag = 'img' and ../../self::imageobjectco\">\n           <xsl:variable name=\"mapname\">\n             <xsl:call-template name=\"object.id\">\n               <xsl:with-param name=\"object\" select=\"../../areaspec\"/>\n             </xsl:call-template>\n           </xsl:variable>\n           <xsl:choose>\n             <xsl:when test=\"$scaled\">\n              <!-- It might be possible to handle some scaling; needs -->\n              <!-- more investigation -->\n              <xsl:message>\n                <xsl:text>Warning: imagemaps not supported </xsl:text>\n                <xsl:text>on scaled images</xsl:text>\n              </xsl:message>\n             </xsl:when>\n             <xsl:otherwise>\n              <xsl:attribute name=\"border\">0</xsl:attribute>\n              <xsl:attribute name=\"usemap\">\n                <xsl:value-of select=\"concat('#', $mapname)\"/>\n              </xsl:attribute>\n             </xsl:otherwise>\n           </xsl:choose>\n         </xsl:if>\n\n          <xsl:attribute name=\"src\">\n           <xsl:choose>\n             <xsl:when test=\"$img.src.path != '' and                            $tag = 'img' and                              not(starts-with($output_filename, '/')) and                            not(contains($output_filename, '://'))\">\n               <xsl:value-of select=\"$img.src.path\"/>\n             </xsl:when>\n           </xsl:choose>\n            <xsl:value-of select=\"$output_filename\"/>\n          </xsl:attribute>\n\n          <xsl:if test=\"@align\">\n            <xsl:attribute name=\"style\"><xsl:text>text-align: </xsl:text>\n              <xsl:choose>\n                <xsl:when test=\"@align = 'center'\">middle</xsl:when>\n                <xsl:otherwise>\n                  <xsl:value-of select=\"@align\"/>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:attribute>\n          </xsl:if>\n\n          <xsl:call-template name=\"process.image.attributes\">\n            <xsl:with-param name=\"alt\">\n              <xsl:choose>\n                <xsl:when test=\"$alt != ''\">\n                  <xsl:copy-of select=\"$alt\"/>\n                </xsl:when>\n                <xsl:when test=\"ancestor::figure\">\n                  <xsl:variable name=\"fig.title\">\n                    <xsl:apply-templates select=\"ancestor::figure/title/node()\"/>\n                  </xsl:variable>\n                  <xsl:value-of select=\"normalize-space($fig.title)\"/>\n                </xsl:when>\n              </xsl:choose>\n            </xsl:with-param>\n            <xsl:with-param name=\"html.depth\" select=\"$html.depth\"/>\n            <xsl:with-param name=\"html.width\" select=\"$html.width\"/>\n            <xsl:with-param name=\"longdesc\" select=\"$longdesc\"/>\n            <xsl:with-param name=\"scale\" select=\"$scale\"/>\n            <xsl:with-param name=\"scalefit\" select=\"$scalefit\"/>\n            <xsl:with-param name=\"scaled.contentdepth\" select=\"$scaled.contentdepth\"/>\n            <xsl:with-param name=\"scaled.contentwidth\" select=\"$scaled.contentwidth\"/>\n            <xsl:with-param name=\"viewport\" select=\"$viewport\"/>\n          </xsl:call-template>\n        </xsl:element>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"bgcolor\">\n    <xsl:call-template name=\"pi.dbhtml_background-color\">\n      <xsl:with-param name=\"node\" select=\"..\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"use.viewport\" select=\"0\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$use.viewport\">\n      <table border=\"{$table.border.off}\">\n        <xsl:if test=\"$div.element != 'section'\">\n          <xsl:attribute name=\"summary\">manufactured viewport for HTML img</xsl:attribute>\n        </xsl:if>\n        <xsl:if test=\"$css.decoration != ''\">\n          <xsl:attribute name=\"style\">cellpadding: 0; cellspacing: 0;</xsl:attribute>\n        </xsl:if>\n        <xsl:if test=\"$html.width != ''\">\n          <xsl:attribute name=\"width\">\n            <xsl:value-of select=\"$html.width\"/>\n          </xsl:attribute>\n        </xsl:if>\n        <tr>\n          <xsl:if test=\"$html.depth != '' and $depth-units != '%'\">\n            <!-- don't do this for percentages because browsers get confused -->\n            <xsl:choose>\n              <xsl:when test=\"$css.decoration != 0\">\n                <xsl:attribute name=\"style\">\n                  <xsl:text>height: </xsl:text>\n                  <xsl:value-of select=\"$html.depth\"/>\n                  <xsl:text>px</xsl:text>\n                </xsl:attribute>\n              </xsl:when>\n              <xsl:otherwise>\n                <xsl:attribute name=\"height\">\n                  <xsl:value-of select=\"$html.depth\"/>\n                </xsl:attribute>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:if>\n          <td>\n            <xsl:if test=\"$bgcolor != ''\">\n              <xsl:choose>\n                <xsl:when test=\"$css.decoration != 0\">\n                  <xsl:attribute name=\"style\">\n                    <xsl:text>background-color: </xsl:text>\n                    <xsl:value-of select=\"$bgcolor\"/>\n                  </xsl:attribute>\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:attribute name=\"style\"><xsl:text>background-color: </xsl:text>\n                    <xsl:value-of select=\"$bgcolor\"/>\n                  </xsl:attribute>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:if>\n            <xsl:if test=\"@align\">\n              <xsl:attribute name=\"style\"><xsl:text>text-align: </xsl:text>\n                <xsl:value-of select=\"@align\"/>\n              </xsl:attribute>\n            </xsl:if>\n            <xsl:if test=\"@valign\">\n              <xsl:attribute name=\"valign\">\n                <xsl:value-of select=\"@valign\"/>\n              </xsl:attribute>\n            </xsl:if>\n            <xsl:copy-of select=\"$img\"/>\n          </td>\n        </tr>\n      </table>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy-of select=\"$img\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n\n  <xsl:if test=\"$tag = 'img' and ../../self::imageobjectco and not($scaled)\">\n    <xsl:variable name=\"mapname\">\n      <xsl:call-template name=\"object.id\">\n        <xsl:with-param name=\"object\" select=\"../../areaspec\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <map name=\"{$mapname}\">\n      <xsl:for-each select=\"../../areaspec//area\">\n        <xsl:variable name=\"units\">\n          <xsl:choose>\n            <xsl:when test=\"@units = 'other' and @otherunits\">\n              <xsl:value-of select=\"@otherunits\"/>\n            </xsl:when>\n            <xsl:when test=\"@units\">\n              <xsl:value-of select=\"@units\"/>\n            </xsl:when>\n            <!-- areaspec|areaset/area -->\n            <xsl:when test=\"../@units = 'other' and ../@otherunits\">\n              <xsl:value-of select=\"../@otherunits\"/>\n            </xsl:when>\n            <xsl:when test=\"../@units\">\n              <xsl:value-of select=\"../@units\"/>\n            </xsl:when>\n            <!-- areaspec/areaset/area -->\n            <xsl:when test=\"../../@units = 'other' and ../../@otherunits\">\n              <xsl:value-of select=\"../@otherunits\"/>\n            </xsl:when>\n            <xsl:when test=\"../../@units\">\n              <xsl:value-of select=\"../../@units\"/>\n            </xsl:when>\n            <xsl:otherwise>calspair</xsl:otherwise>\n          </xsl:choose>\n        </xsl:variable>\n \n        <xsl:choose>\n          <xsl:when test=\"$units = 'calspair' or                           $units = 'imagemap'\">\n            <xsl:variable name=\"coords\" select=\"normalize-space(@coords)\"/>\n\n            <area shape=\"rect\">\n              <xsl:variable name=\"linkends\">\n                <xsl:choose>\n                  <xsl:when test=\"@linkends\">\n                    <xsl:value-of select=\"normalize-space(@linkends)\"/>\n                  </xsl:when>\n                  <xsl:otherwise>\n                    <xsl:value-of select=\"normalize-space(../@linkends)\"/>\n                  </xsl:otherwise>\n                </xsl:choose>\n              </xsl:variable>\n \n              <xsl:variable name=\"href\">\n                <xsl:choose>\n                  <xsl:when test=\"@xlink:href\">\n                    <xsl:value-of select=\"@xlink:href\"/>\n                  </xsl:when>\n                  <xsl:otherwise>\n                    <xsl:value-of select=\"../@xlink:href\"/>\n                  </xsl:otherwise>\n                </xsl:choose>\n              </xsl:variable>\n \n              <xsl:choose>\n                <xsl:when test=\"$linkends != ''\">\n                  <xsl:variable name=\"linkend\">\n                    <xsl:choose>\n                      <xsl:when test=\"contains($linkends, ' ')\">\n                        <xsl:value-of select=\"substring-before($linkends, ' ')\"/>\n                      </xsl:when>\n                      <xsl:otherwise>\n                        <xsl:value-of select=\"$linkends\"/>\n                      </xsl:otherwise>\n                    </xsl:choose>\n                  </xsl:variable>\n                  \n                  <xsl:variable name=\"target\" select=\"key('id', $linkend)[1]\"/>\n                 \n                  <xsl:if test=\"$target\">\n                    <xsl:attribute name=\"href\">\n                      <xsl:call-template name=\"href.target\">\n                        <xsl:with-param name=\"object\" select=\"$target\"/>\n                      </xsl:call-template>\n                    </xsl:attribute>\n                  </xsl:if>\n                </xsl:when>\n                <xsl:when test=\"$href != ''\">\n                  <xsl:attribute name=\"href\">\n                    <xsl:value-of select=\"$href\"/>\n                  </xsl:attribute>\n                </xsl:when>\n              </xsl:choose>\n \n              <xsl:if test=\"alt\">\n                <xsl:attribute name=\"alt\">\n                  <xsl:value-of select=\"alt[1]\"/>\n                </xsl:attribute>\n              </xsl:if>\n \n              <xsl:attribute name=\"coords\">\n                <xsl:choose>\n                  <xsl:when test=\"$units = 'calspair'\">\n\n                    <xsl:variable name=\"p1\" select=\"substring-before($coords, ' ')\"/>\n                    <xsl:variable name=\"p2\" select=\"substring-after($coords, ' ')\"/>\n         \n                    <xsl:variable name=\"x1\" select=\"substring-before($p1,',')\"/>\n                    <xsl:variable name=\"y1\" select=\"substring-after($p1,',')\"/>\n                    <xsl:variable name=\"x2\" select=\"substring-before($p2,',')\"/>\n                    <xsl:variable name=\"y2\" select=\"substring-after($p2,',')\"/>\n         \n                    <xsl:variable name=\"x1p\" select=\"$x1 div 100.0\"/>\n                    <xsl:variable name=\"y1p\" select=\"$y1 div 100.0\"/>\n                    <xsl:variable name=\"x2p\" select=\"$x2 div 100.0\"/>\n                    <xsl:variable name=\"y2p\" select=\"$y2 div 100.0\"/>\n         \n         <!--\n                    <xsl:message>\n                      <xsl:text>units: </xsl:text>\n                      <xsl:value-of select=\"$units\"/>\n                      <xsl:text> </xsl:text>\n                      <xsl:value-of select=\"$x1p\"/><xsl:text>, </xsl:text>\n                      <xsl:value-of select=\"$y1p\"/><xsl:text>, </xsl:text>\n                      <xsl:value-of select=\"$x2p\"/><xsl:text>, </xsl:text>\n                      <xsl:value-of select=\"$y2p\"/><xsl:text>, </xsl:text>\n                    </xsl:message>\n         \n                    <xsl:message>\n                      <xsl:text>      </xsl:text>\n                      <xsl:value-of select=\"$intrinsicwidth\"/>\n                      <xsl:text>, </xsl:text>\n                      <xsl:value-of select=\"$intrinsicdepth\"/>\n                    </xsl:message>\n         \n                    <xsl:message>\n                      <xsl:text>      </xsl:text>\n                      <xsl:value-of select=\"$units\"/>\n                      <xsl:text> </xsl:text>\n                      <xsl:value-of \n                            select=\"round($x1p * $intrinsicwidth div 100.0)\"/>\n                      <xsl:text>,</xsl:text>\n                      <xsl:value-of select=\"round($intrinsicdepth\n                                       - ($y2p * $intrinsicdepth div 100.0))\"/>\n                      <xsl:text>,</xsl:text>\n                      <xsl:value-of select=\"round($x2p * \n                                            $intrinsicwidth div 100.0)\"/>\n                      <xsl:text>,</xsl:text>\n                      <xsl:value-of select=\"round($intrinsicdepth\n                                       - ($y1p * $intrinsicdepth div 100.0))\"/>\n                    </xsl:message>\n         -->\n                    <xsl:value-of select=\"round($x1p * $intrinsicwidth div 100.0)\"/>\n                    <xsl:text>,</xsl:text>\n                    <xsl:value-of select=\"round($intrinsicdepth                                         - ($y2p * $intrinsicdepth div 100.0))\"/>\n                    <xsl:text>,</xsl:text>\n                    <xsl:value-of select=\"round($x2p * $intrinsicwidth div 100.0)\"/>\n                    <xsl:text>,</xsl:text>\n                    <xsl:value-of select=\"round($intrinsicdepth                                       - ($y1p * $intrinsicdepth div 100.0))\"/>\n                  </xsl:when>\n                  <xsl:otherwise>\n                    <xsl:copy-of select=\"$coords\"/>\n                  </xsl:otherwise>\n                </xsl:choose>\n              </xsl:attribute>\n            </area>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:message>\n              <xsl:text>Warning: only calspair or </xsl:text>\n              <xsl:text>otherunits='imagemap' supported </xsl:text>\n              <xsl:text>in imageobjectco</xsl:text>\n            </xsl:message>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:for-each>\n    </map>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"process.image.attributes\">\n  <xsl:param name=\"alt\"/>\n  <xsl:param name=\"html.width\"/>\n  <xsl:param name=\"html.depth\"/>\n  <xsl:param name=\"longdesc\"/>\n  <xsl:param name=\"scale\"/>\n  <xsl:param name=\"scalefit\"/>\n  <xsl:param name=\"scaled.contentdepth\"/>\n  <xsl:param name=\"scaled.contentwidth\"/>\n  <xsl:param name=\"viewport\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"@contentwidth or @contentdepth\">\n      <!-- ignore @width/@depth, @scale, and @scalefit if specified -->\n      <xsl:if test=\"@contentwidth and $scaled.contentwidth != ''\">\n        <xsl:attribute name=\"width\">\n          <xsl:value-of select=\"$scaled.contentwidth\"/>\n        </xsl:attribute>\n      </xsl:if>\n      <xsl:if test=\"@contentdepth and $scaled.contentdepth != ''\">\n        <xsl:attribute name=\"height\">\n          <xsl:value-of select=\"$scaled.contentdepth\"/>\n        </xsl:attribute>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"number($scale) != 1.0\">\n      <!-- scaling is always uniform, so we only have to specify one dimension -->\n      <!-- ignore @scalefit if specified -->\n      <xsl:attribute name=\"width\">\n        <xsl:value-of select=\"$scaled.contentwidth\"/>\n      </xsl:attribute>\n    </xsl:when>\n\n    <xsl:when test=\"$scalefit != 0\">\n      <xsl:choose>\n        <xsl:when test=\"contains($html.width, '%')\">\n          <xsl:choose>\n            <xsl:when test=\"$viewport != 0\">\n              <!-- The *viewport* will be scaled, so use 100% here! -->\n              <xsl:attribute name=\"width\">\n                <xsl:value-of select=\"'100%'\"/>\n              </xsl:attribute>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:attribute name=\"width\">\n                <xsl:value-of select=\"$html.width\"/>\n              </xsl:attribute>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n\n        <xsl:when test=\"contains($html.depth, '%')\">\n          <!-- HTML doesn't deal with this case very well...do nothing -->\n        </xsl:when>\n\n        <xsl:when test=\"$scaled.contentwidth != '' and $html.width != ''                         and $scaled.contentdepth != '' and $html.depth != ''\">\n          <!-- scalefit should not be anamorphic; figure out which direction -->\n          <!-- has the limiting scale factor and scale in that direction -->\n          <xsl:choose>\n            <xsl:when test=\"$html.width div $scaled.contentwidth &gt;                             $html.depth div $scaled.contentdepth\">\n              <xsl:attribute name=\"height\">\n                <xsl:value-of select=\"$html.depth\"/>\n              </xsl:attribute>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:attribute name=\"width\">\n                <xsl:value-of select=\"$html.width\"/>\n              </xsl:attribute>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n\n        <xsl:when test=\"$scaled.contentwidth != '' and $html.width != ''\">\n          <xsl:attribute name=\"width\">\n            <xsl:value-of select=\"$html.width\"/>\n          </xsl:attribute>\n        </xsl:when>\n\n        <xsl:when test=\"$scaled.contentdepth != '' and $html.depth != ''\">\n          <xsl:attribute name=\"height\">\n            <xsl:value-of select=\"$html.depth\"/>\n          </xsl:attribute>\n        </xsl:when>\n      </xsl:choose>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:if test=\"$alt != ''\">\n    <xsl:attribute name=\"alt\">\n      <xsl:value-of select=\"normalize-space($alt)\"/>\n    </xsl:attribute>\n  </xsl:if>\n\n  <!-- Turn off longdesc attribute since not supported by browsers\n  <xsl:if test=\"$longdesc != ''\">\n    <xsl:attribute name=\"longdesc\">\n      <xsl:value-of select=\"$longdesc\"/>\n    </xsl:attribute>\n  </xsl:if>\n  -->\n\n  <xsl:if test=\"@align and $viewport = 0\">\n    <xsl:attribute name=\"style\"><xsl:text>text-align: </xsl:text>\n      <xsl:choose>\n        <xsl:when test=\"@align = 'center'\">middle</xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"@align\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:attribute>\n  </xsl:if>\n\n  <xsl:call-template name=\"extension.process.image.attributes\"/>\n</xsl:template>\n\n<xsl:template name=\"extension.process.image.attributes\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"graphic\">\n  <xsl:choose>\n    <xsl:when test=\"parent::inlineequation\">\n      <span>\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:call-template name=\"anchor\"/>\n        <xsl:call-template name=\"process.image\"/>\n      </span>\n    </xsl:when>\n    <xsl:otherwise>\n      <div>\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:if test=\"@align\">\n          <xsl:attribute name=\"style\"><xsl:text>text-align: </xsl:text>\n            <xsl:value-of select=\"@align\"/>\n          </xsl:attribute>\n        </xsl:if>\n        <xsl:call-template name=\"anchor\"/>\n        <xsl:call-template name=\"process.image\"/>\n      </div>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"inlinegraphic\">\n  <xsl:variable name=\"filename\">\n    <xsl:choose>\n      <xsl:when test=\"@entityref\">\n        <xsl:value-of select=\"unparsed-entity-uri(@entityref)\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:apply-templates select=\"@fileref\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:call-template name=\"anchor\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"@format='linespecific'\">\n      <xsl:choose>\n        <xsl:when test=\"$use.extensions != '0'                         and $textinsert.extension != '0'\">\n          <xsl:choose>\n            <xsl:when test=\"element-available('stext:insertfile')\">\n              <stext:insertfile href=\"{$filename}\" encoding=\"{$textdata.default.encoding}\"/>\n            </xsl:when>\n            <xsl:when test=\"element-available('xtext:insertfile')\">\n              <xtext:insertfile href=\"{$filename}\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:message terminate=\"yes\">\n                <xsl:text>No insertfile extension available.</xsl:text>\n              </xsl:message>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>\n\t  <xsl:message terminate=\"yes\">\n\t    <xsl:text>Cannot insert </xsl:text><xsl:value-of select=\"$filename\"/>\n\t    <xsl:text>. Check use.extensions and textinsert.extension parameters.</xsl:text> \n\t  </xsl:message>\n\t</xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"process.image\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"mediaobject|mediaobjectco\">\n\n  <xsl:variable name=\"olist\" select=\"imageobject|imageobjectco                      |videoobject|audioobject                      |textobject\"/>\n\n  <xsl:variable name=\"object.index\">\n    <xsl:call-template name=\"select.mediaobject.index\">\n      <xsl:with-param name=\"olist\" select=\"$olist\"/>\n      <xsl:with-param name=\"count\" select=\"1\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"object\" select=\"$olist[position() = $object.index]\"/>\n\n  <xsl:variable name=\"align\">\n    <xsl:value-of select=\"$object/descendant::imagedata[@align][1]/@align\"/>\n  </xsl:variable>\n\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:if test=\"$align != '' \">\n      <xsl:attribute name=\"style\"><xsl:text>text-align: </xsl:text>\n        <xsl:value-of select=\"$align\"/>\n      </xsl:attribute>\n    </xsl:if>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n\n    <xsl:apply-templates select=\"$object\"/>\n    <xsl:apply-templates select=\"caption\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"inlinemediaobject\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"select.mediaobject\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"programlisting/inlinemediaobject                      |screen/inlinemediaobject\" priority=\"2\">\n  <!-- the additional span causes problems in some cases -->\n  <xsl:call-template name=\"select.mediaobject\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"imageobjectco\">\n  <xsl:call-template name=\"anchor\"/>\n  <xsl:choose>\n    <!-- select one imageobject? -->\n    <xsl:when test=\"$use.role.for.mediaobject != 0 and                     count(imageobject) &gt; 1 and                     imageobject[@role]\">\n      <xsl:variable name=\"olist\" select=\"imageobject\"/>\n    \n      <xsl:variable name=\"object.index\">\n        <xsl:call-template name=\"select.mediaobject.index\">\n          <xsl:with-param name=\"olist\" select=\"$olist\"/>\n          <xsl:with-param name=\"count\" select=\"1\"/>\n        </xsl:call-template>\n      </xsl:variable>\n    \n      <xsl:variable name=\"object\" select=\"$olist[position() = $object.index]\"/>\n    \n      <xsl:apply-templates select=\"$object\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <!-- otherwise process them all -->\n      <xsl:apply-templates select=\"imageobject\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n\n  <xsl:apply-templates select=\"calloutlist\"/>\n\n</xsl:template>\n\n<xsl:template match=\"imageobject\">\n  <xsl:apply-templates select=\"imagedata\"/>\n</xsl:template>\n\n<xsl:template match=\"imagedata\">\n  <xsl:variable name=\"filename\">\n    <xsl:call-template name=\"mediaobject.filename\">\n      <xsl:with-param name=\"object\" select=\"..\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:choose>\n    <!-- Handle MathML and SVG markup in imagedata -->\n    <xsl:when xmlns:mml=\"http://www.w3.org/1998/Math/MathML\" test=\"mml:*\">\n      <xsl:apply-templates/>\n    </xsl:when>\n    \n    <xsl:when xmlns:svg=\"http://www.w3.org/2000/svg\" test=\"svg:*\">\n      <xsl:apply-templates/>\n    </xsl:when>\n\n    <xsl:when test=\"@format='linespecific'\">\n      <xsl:choose>\n        <xsl:when test=\"$use.extensions != '0'                         and $textinsert.extension != '0'\">\n          <xsl:choose>\n            <xsl:when test=\"element-available('stext:insertfile')\">\n              <stext:insertfile href=\"{$filename}\" encoding=\"{$textdata.default.encoding}\"/>\n            </xsl:when>\n            <xsl:when test=\"element-available('xtext:insertfile')\">\n              <xtext:insertfile href=\"{$filename}\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:message terminate=\"yes\">\n                <xsl:text>No insertfile extension available.</xsl:text>\n              </xsl:message>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>\n          <a xlink:type=\"simple\" xlink:show=\"embed\" xlink:actuate=\"onLoad\" href=\"{$filename}\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:variable name=\"longdesc.uri\">\n        <xsl:call-template name=\"longdesc.uri\">\n          <xsl:with-param name=\"mediaobject\" select=\"ancestor::imageobject/parent::*\"/>\n        </xsl:call-template>\n      </xsl:variable>\n\n      <xsl:variable name=\"phrases\" select=\"ancestor::mediaobject/textobject[phrase]                             |ancestor::inlinemediaobject/textobject[phrase]                             |ancestor::mediaobjectco/textobject[phrase]\"/>\n\n      <xsl:call-template name=\"process.image\">\n        <xsl:with-param name=\"alt\">\n          <xsl:choose>\n            <xsl:when test=\"ancestor::mediaobject/alt\">\n              <xsl:apply-templates select=\"ancestor::mediaobject/alt\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:apply-templates select=\"$phrases[not(@role) or @role!='tex'][1]\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:with-param>\n        <xsl:with-param name=\"longdesc\">\n          <xsl:call-template name=\"write.longdesc\">\n            <xsl:with-param name=\"mediaobject\" select=\"ancestor::imageobject/parent::*\"/>\n          </xsl:call-template>\n        </xsl:with-param>\n      </xsl:call-template>\n\n      <xsl:if test=\"$html.longdesc != 0 and $html.longdesc.link != 0                     and ancestor::imageobject/parent::*/textobject[not(phrase)]\">\n        <xsl:call-template name=\"longdesc.link\">\n          <xsl:with-param name=\"longdesc.uri\" select=\"$longdesc.uri\"/>\n        </xsl:call-template>\n      </xsl:if>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"longdesc.uri\">\n  <xsl:param name=\"mediaobject\" select=\".\"/>\n  <xsl:if test=\"$html.longdesc\">\n    <xsl:if test=\"$mediaobject/textobject[not(phrase)]\">\n      <xsl:variable name=\"dbhtml.dir\">\n        <xsl:call-template name=\"dbhtml-dir\"/>\n      </xsl:variable>\n      <xsl:variable name=\"filename\">\n        <xsl:call-template name=\"make-relative-filename\">\n          <xsl:with-param name=\"base.dir\">\n            <xsl:choose>\n              <xsl:when test=\"$dbhtml.dir != ''\">\n                <xsl:value-of select=\"$dbhtml.dir\"/>\n              </xsl:when>\n              <xsl:otherwise>\n                <xsl:value-of select=\"$chunk.base.dir\"/>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:with-param>\n          <xsl:with-param name=\"base.name\">\n            <xsl:choose>\n              <xsl:when test=\"                 $mediaobject/@*[local-name() = 'id']                 and not($use.id.as.filename = 0)\">\n                <!-- * if this mediaobject has an ID, then we use the -->\n                <!-- * value of that ID as basename for the \"longdesc\" -->\n                <!-- * file (that is, without prepending an \"ld-\" too it) -->\n                <xsl:value-of select=\"$mediaobject/@*[local-name() = 'id']\"/>\n                <xsl:value-of select=\"$html.ext\"/>\n              </xsl:when>\n              <xsl:otherwise>\n                <!-- * otherwise, if this mediaobject does not have an -->\n                <!-- * ID, then we generate an ID... -->\n                <xsl:variable name=\"image-id\">\n                  <xsl:call-template name=\"object.id\">\n                    <xsl:with-param name=\"object\" select=\"$mediaobject\"/>\n                  </xsl:call-template>\n                </xsl:variable>\n                <!-- * ...and then we take that generated ID, prepend an -->\n                <!-- * \"ld-\" to it, and use that as the basename for the file -->\n                <xsl:value-of select=\"concat('ld-',$image-id,$html.ext)\"/>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:with-param>\n        </xsl:call-template>\n      </xsl:variable>\n\n      <xsl:value-of select=\"$filename\"/>\n    </xsl:if>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"write.longdesc\">\n  <xsl:param name=\"mediaobject\" select=\".\"/>\n  <xsl:if test=\"$html.longdesc != 0 and $mediaobject/textobject[not(phrase)]\">\n    <xsl:variable name=\"filename\">\n      <xsl:call-template name=\"longdesc.uri\">\n        <xsl:with-param name=\"mediaobject\" select=\"$mediaobject\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:value-of select=\"$filename\"/>\n\n    <xsl:call-template name=\"write.chunk\">\n      <xsl:with-param name=\"filename\" select=\"$filename\"/>\n      <xsl:with-param name=\"quiet\" select=\"$chunk.quietly\"/>\n      <xsl:with-param name=\"content\">\n      <xsl:call-template name=\"user.preroot\"/>\n        <html>\n          <head>\n            <xsl:call-template name=\"system.head.content\"/>\n            <xsl:call-template name=\"head.content\">\n              <xsl:with-param name=\"title\" select=\"'Long Description'\"/>\n            </xsl:call-template>\n            <xsl:call-template name=\"user.head.content\"/>\n          </head>\n          <body>\n            <xsl:call-template name=\"body.attributes\"/>\n            <xsl:for-each select=\"$mediaobject/textobject[not(phrase)]\">\n              <xsl:apply-templates select=\"./*\"/>\n            </xsl:for-each>\n          </body>\n        </html>\n        <xsl:value-of select=\"$chunk.append\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"longdesc.link\">\n  <xsl:param name=\"longdesc.uri\" select=\"''\"/>\n\n  <xsl:variable name=\"this.uri\">\n    <xsl:call-template name=\"make-relative-filename\">\n      <xsl:with-param name=\"base.dir\" select=\"$chunk.base.dir\"/>\n      <xsl:with-param name=\"base.name\">\n        <xsl:call-template name=\"href.target.uri\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"href.to\">\n    <xsl:call-template name=\"trim.common.uri.paths\">\n      <xsl:with-param name=\"uriA\" select=\"$longdesc.uri\"/>\n      <xsl:with-param name=\"uriB\" select=\"$this.uri\"/>\n      <xsl:with-param name=\"return\" select=\"'A'\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <div class=\"longdesc-link\" align=\"{$direction.align.end}\">\n    <br clear=\"all\"/>\n    <span class=\"longdesc-link\">\n      <xsl:text>[</xsl:text>\n      <a href=\"{$href.to}\" target=\"longdesc\">D</a>\n      <xsl:text>]</xsl:text>\n    </span>\n  </div>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"mediaobject/alt\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"videoobject\">\n  <xsl:apply-templates select=\"videodata\"/>\n</xsl:template>\n\n<xsl:template match=\"videodata\">\n  <xsl:call-template name=\"process.image\">\n    <xsl:with-param name=\"tag\" select=\"'embed'\"/>\n    <xsl:with-param name=\"alt\">\n      <xsl:choose>\n        <xsl:when test=\"ancestor::mediaobject/alt\">\n          <xsl:apply-templates select=\"ancestor::mediaobject/alt\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates select=\"(ancestor::mediaobject/textobject/phrase)[1]\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"audioobject\">\n  <xsl:apply-templates select=\"audiodata\"/>\n</xsl:template>\n\n<xsl:template match=\"audiodata\">\n  <xsl:call-template name=\"process.image\">\n    <xsl:with-param name=\"tag\" select=\"'embed'\"/>\n    <xsl:with-param name=\"alt\">\n      <xsl:choose>\n        <xsl:when test=\"ancestor::mediaobject/alt\">\n          <xsl:apply-templates select=\"ancestor::mediaobject/alt\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates select=\"(ancestor::mediaobject/textobject/phrase)[1]\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"textobject\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"textdata\">\n  <xsl:variable name=\"filename\">\n    <xsl:choose>\n      <xsl:when test=\"@entityref\">\n        <xsl:value-of select=\"unparsed-entity-uri(@entityref)\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:apply-templates select=\"@fileref\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"encoding\">\n    <xsl:choose>\n      <xsl:when test=\"@encoding\">\n        <xsl:value-of select=\"@encoding\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$textdata.default.encoding\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$use.extensions != '0'                     and $textinsert.extension != '0'\">\n      <xsl:choose>\n        <xsl:when test=\"element-available('stext:insertfile')\">\n          <stext:insertfile href=\"{$filename}\" encoding=\"{$encoding}\"/>\n        </xsl:when>\n        <xsl:when test=\"element-available('xtext:insertfile')\">\n          <xtext:insertfile href=\"{$filename}\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:message terminate=\"yes\">\n            <xsl:text>No insertfile extension available.</xsl:text>\n          </xsl:message>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:message terminate=\"yes\">\n\t<xsl:text>Cannot insert </xsl:text><xsl:value-of select=\"$filename\"/>\n\t<xsl:text>. Check use.extensions and textinsert.extension parameters.</xsl:text> \n      </xsl:message>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"caption\">\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:if test=\"@align = 'right' or @align = 'left' or @align='center'\">\n      <xsl:attribute name=\"style\"><xsl:text>text-align: </xsl:text><xsl:value-of select=\"@align\"/></xsl:attribute>\n    </xsl:if>\n    <xsl:apply-templates/>\n  </div>\n</xsl:template>\n\n<!-- ==================================================================== -->\n<!-- \"Support\" for SVG -->\n\n<xsl:template xmlns:svg=\"http://www.w3.org/2000/svg\" match=\"svg:*\">\n  <xsl:copy>\n    <xsl:copy-of select=\"@*\"/>\n    <xsl:apply-templates/>\n  </xsl:copy>\n</xsl:template>\n\n\n<!-- The following works sometimes, but needs to take into account\n             1. When there is no /*/@xml:base\n             2. When the chunks are going somewhere else\n<xsl:variable name=\"relpath\">\n  <xsl:call-template name=\"relative-uri\">\n    <xsl:with-param name=\"filename\" select=\"@fileref\"/>\n  </xsl:call-template>\n</xsl:variable>\n\n<xsl:choose>\n  <xsl:when test=\"/*/@xml:base\n                  and starts-with($relpath,/*/@xml:base)\">\n    <xsl:value-of select=\"substring-after($relpath,/*/@xml:base)\"/>\n  </xsl:when>\n  <xsl:otherwise>\n    <xsl:value-of select=\"@fileref\"/>\n  </xsl:otherwise>\n</xsl:choose>\n<xsl:value-of select=\"@fileref\"/>\n      </xsl:when>\n-->\n<!-- Resolve xml:base attributes -->\n<xsl:template match=\"@fileref\">\n  <!-- need a check for absolute urls -->\n  <xsl:choose>\n    <xsl:when test=\"contains(., ':')\">\n      <!-- it has a uri scheme so it is an absolute uri -->\n      <xsl:value-of select=\".\"/>\n    </xsl:when>\n    <xsl:when test=\"$keep.relative.image.uris != 0\">\n      <!-- leave it alone -->\n      <xsl:value-of select=\".\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <!-- its a relative uri that needs xml:base processing -->\n      <xsl:call-template name=\"relative-uri\">\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n</xsl:stylesheet>"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/highlight.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:xslthl=\"http://xslthl.sf.net\" xmlns=\"http://www.w3.org/1999/xhtml\" exclude-result-prefixes=\"xslthl\" version=\"1.0\">\n  <!-- ********************************************************************\n     $Id: highlight.xsl 8911 2010-09-28 17:02:06Z abdelazer $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     and other information.\n\n     ******************************************************************** -->\n  <xsl:import href=\"../highlighting/common.xsl\"/>\n  <xsl:template match=\"xslthl:keyword\" mode=\"xslthl\">\n    <strong class=\"hl-keyword\">\n      <xsl:apply-templates mode=\"xslthl\"/>\n    </strong>\n  </xsl:template>\n  <xsl:template match=\"xslthl:string\" mode=\"xslthl\">\n    <strong class=\"hl-string\">\n      <em style=\"color:red\">\n        <xsl:apply-templates mode=\"xslthl\"/>\n      </em>\n    </strong>\n  </xsl:template>\n  <xsl:template match=\"xslthl:comment\" mode=\"xslthl\">\n    <em class=\"hl-comment\" style=\"color: silver\">\n      <xsl:apply-templates mode=\"xslthl\"/>\n    </em>\n  </xsl:template>\n  <xsl:template match=\"xslthl:directive\" mode=\"xslthl\">\n    <span class=\"hl-directive\" style=\"color: maroon\">\n      <xsl:apply-templates mode=\"xslthl\"/>\n    </span>\n  </xsl:template>\n  <xsl:template match=\"xslthl:tag\" mode=\"xslthl\">\n    <strong class=\"hl-tag\" style=\"color: #000096\">\n      <xsl:apply-templates mode=\"xslthl\"/>\n    </strong>\n  </xsl:template>\n  <xsl:template match=\"xslthl:attribute\" mode=\"xslthl\">\n    <span class=\"hl-attribute\" style=\"color: #F5844C\">\n      <xsl:apply-templates mode=\"xslthl\"/>\n    </span>\n  </xsl:template>\n  <xsl:template match=\"xslthl:value\" mode=\"xslthl\">\n    <span class=\"hl-value\" style=\"color: #993300\">\n      <xsl:apply-templates mode=\"xslthl\"/>\n    </span>\n  </xsl:template>\n  <xsl:template match=\"xslthl:html\" mode=\"xslthl\">\n    <strong>\n      <em style=\"color: red\">\n        <xsl:apply-templates mode=\"xslthl\"/>\n      </em>\n    </strong>\n  </xsl:template>\n  <xsl:template match=\"xslthl:xslt\" mode=\"xslthl\">\n    <strong style=\"color: #0066FF\">\n      <xsl:apply-templates mode=\"xslthl\"/>\n    </strong>\n  </xsl:template>\n  <!-- Not emitted since XSLTHL 2.0 -->\n  <xsl:template match=\"xslthl:section\" mode=\"xslthl\">\n    <strong>\n      <xsl:apply-templates mode=\"xslthl\"/>\n    </strong>\n  </xsl:template>\n  <xsl:template match=\"xslthl:number\" mode=\"xslthl\">\n    <span class=\"hl-number\">\n      <xsl:apply-templates mode=\"xslthl\"/>\n    </span>\n  </xsl:template>\n  <xsl:template match=\"xslthl:annotation\" mode=\"xslthl\">\n    <em>\n      <span class=\"hl-annotation\" style=\"color: gray\">\n        <xsl:apply-templates mode=\"xslthl\"/>\n      </span>\n    </em>\n  </xsl:template>\n  <!-- Not sure which element will be in final XSLTHL 2.0 -->\n  <xsl:template match=\"xslthl:doccomment|xslthl:doctype\" mode=\"xslthl\">\n    <strong class=\"hl-tag\" style=\"color: blue\">\n      <xsl:apply-templates mode=\"xslthl\"/>\n    </strong>\n  </xsl:template>\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/html-rtf.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:exsl=\"http://exslt.org/common\" xmlns:set=\"http://exslt.org/sets\" xmlns=\"http://www.w3.org/1999/xhtml\" exclude-result-prefixes=\"exsl set\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: html-rtf.xsl 8345 2009-03-16 06:44:07Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<!-- This module contains templates that match against HTML nodes. It is used\n     to post-process result tree fragments for some sorts of cleanup.\n     These templates can only ever be fired by a processor that supports\n     exslt:node-set(). -->\n\n<!-- ==================================================================== -->\n\n<!-- insert.html.p mode templates insert a particular RTF at the beginning\n     of the first paragraph in the primary RTF. -->\n\n<xsl:template match=\"/\" mode=\"insert.html.p\">\n  <xsl:param name=\"mark\" select=\"'?'\"/>\n  <xsl:apply-templates mode=\"insert.html.p\">\n    <xsl:with-param name=\"mark\" select=\"$mark\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"insert.html.p\">\n  <xsl:param name=\"mark\" select=\"'?'\"/>\n  <xsl:copy>\n    <xsl:copy-of select=\"@*\"/>\n    <xsl:apply-templates mode=\"insert.html.p\">\n      <xsl:with-param name=\"mark\" select=\"$mark\"/>\n    </xsl:apply-templates>\n  </xsl:copy>\n</xsl:template>\n\n<xsl:template xmlns:html=\"http://www.w3.org/1999/xhtml\" match=\"html:p|p\" mode=\"insert.html.p\">\n  <xsl:param name=\"mark\" select=\"'?'\"/>\n  <xsl:copy>\n    <xsl:copy-of select=\"@*\"/>\n    <xsl:if test=\"not(preceding::p|preceding::html:p)\">\n      <xsl:copy-of select=\"$mark\"/>\n    </xsl:if>\n    <xsl:apply-templates mode=\"insert.html.p\">\n      <xsl:with-param name=\"mark\" select=\"$mark\"/>\n    </xsl:apply-templates>\n  </xsl:copy>\n</xsl:template>\n\n<xsl:template match=\"text()|processing-instruction()|comment()\" mode=\"insert.html.p\">\n  <xsl:param name=\"mark\" select=\"'?'\"/>\n  <xsl:copy/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<!-- insert.html.text mode templates insert a particular RTF at the beginning\n     of the first text-node in the primary RTF. -->\n\n<xsl:template match=\"/\" mode=\"insert.html.text\">\n  <xsl:param name=\"mark\" select=\"'?'\"/>\n  <xsl:apply-templates mode=\"insert.html.text\">\n    <xsl:with-param name=\"mark\" select=\"$mark\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"insert.html.text\">\n  <xsl:param name=\"mark\" select=\"'?'\"/>\n  <xsl:copy>\n    <xsl:copy-of select=\"@*\"/>\n    <xsl:apply-templates mode=\"insert.html.text\">\n      <xsl:with-param name=\"mark\" select=\"$mark\"/>\n    </xsl:apply-templates>\n  </xsl:copy>\n</xsl:template>\n\n<xsl:template match=\"text()|processing-instruction()|comment()\" mode=\"insert.html.text\">\n  <xsl:param name=\"mark\" select=\"'?'\"/>\n\n  <xsl:if test=\"not(preceding::text())\">\n    <xsl:copy-of select=\"$mark\"/>\n  </xsl:if>\n\n  <xsl:copy/>\n</xsl:template>\n\n<xsl:template match=\"processing-instruction()|comment()\" mode=\"insert.html.text\">\n  <xsl:param name=\"mark\" select=\"'?'\"/>\n  <xsl:copy/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<!-- unwrap.p mode templates remove blocks from HTML p elements (and\n     other places where blocks aren't allowed) -->\n\n<xsl:template name=\"unwrap.p\">\n  <xsl:param name=\"p\"/>\n  <xsl:choose>\n    <xsl:when test=\"$exsl.node.set.available != 0                     and function-available('set:leading')                     and function-available('set:trailing')\">\n      <xsl:apply-templates select=\"exsl:node-set($p)\" mode=\"unwrap.p\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy-of select=\"$p\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template xmlns:html=\"http://www.w3.org/1999/xhtml\" match=\"html:p|p\" mode=\"unwrap.p\">\n  <!-- xmlns:html is necessary for the xhtml stylesheet case -->\n  <xsl:variable name=\"blocks\" select=\"address|blockquote|div|hr|h1|h2|h3|h4|h5|h6                         |layer|p|pre|table|dl|menu|ol|ul|form                         |html:address|html:blockquote|html:div|html:hr                         |html:h1|html:h2|html:h3|html:h4|html:h5|html:h6                         |html:layer|html:p|html:pre|html:table|html:dl                         |html:menu|html:ol|html:ul|html:form\"/>\n  <xsl:choose>\n    <xsl:when test=\"$blocks\">\n      <xsl:call-template name=\"unwrap.p.nodes\">\n        <xsl:with-param name=\"wrap\" select=\".\"/>\n        <xsl:with-param name=\"first\" select=\"1\"/>\n        <xsl:with-param name=\"nodes\" select=\"node()\"/>\n        <xsl:with-param name=\"blocks\" select=\"$blocks\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy>\n        <xsl:copy-of select=\"@*\"/>\n        <xsl:apply-templates mode=\"unwrap.p\"/>\n      </xsl:copy>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"unwrap.p\">\n  <xsl:copy>\n    <xsl:copy-of select=\"@*\"/>\n    <xsl:apply-templates mode=\"unwrap.p\"/>\n  </xsl:copy>\n</xsl:template>\n\n<xsl:template match=\"text()|processing-instruction()|comment()\" mode=\"unwrap.p\">\n  <xsl:copy/>\n</xsl:template>\n\n<xsl:template name=\"unwrap.p.nodes\">\n  <xsl:param name=\"wrap\" select=\".\"/>\n  <xsl:param name=\"first\" select=\"0\"/>\n  <xsl:param name=\"nodes\"/>\n  <xsl:param name=\"blocks\"/>\n  <xsl:variable name=\"block\" select=\"$blocks[1]\"/>\n\n  <!-- This template should never get called if these functions aren't available -->\n  <!-- but this test is still necessary so that processors don't choke on the -->\n  <!-- function calls if they don't support the set: functions -->\n  <xsl:if test=\"function-available('set:leading')                 and function-available('set:trailing')\">\n    <xsl:choose>\n      <xsl:when test=\"$blocks\">\n        <xsl:variable name=\"leading\" select=\"set:leading($nodes,$block)\"/>\n        <xsl:variable name=\"trailing\" select=\"set:trailing($nodes,$block)\"/>\n\n        <xsl:if test=\"(($wrap/@id or $wrap/@xml:id)                          and $first = 1) or $leading\">\n          <xsl:element name=\"{local-name($wrap)}\" namespace=\"http://www.w3.org/1999/xhtml\">\n            <xsl:for-each select=\"$wrap/@*\">\n              <xsl:if test=\"$first != 0 or local-name(.) != 'id'\">\n                <xsl:copy/>\n              </xsl:if>\n            </xsl:for-each>\n            <xsl:apply-templates select=\"$leading\" mode=\"unwrap.p\"/>\n          </xsl:element>\n        </xsl:if>\n\n        <xsl:apply-templates select=\"$block\" mode=\"unwrap.p\"/>\n\n        <xsl:if test=\"$trailing\">\n          <xsl:call-template name=\"unwrap.p.nodes\">\n            <xsl:with-param name=\"wrap\" select=\"$wrap\"/>\n            <xsl:with-param name=\"nodes\" select=\"$trailing\"/>\n            <xsl:with-param name=\"blocks\" select=\"$blocks[position() &gt; 1]\"/>\n          </xsl:call-template>\n        </xsl:if>\n      </xsl:when>\n\n      <xsl:otherwise>\n        <xsl:if test=\"(($wrap/@id or $wrap/@xml:id) and $first = 1) or $nodes\">\n          <xsl:element name=\"{local-name($wrap)}\" namespace=\"http://www.w3.org/1999/xhtml\">\n            <xsl:for-each select=\"$wrap/@*\">\n              <xsl:if test=\"$first != 0 or local-name(.) != 'id'\">\n                <xsl:copy/>\n              </xsl:if>\n            </xsl:for-each>\n            <xsl:apply-templates select=\"$nodes\" mode=\"unwrap.p\"/>\n          </xsl:element>\n        </xsl:if>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:if>\n</xsl:template>\n\n<!-- ==================================================================== -->\n<!-- make.verbatim.mode replaces spaces and newlines -->\n\n<xsl:template match=\"/\" mode=\"make.verbatim.mode\">\n  <xsl:apply-templates mode=\"make.verbatim.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"make.verbatim.mode\">\n  <xsl:copy>\n    <xsl:copy-of select=\"@*\"/>\n    <xsl:apply-templates mode=\"make.verbatim.mode\"/>\n  </xsl:copy>\n</xsl:template>\n\n<xsl:template match=\"processing-instruction()|comment()\" mode=\"make.verbatim.mode\">\n  <xsl:copy/>\n</xsl:template>\n\n<xsl:template match=\"text()\" mode=\"make.verbatim.mode\">\n  <xsl:variable name=\"text\" select=\"translate(., ' ', '&#160;')\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"not(contains($text, '&#10;'))\">\n      <xsl:value-of select=\"$text\"/>\n    </xsl:when>\n\n    <xsl:otherwise>\n      <xsl:variable name=\"len\" select=\"string-length($text)\"/>\n\n      <xsl:choose>\n        <xsl:when test=\"$len = 1\">\n          <br/><xsl:text>\n</xsl:text>\n        </xsl:when>\n\n        <xsl:otherwise>\n          <xsl:variable name=\"half\" select=\"$len div 2\"/>\n          <xsl:call-template name=\"make-verbatim-recursive\">\n            <xsl:with-param name=\"text\" select=\"substring($text, 1, $half)\"/>\n          </xsl:call-template>\n          <xsl:call-template name=\"make-verbatim-recursive\">\n            <xsl:with-param name=\"text\" select=\"substring($text, ($half + 1), $len)\"/>\n          </xsl:call-template>\n    \t</xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"make-verbatim-recursive\">\n  <xsl:param name=\"text\" select=\"''\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"not(contains($text, '&#10;'))\">\n      <xsl:value-of select=\"$text\"/>\n    </xsl:when>\n\n    <xsl:otherwise>\n      <xsl:variable name=\"len\" select=\"string-length($text)\"/>\n\n      <xsl:choose>\n        <xsl:when test=\"$len = 1\">\n          <br/><xsl:text>\n</xsl:text>\n        </xsl:when>\n\n        <xsl:otherwise>\n    \t  <xsl:variable name=\"half\" select=\"$len div 2\"/>\n          <xsl:call-template name=\"make-verbatim-recursive\">\n    \t    <xsl:with-param name=\"text\" select=\"substring($text, 1, $half)\"/>\n    \t  </xsl:call-template>\n    \t  <xsl:call-template name=\"make-verbatim-recursive\">\n    \t    <xsl:with-param name=\"text\" select=\"substring($text, ($half + 1), $len)\"/>\n    \t  </xsl:call-template>\n    \t</xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<!-- remove.empty.div mode templates remove empty blocks -->\n\n<xsl:template name=\"remove.empty.div\">\n  <xsl:param name=\"div\"/>\n  <xsl:choose>\n    <xsl:when test=\"$exsl.node.set.available != 0\">\n      <xsl:apply-templates select=\"exsl:node-set($div)\" mode=\"remove.empty.div\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy-of select=\"$div\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template xmlns:html=\"http://www.w3.org/1999/xhtml\" match=\"html:p|p|html:div|div\" mode=\"remove.empty.div\">\n  <xsl:if test=\"node()\">\n    <xsl:copy>\n      <xsl:copy-of select=\"@*\"/>\n      <xsl:apply-templates mode=\"remove.empty.div\"/>\n    </xsl:copy>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"remove.empty.div\">\n  <xsl:copy>\n    <xsl:copy-of select=\"@*\"/>\n    <xsl:apply-templates mode=\"remove.empty.div\"/>\n  </xsl:copy>\n</xsl:template>\n\n<xsl:template match=\"text()|processing-instruction()|comment()\" mode=\"remove.empty.div\">\n  <xsl:copy/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/html.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: html.xsl 9306 2012-04-28 03:49:00Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- These variables set the align attribute value for HTML output based on\n     the writing-mode specified in the gentext file for the document's lang. -->\n\n<xsl:variable name=\"direction.align.start\">\n  <xsl:choose>\n    <xsl:when test=\"starts-with($writing.mode, 'lr')\">left</xsl:when>\n    <xsl:when test=\"starts-with($writing.mode, 'rl')\">right</xsl:when>\n    <xsl:otherwise>left</xsl:otherwise>\n  </xsl:choose>\n</xsl:variable>\n\n<xsl:variable name=\"direction.align.end\">\n  <xsl:choose>\n    <xsl:when test=\"starts-with($writing.mode, 'lr')\">right</xsl:when>\n    <xsl:when test=\"starts-with($writing.mode, 'rl')\">left</xsl:when>\n    <xsl:otherwise>right</xsl:otherwise>\n  </xsl:choose>\n</xsl:variable>\n\n<xsl:variable name=\"direction.mode\">\n  <xsl:choose>\n    <xsl:when test=\"starts-with($writing.mode, 'lr')\">ltr</xsl:when>\n    <xsl:when test=\"starts-with($writing.mode, 'rl')\">rtl</xsl:when>\n    <xsl:otherwise>ltr</xsl:otherwise>\n  </xsl:choose>\n</xsl:variable>\n\n<!-- Support switching to <section> for HTML5 stylesheet -->\n<!-- This is an internal variable that does not need to be set by a user -->\n<xsl:variable name=\"div.element\">div</xsl:variable>\n<!-- Support turning off table  border with border=\"\" for HTML5 -->\n<xsl:variable name=\"table.border.off\">0</xsl:variable>\n\n<!-- The generate.html.title template is currently used for generating HTML -->\n<!-- \"title\" attributes for some inline elements only, but not for any -->\n<!-- block elements. It is called in eleven places in the inline.xsl -->\n<!-- file. But it's called by all the inline.* templates (e.g., -->\n<!-- inline.boldseq), which in turn are called by other (element) -->\n<!-- templates, so it results, currently, in supporting generation of the -->\n<!-- HTML \"title\" attribute for a total of about 92 elements. -->\n<!-- You can use mode=\"html.title.attribute\" to get a title for -->\n<!-- an element specified by a param, including targets of cross references. -->\n<xsl:template name=\"generate.html.title\">\n  <xsl:apply-templates select=\".\" mode=\"html.title.attribute\"/>\n</xsl:template>\n\n<xsl:template match=\"acronym|abbrev\" mode=\"html.title.attribute\">\n  <xsl:if test=\"alt\">\n    <xsl:attribute name=\"title\">\n      <xsl:value-of select=\"normalize-space(alt)\"/>\n    </xsl:attribute>\n  </xsl:if>\n</xsl:template>\n\n<!-- Generate a title attribute for the context node -->\n<!-- This may be the target of an xref -->\n<xsl:template match=\"*\" mode=\"html.title.attribute\">\n  <xsl:variable name=\"is.title\">\n    <xsl:call-template name=\"gentext.template.exists\">\n      <xsl:with-param name=\"context\" select=\"'title'\"/>\n      <xsl:with-param name=\"name\" select=\"local-name(.)\"/>\n      <xsl:with-param name=\"lang\">\n        <xsl:call-template name=\"l10n.language\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"is.title-numbered\">\n    <xsl:call-template name=\"gentext.template.exists\">\n      <xsl:with-param name=\"context\" select=\"'title-numbered'\"/>\n      <xsl:with-param name=\"name\" select=\"local-name(.)\"/>\n      <xsl:with-param name=\"lang\">\n        <xsl:call-template name=\"l10n.language\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"is.title-unnumbered\">\n    <xsl:call-template name=\"gentext.template.exists\">\n      <xsl:with-param name=\"context\" select=\"'title-unnumbered'\"/>\n      <xsl:with-param name=\"name\" select=\"local-name(.)\"/>\n      <xsl:with-param name=\"lang\">\n        <xsl:call-template name=\"l10n.language\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"has.title.markup\">\n    <xsl:apply-templates select=\".\" mode=\"title.markup\">\n      <xsl:with-param name=\"verbose\" select=\"0\"/>\n    </xsl:apply-templates>\n  </xsl:variable>\n\n  <xsl:variable name=\"gentext.title\">\n    <xsl:if test=\"$has.title.markup != '???TITLE???' and                   ($is.title != 0 or                   $is.title-numbered != 0 or                   $is.title-unnumbered != 0)\">\n      <xsl:apply-templates select=\".\" mode=\"object.title.markup.textonly\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"string-length($gentext.title) != 0\">\n      <xsl:attribute name=\"title\">\n        <xsl:value-of select=\"$gentext.title\"/>\n      </xsl:attribute>\n    </xsl:when>\n    <!-- Fall back to alt if available -->\n    <xsl:when test=\"alt\">\n      <xsl:attribute name=\"title\">\n        <xsl:value-of select=\"normalize-space(alt)\"/>\n      </xsl:attribute>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"qandaentry\" mode=\"html.title.attribute\">\n  <xsl:apply-templates select=\"question\" mode=\"html.title.attribute\"/>\n</xsl:template>\n\n<xsl:template match=\"question\" mode=\"html.title.attribute\">\n  <xsl:variable name=\"label.text\">\n    <xsl:apply-templates select=\".\" mode=\"qanda.label\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"string-length($label.text) != 0\">\n      <xsl:attribute name=\"title\">\n        <xsl:value-of select=\"$label.text\"/>\n      </xsl:attribute>\n    </xsl:when>\n    <!-- Fall back to alt if available -->\n    <xsl:when test=\"alt\">\n      <xsl:attribute name=\"title\">\n        <xsl:value-of select=\"normalize-space(alt)\"/>\n      </xsl:attribute>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"dir\">\n  <xsl:param name=\"inherit\" select=\"0\"/>\n\n  <xsl:variable name=\"dir\">\n    <xsl:choose>\n      <xsl:when test=\"@dir\">\n        <xsl:value-of select=\"@dir\"/>\n      </xsl:when>\n      <xsl:when test=\"$inherit != 0\">\n        <xsl:value-of select=\"ancestor::*/@dir[1]\"/>\n      </xsl:when>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:if test=\"$dir != ''\">\n    <xsl:attribute name=\"dir\">\n      <xsl:value-of select=\"$dir\"/>\n    </xsl:attribute>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"anchor\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:param name=\"conditional\" select=\"1\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$generate.id.attributes != 0\">\n      <!-- No named anchors output when this param is set -->\n    </xsl:when>\n    <xsl:when test=\"$conditional = 0 or $node/@id or $node/@xml:id\">\n      <a>\n        <xsl:attribute name=\"id\">\n          <xsl:call-template name=\"object.id\">\n            <xsl:with-param name=\"object\" select=\"$node\"/>\n          </xsl:call-template>\n        </xsl:attribute>\n      </a>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"id.attribute\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:param name=\"conditional\" select=\"1\"/>\n  <xsl:choose>\n    <xsl:when test=\"$generate.id.attributes = 0\">\n      <!-- No id attributes when this param is zero -->\n    </xsl:when>\n    <xsl:when test=\"$conditional = 0 or $node/@id or $node/@xml:id\">\n      <xsl:attribute name=\"id\">\n        <xsl:call-template name=\"object.id\">\n          <xsl:with-param name=\"object\" select=\"$node\"/>\n        </xsl:call-template>\n      </xsl:attribute>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"href.target.uri\">\n  <xsl:param name=\"context\" select=\".\"/>\n  <xsl:param name=\"object\" select=\".\"/>\n  <xsl:text>#</xsl:text>\n  <xsl:call-template name=\"object.id\">\n    <xsl:with-param name=\"object\" select=\"$object\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"href.target\">\n  <xsl:param name=\"context\" select=\".\"/>\n  <xsl:param name=\"object\" select=\".\"/>\n  <xsl:text>#</xsl:text>\n  <xsl:call-template name=\"object.id\">\n    <xsl:with-param name=\"object\" select=\"$object\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"href.target.with.base.dir\">\n  <xsl:param name=\"context\" select=\".\"/>\n  <xsl:param name=\"object\" select=\".\"/>\n  <xsl:if test=\"$manifest.in.base.dir = 0\">\n    <xsl:value-of select=\"$chunk.base.dir\"/>\n  </xsl:if>\n  <xsl:call-template name=\"href.target\">\n    <xsl:with-param name=\"context\" select=\"$context\"/>\n    <xsl:with-param name=\"object\" select=\"$object\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"dingbat\">\n  <xsl:param name=\"dingbat\">bullet</xsl:param>\n  <xsl:call-template name=\"dingbat.characters\">\n    <xsl:with-param name=\"dingbat\" select=\"$dingbat\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template name=\"dingbat.characters\">\n  <!-- now that I'm using the real serializer, all that dingbat malarky -->\n  <!-- isn't necessary anymore... -->\n  <xsl:param name=\"dingbat\">bullet</xsl:param>\n  <xsl:choose>\n    <xsl:when test=\"$dingbat='bullet'\">&#8226;</xsl:when>\n    <xsl:when test=\"$dingbat='copyright'\">&#169;</xsl:when>\n    <xsl:when test=\"$dingbat='trademark'\">&#8482;</xsl:when>\n    <xsl:when test=\"$dingbat='trade'\">&#8482;</xsl:when>\n    <xsl:when test=\"$dingbat='registered'\">&#174;</xsl:when>\n    <xsl:when test=\"$dingbat='service'\">(SM)</xsl:when>\n    <xsl:when test=\"$dingbat='nbsp'\">&#160;</xsl:when>\n    <xsl:when test=\"$dingbat='ldquo'\">&#8220;</xsl:when>\n    <xsl:when test=\"$dingbat='rdquo'\">&#8221;</xsl:when>\n    <xsl:when test=\"$dingbat='lsquo'\">&#8216;</xsl:when>\n    <xsl:when test=\"$dingbat='rsquo'\">&#8217;</xsl:when>\n    <xsl:when test=\"$dingbat='em-dash'\">&#8212;</xsl:when>\n    <xsl:when test=\"$dingbat='mdash'\">&#8212;</xsl:when>\n    <xsl:when test=\"$dingbat='en-dash'\">&#8211;</xsl:when>\n    <xsl:when test=\"$dingbat='ndash'\">&#8211;</xsl:when>\n    <xsl:otherwise>\n      <xsl:text>&#8226;</xsl:text>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"id.warning\">\n  <xsl:if test=\"$id.warnings != 0 and not(@id) and not(@xml:id) and parent::*\">\n    <xsl:variable name=\"title\">\n      <xsl:choose>\n        <xsl:when test=\"title\">\n          <xsl:value-of select=\"title[1]\"/>\n        </xsl:when>\n        <xsl:when test=\"substring(local-name(*[1]),                                   string-length(local-name(*[1])-3) = 'info')                         and *[1]/title\">\n          <xsl:value-of select=\"*[1]/title[1]\"/>\n        </xsl:when>\n        <xsl:when test=\"refmeta/refentrytitle\">\n          <xsl:value-of select=\"refmeta/refentrytitle\"/>\n        </xsl:when>\n        <xsl:when test=\"refnamediv/refname\">\n          <xsl:value-of select=\"refnamediv/refname[1]\"/>\n        </xsl:when>\n      </xsl:choose>\n    </xsl:variable>\n\n    <xsl:message>\n      <xsl:text>ID recommended on </xsl:text>\n      <xsl:value-of select=\"local-name(.)\"/>\n      <xsl:if test=\"$title != ''\">\n        <xsl:text>: </xsl:text>\n        <xsl:choose>\n          <xsl:when test=\"string-length($title) &gt; 40\">\n            <xsl:value-of select=\"substring($title,1,40)\"/>\n            <xsl:text>...</xsl:text>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"$title\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:if>\n    </xsl:message>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"generate.class.attribute\">\n  <xsl:param name=\"class\" select=\"local-name(.)\"/>\n  <xsl:apply-templates select=\".\" mode=\"class.attribute\">\n    <xsl:with-param name=\"class\" select=\"$class\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"class.attribute\">\n  <xsl:param name=\"class\" select=\"local-name(.)\"/>\n  <!-- permit customization of class attributes -->\n  <!-- Use element name by default -->\n  <xsl:variable name=\"class.value\">\n    <xsl:apply-templates select=\".\" mode=\"class.value\">\n      <xsl:with-param name=\"class\" select=\"$class\"/>\n    </xsl:apply-templates>\n  </xsl:variable>\n\n  <xsl:if test=\"string-length(normalize-space($class.value)) != 0\">\n    <xsl:attribute name=\"class\">\n      <xsl:value-of select=\"$class.value\"/>\n    </xsl:attribute>\n  </xsl:if> \n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"class.value\">\n  <xsl:param name=\"class\" select=\"local-name(.)\"/>\n  <!-- permit customization of class value only -->\n  <!-- Use element name by default -->\n  <xsl:value-of select=\"$class\"/>\n</xsl:template>\n\n<!-- Apply common attributes such as class, lang, dir -->\n<xsl:template name=\"common.html.attributes\">\n  <xsl:param name=\"inherit\" select=\"0\"/>\n  <xsl:param name=\"class\" select=\"local-name(.)\"/>\n  <xsl:apply-templates select=\".\" mode=\"common.html.attributes\">\n    <xsl:with-param name=\"class\" select=\"$class\"/>\n    <xsl:with-param name=\"inherit\" select=\"$inherit\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"common.html.attributes\">\n  <xsl:param name=\"class\" select=\"local-name(.)\"/>\n  <xsl:param name=\"inherit\" select=\"0\"/>\n  <xsl:call-template name=\"generate.html.lang\"/>\n  <xsl:call-template name=\"dir\">\n    <xsl:with-param name=\"inherit\" select=\"$inherit\"/>\n  </xsl:call-template>\n  <xsl:apply-templates select=\".\" mode=\"class.attribute\">\n    <xsl:with-param name=\"class\" select=\"$class\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<!-- Apply common attributes not including class -->\n<xsl:template name=\"locale.html.attributes\">\n  <xsl:apply-templates select=\".\" mode=\"locale.html.attributes\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"locale.html.attributes\">\n  <xsl:call-template name=\"generate.html.lang\"/>\n  <xsl:call-template name=\"dir\"/>\n</xsl:template>\n\n<!-- Pass through any lang attributes -->\n<xsl:template name=\"generate.html.lang\">\n  <xsl:apply-templates select=\".\" mode=\"html.lang.attribute\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"html.lang.attribute\">\n  <!-- match the attribute name to the output type -->\n  <xsl:choose>\n    <xsl:when test=\"@lang and $stylesheet.result.type = 'html'\">\n      <xsl:attribute name=\"lang\">\n        <xsl:value-of select=\"@lang\"/>\n      </xsl:attribute>\n    </xsl:when>\n    <xsl:when test=\"@lang and $stylesheet.result.type = 'xhtml'\">\n      <xsl:attribute name=\"xml:lang\">\n        <xsl:value-of select=\"@lang\"/>\n      </xsl:attribute>\n    </xsl:when>\n    <xsl:when test=\"@xml:lang and $stylesheet.result.type = 'html'\">\n      <xsl:attribute name=\"lang\">\n        <xsl:value-of select=\"@xml:lang\"/>\n      </xsl:attribute>\n    </xsl:when>\n    <xsl:when test=\"@xml:lang and $stylesheet.result.type = 'xhtml'\">\n      <xsl:attribute name=\"xml:lang\">\n        <xsl:value-of select=\"@xml:lang\"/>\n      </xsl:attribute>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n<!-- Insert link to css or insert literal CSS in head element -->\n<xsl:template name=\"generate.css\">\n  <xsl:choose>\n    <xsl:when test=\"$generate.css.header = 0\">\n      <xsl:call-template name=\"generate.css.links\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"generate.css.headers\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"generate.css.headers\">\n  <xsl:call-template name=\"generate.default.css.header\"/>\n  <xsl:call-template name=\"generate.custom.css.header\"/>\n</xsl:template>\n\n<xsl:template name=\"generate.default.css.header\">\n  <xsl:if test=\"$make.clean.html != 0 and                  $docbook.css.source != ''\">\n    <!-- Select default file relative to stylesheet -->\n    <xsl:variable name=\"css.node\" select=\"document($docbook.css.source)/*[1]\"/>\n\n    <xsl:call-template name=\"output.css.header\">\n      <xsl:with-param name=\"css.node\" select=\"$css.node\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"generate.custom.css.header\">\n  <xsl:if test=\"$custom.css.source != ''\">\n    <!-- Select custom file relative to document -->\n    <xsl:variable name=\"css.node\" select=\"document($custom.css.source,.)/*[1]\"/>\n\n    <xsl:call-template name=\"output.css.header\">\n      <xsl:with-param name=\"css.node\" select=\"$css.node\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"output.css.header\">\n  <xsl:param name=\"css.node\"/> \n\n  <xsl:choose>\n    <xsl:when test=\"count($css.node) = 0\">\n    </xsl:when>\n    <xsl:otherwise>\n      <style type=\"text/css\">\n        <xsl:copy-of select=\"$css.node/text()\"/>\n      </style>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n<xsl:template name=\"generate.css.links\">\n  <xsl:call-template name=\"generate.default.css.link\"/>\n  <xsl:call-template name=\"generate.custom.css.link\"/>\n</xsl:template>\n\n<xsl:template name=\"generate.default.css.link\">\n  <xsl:if test=\"$make.clean.html != 0 and                  $docbook.css.link != 0 and                 $docbook.css.source != ''\">\n    <xsl:variable name=\"filename\">\n      <xsl:call-template name=\"css.output.filename\">\n        <xsl:with-param name=\"src\" select=\"$docbook.css.source\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:call-template name=\"make.css.link\">\n      <xsl:with-param name=\"css.filename\" select=\"$filename\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"generate.custom.css.link\">\n  <xsl:if test=\"$custom.css.source != ''\">\n    <xsl:variable name=\"filename\">\n      <xsl:call-template name=\"css.output.filename\">\n        <xsl:with-param name=\"src\" select=\"$custom.css.source\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:call-template name=\"make.css.link\">\n      <xsl:with-param name=\"css.filename\" select=\"$filename\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<!-- a CSS link reference must take into account the relative\n     path to a CSS file when chunked HTML is output to more than one directory -->\n<xsl:template name=\"make.css.link\">\n  <xsl:param name=\"css.filename\" select=\"''\"/>\n\n  <xsl:variable name=\"href\">\n    <xsl:call-template name=\"relative.path.link\">\n      <xsl:with-param name=\"target.pathname\" select=\"$css.filename\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:if test=\"string-length($css.filename) != 0\">\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"{$href}\"/>\n  </xsl:if>\n</xsl:template>\n\n<!-- And the same applies to script links -->\n<xsl:template name=\"make.script.link\">\n  <xsl:param name=\"script.filename\" select=\"''\"/>\n\n  <xsl:variable name=\"src\">\n    <xsl:call-template name=\"relative.path.link\">\n      <xsl:with-param name=\"target.pathname\" select=\"$script.filename\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:if test=\"string-length($script.filename) != 0\">\n    <script>\n      <xsl:attribute name=\"src\">\n        <xsl:value-of select=\"$src\"/>\n      </xsl:attribute>\n      <xsl:attribute name=\"type\">\n        <xsl:value-of select=\"$html.script.type\"/>\n      </xsl:attribute>\n      <xsl:call-template name=\"other.script.attributes\">\n        <xsl:with-param name=\"script.filename\" select=\"$script.filename\"/>\n      </xsl:call-template>\n    </script>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"other.script.attributes\">\n  <xsl:param name=\"script.filename\"/>\n  <!-- Placeholder template to allow customization to \n       insert additional script element attributes if needed -->\n</xsl:template>\n\n<xsl:template name=\"relative.path.link\">\n  <xsl:param name=\"target.pathname\"/>\n  \n  <xsl:variable name=\"href.to.uri\" select=\"$target.pathname\"/>\n\n  <xsl:variable name=\"href.from.uri\">\n    <xsl:call-template name=\"href.target.uri\">\n      <xsl:with-param name=\"object\" select=\".\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"href.to\">\n    <xsl:call-template name=\"trim.common.uri.paths\">\n      <xsl:with-param name=\"uriA\" select=\"$href.to.uri\"/>\n      <xsl:with-param name=\"uriB\" select=\"$href.from.uri\"/>\n      <xsl:with-param name=\"return\" select=\"'A'\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"href.from\">\n    <xsl:call-template name=\"trim.common.uri.paths\">\n      <xsl:with-param name=\"uriA\" select=\"$href.to.uri\"/>\n      <xsl:with-param name=\"uriB\" select=\"$href.from.uri\"/>\n      <xsl:with-param name=\"return\" select=\"'B'\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:variable name=\"depth\">\n    <xsl:call-template name=\"count.uri.path.depth\">\n      <xsl:with-param name=\"filename\" select=\"$href.from\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:variable name=\"href\">\n    <xsl:call-template name=\"copy-string\">\n      <xsl:with-param name=\"string\" select=\"'../'\"/>\n      <xsl:with-param name=\"count\" select=\"$depth\"/>\n    </xsl:call-template>\n    <xsl:value-of select=\"$href.to\"/>\n  </xsl:variable>\n\n  <xsl:value-of select=\"$href\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"generate.css.files\">\n  <xsl:call-template name=\"generate.default.css.file\"/>\n  <xsl:call-template name=\"generate.custom.css.file\"/>\n</xsl:template>\n\n<xsl:template name=\"generate.default.css.file\">\n  <xsl:if test=\"$make.clean.html != 0 and                  $generate.css.header = 0 and                 $docbook.css.source != ''\">\n    <!-- Select default file relative to stylesheet -->\n    <xsl:variable name=\"css.node\" select=\"document($docbook.css.source)/*[1]\"/>\n\n    <xsl:call-template name=\"generate.css.file\">\n      <xsl:with-param name=\"src\" select=\"$docbook.css.source\"/>\n      <xsl:with-param name=\"css.node\" select=\"$css.node\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"generate.custom.css.file\">\n  <xsl:if test=\"$custom.css.source != '' and                 $generate.css.header = 0\">\n    <!-- Select custom file relative to document -->\n    <xsl:variable name=\"css.node\" select=\"document($custom.css.source,.)/*[1]\"/>\n\n    <xsl:call-template name=\"generate.css.file\">\n      <xsl:with-param name=\"src\" select=\"$custom.css.source\"/>\n      <xsl:with-param name=\"css.node\" select=\"$css.node\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"generate.css.file\">\n  <xsl:param name=\"css.node\"/> \n  <xsl:param name=\"src\" select=\"''\"/> \n\n  <xsl:variable name=\"css.text\" select=\"$css.node/text()\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"count($css.node) = 0\">\n      <xsl:message>\n        <xsl:text>ERROR: no root element for CSS source file'</xsl:text>\n        <xsl:value-of select=\"$src\"/>\n        <xsl:text>'.</xsl:text>\n      </xsl:message>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:variable name=\"filename\">\n        <xsl:call-template name=\"css.output.pathname\">\n          <xsl:with-param name=\"src\" select=\"$src\"/>\n          <xsl:with-param name=\"content\" select=\"$css.node\"/>\n        </xsl:call-template>\n      </xsl:variable>\n\n      <xsl:call-template name=\"write.text.chunk\">\n        <xsl:with-param name=\"filename\" select=\"$filename\"/>\n        <xsl:with-param name=\"content\" select=\"$css.text\"/>\n      </xsl:call-template>\n\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"css.output.filename\">\n  <xsl:param name=\"content\"/>\n  <xsl:param name=\"src\" select=\"''\"/>\n  \n  <xsl:variable name=\"candidate\">\n    <xsl:choose>\n      <xsl:when test=\"string-length($src) = 0\">\n        <xsl:message>\n          <xsl:text>ERROR: missing CSS input filename.</xsl:text>\n        </xsl:message>\n      </xsl:when>\n      <xsl:when test=\"substring($src,string-length($src)-3) = '.xml'\">\n        <xsl:value-of select=\"substring($src, 1, string-length($src) - 4)\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$src\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n  <xsl:value-of select=\"$candidate\"/>\n</xsl:template>\n\n<xsl:template name=\"css.output.pathname\">\n  <xsl:param name=\"content\"/>\n  <xsl:param name=\"src\" select=\"''\"/>\n\n  <xsl:variable name=\"file\">\n    <xsl:call-template name=\"css.output.filename\">\n      <xsl:with-param name=\"content\" select=\"$content\"/>\n      <xsl:with-param name=\"src\" select=\"$src\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"path\" select=\"concat($chunk.base.dir, $file)\"/>\n  <xsl:value-of select=\"$path\"/>\n  \n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/htmltbl.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: htmltbl.xsl 9501 2012-07-16 00:14:50Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"table\" mode=\"htmlTable\">\n  <xsl:element name=\"table\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:apply-templates select=\"@*\" mode=\"htmlTableAtt\"/>\n    <xsl:call-template name=\"htmlTable\"/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"colgroup\" mode=\"htmlTable\">\n  <xsl:element name=\"{local-name()}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:apply-templates select=\"@*\" mode=\"htmlTableAtt\"/>\n    <xsl:apply-templates mode=\"htmlTable\"/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"col\" mode=\"htmlTable\">\n  <xsl:element name=\"{local-name()}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:apply-templates select=\"@*\" mode=\"htmlTableAtt\"/>\n  </xsl:element>\n</xsl:template>\n\n<!-- Handled by formal.object.title template -->\n<xsl:template match=\"caption\" mode=\"htmlTable\"/>\n\n<xsl:template match=\"tbody|thead|tfoot|tr\" mode=\"htmlTable\">\n  <xsl:element name=\"{local-name(.)}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:apply-templates select=\"@*\" mode=\"htmlTableAtt\"/>\n    <xsl:apply-templates mode=\"htmlTable\"/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"th|td\" mode=\"htmlTable\">\n  <xsl:element name=\"{local-name(.)}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:apply-templates select=\"@*\" mode=\"htmlTableAtt\"/>\n    <xsl:apply-templates/> <!-- *not* mode=htmlTable -->\n  </xsl:element>\n</xsl:template>\n\n<!-- don't copy through DocBook-specific attributes on HTML table markup -->\n<!-- default behavior is to not copy through because there are more\n     DocBook attributes than HTML attributes -->\n<xsl:template mode=\"htmlTableAtt\" match=\"@*\"/>\n\n<!-- copy these through -->\n<xsl:template mode=\"htmlTableAtt\" match=\"@abbr                    | @align                    | @axis                    | @bgcolor                    | @border                    | @cellpadding                    | @cellspacing                    | @char                    | @charoff                    | @class                    | @dir                    | @frame                    | @headers                    | @height                    | @lang                    | @nowrap                    | @onclick                    | @ondblclick                    | @onkeydown                    | @onkeypress                    | @onkeyup                    | @onmousedown                    | @onmousemove                    | @onmouseout                    | @onmouseover                    | @onmouseup                    | @rules                    | @style                    | @summary                    | @title                    | @valign                    | @valign                    | @width                    | @xml:lang\">\n  <xsl:copy-of select=\".\"/>\n</xsl:template>\n\n<xsl:template match=\"@span|@rowspan|@colspan\" mode=\"htmlTableAtt\">\n  <!-- No need to copy through the DTD's default value \"1\" of the attribute -->\n  <xsl:if test=\"number(.) != 1\">\n    <xsl:attribute name=\"{local-name(.)}\">\n      <xsl:value-of select=\".\"/>\n    </xsl:attribute>\n  </xsl:if>\n</xsl:template>\n\n<!-- map floatstyle to HTML float values -->\n<xsl:template match=\"@floatstyle\" mode=\"htmlTableAtt\">\n  <xsl:attribute name=\"style\">\n    <xsl:text>float: </xsl:text>\n    <xsl:choose>\n      <xsl:when test=\"contains(., 'left')\">left</xsl:when>\n      <xsl:when test=\"contains(., 'right')\">right</xsl:when>\n      <xsl:when test=\"contains(., 'start')\">\n        <xsl:value-of select=\"$direction.align.start\"/>\n      </xsl:when>\n      <xsl:when test=\"contains(., 'end')\">\n        <xsl:value-of select=\"$direction.align.end\"/>\n      </xsl:when>\n      <xsl:when test=\"contains(., 'inside')\">\n        <xsl:value-of select=\"$direction.align.start\"/>\n      </xsl:when>\n      <xsl:when test=\"contains(., 'outside')\">\n        <xsl:value-of select=\"$direction.align.end\"/>\n      </xsl:when>\n      <xsl:when test=\"contains(., 'before')\">none</xsl:when>\n      <xsl:when test=\"contains(., 'none')\">none</xsl:when>\n    </xsl:choose>\n    <xsl:text>;</xsl:text>\n  </xsl:attribute>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/index.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: index.xsl 9297 2012-04-22 03:56:16Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"index\">\n  <!-- some implementations use completely empty index tags to indicate -->\n  <!-- where an automatically generated index should be inserted. so -->\n  <!-- if the index is completely empty, skip it. Unless generate.index -->\n  <!-- is non-zero, in which case, this is where the automatically -->\n  <!-- generated index should go. -->\n\n  <xsl:call-template name=\"id.warning\"/>\n\n  <xsl:if test=\"count(*)&gt;0 or $generate.index != '0'\">\n    <div>\n      <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n      <xsl:call-template name=\"id.attribute\">\n        <xsl:with-param name=\"conditional\" select=\"0\"/>\n      </xsl:call-template>\n\n      <xsl:call-template name=\"index.titlepage\"/>\n      <xsl:choose>\n\t<xsl:when test=\"indexdiv\">\n\t  <xsl:apply-templates/>\n\t</xsl:when>\n\t<xsl:otherwise>\n\t  <xsl:apply-templates select=\"*[not(self::indexentry)]\"/>\n\t  <!-- Because it's actually valid for Index to have neither any -->\n\t  <!-- Indexdivs nor any Indexentries, we need to check and make -->\n\t  <!-- sure that at least one Indexentry exists, and generate a -->\n\t  <!-- wrapper dl if there is at least one; otherwise, do nothing. -->\n\t  <xsl:if test=\"indexentry\">\n\t    <!-- The indexentry template assumes a parent dl wrapper has -->\n\t    <!-- been generated; for Indexes that have Indexdivs, the dl -->\n\t    <!-- wrapper is generated by the indexdiv template; however, -->\n\t    <!-- for Indexes that lack Indexdivs, if we don't generate a -->\n\t    <!-- dl here, HTML output will not be valid. -->\n\t    <dl>\n\t      <xsl:apply-templates select=\"indexentry\"/>\n\t    </dl>\n\t  </xsl:if>\n\t</xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:if test=\"count(indexentry) = 0 and count(indexdiv) = 0\">\n        <xsl:call-template name=\"generate-index\">\n          <xsl:with-param name=\"scope\" select=\"(ancestor::book|/)[last()]\"/>\n        </xsl:call-template>\n      </xsl:if>\n\n      <xsl:if test=\"not(parent::article)\">\n        <xsl:call-template name=\"process.footnotes\"/>\n      </xsl:if>\n    </div>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"setindex\">\n  <!-- some implementations use completely empty index tags to indicate -->\n  <!-- where an automatically generated index should be inserted. so -->\n  <!-- if the index is completely empty, skip it. Unless generate.index -->\n  <!-- is non-zero, in which case, this is where the automatically -->\n  <!-- generated index should go. -->\n\n  <xsl:call-template name=\"id.warning\"/>\n\n  <xsl:if test=\"count(*)&gt;0 or $generate.index != '0'\">\n    <div>\n      <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n      <xsl:call-template name=\"id.attribute\">\n        <xsl:with-param name=\"conditional\" select=\"0\"/>\n      </xsl:call-template>\n\n      <xsl:call-template name=\"setindex.titlepage\"/>\n      <xsl:apply-templates/>\n\n      <xsl:if test=\"count(indexentry) = 0 and count(indexdiv) = 0\">\n        <xsl:call-template name=\"generate-index\">\n          <xsl:with-param name=\"scope\" select=\"/\"/>\n        </xsl:call-template>\n      </xsl:if>\n\n      <xsl:if test=\"not(parent::article)\">\n        <xsl:call-template name=\"process.footnotes\"/>\n      </xsl:if>\n    </div>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"index/indexinfo\"/>\n<xsl:template match=\"index/info\"/>\n<xsl:template match=\"index/title\"/>\n<xsl:template match=\"index/subtitle\"/>\n<xsl:template match=\"index/titleabbrev\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"indexdiv\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:apply-templates select=\"*[not(self::indexentry)]\"/>\n    <dl>\n      <xsl:apply-templates select=\"indexentry\"/>\n    </dl>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"indexdiv/title\">\n  <h3>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:apply-templates/>\n  </h3>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"indexterm\">\n  <!-- this one must have a name, even if it doesn't have an ID -->\n  <xsl:variable name=\"id\">\n    <xsl:call-template name=\"object.id\"/>\n  </xsl:variable>\n\n  <a id=\"{$id}\" class=\"indexterm\"/>\n</xsl:template>\n\n<xsl:template match=\"primary|secondary|tertiary|see|seealso\">\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"indexentry\">\n  <xsl:apply-templates select=\"primaryie\"/>\n</xsl:template>\n\n<xsl:template match=\"primaryie\">\n  <dt>\n    <xsl:apply-templates/>\n  </dt>\n  <dd>\n    <xsl:apply-templates select=\"following-sibling::seeie                                    [not(preceding-sibling::secondaryie)]\" mode=\"indexentry\"/>\n    <xsl:apply-templates select=\"following-sibling::seealsoie                                    [not(preceding-sibling::secondaryie)]\" mode=\"indexentry\"/>\n    <xsl:apply-templates select=\"following-sibling::secondaryie\" mode=\"indexentry\"/>\n  </dd>\n</xsl:template>\n\n<!-- Handled in mode to convert flat list to structured output -->\n<xsl:template match=\"secondaryie\">\n</xsl:template>\n<xsl:template match=\"tertiaryie\">\n</xsl:template>\n<xsl:template match=\"seeie|seealsoie\">\n</xsl:template>\n\n<xsl:template match=\"secondaryie\" mode=\"indexentry\">\n  <dl>\n    <dt>\n      <xsl:apply-templates/>\n    </dt>\n    <dd>\n      <!-- select following see* elements up to next secondaryie or tertiary or end -->\n      <xsl:variable name=\"after.this\" select=\"following-sibling::*\"/>\n      <xsl:variable name=\"next.entry\" select=\"(following-sibling::secondaryie|following-sibling::tertiaryie)[1]\"/>\n      <xsl:variable name=\"before.entry\" select=\"$next.entry/preceding-sibling::*\"/>\n      <xsl:variable name=\"see.intersection\" select=\"$after.this[count(.|$before.entry) = count($before.entry)]                                 [self::seeie or self::seealsoie]\"/>\n      <xsl:choose>\n        <xsl:when test=\"count($see.intersection) != 0\">\n          <xsl:apply-templates select=\"$see.intersection\" mode=\"indexentry\"/>\n        </xsl:when>\n        <xsl:when test=\"count($next.entry) = 0\">\n          <xsl:apply-templates select=\"following-sibling::seeie\" mode=\"indexentry\"/>\n          <xsl:apply-templates select=\"following-sibling::seealsoie\" mode=\"indexentry\"/>\n        </xsl:when>\n      </xsl:choose>\n\n      <!-- now process any tertiaryie before the next secondaryie -->\n      <xsl:variable name=\"before.next.secondary\" select=\"following-sibling::secondaryie[1]/preceding-sibling::*\"/>\n      <xsl:variable name=\"tertiary.intersection\" select=\"$after.this[count(.|$before.next.secondary) =                                   count($before.next.secondary)]                                 [not(self::seeie) and not(self::seealsoie)]\"/>\n      <xsl:choose>\n        <xsl:when test=\"count($tertiary.intersection) != 0\">\n          <xsl:apply-templates select=\"$tertiary.intersection\" mode=\"indexentry\"/>\n        </xsl:when>\n        <xsl:when test=\"not(following-sibling::secondaryie)\">\n          <xsl:apply-templates select=\"following-sibling::tertiaryie\" mode=\"indexentry\"/>\n        </xsl:when>\n      </xsl:choose>\n    </dd>\n  </dl>\n</xsl:template>\n\n<xsl:template match=\"tertiaryie\" mode=\"indexentry\">\n  <dl>\n    <dt>\n      <xsl:apply-templates/>\n    </dt>\n    <dd>\n      <!-- select following see* elements up to next secondaryie or tertiary or end -->\n      <xsl:variable name=\"after.this\" select=\"following-sibling::*\"/>\n      <xsl:variable name=\"next.entry\" select=\"(following-sibling::secondaryie|following-sibling::tertiaryie)[1]\"/>\n      <xsl:variable name=\"before.entry\" select=\"$next.entry/preceding-sibling::*\"/>\n      <xsl:variable name=\"see.intersection\" select=\"$after.this[count(.|$before.entry) = count($before.entry)]                                 [self::seeie or self::seealsoie]\"/>\n      <xsl:choose>\n        <xsl:when test=\"count($see.intersection) != 0\">\n          <xsl:apply-templates select=\"$see.intersection\" mode=\"indexentry\"/>\n        </xsl:when>\n        <xsl:when test=\"count($next.entry) = 0\">\n          <xsl:apply-templates select=\"following-sibling::seeie\" mode=\"indexentry\"/>\n          <xsl:apply-templates select=\"following-sibling::seealsoie\" mode=\"indexentry\"/>\n        </xsl:when>\n      </xsl:choose>\n    </dd>\n  </dl>\n</xsl:template>\n\n<xsl:template match=\"seeie\" mode=\"indexentry\">\n  <dt>\n    <xsl:text>(</xsl:text>\n    <xsl:call-template name=\"gentext\">\n      <xsl:with-param name=\"key\" select=\"'see'\"/>\n    </xsl:call-template>\n    <xsl:text> </xsl:text>\n    <xsl:apply-templates/>\n    <xsl:text>)</xsl:text>\n  </dt>\n</xsl:template>\n\n<xsl:template match=\"seealsoie\" mode=\"indexentry\">\n  <div>\n    <xsl:text>(</xsl:text>\n    <xsl:call-template name=\"gentext\">\n      <xsl:with-param name=\"key\" select=\"'seealso'\"/>\n    </xsl:call-template>\n    <xsl:text> </xsl:text>\n    <xsl:apply-templates/>\n    <xsl:text>)</xsl:text>\n  </div>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/info.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: info.xsl 9297 2012-04-22 03:56:16Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- These templates define the \"default behavior\" for info\n     elements.  Even if you don't process the *info wrappers,\n     some of these elements are needed because the elements are\n     processed from named templates that are called with modes.\n     Since modes aren't sticky, these rules apply. \n     (TODO: clarify this comment) -->\n\n<!-- ==================================================================== -->\n<!-- called from named templates in a given mode -->\n\n<xsl:template match=\"corpauthor\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates/>\n  </span>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"jobtitle\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates/>\n  </span>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/inline.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?><!--This file was created automatically by html2xhtml--><!--from the HTML stylesheets.--><xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:suwl=\"http://nwalsh.com/xslt/ext/com.nwalsh.saxon.UnwrapLinks\" xmlns=\"http://www.w3.org/1999/xhtml\" exclude-result-prefixes=\"xlink suwl\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: inline.xsl 9663 2012-11-06 19:09:16Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<xsl:key name=\"glossentries\" match=\"glossentry\" use=\"normalize-space(glossterm)\"/>\n<xsl:key name=\"glossentries\" match=\"glossentry\" use=\"normalize-space(glossterm/@baseform)\"/>\n\n<xsl:template name=\"simple.xlink\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:param name=\"content\">\n    <xsl:apply-templates/>\n  </xsl:param>\n  <xsl:param name=\"linkend\" select=\"$node/@linkend\"/>\n  <xsl:param name=\"xhref\" select=\"$node/@xlink:href\"/>\n\n  <!-- Support for @xlink:show -->\n  <xsl:variable name=\"target.show\">\n    <xsl:choose>\n      <xsl:when test=\"$node/@xlink:show = 'new'\">_blank</xsl:when>\n      <xsl:when test=\"$node/@xlink:show = 'replace'\">_top</xsl:when>\n      <xsl:otherwise/>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"link\">\n    <xsl:choose>\n      <xsl:when test=\"$xhref and                        (not($node/@xlink:type) or                             $node/@xlink:type='simple')\">\n\n        <!-- Is it a local idref or a uri? -->\n        <xsl:variable name=\"is.idref\">\n          <xsl:choose>\n            <!-- if the href starts with # and does not contain an \"(\" -->\n            <!-- or if the href starts with #xpointer(id(, it's just an ID -->\n            <xsl:when test=\"starts-with($xhref,'#')                             and (not(contains($xhref,'('))                             or starts-with($xhref,                                        '#xpointer(id('))\">1</xsl:when>\n            <xsl:otherwise>0</xsl:otherwise>\n          </xsl:choose>\n        </xsl:variable>\n\n        <!-- Is it an olink ? -->\n        <xsl:variable name=\"is.olink\">\n          <xsl:choose>\n            <!-- If xlink:role=\"http://docbook.org/xlink/role/olink\" -->\n            <!-- and if the href contains # -->\n            <xsl:when test=\"contains($xhref,'#') and                  @xlink:role = $xolink.role\">1</xsl:when>\n            <xsl:otherwise>0</xsl:otherwise>\n          </xsl:choose>\n        </xsl:variable>\n\n        <xsl:choose>\n          <xsl:when test=\"$is.olink = 1\">\n            <xsl:call-template name=\"olink\">\n              <xsl:with-param name=\"content\" select=\"$content\"/>\n            </xsl:call-template>\n          </xsl:when>\n\n          <xsl:when test=\"$is.idref = 1\">\n\n            <xsl:variable name=\"idref\">\n              <xsl:call-template name=\"xpointer.idref\">\n                <xsl:with-param name=\"xpointer\" select=\"$xhref\"/>\n              </xsl:call-template>\n            </xsl:variable>\n\n            <xsl:variable name=\"targets\" select=\"key('id',$idref)\"/>\n            <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n\n            <xsl:call-template name=\"check.id.unique\">\n              <xsl:with-param name=\"linkend\" select=\"$idref\"/>\n            </xsl:call-template>\n\n            <xsl:choose>\n              <xsl:when test=\"count($target) = 0\">\n                <xsl:message>\n                  <xsl:text>XLink to nonexistent id: </xsl:text>\n                  <xsl:value-of select=\"$idref\"/>\n                </xsl:message>\n                <xsl:copy-of select=\"$content\"/>\n              </xsl:when>\n\n              <xsl:otherwise>\n                <a>\n                  <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n                  <xsl:call-template name=\"id.attribute\"/>\n\n                  <xsl:attribute name=\"href\">\n                    <xsl:call-template name=\"href.target\">\n                      <xsl:with-param name=\"object\" select=\"$target\"/>\n                    </xsl:call-template>\n                  </xsl:attribute>\n\n                  <xsl:choose>\n                    <xsl:when test=\"$node/@xlink:title\">\n                      <xsl:attribute name=\"title\">\n                        <xsl:value-of select=\"$node/@xlink:title\"/>\n                      </xsl:attribute>\n                    </xsl:when>\n                    <xsl:otherwise>\n                      <xsl:apply-templates select=\"$target\" mode=\"html.title.attribute\"/>\n                    </xsl:otherwise>\n                  </xsl:choose>\n\n                  <xsl:if test=\"$target.show !=''\">\n                    <xsl:attribute name=\"target\">\n                      <xsl:value-of select=\"$target.show\"/>\n                    </xsl:attribute>\n                  </xsl:if>\n\n                  <xsl:copy-of select=\"$content\"/>\n\n                </a>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:when>\n\n          <!-- otherwise it's a URI -->\n          <xsl:otherwise>\n            <a>\n              <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n              <xsl:call-template name=\"id.attribute\"/>\n              <xsl:attribute name=\"href\">\n                <xsl:value-of select=\"$xhref\"/>\n              </xsl:attribute>\n              <xsl:if test=\"$node/@xlink:title\">\n                <xsl:attribute name=\"title\">\n                  <xsl:value-of select=\"$node/@xlink:title\"/>\n                </xsl:attribute>\n              </xsl:if>\n\n              <!-- For URIs, use @xlink:show if defined, otherwise use ulink.target -->\n              <xsl:choose>\n                <xsl:when test=\"$target.show !=''\">\n                  <xsl:attribute name=\"target\">\n                    <xsl:value-of select=\"$target.show\"/>\n                  </xsl:attribute>\n                </xsl:when>\n                <xsl:when test=\"$ulink.target !=''\">\n                  <xsl:attribute name=\"target\">\n                    <xsl:value-of select=\"$ulink.target\"/>\n                  </xsl:attribute>\n                </xsl:when>\n              </xsl:choose>\n              \n              <xsl:copy-of select=\"$content\"/>\n            </a>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n\n      <xsl:when test=\"$linkend\">\n        <xsl:variable name=\"targets\" select=\"key('id',$linkend)\"/>\n        <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n\n        <xsl:call-template name=\"check.id.unique\">\n          <xsl:with-param name=\"linkend\" select=\"$linkend\"/>\n        </xsl:call-template>\n\n        <a>\n          <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n          <xsl:call-template name=\"id.attribute\"/>\n          <xsl:attribute name=\"href\">\n            <xsl:call-template name=\"href.target\">\n              <xsl:with-param name=\"object\" select=\"$target\"/>\n            </xsl:call-template>\n          </xsl:attribute>\n\n          <xsl:apply-templates select=\"$target\" mode=\"html.title.attribute\"/>\n\n          <xsl:copy-of select=\"$content\"/>\n          \n        </a>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:copy-of select=\"$content\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"function-available('suwl:unwrapLinks')\">\n      <xsl:copy-of select=\"suwl:unwrapLinks($link)\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy-of select=\"$link\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"inline.charseq\">\n  <xsl:param name=\"content\">\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:apply-templates/>\n      </xsl:with-param>\n    </xsl:call-template>\n  </xsl:param>\n  <!-- * if you want output from the inline.charseq template wrapped in -->\n  <!-- * something other than a Span, call the template with some value -->\n  <!-- * for the 'wrapper-name' param -->\n  <xsl:param name=\"wrapper-name\">span</xsl:param>\n  <xsl:element name=\"{$wrapper-name}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:attribute name=\"class\">\n      <xsl:value-of select=\"local-name(.)\"/>\n    </xsl:attribute>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"dir\"/>\n    <xsl:call-template name=\"generate.html.title\"/>\n    <xsl:copy-of select=\"$content\"/>\n    <xsl:call-template name=\"apply-annotations\"/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template name=\"inline.monoseq\">\n  <xsl:param name=\"content\">\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:apply-templates/>\n      </xsl:with-param>\n    </xsl:call-template>\n  </xsl:param>\n  <code>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:copy-of select=\"$content\"/>\n    <xsl:call-template name=\"apply-annotations\"/>\n  </code>\n</xsl:template>\n\n<xsl:template name=\"inline.boldseq\">\n  <xsl:param name=\"content\">\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:apply-templates/>\n      </xsl:with-param>\n    </xsl:call-template>\n  </xsl:param>\n\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n\n    <!-- don't put <strong> inside figure, example, or table titles -->\n    <xsl:choose>\n      <xsl:when test=\"local-name(..) = 'title'                       and (local-name(../..) = 'figure'                       or local-name(../..) = 'example'                       or local-name(../..) = 'table')\">\n        <xsl:copy-of select=\"$content\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <strong>\n          <xsl:copy-of select=\"$content\"/>\n        </strong>\n      </xsl:otherwise>\n    </xsl:choose>\n    <xsl:call-template name=\"apply-annotations\"/>\n  </span>\n</xsl:template>\n\n<xsl:template name=\"inline.italicseq\">\n  <xsl:param name=\"content\">\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:apply-templates/>\n      </xsl:with-param>\n    </xsl:call-template>\n  </xsl:param>\n  <em>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:copy-of select=\"$content\"/>\n    <xsl:call-template name=\"apply-annotations\"/>\n  </em>\n</xsl:template>\n\n<xsl:template name=\"inline.boldmonoseq\">\n  <xsl:param name=\"content\">\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:apply-templates/>\n      </xsl:with-param>\n    </xsl:call-template>\n  </xsl:param>\n  <!-- don't put <strong> inside figure, example, or table titles -->\n  <!-- or other titles that may already be represented with <strong>'s. -->\n  <xsl:choose>\n    <xsl:when test=\"local-name(..) = 'title'                     and (local-name(../..) = 'figure'                          or local-name(../..) = 'example'                          or local-name(../..) = 'table'                          or local-name(../..) = 'formalpara')\">\n      <code>\n        <xsl:call-template name=\"common.html.attributes\"/>\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:copy-of select=\"$content\"/>\n        <xsl:call-template name=\"apply-annotations\"/>\n      </code>\n    </xsl:when>\n    <xsl:otherwise>\n      <strong>\n        <xsl:call-template name=\"common.html.attributes\"/>\n        <xsl:call-template name=\"id.attribute\"/>\n        <code>\n          <xsl:call-template name=\"generate.html.title\"/>\n          <xsl:call-template name=\"dir\"/>\n          <xsl:copy-of select=\"$content\"/>\n        </code>\n        <xsl:call-template name=\"apply-annotations\"/>\n      </strong>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"inline.italicmonoseq\">\n  <xsl:param name=\"content\">\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:apply-templates/>\n      </xsl:with-param>\n    </xsl:call-template>\n  </xsl:param>\n  <em>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <code>\n      <xsl:call-template name=\"generate.html.title\"/>\n      <xsl:call-template name=\"dir\"/>\n      <xsl:copy-of select=\"$content\"/>\n      <xsl:call-template name=\"apply-annotations\"/>\n    </code>\n  </em>\n</xsl:template>\n\n<xsl:template name=\"inline.superscriptseq\">\n  <xsl:param name=\"content\">\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:apply-templates/>\n      </xsl:with-param>\n    </xsl:call-template>\n  </xsl:param>\n  <sup>\n    <xsl:call-template name=\"generate.html.title\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"dir\"/>\n    <xsl:copy-of select=\"$content\"/>\n    <xsl:call-template name=\"apply-annotations\"/>\n  </sup>\n</xsl:template>\n\n<xsl:template name=\"inline.subscriptseq\">\n  <xsl:param name=\"content\">\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:apply-templates/>\n      </xsl:with-param>\n    </xsl:call-template>\n  </xsl:param>\n  <sub>\n    <xsl:call-template name=\"generate.html.title\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"dir\"/>\n    <xsl:copy-of select=\"$content\"/>\n    <xsl:call-template name=\"apply-annotations\"/>\n  </sub>\n</xsl:template>\n\n<!-- ==================================================================== -->\n<!-- some special cases -->\n\n<xsl:template match=\"author\">\n  <xsl:param name=\"content\">\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:call-template name=\"person.name\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n    <xsl:call-template name=\"apply-annotations\"/>\n  </xsl:param>\n\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:copy-of select=\"$content\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"editor\">\n  <xsl:param name=\"content\">\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:call-template name=\"person.name\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n    <xsl:call-template name=\"apply-annotations\"/>\n  </xsl:param>\n\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:copy-of select=\"$content\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"othercredit\">\n  <xsl:param name=\"content\">\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:call-template name=\"person.name\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n    <xsl:call-template name=\"apply-annotations\"/>\n  </xsl:param>\n\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:copy-of select=\"$content\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"authorinitials\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"accel\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"action\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"application\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"classname\">\n  <xsl:call-template name=\"inline.monoseq\"/>\n</xsl:template>\n\n<xsl:template match=\"exceptionname\">\n  <xsl:call-template name=\"inline.monoseq\"/>\n</xsl:template>\n\n<xsl:template match=\"interfacename\">\n  <xsl:call-template name=\"inline.monoseq\"/>\n</xsl:template>\n\n<xsl:template match=\"methodname\">\n  <xsl:call-template name=\"inline.monoseq\"/>\n</xsl:template>\n\n<xsl:template match=\"command\">\n  <xsl:call-template name=\"inline.boldseq\"/>\n</xsl:template>\n\n<xsl:template match=\"computeroutput\">\n  <xsl:call-template name=\"inline.monoseq\"/>\n</xsl:template>\n\n<xsl:template match=\"constant\">\n  <xsl:call-template name=\"inline.monoseq\"/>\n</xsl:template>\n\n<xsl:template match=\"database\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"date\">\n  <!-- should this support locale-specific formatting? how? -->\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"errorcode\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"errorname\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"errortype\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"errortext\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"envar\">\n  <xsl:call-template name=\"inline.monoseq\"/>\n</xsl:template>\n\n<xsl:template match=\"filename\">\n  <xsl:call-template name=\"inline.monoseq\"/>\n</xsl:template>\n\n<xsl:template match=\"function\">\n  <xsl:choose>\n    <xsl:when test=\"$function.parens != '0'                     and (parameter or function or replaceable)\">\n      <xsl:variable name=\"nodes\" select=\"text()|*\"/>\n      <xsl:call-template name=\"inline.monoseq\">\n        <xsl:with-param name=\"content\">\n          <xsl:call-template name=\"simple.xlink\">\n            <xsl:with-param name=\"content\">\n              <xsl:apply-templates select=\"$nodes[1]\"/>\n            </xsl:with-param>\n          </xsl:call-template>\n        </xsl:with-param>\n      </xsl:call-template>\n      <xsl:text>(</xsl:text>\n      <xsl:apply-templates select=\"$nodes[position()&gt;1]\"/>\n      <xsl:text>)</xsl:text>\n    </xsl:when>\n    <xsl:otherwise>\n     <xsl:call-template name=\"inline.monoseq\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"function/parameter\" priority=\"2\">\n  <xsl:call-template name=\"inline.italicmonoseq\"/>\n  <xsl:if test=\"$function.parens != 0 and following-sibling::*\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"function/replaceable\" priority=\"2\">\n  <xsl:call-template name=\"inline.italicmonoseq\"/>\n  <xsl:if test=\"$function.parens != 0 and following-sibling::*\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"guibutton\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"guiicon\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"guilabel\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"guimenu\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"guimenuitem\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"guisubmenu\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"hardware\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"interface\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"interfacedefinition\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"keycap\">\n  <xsl:choose>\n    <xsl:when test=\"@function and normalize-space(.) = ''\">\n      <xsl:call-template name=\"inline.boldseq\">\n        <xsl:with-param name=\"content\">\n          <xsl:call-template name=\"gentext.template\">\n            <xsl:with-param name=\"context\" select=\"'keycap'\"/>\n            <xsl:with-param name=\"name\" select=\"@function\"/>\n          </xsl:call-template>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"inline.boldseq\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"keycode\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"keysym\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"literal\">\n  <xsl:call-template name=\"inline.monoseq\"/>\n</xsl:template>\n\n<xsl:template match=\"code\">\n  <xsl:call-template name=\"inline.monoseq\"/>\n</xsl:template>\n\n<xsl:template match=\"medialabel\">\n  <xsl:call-template name=\"inline.italicseq\"/>\n</xsl:template>\n\n<xsl:template match=\"shortcut\">\n  <xsl:call-template name=\"inline.boldseq\"/>\n</xsl:template>\n\n<xsl:template match=\"mousebutton\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"option\">\n  <xsl:call-template name=\"inline.monoseq\"/>\n</xsl:template>\n\n<xsl:template match=\"package\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"parameter\">\n  <xsl:call-template name=\"inline.italicmonoseq\"/>\n</xsl:template>\n\n<xsl:template match=\"property\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"prompt\">\n  <xsl:call-template name=\"inline.monoseq\"/>\n</xsl:template>\n\n<xsl:template match=\"replaceable\" priority=\"1\">\n  <xsl:call-template name=\"inline.italicmonoseq\"/>\n</xsl:template>\n\n<xsl:template match=\"returnvalue\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"structfield\">\n  <xsl:call-template name=\"inline.italicmonoseq\"/>\n</xsl:template>\n\n<xsl:template match=\"structname\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"symbol\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"systemitem\">\n  <xsl:call-template name=\"inline.monoseq\"/>\n</xsl:template>\n\n<xsl:template match=\"token\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"type\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"userinput\">\n  <xsl:call-template name=\"inline.boldmonoseq\"/>\n</xsl:template>\n\n<xsl:template match=\"abbrev\">\n  <xsl:call-template name=\"inline.charseq\">\n    <xsl:with-param name=\"wrapper-name\">abbr</xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"acronym\">\n  <xsl:call-template name=\"inline.charseq\">\n    <xsl:with-param name=\"wrapper-name\">acronym</xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"citerefentry\">\n  <xsl:choose>\n    <xsl:when test=\"$citerefentry.link != '0'\">\n      <a>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:attribute name=\"href\">\n          <xsl:call-template name=\"generate.citerefentry.link\"/>\n        </xsl:attribute>\n        <xsl:call-template name=\"inline.charseq\"/>\n      </a>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"inline.charseq\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"generate.citerefentry.link\">\n  <!-- nop -->\n</xsl:template>\n\n<xsl:template name=\"x.generate.citerefentry.link\">\n  <xsl:text>http://example.com/cgi-bin/man.cgi?</xsl:text>\n  <xsl:value-of select=\"refentrytitle\"/>\n  <xsl:text>(</xsl:text>\n  <xsl:value-of select=\"manvolnum\"/>\n  <xsl:text>)</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"citetitle\">\n  <xsl:choose>\n    <xsl:when test=\"@pubwork = 'article'\">\n      <xsl:call-template name=\"gentext.startquote\"/>\n      <xsl:call-template name=\"inline.charseq\"/>\n      <xsl:call-template name=\"gentext.endquote\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"inline.italicseq\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"emphasis\">\n  <span>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:choose>\n      <!-- We don't want empty @class values, so do not propagate empty @roles -->\n      <xsl:when test=\"@role  and                       normalize-space(@role) != '' and                       $emphasis.propagates.style != 0\">\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\">\n          <xsl:with-param name=\"class\" select=\"@role\"/>\n        </xsl:apply-templates>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n    <xsl:call-template name=\"anchor\"/>\n\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:choose>\n          <xsl:when test=\"@role = 'bold' or @role='strong'\">\n            <!-- backwards compatibility: make bold into b elements, but -->\n            <!-- don't put bold inside figure, example, or table titles -->\n            <xsl:choose>\n              <xsl:when test=\"local-name(..) = 'title'                               and (local-name(../..) = 'figure'                               or local-name(../..) = 'example'                               or local-name(../..) = 'table')\">\n                <xsl:apply-templates/>\n              </xsl:when>\n              <xsl:otherwise>\n                <strong><xsl:apply-templates/></strong>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:when>\n          <xsl:when test=\"@role and $emphasis.propagates.style != 0\">\n            <xsl:apply-templates/>\n          </xsl:when>\n          <xsl:otherwise>\n            <em><xsl:apply-templates/></em>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:with-param>\n    </xsl:call-template>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"foreignphrase\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"inline.italicseq\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"markup\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"phrase\">\n  <span>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"locale.html.attributes\"/>\n    <!-- We don't want empty @class values, so do not propagate empty @roles -->\n    <xsl:choose>\n      <xsl:when test=\"@role and                       normalize-space(@role) != '' and                      $phrase.propagates.style != 0\">\n        <xsl:apply-templates select=\".\" mode=\"class.attribute\">\n          <xsl:with-param name=\"class\" select=\"@role\"/>\n        </xsl:apply-templates>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n    <xsl:call-template name=\"dir\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:apply-templates/>\n      </xsl:with-param>\n    </xsl:call-template>\n    <xsl:call-template name=\"apply-annotations\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"quote\">\n  <xsl:variable name=\"depth\">\n    <xsl:call-template name=\"dot.count\">\n      <xsl:with-param name=\"string\">\n        <xsl:number level=\"multiple\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n  </xsl:variable>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:choose>\n      <xsl:when test=\"$depth mod 2 = 0\">\n        <xsl:call-template name=\"gentext.startquote\"/>\n        <xsl:call-template name=\"inline.charseq\"/>\n        <xsl:call-template name=\"gentext.endquote\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"gentext.nestedstartquote\"/>\n        <xsl:call-template name=\"inline.charseq\"/>\n        <xsl:call-template name=\"gentext.nestedendquote\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"varname\">\n  <xsl:call-template name=\"inline.monoseq\"/>\n</xsl:template>\n\n<xsl:template match=\"wordasword\">\n  <xsl:call-template name=\"inline.italicseq\"/>\n</xsl:template>\n\n<xsl:template match=\"lineannotation\">\n  <em>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"inline.charseq\"/>\n  </em>\n</xsl:template>\n\n<xsl:template match=\"superscript\">\n  <xsl:call-template name=\"inline.superscriptseq\"/>\n</xsl:template>\n\n<xsl:template match=\"subscript\">\n  <xsl:call-template name=\"inline.subscriptseq\"/>\n</xsl:template>\n\n<xsl:template match=\"trademark\">\n  <xsl:call-template name=\"inline.charseq\"/>\n  <xsl:choose>\n    <xsl:when test=\"@class = 'copyright'                     or @class = 'registered'\">\n      <xsl:call-template name=\"dingbat\">\n        <xsl:with-param name=\"dingbat\" select=\"@class\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"@class = 'service'\">\n      <sup>SM</sup>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"dingbat\">\n        <xsl:with-param name=\"dingbat\" select=\"'trademark'\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"firstterm\">\n  <xsl:call-template name=\"glossterm\">\n    <xsl:with-param name=\"firstterm\" select=\"1\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"glossterm\" name=\"glossterm\">\n  <xsl:param name=\"firstterm\" select=\"0\"/>\n\n  <!-- To avoid extra <a name=\"\"> anchor from inline.italicseq -->\n  <xsl:variable name=\"content\">\n    <xsl:apply-templates/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"($firstterm.only.link = 0 or $firstterm = 1) and @linkend\">\n      <xsl:variable name=\"targets\" select=\"key('id',@linkend)\"/>\n      <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n\n      <xsl:call-template name=\"check.id.unique\">\n        <xsl:with-param name=\"linkend\" select=\"@linkend\"/>\n      </xsl:call-template>\n\n      <xsl:choose>\n        <xsl:when test=\"$target\">\n          <a>\n            <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n            <xsl:if test=\"@id or @xml:id\">\n              <xsl:attribute name=\"id\">\n                <xsl:value-of select=\"(@id|@xml:id)[1]\"/>\n              </xsl:attribute>\n            </xsl:if>\n\n            <xsl:attribute name=\"href\">\n              <xsl:call-template name=\"href.target\">\n                <xsl:with-param name=\"object\" select=\"$target\"/>\n              </xsl:call-template>\n            </xsl:attribute>\n\n            <xsl:call-template name=\"inline.italicseq\">\n              <xsl:with-param name=\"content\" select=\"$content\"/>\n            </xsl:call-template>\n          </a>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"inline.italicseq\">\n            <xsl:with-param name=\"content\" select=\"$content\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n\n    <xsl:when test=\"not(@linkend)                     and ($firstterm.only.link = 0 or $firstterm = 1)                     and ($glossterm.auto.link != 0)                     and $glossary.collection != ''\">\n      <xsl:variable name=\"term\">\n        <xsl:choose>\n          <xsl:when test=\"@baseform\"><xsl:value-of select=\"@baseform\"/></xsl:when>\n          <xsl:otherwise><xsl:value-of select=\".\"/></xsl:otherwise>\n        </xsl:choose>\n      </xsl:variable>\n\n      <xsl:variable name=\"cterm\" select=\"(document($glossary.collection,.)//glossentry[glossterm=$term])[1]\"/>\n\n      <!-- HACK HACK HACK! But it works... -->\n      <!-- You'd need to do more work if you wanted to chunk on glossdiv, though -->\n\n      <xsl:variable name=\"glossary\" select=\"//glossary[@role='auto']\"/>\n\n      <xsl:if test=\"count($glossary) != 1\">\n        <xsl:message>\n          <xsl:text>Warning: glossary.collection specified, but there are </xsl:text>\n          <xsl:value-of select=\"count($glossary)\"/>\n          <xsl:text> automatic glossaries</xsl:text>\n        </xsl:message>\n      </xsl:if>\n\n      <xsl:variable name=\"glosschunk\">\n        <xsl:call-template name=\"href.target\">\n          <xsl:with-param name=\"object\" select=\"$glossary\"/>\n        </xsl:call-template>\n      </xsl:variable>\n\n      <xsl:variable name=\"chunkbase\">\n        <xsl:choose>\n          <xsl:when test=\"contains($glosschunk, '#')\">\n            <xsl:value-of select=\"substring-before($glosschunk, '#')\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"$glosschunk\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:variable>\n\n      <xsl:choose>\n        <xsl:when test=\"not($cterm)\">\n          <xsl:message>\n            <xsl:text>There's no entry for </xsl:text>\n            <xsl:value-of select=\"$term\"/>\n            <xsl:text> in </xsl:text>\n            <xsl:value-of select=\"$glossary.collection\"/>\n          </xsl:message>\n          <xsl:call-template name=\"inline.italicseq\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:variable name=\"id\">\n            <xsl:call-template name=\"object.id\">\n              <xsl:with-param name=\"object\" select=\"$cterm\"/>\n            </xsl:call-template>\n          </xsl:variable>\n          <a href=\"{$chunkbase}#{$id}\">\n            <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n            <xsl:call-template name=\"inline.italicseq\">\n              <xsl:with-param name=\"content\" select=\"$content\"/>\n            </xsl:call-template>\n          </a>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n\n    <xsl:when test=\"not(@linkend)                     and ($firstterm.only.link = 0 or $firstterm = 1)                     and $glossterm.auto.link != 0\">\n      <xsl:variable name=\"term\">\n        <xsl:choose>\n          <xsl:when test=\"@baseform\">\n            <xsl:value-of select=\"normalize-space(@baseform)\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"normalize-space(.)\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:variable>\n      <xsl:variable name=\"targets\" select=\"key('glossentries', $term)\"/>\n      <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n\n      <xsl:choose>\n        <xsl:when test=\"count($targets)=0\">\n          <xsl:message>\n            <xsl:text>Error: no glossentry for glossterm: </xsl:text>\n            <xsl:value-of select=\".\"/>\n            <xsl:text>.</xsl:text>\n          </xsl:message>\n          <xsl:call-template name=\"inline.italicseq\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <a>\n            <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n            <xsl:if test=\"@id or @xml:id\">\n              <xsl:attribute name=\"id\">\n                <xsl:value-of select=\"(@id|@xml:id)[1]\"/>\n              </xsl:attribute>\n            </xsl:if>\n\n            <xsl:attribute name=\"href\">\n              <xsl:call-template name=\"href.target\">\n                <xsl:with-param name=\"object\" select=\"$target\"/>\n              </xsl:call-template>\n            </xsl:attribute>\n\n            <xsl:call-template name=\"inline.italicseq\">\n              <xsl:with-param name=\"content\" select=\"$content\"/>\n            </xsl:call-template>\n          </a>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n\n    <xsl:otherwise>\n      <xsl:call-template name=\"inline.italicseq\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"termdef\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"gentext.template\">\n      <xsl:with-param name=\"context\" select=\"'termdef'\"/>\n      <xsl:with-param name=\"name\" select=\"'prefix'\"/>\n    </xsl:call-template>\n    <xsl:apply-templates/>\n    <xsl:call-template name=\"gentext.template\">\n      <xsl:with-param name=\"context\" select=\"'termdef'\"/>\n      <xsl:with-param name=\"name\" select=\"'suffix'\"/>\n    </xsl:call-template>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"sgmltag|tag\">\n  <xsl:call-template name=\"format.sgmltag\"/>\n</xsl:template>\n\n<xsl:template name=\"format.sgmltag\">\n  <xsl:param name=\"class\">\n    <xsl:choose>\n      <xsl:when test=\"@class\">\n        <xsl:value-of select=\"@class\"/>\n      </xsl:when>\n      <xsl:otherwise>element</xsl:otherwise>\n    </xsl:choose>\n  </xsl:param>\n\n  <xsl:variable name=\"content\">\n    <xsl:choose>\n      <xsl:when test=\"$class='attribute'\">\n        <xsl:apply-templates/>\n      </xsl:when>\n      <xsl:when test=\"$class='attvalue'\">\n        <xsl:apply-templates/>\n      </xsl:when>\n      <xsl:when test=\"$class='element'\">\n        <xsl:apply-templates/>\n      </xsl:when>\n      <xsl:when test=\"$class='endtag'\">\n        <xsl:text>&lt;/</xsl:text>\n        <xsl:apply-templates/>\n        <xsl:text>&gt;</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"$class='genentity'\">\n        <xsl:text>&amp;</xsl:text>\n        <xsl:apply-templates/>\n        <xsl:text>;</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"$class='numcharref'\">\n        <xsl:text>&amp;#</xsl:text>\n        <xsl:apply-templates/>\n        <xsl:text>;</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"$class='paramentity'\">\n        <xsl:text>%</xsl:text>\n        <xsl:apply-templates/>\n        <xsl:text>;</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"$class='pi'\">\n        <xsl:text>&lt;?</xsl:text>\n        <xsl:apply-templates/>\n        <xsl:text>&gt;</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"$class='xmlpi'\">\n        <xsl:text>&lt;?</xsl:text>\n        <xsl:apply-templates/>\n        <xsl:text>?&gt;</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"$class='starttag'\">\n        <xsl:text>&lt;</xsl:text>\n        <xsl:apply-templates/>\n        <xsl:text>&gt;</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"$class='emptytag'\">\n        <xsl:text>&lt;</xsl:text>\n        <xsl:apply-templates/>\n        <xsl:text>/&gt;</xsl:text>\n      </xsl:when>\n      <xsl:when test=\"$class='sgmlcomment' or $class='comment'\">\n        <xsl:text>&lt;!--</xsl:text>\n        <xsl:apply-templates/>\n        <xsl:text>--&gt;</xsl:text>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:apply-templates/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <code>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\">\n      <xsl:with-param name=\"class\" select=\"concat('sgmltag-', $class)\"/>\n    </xsl:apply-templates>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\" select=\"$content\"/>\n    </xsl:call-template>\n  </code>\n</xsl:template>\n\n<xsl:template match=\"email\">\n  <xsl:call-template name=\"inline.monoseq\">\n    <xsl:with-param name=\"content\">\n      <xsl:if test=\"not($email.delimiters.enabled = 0)\">\n        <xsl:text>&lt;</xsl:text>\n      </xsl:if>\n      <a>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:attribute name=\"href\">\n          <xsl:text>mailto:</xsl:text>\n          <xsl:value-of select=\".\"/>\n        </xsl:attribute>\n        <xsl:apply-templates/>\n      </a>\n      <xsl:if test=\"not($email.delimiters.enabled = 0)\">\n        <xsl:text>&gt;</xsl:text>\n      </xsl:if>\n    </xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"keycombo\">\n  <xsl:variable name=\"action\" select=\"@action\"/>\n  <xsl:variable name=\"joinchar\">\n    <xsl:choose>\n      <xsl:when test=\"$action='seq'\"><xsl:text> </xsl:text></xsl:when>\n      <xsl:when test=\"$action='simul'\">+</xsl:when>\n      <xsl:when test=\"$action='press'\">-</xsl:when>\n      <xsl:when test=\"$action='click'\">-</xsl:when>\n      <xsl:when test=\"$action='double-click'\">-</xsl:when>\n      <xsl:when test=\"$action='other'\"/>\n      <xsl:otherwise>+</xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n  <xsl:for-each select=\"*\">\n    <xsl:if test=\"position()&gt;1\"><xsl:value-of select=\"$joinchar\"/></xsl:if>\n    <xsl:apply-templates select=\".\"/>\n  </xsl:for-each>\n</xsl:template>\n\n<xsl:template match=\"uri\">\n  <xsl:call-template name=\"inline.monoseq\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"menuchoice\">\n  <xsl:variable name=\"shortcut\" select=\"./shortcut\"/>\n  <xsl:call-template name=\"process.menuchoice\"/>\n  <xsl:if test=\"$shortcut\">\n    <xsl:text> (</xsl:text>\n    <xsl:apply-templates select=\"$shortcut\"/>\n    <xsl:text>)</xsl:text>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"process.menuchoice\">\n  <xsl:param name=\"nodelist\" select=\"guibutton|guiicon|guilabel|guimenu|guimenuitem|guisubmenu|interface\"/><!-- not(shortcut) -->\n  <xsl:param name=\"count\" select=\"1\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$count&gt;count($nodelist)\"/>\n    <xsl:when test=\"$count=1\">\n      <xsl:apply-templates select=\"$nodelist[$count=position()]\"/>\n      <xsl:call-template name=\"process.menuchoice\">\n        <xsl:with-param name=\"nodelist\" select=\"$nodelist\"/>\n        <xsl:with-param name=\"count\" select=\"$count+1\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:variable name=\"node\" select=\"$nodelist[$count=position()]\"/>\n      <xsl:choose>\n        <xsl:when test=\"local-name($node)='guimenuitem'                         or local-name($node)='guisubmenu'\">\n          <xsl:value-of select=\"$menuchoice.menu.separator\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"$menuchoice.separator\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n      <xsl:apply-templates select=\"$node\"/>\n      <xsl:call-template name=\"process.menuchoice\">\n        <xsl:with-param name=\"nodelist\" select=\"$nodelist\"/>\n        <xsl:with-param name=\"count\" select=\"$count+1\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"optional\">\n  <xsl:value-of select=\"$arg.choice.opt.open.str\"/>\n  <xsl:call-template name=\"inline.charseq\"/>\n  <xsl:value-of select=\"$arg.choice.opt.close.str\"/>\n</xsl:template>\n\n<xsl:template match=\"citation\">\n  <!-- todo: integrate with bibliography collection -->\n  <xsl:variable name=\"targets\" select=\"(//biblioentry | //bibliomixed)[abbrev = string(current())]\"/>\n  <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n\n  <xsl:choose>\n    <!-- try automatic linking based on match to abbrev -->\n    <xsl:when test=\"$target and not(xref) and not(link)\">\n\n      <xsl:text>[</xsl:text>\n      <a>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:attribute name=\"href\">\n          <xsl:call-template name=\"href.target\">\n            <xsl:with-param name=\"object\" select=\"$target\"/>\n          </xsl:call-template>\n        </xsl:attribute>\n\n        <xsl:choose>\n          <xsl:when test=\"$bibliography.numbered != 0\">\n            <xsl:call-template name=\"id.attribute\"/>\n            <xsl:apply-templates select=\"$target\" mode=\"citation\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:call-template name=\"inline.charseq\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n\n      </a>\n      <xsl:text>]</xsl:text>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:text>[</xsl:text>\n      <xsl:call-template name=\"inline.charseq\"/>\n      <xsl:text>]</xsl:text>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"citebiblioid\">\n  <xsl:variable name=\"targets\" select=\"//*[biblioid = string(current())]\"/>\n  <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n\n  <xsl:choose>\n    <!-- try automatic linking based on match to parent of biblioid -->\n    <xsl:when test=\"$target and not(xref) and not(link)\">\n\n      <xsl:text>[</xsl:text>\n      <a>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:attribute name=\"href\">\n          <xsl:call-template name=\"href.target\">\n            <xsl:with-param name=\"object\" select=\"$target\"/>\n          </xsl:call-template>\n        </xsl:attribute>\n\n        <xsl:call-template name=\"inline.charseq\"/>\n\n      </a>\n      <xsl:text>]</xsl:text>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:text>[</xsl:text>\n      <xsl:call-template name=\"inline.charseq\"/>\n      <xsl:text>]</xsl:text>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"biblioentry|bibliomixed\" mode=\"citation\">\n  <xsl:number from=\"bibliography\" count=\"biblioentry|bibliomixed\" level=\"any\" format=\"1\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"comment[parent::answer|parent::appendix|parent::article|parent::bibliodiv|                                 parent::bibliography|parent::blockquote|parent::caution|parent::chapter|                                 parent::glossary|parent::glossdiv|parent::important|parent::index|                                 parent::indexdiv|parent::listitem|parent::note|parent::orderedlist|                                 parent::partintro|parent::preface|parent::procedure|parent::qandadiv|                                 parent::qandaset|parent::question|parent::refentry|parent::refnamediv|                                 parent::refsect1|parent::refsect2|parent::refsect3|parent::refsection|                                 parent::refsynopsisdiv|parent::sect1|parent::sect2|parent::sect3|parent::sect4|                                 parent::sect5|parent::section|parent::setindex|parent::sidebar|                                 parent::simplesect|parent::taskprerequisites|parent::taskrelated|                                 parent::tasksummary|parent::warning|parent::topic]|remark[parent::answer|parent::appendix|parent::article|parent::bibliodiv|                                 parent::bibliography|parent::blockquote|parent::caution|parent::chapter|                                 parent::glossary|parent::glossdiv|parent::important|parent::index|                                 parent::indexdiv|parent::listitem|parent::note|parent::orderedlist|                                 parent::partintro|parent::preface|parent::procedure|parent::qandadiv|                                 parent::qandaset|parent::question|parent::refentry|parent::refnamediv|                                 parent::refsect1|parent::refsect2|parent::refsect3|parent::refsection|                                 parent::refsynopsisdiv|parent::sect1|parent::sect2|parent::sect3|parent::sect4|                                 parent::sect5|parent::section|parent::setindex|parent::sidebar|                                 parent::simplesect|parent::taskprerequisites|parent::taskrelated|                                 parent::tasksummary|parent::warning|parent::topic]\">\n  <xsl:if test=\"$show.comments != 0\">\n    <p class=\"remark\"><em><xsl:call-template name=\"inline.charseq\"/></em></p>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"comment|remark\">\n  <xsl:if test=\"$show.comments != 0\">\n    <em><xsl:call-template name=\"inline.charseq\"/></em>\n  </xsl:if>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"productname\">\n  <xsl:call-template name=\"inline.charseq\"/>\n  <xsl:if test=\"@class\">\n    <xsl:call-template name=\"dingbat\">\n      <xsl:with-param name=\"dingbat\" select=\"@class\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"productnumber\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"pob|street|city|state|postcode|country|otheraddr\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"phone|fax\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<!-- in Addresses, for example -->\n<xsl:template match=\"honorific|firstname|surname|lineage|othername\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"person\">\n  <xsl:param name=\"content\">\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:apply-templates select=\"personname\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n    <xsl:call-template name=\"apply-annotations\"/>\n  </xsl:param>\n\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:copy-of select=\"$content\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"personname\">\n  <xsl:param name=\"content\">\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:call-template name=\"person.name\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n    <xsl:call-template name=\"apply-annotations\"/>\n  </xsl:param>\n\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:copy-of select=\"$content\"/>\n  </span>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"org\">\n  <xsl:param name=\"content\">\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:apply-templates/>\n      </xsl:with-param>\n    </xsl:call-template>\n    <xsl:call-template name=\"apply-annotations\"/>\n  </xsl:param>\n\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:copy-of select=\"$content\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"orgname\">\n  <xsl:param name=\"content\">\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:apply-templates/>\n      </xsl:with-param>\n    </xsl:call-template>\n    <xsl:call-template name=\"apply-annotations\"/>\n  </xsl:param>\n\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:copy-of select=\"$content\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"orgdiv\">\n  <xsl:param name=\"content\">\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:apply-templates/>\n      </xsl:with-param>\n    </xsl:call-template>\n    <xsl:call-template name=\"apply-annotations\"/>\n  </xsl:param>\n\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:copy-of select=\"$content\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"affiliation\">\n  <xsl:param name=\"content\">\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:call-template name=\"person.name\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n    <xsl:call-template name=\"apply-annotations\"/>\n  </xsl:param>\n\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:copy-of select=\"$content\"/>\n  </span>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"beginpage\">\n  <!-- does nothing; this *is not* markup to force a page break. -->\n</xsl:template>\n\n</xsl:stylesheet>"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/keywords.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: keywords.xsl 6910 2007-06-28 23:23:30Z xmldoc $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<xsl:template match=\"keywordset\"/>\n<xsl:template match=\"subjectset\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"keywordset\" mode=\"html.header\">\n  <meta name=\"keywords\">\n    <xsl:attribute name=\"content\">\n      <xsl:apply-templates select=\"keyword\" mode=\"html.header\"/>\n    </xsl:attribute>\n  </meta>\n</xsl:template>\n\n<xsl:template match=\"keyword\" mode=\"html.header\">\n  <xsl:apply-templates/>\n  <xsl:if test=\"following-sibling::keyword\">, </xsl:if>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/lists.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: lists.xsl 9307 2012-04-28 03:55:07Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"itemizedlist\">\n  <!-- Handle spacing=\"compact\" as multiple class attribute instead\n       of the deprecated HTML compact attribute -->\n  <xsl:variable name=\"default.class\">\n    <xsl:value-of select=\"local-name()\"/>\n    <xsl:if test=\"@spacing = 'compact'\">\n      <xsl:text> compact</xsl:text>\n    </xsl:if>\n  </xsl:variable>\n  \n  <xsl:variable name=\"style.value\">\n    <xsl:variable name=\"type\">\n      <xsl:call-template name=\"list.itemsymbol\"/>\n    </xsl:variable>\n\n    <xsl:text>list-style-type: </xsl:text>\n    <xsl:value-of select=\"$type\"/>\n    <xsl:text>; </xsl:text>\n  </xsl:variable>\n\n  <div>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:if test=\"title|info/title\">\n      <xsl:call-template name=\"formal.object.heading\"/>\n    </xsl:if>\n\n    <!-- Preserve order of PIs and comments -->\n    <xsl:apply-templates select=\"*[not(self::listitem                   or self::title                   or self::titleabbrev)]                 |comment()[not(preceding-sibling::listitem)]                 |processing-instruction()[not(preceding-sibling::listitem)]\"/>\n\n    <ul>\n      <xsl:call-template name=\"generate.class.attribute\">\n        <xsl:with-param name=\"class\" select=\"$default.class\"/>\n      </xsl:call-template>\n      <xsl:choose>\n        <xsl:when test=\"$css.decoration != 0\">\n          <xsl:attribute name=\"style\">\n            <xsl:value-of select=\"$style.value\"/>\n          </xsl:attribute>\n        </xsl:when>\n        <xsl:when test=\"$make.clean.html != 0\">\n          <!-- styled by separate css only -->\n        </xsl:when>\n        <xsl:otherwise>\n          <!-- use the old @type attribute -->\n          \n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:apply-templates select=\"listitem                     |comment()[preceding-sibling::listitem]                     |processing-instruction()[preceding-sibling::listitem]\"/>\n    </ul>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"itemizedlist/title\">\n  <!-- nop -->\n</xsl:template>\n\n<xsl:template match=\"itemizedlist/listitem\">\n  <xsl:variable name=\"mark\" select=\"../@mark\"/>\n  <xsl:variable name=\"override\" select=\"@override\"/>\n\n  <xsl:variable name=\"usemark\">\n    <xsl:choose>\n      <xsl:when test=\"$override != ''\">\n        <xsl:value-of select=\"$override\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$mark\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"cssmark\">\n    <xsl:choose>\n      <xsl:when test=\"$usemark = 'opencircle'\">circle</xsl:when>\n      <xsl:when test=\"$usemark = 'bullet'\">disc</xsl:when>\n      <xsl:when test=\"$usemark = 'box'\">square</xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$usemark\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <li>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:if test=\"$css.decoration = '1' and $cssmark != ''\">\n      <xsl:attribute name=\"style\">\n        <xsl:text>list-style-type: </xsl:text>\n        <xsl:value-of select=\"$cssmark\"/>\n      </xsl:attribute>\n    </xsl:if>\n\n    <!-- we can't just drop the anchor in since some browsers (Opera)\n         get confused about line breaks if we do. So if the first child\n         is a para, assume the para will put in the anchor. Otherwise,\n         put the anchor in anyway. -->\n    <xsl:if test=\"local-name(child::*[1]) != 'para'\">\n      <xsl:call-template name=\"anchor\"/>\n    </xsl:if>\n\n    <xsl:choose>\n      <xsl:when test=\"$show.revisionflag != 0 and @revisionflag\">\n        <div class=\"{@revisionflag}\">\n          <xsl:apply-templates/>\n        </div>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:apply-templates/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </li>\n</xsl:template>\n\n<xsl:template match=\"orderedlist\">\n  <!-- Handle spacing=\"compact\" as multiple class attribute instead\n       of the deprecated HTML compact attribute -->\n  <xsl:variable name=\"default.class\">\n    <xsl:value-of select=\"local-name()\"/>\n    <xsl:if test=\"@spacing = 'compact'\">\n      <xsl:text> compact</xsl:text>\n    </xsl:if>\n  </xsl:variable>\n  \n  <xsl:variable name=\"start\">\n    <xsl:call-template name=\"orderedlist-starting-number\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"numeration\">\n    <xsl:call-template name=\"list.numeration\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"type\">\n    <xsl:choose>\n      <xsl:when test=\"$numeration='arabic'\">1</xsl:when>\n      <xsl:when test=\"$numeration='loweralpha'\">a</xsl:when>\n      <xsl:when test=\"$numeration='lowerroman'\">i</xsl:when>\n      <xsl:when test=\"$numeration='upperalpha'\">A</xsl:when>\n      <xsl:when test=\"$numeration='upperroman'\">I</xsl:when>\n      <!-- What!? This should never happen -->\n      <xsl:otherwise>\n        <xsl:message>\n          <xsl:text>Unexpected numeration: </xsl:text>\n          <xsl:value-of select=\"$numeration\"/>\n        </xsl:message>\n        <xsl:value-of select=\"1\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <div>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n\n    <xsl:if test=\"title|info/title\">\n      <xsl:call-template name=\"formal.object.heading\"/>\n    </xsl:if>\n\n    <!-- Preserve order of PIs and comments -->\n    <xsl:apply-templates select=\"*[not(self::listitem                   or self::title                   or self::titleabbrev)]                 |comment()[not(preceding-sibling::listitem)]                 |processing-instruction()[not(preceding-sibling::listitem)]\"/>\n\n    <xsl:choose>\n      <xsl:when test=\"@inheritnum='inherit' and ancestor::listitem[parent::orderedlist]\">\n        <table border=\"{$table.border.off}\">\n          <xsl:call-template name=\"generate.class.attribute\">\n            <xsl:with-param name=\"class\" select=\"$default.class\"/>\n          </xsl:call-template>\n          <colgroup>\n            <col align=\"{$direction.align.start}\" valign=\"top\"/>\n            <col/>\n          </colgroup>\n          <tbody>\n            <xsl:apply-templates mode=\"orderedlist-table\" select=\"listitem                         |comment()[preceding-sibling::listitem]                         |processing-instruction()[preceding-sibling::listitem]\"/>\n          </tbody>\n        </table>\n      </xsl:when>\n      <xsl:otherwise>\n        <ol>\n          <xsl:call-template name=\"generate.class.attribute\">\n            <xsl:with-param name=\"class\" select=\"$default.class\"/>\n          </xsl:call-template>\n          <xsl:if test=\"$start != '1'\"><xsl:message><xsl:text>Strict XHTML does not allow setting @start attribute for lists! </xsl:text></xsl:message></xsl:if>\n          <xsl:if test=\"$numeration != ''\">\n            \n          </xsl:if>\n          <xsl:apply-templates select=\"listitem                         |comment()[preceding-sibling::listitem]                         |processing-instruction()[preceding-sibling::listitem]\"/>\n        </ol>\n      </xsl:otherwise>\n    </xsl:choose>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"orderedlist/title\">\n  <!-- nop -->\n</xsl:template>\n\n<xsl:template match=\"orderedlist/listitem\">\n  <li>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:if test=\"@override\"><xsl:message><xsl:text>@override attribute cannot be set in strict XHTML output for listitem: </xsl:text><xsl:value-of select=\"@override\"/></xsl:message></xsl:if>\n\n    <!-- we can't just drop the anchor in since some browsers (Opera)\n         get confused about line breaks if we do. So if the first child\n         is a para, assume the para will put in the anchor. Otherwise,\n         put the anchor in anyway. -->\n    <xsl:if test=\"local-name(child::*[1]) != 'para'\">\n      <xsl:call-template name=\"anchor\"/>\n    </xsl:if>\n\n    <xsl:choose>\n      <xsl:when test=\"$show.revisionflag != 0 and @revisionflag\">\n        <div class=\"{@revisionflag}\">\n          <xsl:apply-templates/>\n        </div>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:apply-templates/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </li>\n</xsl:template>\n\n<xsl:template match=\"orderedlist/listitem\" mode=\"orderedlist-table\">\n  <tr>\n    <td>\n      <xsl:apply-templates select=\".\" mode=\"item-number\"/>\n    </td>\n    <td>\n      <xsl:if test=\"local-name(child::*[1]) != 'para'\">\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:call-template name=\"anchor\"/>\n      </xsl:if>\n\n      <xsl:choose>\n        <xsl:when test=\"$show.revisionflag != 0 and @revisionflag\">\n          <div class=\"{@revisionflag}\">\n            <xsl:apply-templates/>\n          </div>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </td>\n  </tr>\n</xsl:template>\n\n<xsl:template match=\"variablelist\">\n  <xsl:variable name=\"pi-presentation\">\n    <xsl:call-template name=\"pi.dbhtml_list-presentation\"/>\n  </xsl:variable>\n  <!-- Handle spacing=\"compact\" as multiple class attribute instead\n       of the deprecated HTML compact attribute -->\n  <xsl:variable name=\"default.class\">\n    <xsl:value-of select=\"local-name()\"/>\n    <xsl:if test=\"@spacing = 'compact'\">\n      <xsl:text> compact</xsl:text>\n    </xsl:if>\n  </xsl:variable>\n  \n\n  <xsl:variable name=\"presentation\">\n    <xsl:choose>\n      <xsl:when test=\"$pi-presentation != ''\">\n        <xsl:value-of select=\"$pi-presentation\"/>\n      </xsl:when>\n      <xsl:when test=\"$variablelist.as.table != 0\">\n        <xsl:value-of select=\"'table'\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"'list'\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"list-width\">\n    <xsl:call-template name=\"pi.dbhtml_list-width\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"term-width\">\n    <xsl:call-template name=\"pi.dbhtml_term-width\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"table-summary\">\n    <xsl:call-template name=\"pi.dbhtml_table-summary\"/>\n  </xsl:variable>\n\n  <div>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:if test=\"title|info/title\">\n      <xsl:call-template name=\"formal.object.heading\"/>\n    </xsl:if>\n\n    <xsl:choose>\n      <xsl:when test=\"$presentation = 'table'\">\n        <!-- Preserve order of PIs and comments -->\n        <xsl:apply-templates select=\"*[not(self::varlistentry                     or self::title                     or self::titleabbrev)]                   |comment()[not(preceding-sibling::varlistentry)]                   |processing-instruction()[not(preceding-sibling::varlistentry)]\"/>\n        <table border=\"{$table.border.off}\">\n          <xsl:call-template name=\"generate.class.attribute\">\n            <xsl:with-param name=\"class\" select=\"$default.class\"/>\n          </xsl:call-template>\n          <xsl:if test=\"$list-width != ''\">\n            <xsl:attribute name=\"width\">\n              <xsl:value-of select=\"$list-width\"/>\n            </xsl:attribute>\n          </xsl:if>\n          <xsl:if test=\"$table-summary != ''\">\n            <xsl:attribute name=\"summary\">\n              <xsl:value-of select=\"$table-summary\"/>\n            </xsl:attribute>\n          </xsl:if>\n          <colgroup>\n            <col align=\"{$direction.align.start}\" valign=\"top\">\n              <xsl:if test=\"$term-width != ''\">\n                <xsl:attribute name=\"width\">\n                  <xsl:value-of select=\"$term-width\"/>\n                </xsl:attribute>\n              </xsl:if>\n            </col>\n            <col/>\n          </colgroup>\n          <tbody>\n            <xsl:apply-templates mode=\"varlist-table\" select=\"varlistentry                       |comment()[preceding-sibling::varlistentry]                       |processing-instruction()[preceding-sibling::varlistentry]\"/>\n          </tbody>\n        </table>\n      </xsl:when>\n      <xsl:otherwise>\n        <!-- Preserve order of PIs and comments -->\n        <xsl:apply-templates select=\"*[not(self::varlistentry                     or self::title                     or self::titleabbrev)]                   |comment()[not(preceding-sibling::varlistentry)]                   |processing-instruction()[not(preceding-sibling::varlistentry)]\"/>\n        <dl>\n          <xsl:call-template name=\"generate.class.attribute\">\n            <xsl:with-param name=\"class\" select=\"$default.class\"/>\n          </xsl:call-template>\n          <xsl:apply-templates select=\"varlistentry                       |comment()[preceding-sibling::varlistentry]                       |processing-instruction()[preceding-sibling::varlistentry]\"/>\n        </dl>\n      </xsl:otherwise>\n    </xsl:choose>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"variablelist/title\">\n  <!-- nop -->\n</xsl:template>\n\n<xsl:template match=\"itemizedlist/titleabbrev|orderedlist/titleabbrev\">\n  <!--nop-->\n</xsl:template>\n\n<xsl:template match=\"variablelist/titleabbrev\">\n  <!--nop-->\n</xsl:template>\n\n<xsl:template match=\"listitem\" mode=\"xref\">\n  <xsl:number format=\"1\"/>\n</xsl:template>\n\n<xsl:template match=\"listitem/simpara\" priority=\"2\">\n  <!-- If a listitem contains only a single simpara, don't output\n       the <p> wrapper; this has the effect of creating an li\n       with simple text content. -->\n  <xsl:choose>\n    <xsl:when test=\"not(preceding-sibling::*)                     and not (following-sibling::*)\">\n      <xsl:call-template name=\"anchor\"/>\n      <xsl:apply-templates/>\n    </xsl:when>\n    <xsl:otherwise>\n      <p>\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:choose>\n          <xsl:when test=\"@role and $para.propagates.style != 0\">\n            <xsl:call-template name=\"common.html.attributes\">\n              <xsl:with-param name=\"class\" select=\"@role\"/>\n            </xsl:call-template>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:call-template name=\"common.html.attributes\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n\n        <xsl:call-template name=\"anchor\"/>\n        <xsl:apply-templates/>\n      </p>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"varlistentry\">\n  <dt>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:apply-templates select=\"term\"/>\n  </dt>\n  <dd>\n    <xsl:apply-templates select=\"listitem\"/>\n  </dd>\n</xsl:template>\n\n<xsl:template match=\"varlistentry\" mode=\"varlist-table\">\n  <xsl:variable name=\"presentation\">\n    <xsl:call-template name=\"pi.dbhtml_term-presentation\">\n      <xsl:with-param name=\"node\" select=\"..\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"separator\">\n    <xsl:call-template name=\"pi.dbhtml_term-separator\">\n      <xsl:with-param name=\"node\" select=\"..\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <tr>\n    <xsl:call-template name=\"tr.attributes\">\n      <xsl:with-param name=\"rownum\">\n        <xsl:number from=\"variablelist\" count=\"varlistentry\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n\n    <td>\n      <xsl:call-template name=\"id.attribute\"/>\n      <p>\n      <xsl:call-template name=\"anchor\"/>\n      <xsl:choose>\n        <xsl:when test=\"$presentation = 'bold'\">\n          <strong>\n            <xsl:apply-templates select=\"term\"/>\n            <xsl:value-of select=\"$separator\"/>\n          </strong>\n        </xsl:when>\n        <xsl:when test=\"$presentation = 'italic'\">\n          <em>\n            <xsl:apply-templates select=\"term\"/>\n            <xsl:value-of select=\"$separator\"/>\n          </em>\n        </xsl:when>\n        <xsl:when test=\"$presentation = 'bold-italic'\">\n          <strong>\n            <em>\n              <xsl:apply-templates select=\"term\"/>\n              <xsl:value-of select=\"$separator\"/>\n            </em>\n          </strong>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates select=\"term\"/>\n          <xsl:value-of select=\"$separator\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n      </p>\n    </td>\n    <td>\n      <xsl:apply-templates select=\"listitem\"/>\n    </td>\n  </tr>\n</xsl:template>\n\n<xsl:template match=\"varlistentry/term\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:call-template name=\"simple.xlink\">\n      <xsl:with-param name=\"content\">\n        <xsl:apply-templates/>\n      </xsl:with-param>\n    </xsl:call-template>\n    <xsl:choose>\n      <xsl:when test=\"position() = last()\"/> <!-- do nothing -->\n      <xsl:otherwise>\n        <!-- * if we have multiple terms in the same varlistentry, generate -->\n        <!-- * a separator (\", \" by default) and/or an additional line -->\n        <!-- * break after each one except the last -->\n        <xsl:value-of select=\"$variablelist.term.separator\"/>\n        <xsl:if test=\"not($variablelist.term.break.after = '0')\">\n          <br/>\n        </xsl:if>\n      </xsl:otherwise>\n    </xsl:choose>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"varlistentry/listitem\">\n  <!-- we can't just drop the anchor in since some browsers (Opera)\n       get confused about line breaks if we do. So if the first child\n       is a para, assume the para will put in the anchor. Otherwise,\n       put the anchor in anyway. -->\n  <xsl:if test=\"local-name(child::*[1]) != 'para'\">\n    <xsl:call-template name=\"anchor\"/>\n  </xsl:if>\n\n  <xsl:choose>\n    <xsl:when test=\"$show.revisionflag != 0 and @revisionflag\">\n      <div class=\"{@revisionflag}\">\n        <xsl:apply-templates/>\n      </div>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"simplelist\">\n  <!-- with no type specified, the default is 'vert' -->\n  <xsl:call-template name=\"anchor\"/>\n  <table border=\"{$table.border.off}\">\n    <xsl:if test=\"$div.element != 'section'\">\n      <xsl:attribute name=\"summary\">Simple list</xsl:attribute>\n    </xsl:if>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"simplelist.vert\">\n      <xsl:with-param name=\"cols\">\n        <xsl:choose>\n          <xsl:when test=\"@columns\">\n            <xsl:value-of select=\"@columns\"/>\n          </xsl:when>\n          <xsl:otherwise>1</xsl:otherwise>\n        </xsl:choose>\n      </xsl:with-param>\n    </xsl:call-template>\n  </table>\n</xsl:template>\n\n<xsl:template match=\"simplelist[@type='inline']\">\n  <span>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <!-- if dbchoice PI exists, use that to determine the choice separator -->\n    <!-- (that is, equivalent of \"and\" or \"or\" in current locale), or literal -->\n    <!-- value of \"choice\" otherwise -->\n    <xsl:variable name=\"localized-choice-separator\">\n      <xsl:choose>\n        <xsl:when test=\"processing-instruction('dbchoice')\">\n          <xsl:call-template name=\"select.choice.separator\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <!-- empty -->\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n  \n    <xsl:for-each select=\"member\">\n      <xsl:call-template name=\"simple.xlink\">\n        <xsl:with-param name=\"content\">\n          <xsl:apply-templates/>\n        </xsl:with-param>\n      </xsl:call-template>\n      <xsl:choose>\n        <xsl:when test=\"position() = last()\"/> <!-- do nothing -->\n        <xsl:otherwise>\n          <xsl:text>, </xsl:text>\n          <xsl:if test=\"position() = last() - 1\">\n            <xsl:if test=\"$localized-choice-separator != ''\">\n              <xsl:value-of select=\"$localized-choice-separator\"/>\n              <xsl:text> </xsl:text>\n            </xsl:if>\n          </xsl:if>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:for-each>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"simplelist[@type='horiz']\">\n  <xsl:call-template name=\"anchor\"/>\n  <table border=\"{$table.border.off}\">\n    <xsl:if test=\"$div.element != 'section'\">\n      <xsl:attribute name=\"summary\">Simple list</xsl:attribute>\n    </xsl:if>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"simplelist.horiz\">\n      <xsl:with-param name=\"cols\">\n        <xsl:choose>\n          <xsl:when test=\"@columns\">\n            <xsl:value-of select=\"@columns\"/>\n          </xsl:when>\n          <xsl:otherwise>1</xsl:otherwise>\n        </xsl:choose>\n      </xsl:with-param>\n    </xsl:call-template>\n  </table>\n</xsl:template>\n\n<xsl:template match=\"simplelist[@type='vert']\">\n  <xsl:call-template name=\"anchor\"/>\n  <table border=\"{$table.border.off}\">\n    <xsl:if test=\"$div.element != 'section'\">\n      <xsl:attribute name=\"summary\">Simple list</xsl:attribute>\n    </xsl:if>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"simplelist.vert\">\n      <xsl:with-param name=\"cols\">\n        <xsl:choose>\n          <xsl:when test=\"@columns\">\n            <xsl:value-of select=\"@columns\"/>\n          </xsl:when>\n          <xsl:otherwise>1</xsl:otherwise>\n        </xsl:choose>\n      </xsl:with-param>\n    </xsl:call-template>\n  </table>\n</xsl:template>\n\n<xsl:template name=\"simplelist.horiz\">\n  <xsl:param name=\"cols\">1</xsl:param>\n  <xsl:param name=\"cell\">1</xsl:param>\n  <xsl:param name=\"members\" select=\"./member\"/>\n\n  <xsl:if test=\"$cell &lt;= count($members)\">\n    <tr>\n      <xsl:call-template name=\"tr.attributes\">\n        <xsl:with-param name=\"row\" select=\"$members[1]\"/>\n        <xsl:with-param name=\"rownum\" select=\"(($cell - 1) div $cols) + 1\"/>\n      </xsl:call-template>\n\n      <xsl:call-template name=\"simplelist.horiz.row\">\n        <xsl:with-param name=\"cols\" select=\"$cols\"/>\n        <xsl:with-param name=\"cell\" select=\"$cell\"/>\n        <xsl:with-param name=\"members\" select=\"$members\"/>\n      </xsl:call-template>\n   </tr>\n    <xsl:call-template name=\"simplelist.horiz\">\n      <xsl:with-param name=\"cols\" select=\"$cols\"/>\n      <xsl:with-param name=\"cell\" select=\"$cell + $cols\"/>\n      <xsl:with-param name=\"members\" select=\"$members\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"simplelist.horiz.row\">\n  <xsl:param name=\"cols\">1</xsl:param>\n  <xsl:param name=\"cell\">1</xsl:param>\n  <xsl:param name=\"members\" select=\"./member\"/>\n  <xsl:param name=\"curcol\">1</xsl:param>\n\n  <xsl:if test=\"$curcol &lt;= $cols\">\n    <td>\n      <xsl:choose>\n        <xsl:when test=\"$members[position()=$cell]\">\n          <xsl:apply-templates select=\"$members[position()=$cell]\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:text>&#160;</xsl:text>\n        </xsl:otherwise>\n      </xsl:choose>\n    </td>\n    <xsl:call-template name=\"simplelist.horiz.row\">\n      <xsl:with-param name=\"cols\" select=\"$cols\"/>\n      <xsl:with-param name=\"cell\" select=\"$cell+1\"/>\n      <xsl:with-param name=\"members\" select=\"$members\"/>\n      <xsl:with-param name=\"curcol\" select=\"$curcol+1\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"simplelist.vert\">\n  <xsl:param name=\"cols\">1</xsl:param>\n  <xsl:param name=\"cell\">1</xsl:param>\n  <xsl:param name=\"members\" select=\"./member\"/>\n  <xsl:param name=\"rows\" select=\"floor((count($members)+$cols - 1) div $cols)\"/>\n\n  <xsl:if test=\"$cell &lt;= $rows\">\n    <tr>\n      <xsl:call-template name=\"tr.attributes\">\n        <xsl:with-param name=\"row\" select=\"$members[1]\"/>\n        <xsl:with-param name=\"rownum\" select=\"$cell\"/>\n      </xsl:call-template>\n\n      <xsl:call-template name=\"simplelist.vert.row\">\n        <xsl:with-param name=\"cols\" select=\"$cols\"/>\n        <xsl:with-param name=\"rows\" select=\"$rows\"/>\n        <xsl:with-param name=\"cell\" select=\"$cell\"/>\n        <xsl:with-param name=\"members\" select=\"$members\"/>\n      </xsl:call-template>\n    </tr>\n    <xsl:call-template name=\"simplelist.vert\">\n      <xsl:with-param name=\"cols\" select=\"$cols\"/>\n      <xsl:with-param name=\"cell\" select=\"$cell+1\"/>\n      <xsl:with-param name=\"members\" select=\"$members\"/>\n      <xsl:with-param name=\"rows\" select=\"$rows\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"simplelist.vert.row\">\n  <xsl:param name=\"cols\">1</xsl:param>\n  <xsl:param name=\"rows\">1</xsl:param>\n  <xsl:param name=\"cell\">1</xsl:param>\n  <xsl:param name=\"members\" select=\"./member\"/>\n  <xsl:param name=\"curcol\">1</xsl:param>\n\n  <xsl:if test=\"$curcol &lt;= $cols\">\n    <td>\n      <xsl:choose>\n        <xsl:when test=\"$members[position()=$cell]\">\n          <xsl:apply-templates select=\"$members[position()=$cell]\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:text>&#160;</xsl:text>\n        </xsl:otherwise>\n      </xsl:choose>\n    </td>\n    <xsl:call-template name=\"simplelist.vert.row\">\n      <xsl:with-param name=\"cols\" select=\"$cols\"/>\n      <xsl:with-param name=\"rows\" select=\"$rows\"/>\n      <xsl:with-param name=\"cell\" select=\"$cell+$rows\"/>\n      <xsl:with-param name=\"members\" select=\"$members\"/>\n      <xsl:with-param name=\"curcol\" select=\"$curcol+1\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"member\">\n  <xsl:call-template name=\"anchor\"/>\n  <xsl:call-template name=\"simple.xlink\">\n    <xsl:with-param name=\"content\">\n      <xsl:apply-templates/>\n    </xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"procedure\">\n  <xsl:variable name=\"param.placement\" select=\"substring-after(normalize-space($formal.title.placement),                                         concat(local-name(.), ' '))\"/>\n\n  <xsl:variable name=\"placement\">\n    <xsl:choose>\n      <xsl:when test=\"contains($param.placement, ' ')\">\n        <xsl:value-of select=\"substring-before($param.placement, ' ')\"/>\n      </xsl:when>\n      <xsl:when test=\"$param.placement = ''\">before</xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$param.placement\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <!-- Preserve order of PIs and comments -->\n  <xsl:variable name=\"preamble\" select=\"*[not(self::step                   or self::title                   or self::titleabbrev)]                 |comment()[not(preceding-sibling::step)]                 |processing-instruction()[not(preceding-sibling::step)]\"/>\n\n  <div>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\">\n        <xsl:choose>\n          <xsl:when test=\"title\">0</xsl:when>\n          <xsl:otherwise>1</xsl:otherwise>\n        </xsl:choose>\n      </xsl:with-param>\n    </xsl:call-template>\n    <xsl:call-template name=\"anchor\">\n      <xsl:with-param name=\"conditional\">\n        <xsl:choose>\n          <xsl:when test=\"title\">0</xsl:when>\n          <xsl:otherwise>1</xsl:otherwise>\n        </xsl:choose>\n      </xsl:with-param>\n    </xsl:call-template>\n\n    <xsl:if test=\"(title or info/title) and $placement = 'before'\">\n      <xsl:call-template name=\"formal.object.heading\"/>\n    </xsl:if>\n\n    <xsl:apply-templates select=\"$preamble\"/>\n\n    <xsl:choose>\n      <xsl:when test=\"count(step) = 1\">\n        <ul>\n          <xsl:call-template name=\"generate.class.attribute\"/>\n          <xsl:apply-templates select=\"step                     |comment()[preceding-sibling::step]                     |processing-instruction()[preceding-sibling::step]\"/>\n        </ul>\n      </xsl:when>\n      <xsl:otherwise>\n        <ol>\n          <xsl:call-template name=\"generate.class.attribute\"/>\n          \n          <xsl:apply-templates select=\"step                     |comment()[preceding-sibling::step]                     |processing-instruction()[preceding-sibling::step]\"/>\n        </ol>\n      </xsl:otherwise>\n    </xsl:choose>\n\n    <xsl:if test=\"(title or info/title) and $placement != 'before'\">\n      <xsl:call-template name=\"formal.object.heading\"/>\n    </xsl:if>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"procedure/title\">\n  <!-- nop -->\n</xsl:template>\n\n<xsl:template match=\"substeps\"><xsl:variable name=\"numeration\"><xsl:call-template name=\"procedure.step.numeration\"/></xsl:variable><xsl:variable name=\"cssstyle\"><xsl:choose><xsl:when test=\"$numeration = '1'\">decimal</xsl:when><xsl:when test=\"$numeration = 'a'\">lower-alpha</xsl:when><xsl:when test=\"$numeration = 'i'\">lower-roman</xsl:when><xsl:when test=\"$numeration = 'A'\">upper-alpha</xsl:when><xsl:when test=\"$numeration = 'I'\">upper-roman</xsl:when><xsl:otherwise><xsl:message>Warning: unknown procedure.step.numeration value: <xsl:value-of select=\"$numeration\"/></xsl:message></xsl:otherwise></xsl:choose></xsl:variable><xsl:call-template name=\"anchor\"/><ol><xsl:attribute name=\"style\"><xsl:text>list-style-type: </xsl:text><xsl:value-of select=\"$cssstyle\"/></xsl:attribute><xsl:apply-templates/></ol></xsl:template>\n\n<xsl:template match=\"step\">\n  <li>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:apply-templates/>\n  </li>\n</xsl:template>\n\n<xsl:template match=\"stepalternatives\">\n  <xsl:call-template name=\"anchor\"/>\n  <ul>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates/>\n  </ul>\n</xsl:template>\n\n<xsl:template match=\"step/title\">\n  <p>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <strong xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\">\n      <xsl:apply-templates/>\n    </strong>\n  </p>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"segmentedlist\">\n  <xsl:variable name=\"presentation\">\n    <xsl:call-template name=\"pi.dbhtml_list-presentation\"/>\n  </xsl:variable>\n\n  <div>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n\n    <xsl:choose>\n      <xsl:when test=\"$presentation = 'table'\">\n        <xsl:apply-templates select=\".\" mode=\"seglist-table\"/>\n      </xsl:when>\n      <xsl:when test=\"$presentation = 'list'\">\n        <xsl:apply-templates/>\n      </xsl:when>\n      <xsl:when test=\"$segmentedlist.as.table != 0\">\n        <xsl:apply-templates select=\".\" mode=\"seglist-table\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:apply-templates/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"segmentedlist/title\">\n  <div>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <strong>\n      <span>\n        <xsl:call-template name=\"generate.class.attribute\"/>\n        <xsl:apply-templates/>\n      </span>\n    </strong>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"segtitle\">\n</xsl:template>\n\n<xsl:template match=\"segtitle\" mode=\"segtitle-in-seg\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"seglistitem\">\n  <div>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:apply-templates/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"seg\">\n  <xsl:variable name=\"segnum\" select=\"count(preceding-sibling::seg)+1\"/>\n  <xsl:variable name=\"seglist\" select=\"ancestor::segmentedlist\"/>\n  <xsl:variable name=\"segtitles\" select=\"$seglist/segtitle\"/>\n\n  <!--\n     Note: segtitle is only going to be the right thing in a well formed\n     SegmentedList.  If there are too many Segs or too few SegTitles,\n     you'll get something odd...maybe an error\n  -->\n\n  <div>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <strong>\n      <span class=\"segtitle\">\n        <xsl:apply-templates select=\"$segtitles[$segnum=position()]\" mode=\"segtitle-in-seg\"/>\n        <xsl:text>: </xsl:text>\n      </span>\n    </strong>\n    <xsl:apply-templates/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"segmentedlist\" mode=\"seglist-table\">\n  <xsl:variable name=\"table-summary\">\n    <xsl:call-template name=\"pi.dbhtml_table-summary\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"list-width\">\n    <xsl:call-template name=\"pi.dbhtml_list-width\"/>\n  </xsl:variable>\n\n  <xsl:apply-templates select=\"title\"/>\n\n  <table border=\"{$table.border.off}\">\n    <xsl:if test=\"$list-width != ''\">\n      <xsl:attribute name=\"width\">\n        <xsl:value-of select=\"$list-width\"/>\n      </xsl:attribute>\n    </xsl:if>\n    <xsl:if test=\"$table-summary != '' and $div.element != 'section'\">\n      <xsl:attribute name=\"summary\">\n        <xsl:value-of select=\"$table-summary\"/>\n      </xsl:attribute>\n    </xsl:if>\n    <thead>\n      <tr class=\"segtitle\">\n        <xsl:call-template name=\"tr.attributes\">\n          <xsl:with-param name=\"row\" select=\"segtitle[1]\"/>\n          <xsl:with-param name=\"rownum\" select=\"1\"/>\n        </xsl:call-template>\n        <xsl:apply-templates select=\"segtitle\" mode=\"seglist-table\"/>\n      </tr>\n    </thead>\n    <tbody>\n      <xsl:apply-templates select=\"seglistitem\" mode=\"seglist-table\"/>\n    </tbody>\n  </table>\n</xsl:template>\n\n<xsl:template match=\"segtitle\" mode=\"seglist-table\">\n  <th><xsl:apply-templates/></th>\n</xsl:template>\n\n<xsl:template match=\"seglistitem\" mode=\"seglist-table\">\n  <xsl:variable name=\"seglinum\">\n    <xsl:number from=\"segmentedlist\" count=\"seglistitem\"/>\n  </xsl:variable>\n\n  <tr>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"tr.attributes\">\n      <xsl:with-param name=\"rownum\" select=\"$seglinum + 1\"/>\n    </xsl:call-template>\n    <xsl:apply-templates mode=\"seglist-table\"/>\n  </tr>\n</xsl:template>\n\n<xsl:template match=\"seg\" mode=\"seglist-table\">\n  <td>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates/>\n  </td>\n</xsl:template>\n\n<xsl:template match=\"seg[1]\" mode=\"seglist-table\">\n  <td>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\">\n      <xsl:with-param name=\"node\" select=\"ancestor::seglistitem\"/>\n    </xsl:call-template>\n    <xsl:apply-templates/>\n  </td>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"calloutlist\">\n  <div>\n    <xsl:call-template name=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:if test=\"title|info/title\">\n      <xsl:call-template name=\"formal.object.heading\"/>\n    </xsl:if>\n\n    <!-- Preserve order of PIs and comments -->\n    <xsl:apply-templates select=\"*[not(self::callout or self::title or self::titleabbrev)]                    |comment()[not(preceding-sibling::callout)]                    |processing-instruction()[not(preceding-sibling::callout)]\"/>\n\n    <xsl:choose>\n      <xsl:when test=\"$callout.list.table != 0\">\n        <table border=\"{$table.border.off}\">\n          <xsl:if test=\"$div.element != 'section'\">\n            <xsl:attribute name=\"summary\">Callout list</xsl:attribute>\n          </xsl:if>\n          <xsl:apply-templates select=\"callout                                 |comment()[preceding-sibling::callout]                                 |processing-instruction()[preceding-sibling::callout]\"/>\n        </table>\n      </xsl:when>\n      <xsl:otherwise>\n        <dl>\n          <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n          <xsl:apply-templates select=\"callout                                 |comment()[preceding-sibling::callout]                                 |processing-instruction()[preceding-sibling::callout]\"/>\n        </dl>\n      </xsl:otherwise>\n    </xsl:choose>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"calloutlist/title\">\n</xsl:template>\n\n<xsl:template match=\"callout\">\n  <xsl:choose>\n    <xsl:when test=\"$callout.list.table != 0\">\n      <tr>\n        <xsl:call-template name=\"tr.attributes\">\n          <xsl:with-param name=\"rownum\">\n            <xsl:number from=\"calloutlist\" count=\"callout\"/>\n          </xsl:with-param>\n        </xsl:call-template>\n\n        <td valign=\"top\" align=\"{$direction.align.start}\">\n          <xsl:call-template name=\"id.attribute\"/>\n          <p>\n            <xsl:call-template name=\"anchor\"/>\n            <xsl:call-template name=\"callout.arearefs\">\n              <xsl:with-param name=\"arearefs\" select=\"@arearefs\"/>\n            </xsl:call-template>\n          </p>\n        </td>\n        <td valign=\"top\" align=\"{$direction.align.start}\">\n          <xsl:apply-templates/>\n        </td>\n      </tr>\n    </xsl:when>\n    <xsl:otherwise>\n      <dt>\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:call-template name=\"anchor\"/>\n        <xsl:call-template name=\"callout.arearefs\">\n          <xsl:with-param name=\"arearefs\" select=\"@arearefs\"/>\n        </xsl:call-template>\n      </dt>\n      <dd><xsl:apply-templates/></dd>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"callout/simpara\" priority=\"2\">\n  <!-- If a callout contains only a single simpara, don't output\n       the <p> wrapper; this has the effect of creating an li\n       with simple text content. -->\n  <xsl:choose>\n    <xsl:when test=\"not(preceding-sibling::*)                     and not (following-sibling::*)\">\n      <xsl:call-template name=\"anchor\"/>\n      <xsl:apply-templates/>\n    </xsl:when>\n    <xsl:otherwise>\n      <p>\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:if test=\"@role and $para.propagates.style != 0\">\n          <xsl:choose>\n            <xsl:when test=\"@role and $para.propagates.style != 0\">\n              <xsl:call-template name=\"common.html.attributes\">\n                <xsl:with-param name=\"class\" select=\"@role\"/>\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:call-template name=\"common.html.attributes\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:if>\n\n        <xsl:call-template name=\"anchor\"/>\n        <xsl:apply-templates/>\n      </p>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"callout.arearefs\">\n  <xsl:param name=\"arearefs\"/>\n  <xsl:if test=\"$arearefs!=''\">\n    <xsl:choose>\n      <xsl:when test=\"substring-before($arearefs,' ')=''\">\n        <xsl:call-template name=\"callout.arearef\">\n          <xsl:with-param name=\"arearef\" select=\"$arearefs\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"callout.arearef\">\n          <xsl:with-param name=\"arearef\" select=\"substring-before($arearefs,' ')\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n    <xsl:call-template name=\"callout.arearefs\">\n      <xsl:with-param name=\"arearefs\" select=\"substring-after($arearefs,' ')\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"callout.arearef\">\n  <xsl:param name=\"arearef\"/>\n  <xsl:variable name=\"targets\" select=\"key('id',$arearef)\"/>\n  <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n\n  <xsl:call-template name=\"check.id.unique\">\n    <xsl:with-param name=\"linkend\" select=\"$arearef\"/>\n  </xsl:call-template>\n\n  <xsl:choose>\n    <xsl:when test=\"count($target)=0\">\n      <xsl:text>???</xsl:text>\n    </xsl:when>\n    <xsl:when test=\"local-name($target)='co'\">\n      <a>\n        <xsl:attribute name=\"href\">\n          <xsl:text>#</xsl:text>\n          <xsl:value-of select=\"$arearef\"/>\n        </xsl:attribute>\n        <xsl:apply-templates select=\"$target\" mode=\"callout-bug\"/>\n      </a>\n      <xsl:text> </xsl:text>\n    </xsl:when>\n    <xsl:when test=\"local-name($target)='areaset'\">\n      <xsl:call-template name=\"callout-bug\">\n        <xsl:with-param name=\"conum\">\n          <xsl:apply-templates select=\"$target\" mode=\"conumber\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"local-name($target)='area'\">\n      <xsl:choose>\n        <xsl:when test=\"$target/parent::areaset\">\n          <xsl:call-template name=\"callout-bug\">\n            <xsl:with-param name=\"conum\">\n              <xsl:apply-templates select=\"$target/parent::areaset\" mode=\"conumber\"/>\n            </xsl:with-param>\n          </xsl:call-template>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"callout-bug\">\n            <xsl:with-param name=\"conum\">\n              <xsl:apply-templates select=\"$target\" mode=\"conumber\"/>\n            </xsl:with-param>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:text>???</xsl:text>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"orderedlist-starting-number\">\n  <xsl:param name=\"list\" select=\".\"/>\n  <xsl:variable name=\"pi-start\">\n    <xsl:call-template name=\"pi.dbhtml_start\">\n      <xsl:with-param name=\"node\" select=\"$list\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:call-template name=\"output-orderedlist-starting-number\">\n    <xsl:with-param name=\"list\" select=\"$list\"/>\n    <xsl:with-param name=\"pi-start\" select=\"$pi-start\"/>\n  </xsl:call-template>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/maketoc.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\" exclude-result-prefixes=\"doc\">\n\n<!-- ********************************************************************\n     $Id: maketoc.xsl 6910 2007-06-28 23:23:30Z xmldoc $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:import href=\"docbook.xsl\"/>\n<xsl:import href=\"chunk.xsl\"/>\n\n<xsl:output method=\"xml\" indent=\"no\" encoding=\"UTF-8\" doctype-public=\"-//W3C//DTD XHTML 1.1//EN\" doctype-system=\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\"/>\n\n<xsl:param name=\"toc.list.type\" select=\"'tocentry'\"/>\n\n<!-- refentry in autotoc.xsl does not use subtoc, so must\n     handle it explicitly here. -->\n<xsl:template match=\"refentry\" mode=\"toc\">\n  <xsl:param name=\"toc-context\" select=\".\"/>\n\n  <xsl:call-template name=\"subtoc\">\n    <xsl:with-param name=\"toc-context\" select=\"$toc-context\"/>\n  </xsl:call-template>\n</xsl:template>\n\n\n<xsl:template name=\"subtoc\">\n  <xsl:param name=\"nodes\" select=\"NOT-AN-ELEMENT\"/>\n  <xsl:variable name=\"filename\">\n    <xsl:apply-templates select=\".\" mode=\"chunk-filename\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"chunk\">\n    <xsl:call-template name=\"chunk\"/>\n  </xsl:variable>\n\n  <xsl:if test=\"$chunk != 0\">\n    <xsl:call-template name=\"indent-spaces\"/>\n    <xsl:variable name=\"id\">\n      <xsl:call-template name=\"object.id\"/>\n    </xsl:variable>\n    <tocentry linkend=\"{$id}\">\n      <xsl:processing-instruction name=\"dbhtml\">\n        <xsl:text>filename=\"</xsl:text>\n        <xsl:value-of select=\"$filename\"/>\n        <xsl:text>\"</xsl:text>\n      </xsl:processing-instruction>\n      <xsl:text>\n</xsl:text>\n      <xsl:apply-templates mode=\"toc\" select=\"$nodes\"/>\n      <xsl:call-template name=\"indent-spaces\"/>\n    </tocentry>\n    <xsl:text>\n</xsl:text>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"indent-spaces\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:text>  </xsl:text>\n  <xsl:if test=\"$node/parent::*\">\n    <xsl:call-template name=\"indent-spaces\">\n      <xsl:with-param name=\"node\" select=\"$node/parent::*\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"/\" priority=\"-1\">\n  <xsl:text>\n</xsl:text>\n  <toc role=\"chunk-toc\">\n    <xsl:text>\n</xsl:text>\n    <xsl:apply-templates select=\"/\" mode=\"toc\"/>\n  </toc>\n  <xsl:text>\n</xsl:text>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/manifest.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\" exclude-result-prefixes=\"doc\">\n\n<!-- ********************************************************************\n     $Id: manifest.xsl 6910 2007-06-28 23:23:30Z xmldoc $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n<!-- OBSOLETE. The templates from this file were moved to                 -->\n<!-- chunk-common.xsl and chunk-code.xsl.                                 -->\n<!-- ==================================================================== -->\n\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/math.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:mml=\"http://www.w3.org/1998/Math/MathML\" xmlns=\"http://www.w3.org/1999/xhtml\" exclude-result-prefixes=\"mml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: math.xsl 9297 2012-04-22 03:56:16Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<xsl:template match=\"inlineequation\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"alt\">\n</xsl:template>\n\n<xsl:template match=\"mathphrase\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates/>\n  </span>\n</xsl:template>\n\n<!-- \"Support\" for MathML -->\n\n<xsl:template match=\"mml:*\">\n  <xsl:copy>\n    <xsl:copy-of select=\"@*\"/>\n    <xsl:apply-templates/>\n  </xsl:copy>\n</xsl:template>\n\n<!-- Support for TeX math in alt -->\n\n<xsl:template match=\"*\" mode=\"collect.tex.math\">\n  <xsl:call-template name=\"write.text.chunk\">\n    <xsl:with-param name=\"filename\" select=\"$tex.math.file\"/>\n    <xsl:with-param name=\"method\" select=\"'text'\"/>\n    <xsl:with-param name=\"content\">\n      <xsl:choose>\n        <xsl:when test=\"$tex.math.in.alt = 'plain'\">\n          <xsl:call-template name=\"tex.math.plain.head\"/>\n          <xsl:apply-templates select=\".\" mode=\"collect.tex.math.plain\"/>\n          <xsl:call-template name=\"tex.math.plain.tail\"/>\n        </xsl:when>\n        <xsl:when test=\"$tex.math.in.alt = 'latex'\">\n          <xsl:call-template name=\"tex.math.latex.head\"/>\n          <xsl:apply-templates select=\".\" mode=\"collect.tex.math.latex\"/>\n          <xsl:call-template name=\"tex.math.latex.tail\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:message>\n            Unsupported TeX math notation: \n            <xsl:value-of select=\"$tex.math.in.alt\"/>\n          </xsl:message>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:with-param>\n    <xsl:with-param name=\"encoding\" select=\"$chunker.output.encoding\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<!-- PlainTeX -->\n\n<xsl:template name=\"tex.math.plain.head\">\n  <xsl:text>\\nopagenumbers \n</xsl:text>\n</xsl:template>\n\n<xsl:template name=\"tex.math.plain.tail\">\n  <xsl:text>\\bye \n</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"inlineequation\" mode=\"collect.tex.math.plain\">\n  <xsl:variable name=\"filename\">\n    <xsl:choose>\n      <xsl:when test=\"graphic\">\n        <xsl:call-template name=\"mediaobject.filename\">\n          <xsl:with-param name=\"object\" select=\"graphic\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"select.mediaobject.filename\">\n          <xsl:with-param name=\"olist\" select=\"inlinemediaobject/*\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n  <xsl:variable name=\"output.delims\">\n    <xsl:call-template name=\"tex.math.output.delims\"/>\n  </xsl:variable>\n  <xsl:variable name=\"tex\" select=\"alt[@role='tex'] | inlinemediaobject/textobject[@role='tex']\"/>\n  <xsl:if test=\"$tex\">\n    <xsl:text>\\special{dvi2bitmap outputfile </xsl:text>\n    <xsl:value-of select=\"$filename\"/>\n    <xsl:text>} \n</xsl:text>\n    <xsl:if test=\"$output.delims != 0\">\n      <xsl:text>$</xsl:text>\n    </xsl:if>\n    <xsl:value-of select=\"$tex\"/>\n    <xsl:if test=\"$output.delims != 0\">\n      <xsl:text>$ \n</xsl:text>\n    </xsl:if>\n    <xsl:text>\\vfill\\eject \n</xsl:text>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"equation|informalequation\" mode=\"collect.tex.math.plain\">\n  <xsl:variable name=\"filename\">\n    <xsl:choose>\n      <xsl:when test=\"graphic\">\n        <xsl:call-template name=\"mediaobject.filename\">\n          <xsl:with-param name=\"object\" select=\"graphic\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"select.mediaobject.filename\">\n          <xsl:with-param name=\"olist\" select=\"mediaobject/*\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n  <xsl:variable name=\"output.delims\">\n    <xsl:call-template name=\"tex.math.output.delims\"/>\n  </xsl:variable>\n  <xsl:variable name=\"tex\" select=\"alt[@role='tex'] | mediaobject/textobject[@role='tex']\"/>\n  <xsl:if test=\"$tex\">\n    <xsl:text>\\special{dvi2bitmap outputfile </xsl:text>\n    <xsl:value-of select=\"$filename\"/>\n    <xsl:text>} \n</xsl:text>\n    <xsl:if test=\"$output.delims != 0\">\n      <xsl:text>$$</xsl:text>\n    </xsl:if>\n    <xsl:value-of select=\"$tex\"/>\n    <xsl:if test=\"$output.delims != 0\">\n      <xsl:text>$$ \n</xsl:text>\n    </xsl:if>\n    <xsl:text>\\vfill\\eject \n</xsl:text>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"text()\" mode=\"collect.tex.math.plain\"/>\n\n<!-- LaTeX -->\n\n<xsl:template name=\"tex.math.latex.head\">\n  <xsl:text>\\documentclass{article} \n</xsl:text>\n  <xsl:text>\\pagestyle{empty} \n</xsl:text>\n  <xsl:text>\\begin{document} \n</xsl:text>\n</xsl:template>\n\n<xsl:template name=\"tex.math.latex.tail\">\n  <xsl:text>\\end{document} \n</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"inlineequation\" mode=\"collect.tex.math.latex\">\n  <xsl:variable name=\"filename\">\n    <xsl:choose>\n      <xsl:when test=\"graphic\">\n        <xsl:call-template name=\"mediaobject.filename\">\n          <xsl:with-param name=\"object\" select=\"graphic\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"select.mediaobject.filename\">\n          <xsl:with-param name=\"olist\" select=\"inlinemediaobject/*\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n  <xsl:variable name=\"output.delims\">\n    <xsl:call-template name=\"tex.math.output.delims\"/>\n  </xsl:variable>\n  <xsl:variable name=\"tex\" select=\"alt[@role='tex'] | inlinemediaobject/textobject[@role='tex']\"/>\n  <xsl:if test=\"$tex\">\n    <xsl:text>\\special{dvi2bitmap outputfile </xsl:text>\n    <xsl:value-of select=\"$filename\"/>\n    <xsl:text>} \n</xsl:text>\n    <xsl:if test=\"$output.delims != 0\">  \n      <xsl:text>$</xsl:text>\n    </xsl:if>\n    <xsl:value-of select=\"$tex\"/>\n    <xsl:if test=\"$output.delims != 0\">  \n      <xsl:text>$ \n</xsl:text>\n    </xsl:if>\n    <xsl:text>\\newpage \n</xsl:text>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"equation|informalequation\" mode=\"collect.tex.math.latex\">\n  <xsl:variable name=\"filename\">\n    <xsl:choose>\n      <xsl:when test=\"graphic\">\n        <xsl:call-template name=\"mediaobject.filename\">\n          <xsl:with-param name=\"object\" select=\"graphic\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"select.mediaobject.filename\">\n          <xsl:with-param name=\"olist\" select=\"mediaobject/*\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n  <xsl:variable name=\"output.delims\">\n    <xsl:call-template name=\"tex.math.output.delims\"/>\n  </xsl:variable>\n  <xsl:variable name=\"tex\" select=\"alt[@role='tex'] | mediaobject/textobject[@role='tex']\"/>\n  <xsl:if test=\"$tex\">\n    <xsl:text>\\special{dvi2bitmap outputfile </xsl:text>\n    <xsl:value-of select=\"$filename\"/>\n    <xsl:text>} \n</xsl:text>\n    <xsl:if test=\"$output.delims != 0\">\n      <xsl:text>$$</xsl:text>\n    </xsl:if>\n    <xsl:value-of select=\"$tex\"/>\n    <xsl:if test=\"$output.delims != 0\">\n      <xsl:text>$$ \n</xsl:text>\n    </xsl:if>\n    <xsl:text>\\newpage \n</xsl:text>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"text()\" mode=\"collect.tex.math.latex\"/>\n\n<!-- Extracting image filename from mediaobject and graphic elements -->\n\n<xsl:template name=\"select.mediaobject.filename\">\n  <xsl:param name=\"olist\" select=\"imageobject|imageobjectco                      |videoobject|audioobject|textobject\"/>\n\n  <xsl:variable name=\"mediaobject.index\">\n    <xsl:call-template name=\"select.mediaobject.index\">\n      <xsl:with-param name=\"olist\" select=\"$olist\"/>\n      <xsl:with-param name=\"count\" select=\"1\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:if test=\"$mediaobject.index != ''\">\n    <xsl:call-template name=\"mediaobject.filename\">\n      <xsl:with-param name=\"object\" select=\"$olist[position() = $mediaobject.index]\"/>\n    </xsl:call-template>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"tex.math.output.delims\">\n  <xsl:variable name=\"pi.delims\">\n    <xsl:call-template name=\"pi.dbtex_delims\">\n      <xsl:with-param name=\"node\" select=\"descendant-or-self::*\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:variable name=\"result\">\n    <xsl:choose>\n      <xsl:when test=\"$pi.delims = 'no'\">0</xsl:when>\n      <xsl:when test=\"$pi.delims = '' and $tex.math.delims = 0\">0</xsl:when>\n      <xsl:otherwise>1</xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n  <xsl:value-of select=\"$result\"/>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/oldchunker.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:saxon=\"http://icl.com/saxon\" xmlns:lxslt=\"http://xml.apache.org/xslt\" xmlns:redirect=\"http://xml.apache.org/xalan/redirect\" xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.1\" exclude-result-prefixes=\"doc\" extension-element-prefixes=\"saxon redirect lxslt\">\n\n<!-- ********************************************************************\n     $Id: oldchunker.xsl 6910 2007-06-28 23:23:30Z xmldoc $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<!-- This stylesheet works with Saxon and Xalan; for XT use xtchunker.xsl -->\n\n<!-- ==================================================================== -->\n\n<xsl:param name=\"default.encoding\" select=\"'ISO-8859-1'\" doc:type=\"string\"/>\n\n<doc:param xmlns=\"\" name=\"default.encoding\">\n<refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Encoding used in generated HTML pages</refpurpose>\n<refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n<para>This encoding is used in files generated by chunking stylesheet. Currently\nonly Saxon is able to change output encoding.\n</para>\n</refdescription>\n</doc:param>\n\n<!-- ==================================================================== -->\n\n<xsl:param name=\"saxon.character.representation\" select=\"'entity;decimal'\" doc:type=\"string\"/>\n\n<doc:param xmlns=\"\" name=\"saxon.character.representation\">\n<refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Saxon character representation used in generated HTML pages</refpurpose>\n<refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n<para>This character representation is used in files generated by chunking stylesheet. If\nyou want to suppress entity references for characters with direct representation \nin default.encoding, set this parameter to value <literal>native</literal>. \n</para>\n</refdescription>\n</doc:param>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"make-relative-filename\">\n  <xsl:param name=\"base.dir\" select=\"'./'\"/>\n  <xsl:param name=\"base.name\" select=\"''\"/>\n\n  <xsl:variable name=\"vendor\" select=\"system-property('xsl:vendor')\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"contains($vendor, 'SAXON')\">\n      <!-- Saxon doesn't make the chunks relative -->\n      <xsl:value-of select=\"concat($base.dir,$base.name)\"/>\n    </xsl:when>\n    <xsl:when test=\"contains($vendor, 'Apache')\">\n      <!-- Xalan doesn't make the chunks relative -->\n      <xsl:value-of select=\"concat($base.dir,$base.name)\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:message terminate=\"yes\">\n        <xsl:text>Chunking isn't supported with </xsl:text>\n        <xsl:value-of select=\"$vendor\"/>\n      </xsl:message>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"write.chunk\">\n  <xsl:param name=\"filename\" select=\"''\"/>\n  <xsl:param name=\"method\" select=\"'html'\"/>\n  <xsl:param name=\"encoding\" select=\"$default.encoding\"/>\n  <xsl:param name=\"indent\" select=\"'no'\"/>\n  <xsl:param name=\"content\" select=\"''\"/>\n\n  <xsl:message>\n    <xsl:text>Writing </xsl:text>\n    <xsl:value-of select=\"$filename\"/>\n    <xsl:if test=\"name(.) != ''\">\n      <xsl:text> for </xsl:text>\n      <xsl:value-of select=\"name(.)\"/>\n      <xsl:if test=\"@id\">\n        <xsl:text>(</xsl:text>\n        <xsl:value-of select=\"@id\"/>\n        <xsl:text>)</xsl:text>\n      </xsl:if>\n    </xsl:if>\n  </xsl:message>\n\n  <xsl:variable name=\"vendor\" select=\"system-property('xsl:vendor')\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"contains($vendor, 'SAXON 6.2')\">\n      <!-- Saxon 6.2.x uses xsl:document -->\n      <xsl:document href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" saxon:character-representation=\"{$saxon.character.representation}\">\n        <xsl:copy-of select=\"$content\"/>\n      </xsl:document>\n    </xsl:when>\n    <xsl:when test=\"contains($vendor, 'SAXON')\">\n      <!-- Saxon uses saxon:output -->\n      <saxon:output file=\"{$filename}\" href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" saxon:character-representation=\"{$saxon.character.representation}\">\n        <xsl:copy-of select=\"$content\"/>\n      </saxon:output>\n    </xsl:when>\n    <xsl:when test=\"contains($vendor, 'Apache')\">\n      <!-- Xalan uses redirect -->\n      <redirect:write file=\"{$filename}\">\n        <xsl:copy-of select=\"$content\"/>\n      </redirect:write>\n    </xsl:when>\n    <xsl:otherwise>\n      <!-- it doesn't matter since we won't be making chunks... -->\n      <xsl:message terminate=\"yes\">\n        <xsl:text>Can't make chunks with </xsl:text>\n        <xsl:value-of select=\"$vendor\"/>\n        <xsl:text>'s processor.</xsl:text>\n      </xsl:message>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"write.chunk.with.doctype\">\n  <xsl:param name=\"filename\" select=\"''\"/>\n  <xsl:param name=\"method\" select=\"'html'\"/>\n  <xsl:param name=\"encoding\" select=\"$default.encoding\"/>\n  <xsl:param name=\"indent\" select=\"'no'\"/>\n  <xsl:param name=\"doctype-public\" select=\"''\"/>\n  <xsl:param name=\"doctype-system\" select=\"''\"/>\n  <xsl:param name=\"content\" select=\"''\"/>\n\n  <xsl:message>\n    <xsl:text>Writing </xsl:text>\n    <xsl:value-of select=\"$filename\"/>\n    <xsl:if test=\"name(.) != ''\">\n      <xsl:text> for </xsl:text>\n      <xsl:value-of select=\"name(.)\"/>\n    </xsl:if>\n  </xsl:message>\n\n  <xsl:variable name=\"vendor\" select=\"system-property('xsl:vendor')\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"contains($vendor, 'SAXON 6.2')\">\n      <!-- Saxon 6.2.x uses xsl:document -->\n      <xsl:document href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" doctype-public=\"{$doctype-public}\" doctype-system=\"{$doctype-system}\" saxon:character-representation=\"{$saxon.character.representation}\">\n        <xsl:copy-of select=\"$content\"/>\n      </xsl:document>\n    </xsl:when>\n    <xsl:when test=\"contains($vendor, 'SAXON')\">\n      <!-- Saxon uses saxon:output -->\n      <saxon:output file=\"{$filename}\" href=\"{$filename}\" method=\"{$method}\" encoding=\"{$encoding}\" indent=\"{$indent}\" doctype-public=\"{$doctype-public}\" doctype-system=\"{$doctype-system}\" saxon:character-representation=\"{$saxon.character.representation}\">\n        <xsl:copy-of select=\"$content\"/>\n      </saxon:output>\n    </xsl:when>\n    <xsl:when test=\"contains($vendor, 'Apache')\">\n      <!-- Xalan uses redirect -->\n      <redirect:write file=\"{$filename}\">\n        <xsl:copy-of select=\"$content\"/>\n      </redirect:write>\n    </xsl:when>\n    <xsl:otherwise>\n      <!-- it doesn't matter since we won't be making chunks... -->\n      <xsl:message terminate=\"yes\">\n        <xsl:text>Can't make chunks with </xsl:text>\n        <xsl:value-of select=\"$vendor\"/>\n        <xsl:text>'s processor.</xsl:text>\n      </xsl:message>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/onechunk.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\" exclude-result-prefixes=\"doc\">\n\n<!-- ********************************************************************\n     $Id: onechunk.xsl 6910 2007-06-28 23:23:30Z xmldoc $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:import href=\"chunk.xsl\"/>\n\n<!-- Ok, using the onechunk parameter makes this all work again. -->\n<!-- It does have the disadvantage that it only works for documents that have -->\n<!-- a root element that is considered a chunk by the chunk.xsl stylesheet. -->\n<!-- Ideally, onechunk would let anything be a chunk. But not today. -->\n\n<xsl:param name=\"onechunk\" select=\"1\"/>\n<xsl:param name=\"suppress.navigation\">1</xsl:param>\n\n<xsl:template name=\"href.target.uri\">\n  <xsl:param name=\"object\" select=\".\"/>\n  <xsl:text>#</xsl:text>\n  <xsl:call-template name=\"object.id\">\n    <xsl:with-param name=\"object\" select=\"$object\"/>\n  </xsl:call-template>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/param.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?><!--This file was created automatically by html2xhtml--><!--from the HTML stylesheets.--><!-- This file is generated from param.xweb --><xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: param.xweb 9658 2012-10-29 22:28:34Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<xsl:param name=\"abstract.notitle.enabled\" select=\"0\"/>\n<xsl:param name=\"activate.external.olinks\" select=\"1\"/>\n<xsl:param name=\"admon.graphics.extension\">.png</xsl:param>\n<xsl:param name=\"admon.graphics\" select=\"0\"/>\n<xsl:param name=\"admon.graphics.path\">images/</xsl:param>\n<xsl:param name=\"admon.style\">\n  <xsl:value-of select=\"concat('margin-', $direction.align.start,            ': 0.5in; margin-', $direction.align.end, ': 0.5in;')\"/>\n</xsl:param>\n<xsl:param name=\"admon.textlabel\" select=\"1\"/>\n<xsl:param name=\"annotate.toc\" select=\"1\"/>\n<xsl:param name=\"annotation.css\">\n/* ======================================================================\n   Annotations\n*/\n\ndiv.annotation-list  { visibility: hidden;\n                     }\n\ndiv.annotation-nocss { position: absolute;\n                       visibility: hidden;\n                     }\n\ndiv.annotation-popup { position: absolute;\n                       z-index: 4;\n                       visibility: hidden;\n                       padding: 0px;\n                       margin: 2px;\n                       border-style: solid;\n                       border-width: 1px;\n                       width: 200px;\n\t\t       background-color: white;\n                     }\n\ndiv.annotation-title { padding: 1px;\n                       font-weight: bold;\n                       border-bottom-style: solid;\n                       border-bottom-width: 1px;\n\t\t       color: white;\n\t\t       background-color: black;\n                     }\n\ndiv.annotation-body  { padding: 2px;\n                     }\n\ndiv.annotation-body p { margin-top: 0px;\n                        padding-top: 0px;\n                      }\n\ndiv.annotation-close { position: absolute;\n                       top: 2px;\n                       right: 2px;\n                     }\n</xsl:param>\n<xsl:param name=\"annotation.graphic.close\">\nhttp://docbook.sourceforge.net/release/images/annot-close.png</xsl:param>\n<xsl:param name=\"annotation.graphic.open\">http://docbook.sourceforge.net/release/images/annot-open.png</xsl:param>\n\n<xsl:param name=\"annotation.js\">\n<xsl:text>http://docbook.sourceforge.net/release/script/AnchorPosition.js http://docbook.sourceforge.net/release/script/PopupWindow.js</xsl:text></xsl:param>\n\n<xsl:param name=\"annotation.support\" select=\"0\"/>\n<xsl:param name=\"appendix.autolabel\">A</xsl:param>\n<xsl:param name=\"author.othername.in.middle\" select=\"1\"/>\n<xsl:param name=\"autotoc.label.in.hyperlink\" select=\"1\"/>\n<xsl:param name=\"autotoc.label.separator\">. </xsl:param>\n<xsl:param name=\"base.dir\"/>\n<xsl:param name=\"biblioentry.item.separator\">. </xsl:param>\n<xsl:param name=\"bibliography.collection\">http://docbook.sourceforge.net/release/bibliography/bibliography.xml</xsl:param>\n\n<xsl:param name=\"bibliography.numbered\" select=\"0\"/>\n<xsl:param name=\"bibliography.style\">normal</xsl:param>\n<xsl:param name=\"blurb.on.titlepage.enabled\" select=\"0\"/>\n<xsl:param name=\"bridgehead.in.toc\" select=\"0\"/>\n<xsl:param name=\"callout.defaultcolumn\">60</xsl:param>\n<xsl:param name=\"callout.graphics.extension\">.png</xsl:param>\n\n<xsl:param name=\"callout.graphics\" select=\"1\"/>\n<xsl:param name=\"callout.graphics.number.limit\">15</xsl:param>\n\n<xsl:param name=\"callout.graphics.path\">images/callouts/</xsl:param>\n<xsl:param name=\"callout.list.table\" select=\"1\"/>\n<xsl:param name=\"callout.unicode\" select=\"0\"/>\n<xsl:param name=\"callout.unicode.number.limit\">10</xsl:param>\n<xsl:param name=\"callout.unicode.start.character\">10102</xsl:param>\n<xsl:param name=\"callouts.extension\" select=\"1\"/>\n<xsl:param name=\"chapter.autolabel\" select=\"1\"/>\n<xsl:param name=\"chunk.append\"/>\n<xsl:param name=\"chunk.first.sections\" select=\"0\"/>\n<xsl:param name=\"chunk.quietly\" select=\"0\"/>\n<xsl:param name=\"chunk.section.depth\" select=\"1\"/>\n<xsl:param name=\"chunk.separate.lots\" select=\"0\"/>\n<xsl:param name=\"chunk.toc\"/>\n<xsl:param name=\"chunk.tocs.and.lots\" select=\"0\"/>\n<xsl:param name=\"chunk.tocs.and.lots.has.title\" select=\"1\"/>\n<xsl:param name=\"chunked.filename.prefix\"/>\n<xsl:param name=\"citerefentry.link\" select=\"0\"/>\n<xsl:param name=\"collect.xref.targets\">no</xsl:param>\n<xsl:param name=\"component.label.includes.part.label\" select=\"0\"/>\n<xsl:param name=\"contrib.inline.enabled\">1</xsl:param>\n<xsl:param name=\"css.decoration\" select=\"0\"/>\n<xsl:param name=\"current.docid\"/>\n<xsl:param name=\"custom.css.source\"/>\n<xsl:param name=\"default.float.class\">\n  <xsl:choose>\n    <xsl:when test=\"contains($stylesheet.result.type,'html')\">left</xsl:when>\n    <xsl:otherwise>before</xsl:otherwise>\n  </xsl:choose>\n</xsl:param>\n<xsl:param name=\"default.image.width\"/>\n<xsl:param name=\"default.table.frame\">all</xsl:param>\n<xsl:param name=\"default.table.width\"/>\n<xsl:param name=\"docbook.css.link\" select=\"1\"/>\n<xsl:param name=\"docbook.css.source\">docbook.css.xml</xsl:param>\n<xsl:param name=\"draft.mode\">no</xsl:param>\n<xsl:param name=\"draft.watermark.image\">images/draft.png</xsl:param>\n<xsl:param name=\"ebnf.assignment\">\n<code>::=</code>\n</xsl:param>\n\n<xsl:param name=\"ebnf.statement.terminator\"/>\n\n<xsl:param name=\"ebnf.table.bgcolor\">#F5DCB3</xsl:param>\n<xsl:param name=\"ebnf.table.border\" select=\"1\"/>\n<xsl:param name=\"eclipse.autolabel\" select=\"0\"/>\n<xsl:param name=\"eclipse.plugin.id\">com.example.help</xsl:param>\n<xsl:param name=\"eclipse.plugin.name\">DocBook Online Help Sample</xsl:param>\n<xsl:param name=\"eclipse.plugin.provider\">Example provider</xsl:param>\n<xsl:param name=\"editedby.enabled\">1</xsl:param>\n<xsl:param name=\"email.delimiters.enabled\" select=\"1\"/>\n<xsl:param name=\"emphasis.propagates.style\" select=\"1\"/>\n<xsl:param name=\"entry.propagates.style\" select=\"1\"/>\n<xsl:param name=\"exsl.node.set.available\"> \n  <xsl:choose>\n    <xsl:when xmlns:exsl=\"http://exslt.org/common\" exsl:foo=\"\" test=\"function-available('exsl:node-set') or                        contains(system-property('xsl:vendor'),                          'Apache Software Foundation')\">1</xsl:when>\n    <xsl:otherwise>0</xsl:otherwise>\n  </xsl:choose>\n</xsl:param>\n<xsl:param name=\"firstterm.only.link\" select=\"0\"/>\n<xsl:param name=\"footer.rule\" select=\"1\"/>\n<xsl:param name=\"footnote.number.format\">1</xsl:param>\n<xsl:param name=\"footnote.number.symbols\"/>\n<xsl:param name=\"formal.procedures\" select=\"1\"/>\n<xsl:param name=\"formal.title.placement\">\nfigure before\nexample before\nequation before\ntable before\nprocedure before\ntask before\n</xsl:param>\n<xsl:param name=\"funcsynopsis.decoration\" select=\"1\"/>\n<xsl:param name=\"funcsynopsis.style\">kr</xsl:param>\n<xsl:param name=\"function.parens\" select=\"0\"/>\n<xsl:param name=\"generate.consistent.ids\" select=\"0\"/>\n<xsl:param name=\"generate.css.header\" select=\"0\"/>\n<xsl:param name=\"generate.id.attributes\" select=\"0\"/>\n<xsl:param name=\"generate.index\" select=\"1\"/>\n<xsl:param name=\"generate.legalnotice.link\" select=\"0\"/>\n<xsl:param name=\"generate.manifest\" select=\"0\"/>\n<xsl:param name=\"generate.meta.abstract\" select=\"1\"/>\n<xsl:param name=\"generate.revhistory.link\" select=\"0\"/>\n<xsl:param name=\"generate.section.toc.level\" select=\"0\"/>\n<xsl:param name=\"generate.toc\">\nappendix  toc,title\narticle/appendix  nop\narticle   toc,title\nbook      toc,title,figure,table,example,equation\nchapter   toc,title\npart      toc,title\npreface   toc,title\nqandadiv  toc\nqandaset  toc\nreference toc,title\nsect1     toc\nsect2     toc\nsect3     toc\nsect4     toc\nsect5     toc\nsection   toc\nset       toc,title\n</xsl:param>\n\n<xsl:param name=\"glossary.collection\"/>\n<xsl:param name=\"glossary.sort\" select=\"0\"/>\n<xsl:param name=\"glossentry.show.acronym\">no</xsl:param>\n<xsl:param name=\"glossterm.auto.link\" select=\"0\"/>\n<xsl:param name=\"graphic.default.extension\"/>\n<xsl:param name=\"graphicsize.extension\" select=\"1\"/>\n<xsl:param name=\"graphicsize.use.img.src.path\" select=\"0\"/>\n<xsl:param name=\"header.rule\" select=\"1\"/>\n<xsl:param name=\"highlight.default.language\"/>\n<xsl:param name=\"highlight.source\" select=\"0\"/>\n<xsl:param name=\"highlight.xslthl.config\"/>\n<xsl:param name=\"html.append\"/>\n<xsl:param name=\"html.base\"/>\n<xsl:param name=\"html.cellpadding\"/>\n<xsl:param name=\"html.cellspacing\"/>\n<xsl:param name=\"html.cleanup\" select=\"1\"/>\n<xsl:param name=\"html.ext\">.html</xsl:param>\n<xsl:param name=\"html.extra.head.links\" select=\"0\"/>\n<xsl:param name=\"html.head.legalnotice.link.multiple\" select=\"1\"/>\n<xsl:param name=\"html.head.legalnotice.link.types\">copyright</xsl:param>\n<xsl:param name=\"html.longdesc\" select=\"0\"/>\n<xsl:param name=\"html.longdesc.link\" select=\"$html.longdesc\"/>\n<xsl:param name=\"html.script\"/>\n<xsl:param name=\"html.script.type\">text/javascript</xsl:param>\n<xsl:param name=\"html.stylesheet\"/>\n<xsl:param name=\"html.stylesheet.type\">text/css</xsl:param>\n<xsl:param name=\"htmlhelp.alias.file\">alias.h</xsl:param>\n<xsl:param name=\"htmlhelp.autolabel\" select=\"0\"/>\n<xsl:param name=\"htmlhelp.button.back\" select=\"1\"/>\n<xsl:param name=\"htmlhelp.button.forward\" select=\"0\"/>\n<xsl:param name=\"htmlhelp.button.hideshow\" select=\"1\"/>\n<xsl:param name=\"htmlhelp.button.home\" select=\"0\"/>\n<xsl:param name=\"htmlhelp.button.home.url\"/>\n<xsl:param name=\"htmlhelp.button.jump1\" select=\"0\"/>\n<xsl:param name=\"htmlhelp.button.jump1.title\">User1</xsl:param>\n<xsl:param name=\"htmlhelp.button.jump1.url\"/>\n<xsl:param name=\"htmlhelp.button.jump2\" select=\"0\"/>\n<xsl:param name=\"htmlhelp.button.jump2.title\">User2</xsl:param>\n<xsl:param name=\"htmlhelp.button.jump2.url\"/>\n<xsl:param name=\"htmlhelp.button.locate\" select=\"0\"/>\n<xsl:param name=\"htmlhelp.button.next\" select=\"1\"/>\n<xsl:param name=\"htmlhelp.button.options\" select=\"1\"/>\n<xsl:param name=\"htmlhelp.button.prev\" select=\"1\"/>\n<xsl:param name=\"htmlhelp.button.print\" select=\"1\"/>\n<xsl:param name=\"htmlhelp.button.refresh\" select=\"0\"/>\n<xsl:param name=\"htmlhelp.button.stop\" select=\"0\"/>\n<xsl:param name=\"htmlhelp.button.zoom\" select=\"0\"/>\n<xsl:param name=\"htmlhelp.chm\">htmlhelp.chm</xsl:param>\n<xsl:param name=\"htmlhelp.default.topic\"/>\n<xsl:param name=\"htmlhelp.display.progress\" select=\"1\"/>\n<xsl:param name=\"htmlhelp.encoding\">iso-8859-1</xsl:param>\n<xsl:param name=\"htmlhelp.enhanced.decompilation\" select=\"0\"/>\n<xsl:param name=\"htmlhelp.enumerate.images\" select=\"0\"/>\n<xsl:param name=\"htmlhelp.force.map.and.alias\" select=\"0\"/>\n<xsl:param name=\"htmlhelp.hhc.binary\" select=\"1\"/>\n<xsl:param name=\"htmlhelp.hhc.folders.instead.books\" select=\"1\"/>\n<xsl:param name=\"htmlhelp.hhc\">toc.hhc</xsl:param>\n<xsl:param name=\"htmlhelp.hhc.section.depth\">5</xsl:param>\n<xsl:param name=\"htmlhelp.hhc.show.root\" select=\"1\"/>\n<xsl:param name=\"htmlhelp.hhc.width\"/>\n<xsl:param name=\"htmlhelp.hhk\">index.hhk</xsl:param>\n<xsl:param name=\"htmlhelp.hhp\">htmlhelp.hhp</xsl:param>\n<xsl:param name=\"htmlhelp.hhp.tail\"/>\n<xsl:param name=\"htmlhelp.hhp.window\">Main</xsl:param>\n<xsl:param name=\"htmlhelp.hhp.windows\"/>\n<xsl:param name=\"htmlhelp.map.file\">context.h</xsl:param>\n<xsl:param name=\"htmlhelp.only\" select=\"0\"/>\n<xsl:param name=\"htmlhelp.remember.window.position\" select=\"0\"/>\n<xsl:param name=\"htmlhelp.show.advanced.search\" select=\"0\"/>\n<xsl:param name=\"htmlhelp.show.favorities\" select=\"0\"/>\n<xsl:param name=\"htmlhelp.show.menu\" select=\"0\"/>\n<xsl:param name=\"htmlhelp.show.toolbar.text\" select=\"1\"/>\n<xsl:param name=\"htmlhelp.title\"/>\n<xsl:param name=\"htmlhelp.use.hhk\" select=\"0\"/>\n<xsl:param name=\"htmlhelp.window.geometry\"/>\n<xsl:param name=\"id.warnings\" select=\"0\"/>\n<xsl:param name=\"ignore.image.scaling\" select=\"0\"/>\n<xsl:param name=\"img.src.path\"/>\n<xsl:param name=\"index.links.to.section\" select=\"1\"/>\n<xsl:param name=\"index.method\">basic</xsl:param>\n<xsl:param name=\"index.number.separator\"/>\n<xsl:param name=\"index.on.role\" select=\"0\"/>\n<xsl:param name=\"index.on.type\" select=\"0\"/>\n<xsl:param name=\"index.prefer.titleabbrev\" select=\"0\"/>\n<xsl:param name=\"index.range.separator\"/>\n<xsl:param name=\"index.term.separator\"/>\n<xsl:param name=\"inherit.keywords\" select=\"1\"/>\n<xsl:param name=\"insert.olink.page.number\">no</xsl:param>\n<xsl:param name=\"insert.olink.pdf.frag\" select=\"0\"/>\n<xsl:param name=\"insert.xref.page.number\">no</xsl:param>\n<xsl:param name=\"javahelp.encoding\">iso-8859-1</xsl:param>\n<xsl:param name=\"keep.relative.image.uris\" select=\"1\"/>\n\n<xsl:param name=\"l10n.gentext.default.language\">en</xsl:param>\n<xsl:param name=\"l10n.gentext.language\"/>\n<xsl:param name=\"l10n.gentext.use.xref.language\" select=\"0\"/>\n<xsl:param name=\"l10n.lang.value.rfc.compliant\" select=\"1\"/>\n<xsl:param name=\"label.from.part\" select=\"0\"/>\n<xsl:param name=\"linenumbering.everyNth\">5</xsl:param>\n<xsl:param name=\"linenumbering.extension\" select=\"1\"/>\n<xsl:param name=\"linenumbering.separator\"><xsl:text> </xsl:text></xsl:param>\n<xsl:param name=\"linenumbering.width\">3</xsl:param>\n<xsl:param name=\"link.mailto.url\"/>\n<xsl:param name=\"make.clean.html\" select=\"0\"/>\n<xsl:param name=\"make.graphic.viewport\" select=\"1\"/>\n<xsl:param name=\"make.single.year.ranges\" select=\"0\"/>\n<xsl:param name=\"make.valid.html\" select=\"1\"/>\n<xsl:param name=\"make.year.ranges\" select=\"0\"/>\n    <xsl:param name=\"manifest\">HTML.manifest</xsl:param>\n    \n<xsl:param name=\"manifest.in.base.dir\" select=\"0\"/>\n<xsl:param name=\"manual.toc\"/>\n<xsl:param name=\"menuchoice.menu.separator\"> &#8594; </xsl:param>\n<xsl:param name=\"menuchoice.separator\">+</xsl:param>\n<xsl:param name=\"navig.graphics.extension\">.gif</xsl:param>\n<xsl:param name=\"navig.graphics\" select=\"0\"/>\n<xsl:param name=\"navig.graphics.path\">images/</xsl:param>\n<xsl:param name=\"navig.showtitles\">1</xsl:param>\n<xsl:param name=\"nominal.image.depth\" select=\"4 * $pixels.per.inch\"/>\n<xsl:param name=\"nominal.image.width\" select=\"6 * $pixels.per.inch\"/>\n<xsl:param name=\"nominal.table.width\">6in</xsl:param>\n<xsl:param name=\"olink.base.uri\"/>\n<xsl:param name=\"olink.debug\" select=\"0\"/>\n<xsl:param name=\"olink.doctitle\">no</xsl:param> \n<xsl:param name=\"olink.lang.fallback.sequence\"/>\n<xsl:attribute-set name=\"olink.properties\">\n  <xsl:attribute name=\"show-destination\">replace</xsl:attribute>\n</xsl:attribute-set>\n<xsl:param name=\"othercredit.like.author.enabled\">0</xsl:param>\n<xsl:param name=\"para.propagates.style\" select=\"1\"/>\n<xsl:param name=\"part.autolabel\">I</xsl:param>\n<xsl:param name=\"phrase.propagates.style\" select=\"1\"/>\n<xsl:param name=\"pixels.per.inch\">90</xsl:param>\n<xsl:param name=\"points.per.em\">10</xsl:param>\n<xsl:param name=\"preface.autolabel\" select=\"0\"/>\n<xsl:param name=\"prefer.internal.olink\" select=\"0\"/>\n<xsl:param name=\"preferred.mediaobject.role\"/>\n<xsl:param name=\"process.empty.source.toc\" select=\"0\"/>\n<xsl:param name=\"process.source.toc\" select=\"0\"/>\n<xsl:param name=\"profile.arch\"/>\n<xsl:param name=\"profile.attribute\"/>\n<xsl:param name=\"profile.audience\"/>\n<xsl:param name=\"profile.condition\"/>\n<xsl:param name=\"profile.conformance\"/>\n<xsl:param name=\"profile.lang\"/>\n<xsl:param name=\"profile.os\"/>\n<xsl:param name=\"profile.revision\"/>\n<xsl:param name=\"profile.revisionflag\"/>\n<xsl:param name=\"profile.role\"/>\n<xsl:param name=\"profile.security\"/>\n<xsl:param name=\"profile.separator\">;</xsl:param>\n<xsl:param name=\"profile.status\"/>\n<xsl:param name=\"profile.userlevel\"/>\n<xsl:param name=\"profile.value\"/>\n<xsl:param name=\"profile.vendor\"/>\n<xsl:param name=\"profile.wordsize\"/>\n<xsl:param name=\"punct.honorific\">.</xsl:param>\n<xsl:param name=\"qanda.defaultlabel\">number</xsl:param>\n<xsl:param name=\"qanda.in.toc\" select=\"0\"/>\n<xsl:param name=\"qanda.inherit.numeration\" select=\"1\"/>\n<xsl:param name=\"qanda.nested.in.toc\" select=\"0\"/>\n<xsl:param name=\"qandadiv.autolabel\" select=\"1\"/>\n<xsl:param name=\"refclass.suppress\" select=\"0\"/>\n<xsl:param name=\"refentry.generate.name\" select=\"1\"/>\n<xsl:param name=\"refentry.generate.title\" select=\"0\"/>\n<xsl:param name=\"refentry.separator\" select=\"1\"/>\n<xsl:param name=\"refentry.xref.manvolnum\" select=\"1\"/>\n  <xsl:param name=\"reference.autolabel\">I</xsl:param>\n<xsl:param name=\"root.filename\">index</xsl:param>\n<xsl:param name=\"rootid\"/>\n<xsl:param name=\"runinhead.default.title.end.punct\">.</xsl:param>\n<xsl:param name=\"runinhead.title.end.punct\">.!?:</xsl:param>\n<xsl:param name=\"section.autolabel\" select=\"0\"/>\n<xsl:param name=\"section.autolabel.max.depth\">8</xsl:param>\n<xsl:param name=\"section.label.includes.component.label\" select=\"0\"/>\n<xsl:param name=\"segmentedlist.as.table\" select=\"0\"/>\n<xsl:param name=\"shade.verbatim\" select=\"0\"/>\n<xsl:attribute-set name=\"shade.verbatim.style\">\n  <xsl:attribute name=\"border\">0</xsl:attribute>\n  <xsl:attribute name=\"style\"><xsl:text>background-color: </xsl:text>#E0E0E0</xsl:attribute>\n</xsl:attribute-set>\n\n<xsl:param name=\"show.comments\" select=\"1\"/>\n<xsl:param name=\"show.revisionflag\" select=\"0\"/>\n<xsl:param name=\"simplesect.in.toc\" select=\"0\"/>\n<xsl:param name=\"spacing.paras\" select=\"0\"/>\n<xsl:param name=\"suppress.footer.navigation\">0</xsl:param>\n<xsl:param name=\"suppress.header.navigation\" select=\"0\"/>\n<xsl:param name=\"suppress.navigation\" select=\"0\"/>\n<xsl:param name=\"table.borders.with.css\" select=\"0\"/>\n<xsl:param name=\"table.cell.border.color\"/>\n\n<xsl:param name=\"table.cell.border.style\">solid</xsl:param>\n<xsl:param name=\"table.cell.border.thickness\">0.5pt</xsl:param>\n<xsl:param name=\"table.footnote.number.format\">a</xsl:param>\n<xsl:param name=\"table.footnote.number.symbols\"/>\n<xsl:param name=\"table.frame.border.color\"/>\n\n<xsl:param name=\"table.frame.border.style\">solid</xsl:param>\n<xsl:param name=\"table.frame.border.thickness\">0.5pt</xsl:param>\n<xsl:param name=\"tablecolumns.extension\" select=\"1\"/>\n <xsl:param name=\"target.database.document\">olinkdb.xml</xsl:param>\n<xsl:param name=\"targets.filename\">target.db</xsl:param>\n<xsl:param name=\"tex.math.delims\" select=\"1\"/>\n<xsl:param name=\"tex.math.file\">tex-math-equations.tex</xsl:param>\n<xsl:param name=\"tex.math.in.alt\"/>\n<xsl:param name=\"textdata.default.encoding\"/>\n  <xsl:param name=\"textinsert.extension\" select=\"1\"/>\n<xsl:param name=\"toc.list.type\">dl</xsl:param>\n<xsl:param name=\"toc.max.depth\">8</xsl:param>\n<xsl:param name=\"toc.section.depth\">2</xsl:param>\n<xsl:param name=\"ulink.target\"/>\n<xsl:param name=\"use.embed.for.svg\" select=\"0\"/>\n<xsl:param name=\"use.extensions\" select=\"0\"/>\n<xsl:param name=\"use.id.as.filename\" select=\"0\"/>\n<xsl:param name=\"use.local.olink.style\" select=\"0\"/> \n<xsl:param name=\"use.role.as.xrefstyle\" select=\"1\"/>\n<xsl:param name=\"use.role.for.mediaobject\" select=\"1\"/>\n<xsl:param name=\"use.svg\" select=\"1\"/>\n<xsl:param name=\"variablelist.as.table\" select=\"0\"/>\n<xsl:param name=\"variablelist.term.break.after\">0</xsl:param>\n<xsl:param name=\"variablelist.term.separator\">, </xsl:param>\n<xsl:param name=\"webhelp.autolabel\">0</xsl:param>\n<xsl:param name=\"webhelp.base.dir\">docs</xsl:param>\n<xsl:param name=\"webhelp.common.dir\">../common/</xsl:param>\n<xsl:param name=\"webhelp.default.topic\">index.html</xsl:param>\n<xsl:param name=\"webhelp.include.search.tab\">true</xsl:param>\n<xsl:param name=\"webhelp.indexer.language\">en</xsl:param>\n<xsl:param name=\"webhelp.start.filename\">index.html</xsl:param>\n<xsl:param name=\"webhelp.tree.cookie.id\" select=\"concat( 'treeview-', count(//node()) )\"/>\n<xsl:param name=\"writing.mode\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\">writing-mode</xsl:with-param>\n    <xsl:with-param name=\"lang\">\n      <xsl:call-template name=\"l10n.language\">\n        <xsl:with-param name=\"target\" select=\"/*[1]\"/>\n      </xsl:call-template>\n    </xsl:with-param>\n  </xsl:call-template>\n</xsl:param>\n<xsl:param name=\"xref.label-page.separator\"><xsl:text> </xsl:text></xsl:param>\n<xsl:param name=\"xref.label-title.separator\">: </xsl:param>\n<xsl:param name=\"xref.title-page.separator\"><xsl:text> </xsl:text></xsl:param>\n<xsl:param name=\"xref.with.number.and.title\" select=\"1\"/>\n\n</xsl:stylesheet>"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/pi.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns=\"http://www.w3.org/1999/xhtml\" exclude-result-prefixes=\"doc\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: pi.xsl 9022 2011-07-14 19:21:36Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<doc:reference xmlns=\"\"><info xmlns=\"http://www.w3.org/1999/xhtml\"><title>HTML Processing Instruction Reference</title>\n    <releaseinfo role=\"meta\">\n      $Id: pi.xsl 9022 2011-07-14 19:21:36Z bobstayton $\n    </releaseinfo>\n  </info>\n  <partintro xmlns=\"http://www.w3.org/1999/xhtml\" xml:id=\"partintro\">\n    <title>Introduction</title>\n    <para>This is generated reference documentation for all\n      user-specifiable processing instructions (PIs) in the DocBook\n      XSL stylesheets for HTML output.\n      <note>\n        <para>You add these PIs at particular points in a document to\n          cause specific &#8220;exceptions&#8221; to formatting/output behavior. To\n          make global changes in formatting/output behavior across an\n          entire document, it&#8217;s better to do it by setting an\n          appropriate stylesheet parameter (if there is one).</para>\n      </note>\n    </para>\n  </partintro>\n</doc:reference>\n\n<!-- ==================================================================== -->\n\n<doc:pi xmlns=\"\" name=\"dbhtml_background-color\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Sets background color for an image</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml background-color</tag> PI before or\n      after an image (<tag>graphic</tag>, <tag>inlinegraphic</tag>,\n      <tag>imagedata</tag>, or <tag>videodata</tag> element) as a\n      sibling to the element, to set a background color for the\n      image.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml background-color=\"<replaceable>color</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>background-color=\"<replaceable>color</replaceable>\"</term>\n        <listitem>\n          <para>An HTML color value</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"BGcolor.html\">Background color</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_background-color\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'background-color'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbhtml_bgcolor\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Sets background color on a CALS table row or table cell</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml bgcolor</tag> PI as child of a CALS table row\n      or cell to set a background color for that table row or cell.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml bgcolor=\"<replaceable>color</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>bgcolor=\"<replaceable>color</replaceable>\"</term>\n        <listitem>\n          <para>An HTML color value</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"BGtableColor.html#CellBGColor\">Cell background color</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_bgcolor\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'bgcolor'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbhtml_cellpadding\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Specifies cellpadding in CALS table or qandaset output</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml cellpadding</tag> PI as a child of a\n      CALS <tag>table</tag> or <tag>qandaset</tag> to specify the value\n      for the HTML <literal>cellpadding</literal> attribute in the\n      output HTML table.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml cellpadding=\"<replaceable>number</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>cellpadding=\"<replaceable>number</replaceable>\"</term>\n        <listitem>\n          <para>Specifies the cellpadding</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"params\">\n    <para><parameter>html.cellpadding</parameter></para>\n  </refsee>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"CellSpacing.html\">Cell spacing and cell padding</link>,\n      <link role=\"tcg\" xlink:href=\"QandAformat.html\">Q and A formatting</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_cellpadding\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'cellpadding'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbhtml_cellspacing\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Specifies cellspacing in CALS table or qandaset output</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml cellspacing</tag> PI as a child of a\n      CALS <tag>table</tag> or <tag>qandaset</tag> to specify the value\n      for the HTML <literal>cellspacing</literal> attribute in the\n      output HTML table.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml cellspacing=\"<replaceable>number</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>cellspacing=\"<replaceable>number</replaceable>\"</term>\n        <listitem>\n          <para>Specifies the cellspacing</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"params\">\n    <para><parameter>html.cellspacing</parameter></para>\n  </refsee>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"CellSpacing.html\">Cell spacing and cell padding</link>,\n      <link role=\"tcg\" xlink:href=\"QandAformat.html\">Q and A formatting</link></para>\n    </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_cellspacing\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'cellspacing'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbhtml_class\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Set value of the class attribute for a CALS table row</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml class</tag> PI as a child of a\n      <tag>row</tag> to specify a <literal>class</literal>\n      attribute and value in the HTML output for that row.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml class=\"<replaceable>name</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>class=\"<replaceable>name</replaceable>\"</term>\n        <listitem>\n          <para>Specifies the class name</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"CSSTableCells.html\">Table styles in HTML output</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_class\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'class'\"/>\n  </xsl:call-template>\n</xsl:template> \n\n<doc:pi xmlns=\"\" name=\"dbhtml_dir\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Specifies a directory name in which to write files</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>When chunking output, use the <tag class=\"xmlpi\">dbhtml dir</tag> PI\n      as a child of a chunk source to cause the output of that\n      chunk to be written to the specified directory; also, use it\n      as a child of a <tag>mediaobject</tag> to specify a\n      directory into which any long-description files for that\n      <tag>mediaobject</tag> will be written.</para>\n\n<para>The output directory specification is inherited by all\nchunks of the descendants of the element.  If descendants need\nto go to a different directory, then add another \n<tag class=\"xmlpi\">dbhtml dir</tag> processing\ninstruction as a child of the source element\nfor that chunk, and specify the path relative to the\nancestor path.</para>\n\n<para>For example, to put most chunk files into \n<filename class=\"directory\">shared</filename>\nbut one chapter into \n<filename class=\"directory\">exception</filename>\nat the same level, use:</para>\n\n<programlisting>&lt;book&gt;\n  &lt;?dbhtml dir=\"shared\"?&gt;\n  ...\n  &lt;chapter&gt;\n    &lt;?dbhtml dir=\"../exception\"?&gt;\n  &lt;/chapter&gt;\n&lt;/book&gt;\n</programlisting>\n\n\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml dir=\"<replaceable>path</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>dir=\"<replaceable>path</replaceable>\"</term>\n        <listitem>\n          <para>Specifies the pathname for the directory</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"params\">\n    <para><parameter>base.dir</parameter></para>\n  </refsee>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"Chunking.html#dbhtmlDirPI\">dbhtml dir processing instruction</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_dir\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'dir'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbhtml_filename\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Specifies a filename for a chunk</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n<para>When chunking output, use the <tag class=\"xmlpi\">dbhtml filename</tag>\n      PI as a child of a chunk source to specify a filename for\n      the output file for that chunk. Include the filename suffix.</para>\n\n<para>You cannot include a directory path in the filename value,\nor your links may not work.  Add a \n<tag class=\"xmlpi\">dbhtml dir</tag> processing instruction\nto specify the output directory. You can also combine the two\nspecifications in one processing instruction: \n<tag class=\"xmlpi\">dbhtml dir=\"mydir\" filename=\"myfile.html\"</tag>.</para>\n\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml filename=\"<replaceable>filename</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>filename=\"<replaceable>path</replaceable>\"</term>\n        <listitem>\n          <para>Specifies the filename for the file</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"params\">\n    <para><parameter>use.id.as.filename</parameter></para>\n  </refsee>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"Chunking.html#DbhtmlFilenames\">dbhtml filenames</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_filename\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'filename'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbhtml_funcsynopsis-style\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Specifies presentation style for a funcsynopsis</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml funcsynopsis-style</tag> PI as a child of\n      a <tag>funcsynopsis</tag> or anywhere within a funcsynopsis\n      to control the presentation style for output of all\n      <tag>funcprototype</tag> instances within that funcsynopsis.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml funcsynopsis-style=\"kr\"|\"ansi\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>funcsynopsis-style=\"kr\"</term>\n        <listitem>\n          <para>Displays <tag>funcprototype</tag> output in K&amp;R style</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>funcsynopsis-style=\"ansi\"</term>\n        <listitem>\n          <para>Displays <tag>funcprototype</tag> output in ANSI style</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"params\">\n    <para><parameter>funcsynopsis.style</parameter></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_funcsynopsis-style\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'funcsynopsis-style'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbhtml_img.src.path\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Specifies a path to the location of an image file</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml img.src.path</tag> PI before or\n      after an image (<tag>graphic</tag>,\n      <tag>inlinegraphic</tag>, <tag>imagedata</tag>, or\n      <tag>videodata</tag> element) as a sibling to the element,\n      to specify a path to the location of the image; in HTML\n      output, the value specified for the\n      <code>img.src.path</code> attribute is prepended to the\n      filename.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml img.src.path=\"<replaceable>path</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>img.src.path=\"<replaceable>path</replaceable>\"</term>\n        <listitem>\n          <para>Specifies the pathname to prepend to the name of the image file</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"params\">\n    <para><parameter>img.src.path</parameter></para>\n  </refsee>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"GraphicsLocations.html#UsingFileref\">Using fileref</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_img.src.path\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'img.src.path'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbhtml_label-width\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Specifies the label width for a qandaset</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml label-width</tag> PI as a child of a\n      <tag>qandaset</tag> to specify the width of labels.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml label-width=\"<replaceable>width</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>label-width=\"<replaceable>width</replaceable>\"</term>\n        <listitem>\n          <para>Specifies the label width (including units)</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"QandAformat.html\">Q and A formatting</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_label-width\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'label-width'\"/>\n  </xsl:call-template>\n</xsl:template> \n\n<doc:pi xmlns=\"\" name=\"dbhtml_linenumbering.everyNth\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Specifies interval for line numbers in verbatims</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml linenumbering.everyNth</tag> PI as a child\n      of a &#8220;verbatim&#8221; element &#8211; <tag>programlisting</tag>,\n      <tag>screen</tag>, <tag>synopsis</tag> &#8212; to specify\n      the interval at which lines are numbered.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml linenumbering.everyNth=\"<replaceable>N</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>linenumbering.everyNth=\"<replaceable>N</replaceable>\"</term>\n        <listitem>\n          <para>Specifies numbering interval; a number is output\n            before every <replaceable>N</replaceable>th line</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"params\">\n    <para><parameter>linenumbering.everyNth</parameter></para>\n  </refsee>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"AnnotateListing.html#LineNumbering\">Line numbering</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_linenumbering.everyNth\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'linenumbering.everyNth'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbhtml_linenumbering.separator\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Specifies separator text for line numbers in verbatims</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml linenumbering.separator</tag> PI as a child\n      of a &#8220;verbatim&#8221; element &#8211; <tag>programlisting</tag>,\n      <tag>screen</tag>, <tag>synopsis</tag> &#8212; to specify\n      the separator text output between the line numbers and content.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml linenumbering.separator=\"<replaceable>text</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>linenumbering.separator=\"<replaceable>text</replaceable>\"</term>\n        <listitem>\n          <para>Specifies the text (zero or more characters)</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"params\">\n    <para><parameter>linenumbering.separator</parameter></para>\n  </refsee>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"AnnotateListing.html#LineNumbering\">Line numbering</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_linenumbering.separator\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'linenumbering.separator'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbhtml_linenumbering.width\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Specifies width for line numbers in verbatims</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml linenumbering.width</tag> PI as a child\n      of a &#8220;verbatim&#8221; element &#8211; <tag>programlisting</tag>,\n      <tag>screen</tag>, <tag>synopsis</tag> &#8212; to specify\n      the width set aside for line numbers.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml linenumbering.width=\"<replaceable>width</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>linenumbering.width=\"<replaceable>width</replaceable>\"</term>\n        <listitem>\n          <para>Specifies the width (inluding units)</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"params\">\n    <para><parameter>linenumbering.width</parameter></para>\n  </refsee>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"AnnotateListing.html#LineNumbering\">Line numbering</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_linenumbering.width\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'linenumbering.width'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbhtml_list-presentation\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Specifies presentation style for a variablelist or\n    segmentedlist</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml list-presentation</tag> PI as a child of\n      a <tag>variablelist</tag> or <tag>segmentedlist</tag> to\n      control the presentation style for the list (to cause it, for\n      example, to be displayed as a table).</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml list-presentation=\"list\"|\"table\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>list-presentation=\"list\"</term>\n        <listitem>\n          <para>Displays the list as a list</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>list-presentation=\"table\"</term>\n        <listitem>\n          <para>Displays the list as a table</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"params\">\n    <itemizedlist>\n      <listitem>\n        <para><parameter>variablelist.as.table</parameter></para>\n      </listitem>\n      <listitem>\n        <para><parameter>segmentedlist.as.table</parameter></para>\n      </listitem>\n    </itemizedlist>\n  </refsee>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"Variablelists.html#VarListFormatting\">Variable list formatting in HTML</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_list-presentation\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'list-presentation'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbhtml_list-width\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Specifies the width of a variablelist or simplelist</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml list-width</tag> PI as a child of a\n      <tag>variablelist</tag> or a <tag>simplelist</tag> presented\n      as a table, to specify the output width.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml list-width=\"<replaceable>width</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>list-width=\"<replaceable>width</replaceable>\"</term>\n        <listitem>\n          <para>Specifies the output width (including units)</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"Variablelists.html#VarListFormatting\">Variable list formatting in HTML</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_list-width\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'list-width'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbhtml_row-height\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Specifies the height for a CALS table row</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml row-height</tag> PI as a child of a\n      <tag>row</tag> to specify the height of the row.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml row-height=\"<replaceable>height</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>row-height=\"<replaceable>height</replaceable>\"</term>\n        <listitem>\n          <para>Specifies the row height (including units)</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"RowHeight.html\">Row height</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_row-height\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'row-height'\"/>\n  </xsl:call-template>\n</xsl:template> \n\n<doc:pi xmlns=\"\" name=\"dbhtml_start\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">(obsolete) Sets the starting number on an ordered list</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para><emphasis>This PI is obsolete</emphasis>. The intent of\n      this PI was to provide a means for setting a specific starting\n      number for an ordered list. Instead of this PI, set a value\n      for the <literal>override</literal> attribute on the first\n      <tag>listitem</tag> in the list; that will have the same\n      effect as what this PI was intended for.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml start=\"<replaceable>character</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>start=\"<replaceable>character</replaceable>\"</term>\n        <listitem>\n          <para>Specifies the character to use as the starting\n            number; use 0-9, a-z, A-Z, or lowercase or uppercase\n            Roman numerals</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"Orderedlists.html#ListStartNum\">List starting number</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_start\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"pi-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'start'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n  <doc:pi xmlns=\"\" name=\"dbhtml_stop-chunking\">\n\t<refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Do not chunk any descendants of this element.</refpurpose>\n\t<refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>When generating chunked HTML output, adding this PI as the child of an element that contains elements that would normally be generated on separate pages if generating chunked output causes chunking to stop at this point. No descendants of the current element will be split into new HTML pages:\n<programlisting>&lt;section&gt;\n&lt;title&gt;Configuring pencil&lt;/title&gt;\n&lt;?dbhtml stop-chunking?&gt;\n\n...\n\n&lt;/section&gt;</programlisting>\n</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml stop-chunking</tag></synopsis>\n  </refsynopsisdiv>\t\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"Chunking.html\">Chunking into multiple HTML files</link></para>\n  </refsee>\n  </doc:pi>\n  <!-- The code that handles the stop-chunking pi is in chunk-common.xsl -->\n\n<doc:pi xmlns=\"\" name=\"dbhtml_table-summary\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Specifies summary for CALS table, variablelist, segmentedlist, or qandaset output</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml table-summary</tag> PI as a child of\n      a CALS <tag>table</tag>, <tag>variablelist</tag>,\n      <tag>segmentedlist</tag>, or <tag>qandaset</tag> to specify\n      the text for the HTML <literal>summary</literal> attribute\n      in the output HTML table.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml table-summary=\"<replaceable>text</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>table-summary=\"<replaceable>text</replaceable>\"</term>\n        <listitem>\n          <para>Specifies the summary text (zero or more characters)</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"Variablelists.html#VarListFormatting\">Variable list formatting in HTML</link>,\n      <link role=\"tcg\" xlink:href=\"TableSummary.html\">Table summary text</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_table-summary\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'table-summary'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbhtml_table-width\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Specifies the width for a CALS table</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml table-width</tag> PI as a child of a\n      CALS <tag>table</tag> to specify the width of the table in\n      output.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml table-width=\"<replaceable>width</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>table-width=\"<replaceable>width</replaceable>\"</term>\n        <listitem>\n          <para>Specifies the table width (including units or as a percentage)</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"params\">\n    <para><parameter>default.table.width</parameter></para>\n  </refsee>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"Tables.html#TableWidth\">Table width</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_table-width\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'table-width'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbhtml_term-presentation\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Sets character formatting for terms in a variablelist</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml term-presentation</tag> PI as a child\n      of a <tag>variablelist</tag> to set character formatting for\n      the <tag>term</tag> output of the list.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml term-presentation=\"bold\"|\"italic\"|\"bold-italic\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>term-presentation=\"<replaceable>bold</replaceable>\"</term>\n        <listitem>\n          <para>Specifies that terms are displayed in bold</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>term-presentation=\"<replaceable>italic</replaceable>\"</term>\n        <listitem>\n          <para>Specifies that terms are displayed in italic</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>term-presentation=\"<replaceable>bold-italic</replaceable>\"</term>\n        <listitem>\n          <para>Specifies that terms are displayed in bold-italic</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"Variablelists.html#VarListFormatting\">Variable list formatting in HTML</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_term-presentation\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'term-presentation'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbhtml_term-separator\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Specifies separator text among terms in a varlistentry</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml term-separator</tag> PI as a child\n      of a <tag>variablelist</tag> to specify the separator text\n      among <tag>term</tag> instances.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml term-separator=\"<replaceable>text</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>term-separator=\"<replaceable>text</replaceable>\"</term>\n        <listitem>\n          <para>Specifies the text (zero or more characters)</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"params\">\n    <para><parameter>variablelist.term.separator</parameter></para>\n  </refsee>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"Variablelists.html#VarListFormatting\">Variable list formatting in HTML</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_term-separator\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'term-separator'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbhtml_term-width\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Specifies the term width for a variablelist</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml term-width</tag> PI as a child of a\n      <tag>variablelist</tag> to specify the width for\n      <tag>term</tag> output.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml term-width=\"<replaceable>width</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>term-width=\"<replaceable>width</replaceable>\"</term>\n        <listitem>\n          <para>Specifies the term width (including units)</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"Variablelists.html#VarListFormatting\">Variable list formatting in HTML</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_term-width\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'term-width'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbhtml_toc\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Specifies whether a TOC should be generated for a qandaset</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml toc</tag> PI as a child of a\n      <tag>qandaset</tag> to specify whether a table of contents\n      (TOC) is generated for the <tag>qandaset</tag>.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml toc=\"0\"|\"1\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>toc=\"0\"</term>\n        <listitem>\n          <para>If zero, no TOC is generated</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>toc=\"1\"</term>\n        <listitem>\n          <para>If <code>1</code> (or any non-zero value),\n            a TOC is generated</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"QandAtoc.html\">Q and A list of questions</link>,\n      <link role=\"tcg\" xlink:href=\"QandAformat.html\">Q and A formatting</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml_toc\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:call-template name=\"dbhtml-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$node/processing-instruction('dbhtml')\"/>\n    <xsl:with-param name=\"attribute\" select=\"'toc'\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbcmdlist\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Generates a hyperlinked list of commands</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbcmdlist</tag> PI as the child of any\n      element (for example, <tag>refsynopsisdiv</tag>) containing multiple\n      <tag>cmdsynopsis</tag> instances; a hyperlinked navigational\n      &#8220;command list&#8221; will be generated at the top of output for that\n      element, enabling users to quickly jump\n      to each command synopsis.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbcmdlist</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>[No parameters]</para>\n  </refparameter>\n</doc:pi>\n<xsl:template name=\"pi.dbcmdlist\">\n  <xsl:variable name=\"cmdsynopses\" select=\"..//cmdsynopsis\"/>\n  <xsl:if test=\"count($cmdsynopses)&lt;1\">\n    <xsl:message><xsl:text>No cmdsynopsis elements matched dbcmdlist PI, perhaps it's nested too deep?</xsl:text>\n    </xsl:message>\n  </xsl:if>\n  <dl>\n    <xsl:call-template name=\"process.cmdsynopsis.list\">\n      <xsl:with-param name=\"cmdsynopses\" select=\"$cmdsynopses\"/>\n    </xsl:call-template>\n  </dl>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbfunclist\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Generates a hyperlinked list of functions</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbfunclist</tag> PI as the child of any\n      element (for example, <tag>refsynopsisdiv</tag>) containing multiple\n      <tag>funcsynopsis</tag> instances; a hyperlinked\n      navigational &#8220;function list&#8221; will be generated at the top of\n      output for that element, enabling users to quickly\n      jump to to each function synopsis.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbfunclist</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>[No parameters]</para>\n  </refparameter>\n</doc:pi>\n<xsl:template name=\"pi.dbfunclist\">\n  <xsl:variable name=\"funcsynopses\" select=\"..//funcsynopsis\"/>\n  <xsl:if test=\"count($funcsynopses)&lt;1\">\n    <xsl:message><xsl:text>No funcsynopsis elements matched dbfunclist PI, perhaps it's nested too deep?</xsl:text>\n    </xsl:message>\n  </xsl:if>\n  <dl>\n    <xsl:call-template name=\"process.funcsynopsis.list\">\n      <xsl:with-param name=\"funcsynopses\" select=\"$funcsynopses\"/>\n    </xsl:call-template>\n  </dl>\n</xsl:template>\n\n<doc:pi xmlns=\"\" name=\"dbhtml-include_href\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Copies an external well-formed HTML/XML file into current doc</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhtml-include href</tag> PI anywhere in a\n      document to cause the contents of the file referenced by the\n      <code>href</code> pseudo-attribute to be copied/inserted &#8220;as\n      is&#8221; into your HTML output at the point in document order\n      where the PI occurs in the source.</para>\n    <note>\n      <para>The referenced file may contain plain text (as long as\n        it is &#8220;wrapped&#8221; in an <tag>html</tag> element &#8212; see the\n        note below) or markup in any arbitrary vocabulary,\n        including HTML &#8212; but it must conform to XML\n        well-formedness constraints (because the feature in XSLT\n        1.0 for opening external files, the\n        <function>document()</function> function, can only handle\n        files that meet XML well-formedness constraints).</para>\n      <para>Among other things, XML well-formedness constraints\n        require a document to have <emphasis>a single root\n          element</emphasis>. So if the content you want to\n        include is plain text or is markup that does\n        <emphasis>not</emphasis> have a single root element,\n        <emphasis role=\"strong\">wrap the content in an\n          <tag>html</tag> element</emphasis>. The stylesheets will\n        strip out that surrounding <tag>html</tag> &#8220;wrapper&#8221; when\n        they find it, leaving just the content you want to\n        insert.</para>\n    </note>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhtml-include href=\"<replaceable>URI</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>href=\"<replaceable>URI</replaceable>\"</term>\n        <listitem>\n          <para>Specifies the URI for the file to include; the URI\n            can be, for example, a remote <literal>http:</literal>\n            URI, or a local filesystem <literal>file:</literal>\n            URI</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"params\">\n    <para><parameter>textinsert.extension</parameter></para>\n  </refsee>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"InsertExtHtml.html\">Inserting external HTML code</link>,\n      <link role=\"tcg\" xlink:href=\"ExternalCode.html\">External code files</link></para>\n  </refsee>\n</doc:pi>\n<xsl:template name=\"pi.dbhtml-include\">\n  <xsl:param name=\"href\">\n    <xsl:call-template name=\"dbhtml-attribute\">\n      <xsl:with-param name=\"pis\" select=\".\"/>\n      <xsl:with-param name=\"attribute\">href</xsl:with-param>\n    </xsl:call-template>\n  </xsl:param>\n  <xsl:choose>\n    <xsl:when test=\"$href != ''\">\n      <xsl:variable name=\"content\" select=\"document($href,/)\"/>\n      <xsl:choose>\n        <xsl:when test=\"$content/*\">\n          <xsl:choose>\n            <xsl:when test=\"$content/*[1][self::html]\">\n              <!-- include just the children of html wrapper -->\n              <xsl:copy-of select=\"$content/*[1]/node()\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:copy-of select=\"$content\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:message>\n            <xsl:text>ERROR: dbhtml-include processing instruction </xsl:text>\n            <xsl:text>href has no content.</xsl:text>\n          </xsl:message>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:message>\n        <xsl:text>ERROR: dbhtml-include processing instruction has </xsl:text>\n        <xsl:text>missing or empty href value.</xsl:text>\n      </xsl:message>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- There are two templates matching this PI in htmlhelp-common.xsl -->\n<doc:pi xmlns=\"\" name=\"dbhh\">\n  <refpurpose xmlns=\"http://www.w3.org/1999/xhtml\">Sets topic name and topic id for context-sensitive HTML Help</refpurpose>\n  <refdescription xmlns=\"http://www.w3.org/1999/xhtml\">\n    <para>Use the <tag class=\"xmlpi\">dbhh</tag> PI as a child of components\n      that should be used as targets for context-sensitive help requests.</para>\n  </refdescription>\n  <refsynopsisdiv xmlns=\"http://www.w3.org/1999/xhtml\">\n    <synopsis><tag class=\"xmlpi\">dbhh topicname=\"<replaceable>name</replaceable>\" topicid=\"<replaceable>id</replaceable>\"</tag></synopsis>\n  </refsynopsisdiv>\n  <refparameter xmlns=\"http://www.w3.org/1999/xhtml\">\n    <variablelist>\n      <varlistentry><term>topicname=\"<replaceable>name</replaceable>\"</term>\n        <listitem>\n          <para>Specifies a unique string constant that identifies a help topic</para>\n        </listitem>\n      </varlistentry>\n      <varlistentry><term>topicid=\"<replaceable>id</replaceable>\"</term>\n        <listitem>\n          <para>Specifies a unique integer value for the <literal>topicname</literal> string</para>\n        </listitem>\n      </varlistentry>\n    </variablelist>\n  </refparameter>\n  <refsee xmlns=\"http://www.w3.org/1999/xhtml\" role=\"tcg\">\n    <para><link role=\"tcg\" xlink:href=\"HtmlHelp.html#HHContextHelp\">Context-sensitive help</link></para>\n  </refsee>\n</doc:pi>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"dbhtml-attribute\">\n  <!-- * dbhtml-attribute is an interal utility template for retrieving -->\n  <!-- * pseudo-attributes/parameters from PIs -->\n  <xsl:param name=\"pis\" select=\"processing-instruction('dbhtml')\"/>\n  <xsl:param name=\"attribute\">filename</xsl:param>\n  <xsl:call-template name=\"pi-attribute\">\n    <xsl:with-param name=\"pis\" select=\"$pis\"/>\n    <xsl:with-param name=\"attribute\" select=\"$attribute\"/>\n  </xsl:call-template>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"processing-instruction()\">\n</xsl:template>\n\n<xsl:template match=\"processing-instruction('dbhtml')\">\n  <!-- nop -->\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"processing-instruction('dbcmdlist')\">\n  <xsl:call-template name=\"pi.dbcmdlist\"/>\n</xsl:template>\n<xsl:template name=\"process.cmdsynopsis.list\">\n  <xsl:param name=\"cmdsynopses\"/><!-- empty node list by default -->\n  <xsl:param name=\"count\" select=\"1\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$count&gt;count($cmdsynopses)\"/>\n    <xsl:otherwise>\n      <xsl:variable name=\"cmdsyn\" select=\"$cmdsynopses[$count]\"/>\n\n       <dt>\n       <a>\n         <xsl:attribute name=\"href\">\n           <xsl:text>#</xsl:text>\n           <xsl:call-template name=\"object.id\">\n             <xsl:with-param name=\"object\" select=\"$cmdsyn\"/>\n           </xsl:call-template>\n         </xsl:attribute>\n\n         <xsl:choose>\n           <xsl:when test=\"$cmdsyn/@xreflabel\">\n             <xsl:call-template name=\"xref.xreflabel\">\n               <xsl:with-param name=\"target\" select=\"$cmdsyn\"/>\n             </xsl:call-template>\n           </xsl:when>\n           <xsl:otherwise>\n             <xsl:apply-templates select=\"$cmdsyn\" mode=\"xref-to\">\n               <xsl:with-param name=\"target\" select=\"$cmdsyn\"/>\n             </xsl:apply-templates>\n           </xsl:otherwise>\n         </xsl:choose>\n       </a>\n       </dt>\n\n        <xsl:call-template name=\"process.cmdsynopsis.list\">\n          <xsl:with-param name=\"cmdsynopses\" select=\"$cmdsynopses\"/>\n          <xsl:with-param name=\"count\" select=\"$count+1\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"processing-instruction('dbfunclist')\">\n  <xsl:call-template name=\"pi.dbfunclist\"/>\n</xsl:template>\n<xsl:template name=\"process.funcsynopsis.list\">\n  <xsl:param name=\"funcsynopses\"/><!-- empty node list by default -->\n  <xsl:param name=\"count\" select=\"1\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$count&gt;count($funcsynopses)\"/>\n    <xsl:otherwise>\n      <xsl:variable name=\"cmdsyn\" select=\"$funcsynopses[$count]\"/>\n\n       <dt>\n       <a>\n         <xsl:attribute name=\"href\">\n           <xsl:text>#</xsl:text>\n           <xsl:call-template name=\"object.id\">\n             <xsl:with-param name=\"object\" select=\"$cmdsyn\"/>\n           </xsl:call-template>\n         </xsl:attribute>\n\n         <xsl:choose>\n           <xsl:when test=\"$cmdsyn/@xreflabel\">\n             <xsl:call-template name=\"xref.xreflabel\">\n               <xsl:with-param name=\"target\" select=\"$cmdsyn\"/>\n             </xsl:call-template>\n           </xsl:when>\n           <xsl:otherwise>\n              <xsl:apply-templates select=\"$cmdsyn\" mode=\"xref-to\">\n                <xsl:with-param name=\"target\" select=\"$cmdsyn\"/>\n              </xsl:apply-templates>\n           </xsl:otherwise>\n         </xsl:choose>\n       </a>\n       </dt>\n\n        <xsl:call-template name=\"process.funcsynopsis.list\">\n          <xsl:with-param name=\"funcsynopses\" select=\"$funcsynopses\"/>\n          <xsl:with-param name=\"count\" select=\"$count+1\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"processing-instruction('dbhtml-include')\">\n  <xsl:call-template name=\"pi.dbhtml-include\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"dbhtml-dir\">\n  <xsl:param name=\"context\" select=\".\"/>\n  <!-- directories are now inherited from previous levels -->\n  <xsl:variable name=\"ppath\">\n    <xsl:if test=\"$context/parent::*\">\n      <xsl:call-template name=\"dbhtml-dir\">\n        <xsl:with-param name=\"context\" select=\"$context/parent::*\"/>\n      </xsl:call-template>\n    </xsl:if>\n  </xsl:variable>\n  <xsl:variable name=\"path\">\n    <xsl:call-template name=\"pi.dbhtml_dir\">\n      <xsl:with-param name=\"node\" select=\"$context\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:choose>\n    <xsl:when test=\"$path = ''\">\n      <xsl:if test=\"$ppath != ''\">\n        <xsl:value-of select=\"$ppath\"/>\n      </xsl:if>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:if test=\"$ppath != ''\">\n        <xsl:value-of select=\"$ppath\"/>\n        <xsl:if test=\"substring($ppath, string-length($ppath), 1) != '/'\">\n          <xsl:text>/</xsl:text>\n        </xsl:if>\n      </xsl:if>\n      <xsl:value-of select=\"$path\"/>\n      <xsl:text>/</xsl:text>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/profile-chunk-code.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<!--This file was created automatically by xsl2profile-->\n<!--from the DocBook XSL stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:exsl=\"http://exslt.org/common\" xmlns:cf=\"http://docbook.sourceforge.net/xmlns/chunkfast/1.0\" xmlns:ng=\"http://docbook.org/docbook-ng\" xmlns:db=\"http://docbook.org/ns/docbook\" xmlns:exslt=\"http://exslt.org/common\" xmlns=\"http://www.w3.org/1999/xhtml\" exslt:dummy=\"dummy\" ng:dummy=\"dummy\" db:dummy=\"dummy\" extension-element-prefixes=\"exslt\" exclude-result-prefixes=\"exsl cf ng db exslt\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: chunk-code.xsl 9328 2012-05-03 16:28:23Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n\n<xsl:template match=\"*\" mode=\"chunk-filename\">\n  <!-- returns the filename of a chunk -->\n  <xsl:variable name=\"ischunk\">\n    <xsl:call-template name=\"chunk\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"fn\">\n    <xsl:apply-templates select=\".\" mode=\"recursive-chunk-filename\"/>\n  </xsl:variable>\n\n  <!--\n  <xsl:message>\n    <xsl:value-of select=\"$ischunk\"/>\n    <xsl:text> (</xsl:text>\n    <xsl:value-of select=\"local-name(.)\"/>\n    <xsl:text>) </xsl:text>\n    <xsl:value-of select=\"$fn\"/>\n    <xsl:text>, </xsl:text>\n    <xsl:call-template name=\"dbhtml-dir\"/>\n  </xsl:message>\n  -->\n\n  <!-- 2003-11-25 by ndw:\n       The following test used to read test=\"$ischunk != 0 and $fn != ''\"\n       I've removed the ischunk part of the test so that href.to.uri and\n       href.from.uri will be fully qualified even if the source or target\n       isn't a chunk. I *think* that if $fn != '' then it's appropriate\n       to put the directory on the front, even if the element isn't a\n       chunk. I could be wrong. -->\n\n  <xsl:if test=\"$fn != ''\">\n    <xsl:call-template name=\"dbhtml-dir\"/>\n  </xsl:if>\n\n  <xsl:value-of select=\"$chunked.filename.prefix\"/>\n\n  <xsl:value-of select=\"$fn\"/>\n  <!-- You can't add the html.ext here because dbhtml filename= may already -->\n  <!-- have added it. It really does have to be handled in the recursive template -->\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"recursive-chunk-filename\">\n  <xsl:param name=\"recursive\" select=\"false()\"/>\n\n  <!-- returns the filename of a chunk -->\n  <xsl:variable name=\"ischunk\">\n    <xsl:call-template name=\"chunk\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"dbhtml-filename\">\n    <xsl:call-template name=\"pi.dbhtml_filename\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"filename\">\n    <xsl:choose>\n      <xsl:when test=\"$dbhtml-filename != ''\">\n        <xsl:value-of select=\"$dbhtml-filename\"/>\n      </xsl:when>\n      <!-- if this is the root element, use the root.filename -->\n      <xsl:when test=\"not(parent::*) and $root.filename != ''\">\n        <xsl:value-of select=\"$root.filename\"/>\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:when>\n      <!-- Special case -->\n      <xsl:when test=\"self::legalnotice and not($generate.legalnotice.link = 0)\">\n        <xsl:choose>\n          <xsl:when test=\"(@id or @xml:id) and not($use.id.as.filename = 0)\">\n            <!-- * if this legalnotice has an ID, then go ahead and use -->\n            <!-- * just the value of that ID as the basename for the file -->\n            <!-- * (that is, without prepending an \"ln-\" too it) -->\n            <xsl:value-of select=\"(@id|@xml:id)[1]\"/>\n            <xsl:value-of select=\"$html.ext\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <!-- * otherwise, if this legalnotice does not have an ID, -->\n            <!-- * then we generate an ID... -->\n            <xsl:variable name=\"id\">\n              <xsl:call-template name=\"object.id\"/>\n            </xsl:variable>\n            <!-- * ...and then we take that generated ID, prepend an -->\n            <!-- * \"ln-\" to it, and use that as the basename for the file -->\n            <xsl:value-of select=\"concat('ln-',$id,$html.ext)\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n      <!-- if there's no dbhtml filename, and if we're to use IDs as -->\n      <!-- filenames, then use the ID to generate the filename. -->\n      <xsl:when test=\"(@id or @xml:id) and $use.id.as.filename != 0\">\n        <xsl:value-of select=\"(@id|@xml:id)[1]\"/>\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:when>\n      <xsl:otherwise/>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$ischunk='0'\">\n      <!-- if called on something that isn't a chunk, walk up... -->\n      <xsl:choose>\n        <xsl:when test=\"count(parent::*)&gt;0\">\n          <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n            <xsl:with-param name=\"recursive\" select=\"$recursive\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <!-- unless there is no up, in which case return \"\" -->\n        <xsl:otherwise/>\n      </xsl:choose>\n    </xsl:when>\n\n    <xsl:when test=\"not($recursive) and $filename != ''\">\n      <!-- if this chunk has an explicit name, use it -->\n      <xsl:value-of select=\"$filename\"/>\n    </xsl:when>\n\n    <xsl:when test=\"self::set\">\n      <xsl:value-of select=\"$root.filename\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::book\">\n      <xsl:text>bk</xsl:text>\n      <xsl:number level=\"any\" format=\"01\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::article\">\n      <xsl:if test=\"/set\">\n        <!-- in a set, make sure we inherit the right book info... -->\n        <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n          <xsl:with-param name=\"recursive\" select=\"true()\"/>\n        </xsl:apply-templates>\n      </xsl:if>\n\n      <xsl:text>ar</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::preface\">\n      <xsl:if test=\"/set\">\n        <!-- in a set, make sure we inherit the right book info... -->\n        <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n          <xsl:with-param name=\"recursive\" select=\"true()\"/>\n        </xsl:apply-templates>\n      </xsl:if>\n\n      <xsl:text>pr</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::chapter\">\n      <xsl:if test=\"/set\">\n        <!-- in a set, make sure we inherit the right book info... -->\n        <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n          <xsl:with-param name=\"recursive\" select=\"true()\"/>\n        </xsl:apply-templates>\n      </xsl:if>\n\n      <xsl:text>ch</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::appendix\">\n      <xsl:if test=\"/set\">\n        <!-- in a set, make sure we inherit the right book info... -->\n        <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n          <xsl:with-param name=\"recursive\" select=\"true()\"/>\n        </xsl:apply-templates>\n      </xsl:if>\n\n      <xsl:text>ap</xsl:text>\n      <xsl:number level=\"any\" format=\"a\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::part\">\n      <xsl:choose>\n        <xsl:when test=\"/set\">\n          <!-- in a set, make sure we inherit the right book info... -->\n          <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n            <xsl:with-param name=\"recursive\" select=\"true()\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:text>pt</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::reference\">\n      <xsl:choose>\n        <xsl:when test=\"/set\">\n          <!-- in a set, make sure we inherit the right book info... -->\n          <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n            <xsl:with-param name=\"recursive\" select=\"true()\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:text>rn</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::refentry\">\n      <xsl:choose>\n        <xsl:when test=\"parent::reference\">\n          <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n            <xsl:with-param name=\"recursive\" select=\"true()\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:if test=\"/set\">\n            <!-- in a set, make sure we inherit the right book info... -->\n            <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n              <xsl:with-param name=\"recursive\" select=\"true()\"/>\n            </xsl:apply-templates>\n          </xsl:if>\n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:text>re</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::colophon\">\n      <xsl:choose>\n        <xsl:when test=\"/set\">\n          <!-- in a set, make sure we inherit the right book info... -->\n          <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n            <xsl:with-param name=\"recursive\" select=\"true()\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:text>co</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::sect1                     or self::sect2                     or self::sect3                     or self::sect4                     or self::sect5                     or self::section\">\n      <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n        <xsl:with-param name=\"recursive\" select=\"true()\"/>\n      </xsl:apply-templates>\n      <xsl:text>s</xsl:text>\n      <xsl:number format=\"01\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::bibliography\">\n      <xsl:choose>\n        <xsl:when test=\"/set\">\n          <!-- in a set, make sure we inherit the right book info... -->\n          <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n            <xsl:with-param name=\"recursive\" select=\"true()\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:text>bi</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::glossary\">\n      <xsl:choose>\n        <xsl:when test=\"/set\">\n          <!-- in a set, make sure we inherit the right book info... -->\n          <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n            <xsl:with-param name=\"recursive\" select=\"true()\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:text>go</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::index\">\n      <xsl:choose>\n        <xsl:when test=\"/set\">\n          <!-- in a set, make sure we inherit the right book info... -->\n          <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n            <xsl:with-param name=\"recursive\" select=\"true()\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:text>ix</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::setindex\">\n      <xsl:text>si</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"set\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:when test=\"self::topic\">\n      <xsl:choose>\n        <xsl:when test=\"/set\">\n          <!-- in a set, make sure we inherit the right book info... -->\n          <xsl:apply-templates mode=\"recursive-chunk-filename\" select=\"parent::*\">\n            <xsl:with-param name=\"recursive\" select=\"true()\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n        </xsl:otherwise>\n      </xsl:choose>\n\n      <xsl:text>to</xsl:text>\n      <xsl:number level=\"any\" format=\"01\" from=\"book\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:when>\n\n    <xsl:otherwise>\n      <xsl:text>chunk-filename-error-</xsl:text>\n      <xsl:value-of select=\"name(.)\"/>\n      <xsl:number level=\"any\" format=\"01\" from=\"set\"/>\n      <xsl:if test=\"not($recursive)\">\n        <xsl:value-of select=\"$html.ext\"/>\n      </xsl:if>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n\n\n<xsl:template match=\"processing-instruction('dbhtml')\">\n  <!-- nop -->\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n\n<xsl:template match=\"*\" mode=\"find.chunks\">\n  <xsl:variable name=\"chunk\">\n    <xsl:call-template name=\"chunk\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$chunk != 0\">\n      <cf:div id=\"{generate-id()}\">\n        <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n        <xsl:apply-templates select=\"*\" mode=\"find.chunks\"/>\n      </cf:div>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates select=\"*\" mode=\"find.chunks\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- Leave legalnotice chunk out of the list for Next and Prev -->\n<xsl:template match=\"legalnotice\" mode=\"find.chunks\"/>\n\n<xslo:include xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\" href=\"../profiling/profile-mode.xsl\"/><xslo:variable xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\" name=\"profiled-content\"><xslo:choose><xslo:when test=\"*/self::ng:* or */self::db:*\"><xslo:message>Note: namesp. cut : stripped namespace before processing</xslo:message><xslo:variable name=\"stripped-content\"><xslo:apply-templates select=\"/\" mode=\"stripNS\"/></xslo:variable><xslo:message>Note: namesp. cut : processing stripped document</xslo:message><xslo:apply-templates select=\"exslt:node-set($stripped-content)\" mode=\"profile\"/></xslo:when><xslo:otherwise><xslo:apply-templates select=\"/\" mode=\"profile\"/></xslo:otherwise></xslo:choose></xslo:variable><xslo:variable xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\" name=\"profiled-nodes\" select=\"exslt:node-set($profiled-content)\"/><xsl:template match=\"/\">\n  <!-- * Get a title for current doc so that we let the user -->\n  <!-- * know what document we are processing at this point. -->\n  <xsl:variable name=\"doc.title\">\n    <xsl:call-template name=\"get.doc.title\"/>\n  </xsl:variable>\n  <xsl:choose>\n    <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document,\n         toss the namespace and continue.  Use the docbook5 namespaced\n\t stylesheets for DocBook5 if you don't want to use this feature.-->\n    <xsl:when test=\"false()\"/>\n    <!-- Can't process unless namespace removed -->\n    <xsl:when test=\"false()\"/>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"$rootid != ''\">\n          <xsl:choose>\n            <xsl:when test=\"count($profiled-nodes//*[@id=$rootid or @xml:id=$rootid]) = 0\">\n              <xsl:message terminate=\"yes\">\n                <xsl:text>ID '</xsl:text>\n                <xsl:value-of select=\"$rootid\"/>\n                <xsl:text>' not found in document.</xsl:text>\n              </xsl:message>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:if test=\"$collect.xref.targets = 'yes' or                             $collect.xref.targets = 'only'\">\n                <xsl:apply-templates select=\"key('id', $rootid)\" mode=\"collect.targets\"/>\n              </xsl:if>\n              <xsl:if test=\"$collect.xref.targets != 'only'\">\n                <xsl:apply-templates select=\"$profiled-nodes//*[@id=$rootid or @xml:id=$rootid]\" mode=\"process.root\"/>\n                <xsl:if test=\"$tex.math.in.alt != ''\">\n                  <xsl:apply-templates select=\"$profiled-nodes//*[@id=$rootid or @xml:id=$rootid]\" mode=\"collect.tex.math\"/>\n                </xsl:if>\n                <xsl:if test=\"$generate.manifest != 0\">\n                  <xsl:call-template name=\"generate.manifest\">\n                    <xsl:with-param name=\"node\" select=\"key('id',$rootid)\"/>\n                  </xsl:call-template>\n                </xsl:if>\n              </xsl:if>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:if test=\"$collect.xref.targets = 'yes' or                         $collect.xref.targets = 'only'\">\n            <xsl:apply-templates select=\"$profiled-nodes\" mode=\"collect.targets\"/>\n          </xsl:if>\n          <xsl:if test=\"$collect.xref.targets != 'only'\">\n            <xsl:apply-templates select=\"$profiled-nodes\" mode=\"process.root\"/>\n            <xsl:if test=\"$tex.math.in.alt != ''\">\n              <xsl:apply-templates select=\"$profiled-nodes\" mode=\"collect.tex.math\"/>\n            </xsl:if>\n            <xsl:if test=\"$generate.manifest != 0\">\n              <xsl:call-template name=\"generate.manifest\">\n                <xsl:with-param name=\"node\" select=\"$profiled-nodes\"/>\n              </xsl:call-template>\n            </xsl:if>\n          </xsl:if>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"process.root\">\n  <xsl:apply-templates select=\".\"/>\n  <xsl:call-template name=\"generate.css.files\"/>\n</xsl:template>\n\n<!-- ====================================================================== -->\n\n<xsl:template match=\"set|book|part|preface|chapter|appendix                      |article                      |topic                      |reference|refentry                      |book/glossary|article/glossary|part/glossary                      |book/bibliography|article/bibliography|part/bibliography                      |colophon\">\n  <xsl:choose>\n    <xsl:when test=\"$onechunk != 0 and parent::*\">\n      <xsl:apply-imports/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"process-chunk-element\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"sect1|sect2|sect3|sect4|sect5|section\">\n  <xsl:variable name=\"ischunk\">\n    <xsl:call-template name=\"chunk\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"not(parent::*)\">\n      <xsl:call-template name=\"process-chunk-element\"/>\n    </xsl:when>\n    <xsl:when test=\"$ischunk = 0\">\n      <xsl:apply-imports/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"process-chunk-element\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"setindex                      |book/index                      |article/index                      |part/index\">\n  <!-- some implementations use completely empty index tags to indicate -->\n  <!-- where an automatically generated index should be inserted. so -->\n  <!-- if the index is completely empty, skip it. -->\n  <xsl:if test=\"count(*)&gt;0 or $generate.index != '0'\">\n    <xsl:call-template name=\"process-chunk-element\"/>\n  </xsl:if>\n</xsl:template>\n\n<!-- Resolve xml:base attributes -->\n<xsl:template match=\"@fileref\">\n  <!-- need a check for absolute urls -->\n  <xsl:choose>\n    <xsl:when test=\"contains(., ':')\">\n      <!-- it has a uri scheme so it is an absolute uri -->\n      <xsl:value-of select=\".\"/>\n    </xsl:when>\n    <xsl:when test=\"$keep.relative.image.uris != 0\">\n      <!-- leave it alone -->\n      <xsl:value-of select=\".\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <!-- its a relative uri -->\n      <xsl:call-template name=\"relative-uri\">\n        <xsl:with-param name=\"destdir\">\n          <xsl:call-template name=\"dbhtml-dir\">\n            <xsl:with-param name=\"context\" select=\"..\"/>\n          </xsl:call-template>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n<xsl:template match=\"set|book|part|preface|chapter|appendix                      |article                      |topic                      |reference|refentry                      |sect1|sect2|sect3|sect4|sect5                      |section                      |book/glossary|article/glossary|part/glossary                      |book/bibliography|article/bibliography|part/bibliography                      |colophon\" mode=\"enumerate-files\">\n  <xsl:variable name=\"ischunk\"><xsl:call-template name=\"chunk\"/></xsl:variable>\n  <xsl:if test=\"$ischunk='1'\">\n    <xsl:call-template name=\"make-relative-filename\">\n      <xsl:with-param name=\"base.dir\">\n        <xsl:if test=\"$manifest.in.base.dir = 0\">\n          <xsl:value-of select=\"$chunk.base.dir\"/>\n        </xsl:if>\n      </xsl:with-param>\n      <xsl:with-param name=\"base.name\">\n        <xsl:apply-templates mode=\"chunk-filename\" select=\".\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n    <xsl:text>\n</xsl:text>\n  </xsl:if>\n  <xsl:apply-templates select=\"*\" mode=\"enumerate-files\"/>\n</xsl:template>\n\n<xsl:template match=\"book/index|article/index|part/index\" mode=\"enumerate-files\">\n  <xsl:if test=\"$htmlhelp.output != 1\">\n    <xsl:variable name=\"ischunk\"><xsl:call-template name=\"chunk\"/></xsl:variable>\n    <xsl:if test=\"$ischunk='1'\">\n      <xsl:call-template name=\"make-relative-filename\">\n        <xsl:with-param name=\"base.dir\">\n          <xsl:if test=\"$manifest.in.base.dir = 0\">\n            <xsl:value-of select=\"$chunk.base.dir\"/>\n          </xsl:if>\n        </xsl:with-param>\n        <xsl:with-param name=\"base.name\">\n          <xsl:apply-templates mode=\"chunk-filename\" select=\".\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n      <xsl:text>\n</xsl:text>\n    </xsl:if>\n    <xsl:apply-templates select=\"*\" mode=\"enumerate-files\"/>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"enumerate-files\">\n  <xsl:variable name=\"id\"><xsl:call-template name=\"object.id\"/></xsl:variable>\n  <xsl:if test=\"$generate.legalnotice.link != 0\">\n    <xsl:call-template name=\"make-relative-filename\">\n      <xsl:with-param name=\"base.dir\">\n        <xsl:if test=\"$manifest.in.base.dir = 0\">\n          <xsl:value-of select=\"$chunk.base.dir\"/>\n        </xsl:if>\n      </xsl:with-param>\n      <xsl:with-param name=\"base.name\">\n        <xsl:apply-templates mode=\"chunk-filename\" select=\".\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n    <xsl:text>\n</xsl:text>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"mediaobject[imageobject] | inlinemediaobject[imageobject]\" mode=\"enumerate-files\">\n  <xsl:variable name=\"longdesc.uri\">\n    <xsl:call-template name=\"longdesc.uri\">\n      <xsl:with-param name=\"mediaobject\" select=\".\"/>\n    </xsl:call-template>\n  </xsl:variable>\n  <xsl:variable name=\"mediaobject\" select=\".\"/>\n\n  <xsl:if test=\"$html.longdesc != 0 and $mediaobject/textobject[not(phrase)]\">\n    <xsl:call-template name=\"longdesc.uri\">\n      <xsl:with-param name=\"mediaobject\" select=\"$mediaobject\"/>\n    </xsl:call-template>\n    <xsl:text>\n</xsl:text>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"text()\" mode=\"enumerate-files\">\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/profile-chunk.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"US-ASCII\"?>\n<!--This file was created automatically by xsl2profile-->\n<!--from the DocBook XSL stylesheets.-->\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:exsl=\"http://exslt.org/common\" xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:exslt=\"http://exslt.org/common\" xmlns:ng=\"http://docbook.org/docbook-ng\" xmlns:db=\"http://docbook.org/ns/docbook\" exslt:dummy=\"dummy\" ng:dummy=\"dummy\" db:dummy=\"dummy\" extension-element-prefixes=\"exslt\" version=\"1.0\" exclude-result-prefixes=\"exsl exslt\">\n\n<!-- ********************************************************************\n     $Id: chunk.xsl 6910 2007-06-28 23:23:30Z xmldoc $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<!-- First import the non-chunking templates that format elements\n     within each chunk file. In a customization, you should\n     create a separate non-chunking customization layer such\n     as mydocbook.xsl that imports the original docbook.xsl and\n     customizes any presentation templates. Then your chunking\n     customization should import mydocbook.xsl instead of\n     docbook.xsl.  -->\n<xsl:import href=\"docbook.xsl\"/>\n\n<!-- chunk-common.xsl contains all the named templates for chunking.\n     In a customization file, you import chunk-common.xsl, then\n     add any customized chunking templates of the same name. \n     They will have import precedence over the original \n     chunking templates in chunk-common.xsl. -->\n<xsl:import href=\"chunk-common.xsl\"/>\n\n<!-- The manifest.xsl module is no longer imported because its\n     templates were moved into chunk-common and chunk-code -->\n\n<!-- chunk-code.xsl contains all the chunking templates that use\n     a match attribute.  In a customization it should be referenced\n     using <xsl:include> instead of <xsl:import>, and then add\n     any customized chunking templates with match attributes. But be sure\n     to add a priority=\"1\" to such customized templates to resolve\n     its conflict with the original, since they have the\n     same import precedence.\n     \n     Using xsl:include prevents adding another layer\n     of import precedence, which would cause any\n     customizations that use xsl:apply-imports to wrongly\n     apply the chunking version instead of the original\n     non-chunking version to format an element.  -->\n<xsl:include href=\"chunk-code.xsl\"/>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/profile-docbook.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<!--This file was created automatically by xsl2profile-->\n<!--from the DocBook XSL stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:ng=\"http://docbook.org/docbook-ng\" xmlns:db=\"http://docbook.org/ns/docbook\" xmlns:exsl=\"http://exslt.org/common\" xmlns:exslt=\"http://exslt.org/common\" xmlns=\"http://www.w3.org/1999/xhtml\" exslt:dummy=\"dummy\" ng:dummy=\"dummy\" db:dummy=\"dummy\" extension-element-prefixes=\"exslt\" exclude-result-prefixes=\"db ng exsl exslt exslt\" version=\"1.0\">\n\n<xsl:output method=\"xml\" encoding=\"UTF-8\" indent=\"no\" doctype-public=\"-//W3C//DTD XHTML 1.1//EN\" doctype-system=\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\"/>\n\n<!-- ********************************************************************\n     $Id: docbook.xsl 9605 2012-09-18 10:48:54Z tom_schr $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:include href=\"../VERSION.xsl\"/>\n<xsl:include href=\"param.xsl\"/>\n<xsl:include href=\"../lib/lib.xsl\"/>\n<xsl:include href=\"../common/l10n.xsl\"/>\n<xsl:include href=\"../common/common.xsl\"/>\n<xsl:include href=\"../common/utility.xsl\"/>\n<xsl:include href=\"../common/labels.xsl\"/>\n<xsl:include href=\"../common/titles.xsl\"/>\n<xsl:include href=\"../common/subtitles.xsl\"/>\n<xsl:include href=\"../common/gentext.xsl\"/>\n<xsl:include href=\"../common/targets.xsl\"/>\n<xsl:include href=\"../common/olink.xsl\"/>\n<xsl:include href=\"../common/pi.xsl\"/>\n<xsl:include href=\"autotoc.xsl\"/>\n<xsl:include href=\"autoidx.xsl\"/>\n<xsl:include href=\"lists.xsl\"/>\n<xsl:include href=\"callout.xsl\"/>\n<xsl:include href=\"verbatim.xsl\"/>\n<xsl:include href=\"graphics.xsl\"/>\n<xsl:include href=\"xref.xsl\"/>\n<xsl:include href=\"formal.xsl\"/>\n<xsl:include href=\"table.xsl\"/>\n<xsl:include href=\"htmltbl.xsl\"/>\n<xsl:include href=\"sections.xsl\"/>\n<xsl:include href=\"inline.xsl\"/>\n<xsl:include href=\"footnote.xsl\"/>\n<xsl:include href=\"html.xsl\"/>\n<xsl:include href=\"info.xsl\"/>\n<xsl:include href=\"keywords.xsl\"/>\n<xsl:include href=\"division.xsl\"/>\n<xsl:include href=\"toc.xsl\"/>\n<xsl:include href=\"index.xsl\"/>\n<xsl:include href=\"refentry.xsl\"/>\n<xsl:include href=\"math.xsl\"/>\n<xsl:include href=\"admon.xsl\"/>\n<xsl:include href=\"component.xsl\"/>\n<xsl:include href=\"biblio.xsl\"/>\n<xsl:include href=\"biblio-iso690.xsl\"/>\n<xsl:include href=\"glossary.xsl\"/>\n<xsl:include href=\"block.xsl\"/>\n<xsl:include href=\"task.xsl\"/>\n<xsl:include href=\"qandaset.xsl\"/>\n<xsl:include href=\"synop.xsl\"/>\n<xsl:include href=\"titlepage.xsl\"/>\n<xsl:include href=\"titlepage.templates.xsl\"/>\n<xsl:include href=\"pi.xsl\"/>\n<xsl:include href=\"ebnf.xsl\"/>\n<xsl:include href=\"chunker.xsl\"/>\n<xsl:include href=\"html-rtf.xsl\"/>\n<xsl:include href=\"annotations.xsl\"/>\n<xsl:include href=\"../common/stripns.xsl\"/>\n\n<xsl:param name=\"stylesheet.result.type\" select=\"'xhtml'\"/>\n<xsl:param name=\"htmlhelp.output\" select=\"0\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:key name=\"id\" match=\"*\" use=\"@id|@xml:id\"/>\n<xsl:key name=\"gid\" match=\"*\" use=\"generate-id()\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"*\">\n  <xsl:message>\n    <xsl:text>Element </xsl:text>\n    <xsl:value-of select=\"local-name(.)\"/>\n    <xsl:text> in namespace '</xsl:text>\n    <xsl:value-of select=\"namespace-uri(.)\"/>\n    <xsl:text>' encountered</xsl:text>\n    <xsl:if test=\"parent::*\">\n      <xsl:text> in </xsl:text>\n      <xsl:value-of select=\"name(parent::*)\"/>\n    </xsl:if>\n    <xsl:text>, but no template matches.</xsl:text>\n  </xsl:message>\n\n  <span style=\"color: red\">\n    <xsl:text>&lt;</xsl:text>\n    <xsl:value-of select=\"name(.)\"/>\n    <xsl:text>&gt;</xsl:text>\n    <xsl:apply-templates/>\n    <xsl:text>&lt;/</xsl:text>\n    <xsl:value-of select=\"name(.)\"/>\n    <xsl:text>&gt;</xsl:text>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"text()\">\n  <xsl:value-of select=\".\"/>\n</xsl:template>\n\n<xsl:template name=\"body.attributes\">\n<!-- no apply-templates; make it empty -->\n</xsl:template>\n\n<xsl:template name=\"head.content.base\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <base href=\"{$html.base}\"/>\n</xsl:template>\n\n<xsl:template name=\"head.content.abstract\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:variable name=\"info\" select=\"(articleinfo     |bookinfo     |prefaceinfo     |chapterinfo     |appendixinfo     |sectioninfo     |sect1info     |sect2info     |sect3info     |sect4info     |sect5info     |referenceinfo     |refentryinfo     |partinfo     |info     |docinfo)[1]\"/>\n  <xsl:if test=\"$info and $info/abstract\">\n    <meta name=\"description\">\n      <xsl:attribute name=\"content\">\n        <xsl:for-each select=\"$info/abstract[1]/*\">\n          <xsl:value-of select=\"normalize-space(.)\"/>\n          <xsl:if test=\"position() &lt; last()\">\n            <xsl:text> </xsl:text>\n          </xsl:if>\n        </xsl:for-each>\n      </xsl:attribute>\n    </meta>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template name=\"head.content.link.made\">\n  <xsl:param name=\"node\" select=\".\"/>\n  \n  <link rev=\"made\" href=\"{$link.mailto.url}\"/>\n</xsl:template>\n\n<xsl:template name=\"head.content.generator\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <meta name=\"generator\" content=\"DocBook {$DistroTitle} V{$VERSION}\"/>\n</xsl:template>\n\n<xsl:template name=\"head.content.style\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <style type=\"text/css\"><xsl:text>\nbody { background-image: url('</xsl:text>\n<xsl:value-of select=\"$draft.watermark.image\"/><xsl:text>');\n       background-repeat: no-repeat;\n       background-position: top left;\n       /* The following properties make the watermark \"fixed\" on the page. */\n       /* I think that's just a bit too distracting for the reader... */\n       /* background-attachment: fixed; */\n       /* background-position: center center; */\n     }</xsl:text>\n    </style>\n</xsl:template>\n\n<xsl:template name=\"head.content\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:param name=\"title\">\n    <xsl:apply-templates select=\"$node\" mode=\"object.title.markup.textonly\"/>\n  </xsl:param>\n\n  <xsl:call-template name=\"user.head.title\">\n    <xsl:with-param name=\"title\" select=\"$title\"/>\n    <xsl:with-param name=\"node\" select=\"$node\"/>\n  </xsl:call-template>\n\n  <xsl:if test=\"$html.base != ''\">\n    <xsl:call-template name=\"head.content.base\">\n      <xsl:with-param name=\"node\" select=\"$node\"/>\n    </xsl:call-template>\n  </xsl:if>\n\n  <!-- Insert links to CSS files or insert literal style elements -->\n  <xsl:call-template name=\"generate.css\"/>\n\n  <xsl:if test=\"$html.stylesheet != ''\">\n    <xsl:call-template name=\"output.html.stylesheets\">\n      <xsl:with-param name=\"stylesheets\" select=\"normalize-space($html.stylesheet)\"/>\n    </xsl:call-template>\n  </xsl:if>\n\n  <xsl:if test=\"$html.script != ''\">\n    <xsl:call-template name=\"output.html.scripts\">\n      <xsl:with-param name=\"scripts\" select=\"normalize-space($html.script)\"/>\n    </xsl:call-template>\n  </xsl:if>\n\n  <xsl:if test=\"$link.mailto.url != ''\">\n    <xsl:call-template name=\"head.content.link.made\">\n      <xsl:with-param name=\"node\" select=\"$node\"/>\n    </xsl:call-template>\n  </xsl:if>\n\n  <xsl:call-template name=\"head.content.generator\">\n    <xsl:with-param name=\"node\" select=\"$node\"/>\n  </xsl:call-template>\n\n  <xsl:if test=\"$generate.meta.abstract != 0\">\n    <xsl:call-template name=\"head.content.abstract\">\n      <xsl:with-param name=\"node\" select=\"$node\"/>\n    </xsl:call-template>\n  </xsl:if>\n\n  <xsl:if test=\"($draft.mode = 'yes' or                 ($draft.mode = 'maybe' and                 ancestor-or-self::*[@status][1]/@status = 'draft'))                 and $draft.watermark.image != ''\">\n    <xsl:call-template name=\"head.content.style\">\n      <xsl:with-param name=\"node\" select=\"$node\"/>\n    </xsl:call-template>\n  </xsl:if>\n  <xsl:apply-templates select=\".\" mode=\"head.keywords.content\"/>\n</xsl:template>\n\n<xsl:template name=\"output.html.stylesheets\">\n  <xsl:param name=\"stylesheets\" select=\"''\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"contains($stylesheets, ' ')\">\n      <xsl:variable name=\"css.filename\" select=\"substring-before($stylesheets, ' ')\"/>\n\n      <xsl:call-template name=\"make.css.link\">\n        <xsl:with-param name=\"css.filename\" select=\"$css.filename\"/>\n      </xsl:call-template>\n\n      <xsl:call-template name=\"output.html.stylesheets\">\n        <xsl:with-param name=\"stylesheets\" select=\"substring-after($stylesheets, ' ')\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"$stylesheets != ''\">\n      <xsl:call-template name=\"make.css.link\">\n        <xsl:with-param name=\"css.filename\" select=\"$stylesheets\"/>\n      </xsl:call-template>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"output.html.scripts\">\n  <xsl:param name=\"scripts\" select=\"''\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"contains($scripts, ' ')\">\n      <xsl:variable name=\"script.filename\" select=\"substring-before($scripts, ' ')\"/>\n\n      <xsl:call-template name=\"make.script.link\">\n        <xsl:with-param name=\"script.filename\" select=\"$script.filename\"/>\n      </xsl:call-template>\n\n      <xsl:call-template name=\"output.html.scripts\">\n        <xsl:with-param name=\"scripts\" select=\"substring-after($scripts, ' ')\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:when test=\"$scripts != ''\">\n      <xsl:call-template name=\"make.script.link\">\n        <xsl:with-param name=\"script.filename\" select=\"$scripts\"/>\n      </xsl:call-template>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ============================================================ -->\n\n<xsl:template match=\"*\" mode=\"head.keywords.content\">\n  <xsl:apply-templates select=\"chapterinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"appendixinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"prefaceinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"bookinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"setinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"articleinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"artheader/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"sect1info/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"sect2info/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"sect3info/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"sect4info/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"sect5info/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"sectioninfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"refsect1info/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"refsect2info/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"refsect3info/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"bibliographyinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"glossaryinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"indexinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"refentryinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"partinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"referenceinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"docinfo/keywordset\" mode=\"html.header\"/>\n  <xsl:apply-templates select=\"info/keywordset\" mode=\"html.header\"/>\n\n  <xsl:if test=\"$inherit.keywords != 0                 and parent::*\">\n    <xsl:apply-templates select=\"parent::*\" mode=\"head.keywords.content\"/>\n  </xsl:if>\n</xsl:template>\n\n<!-- ============================================================ -->\n\n<xsl:template name=\"system.head.content\">\n  <xsl:param name=\"node\" select=\".\"/>\n\n  <!-- FIXME: When chunking, only the annotations actually used\n              in this chunk should be referenced. I don't think it\n              does any harm to reference them all, but it adds\n              unnecessary bloat to each chunk. -->\n  <xsl:if test=\"$annotation.support != 0 and //annotation\">\n    <xsl:call-template name=\"add.annotation.links\"/>\n    <script type=\"text/javascript\">\n      <xsl:text>\n// Create PopupWindow objects</xsl:text>\n      <xsl:for-each select=\"//annotation\">\n        <xsl:text>\nvar popup_</xsl:text>\n        <xsl:value-of select=\"generate-id(.)\"/>\n        <xsl:text> = new PopupWindow(\"popup-</xsl:text>\n        <xsl:value-of select=\"generate-id(.)\"/>\n        <xsl:text>\");\n</xsl:text>\n        <xsl:text>popup_</xsl:text>\n        <xsl:value-of select=\"generate-id(.)\"/>\n        <xsl:text>.offsetY = 15;\n</xsl:text>\n        <xsl:text>popup_</xsl:text>\n        <xsl:value-of select=\"generate-id(.)\"/>\n        <xsl:text>.autoHide();\n</xsl:text>\n      </xsl:for-each>\n    </script>\n\n    <style type=\"text/css\">\n      <xsl:value-of select=\"$annotation.css\"/>\n    </style>\n  </xsl:if>\n\n  <!-- system.head.content is like user.head.content, except that\n       it is called before head.content. This is important because it\n       means, for example, that <style> elements output by system.head.content\n       have a lower CSS precedence than the users stylesheet. -->\n</xsl:template>\n\n<!-- ============================================================ -->\n\n<xsl:template name=\"user.preroot\">\n  <!-- Pre-root output, can be used to output comments and PIs. -->\n  <!-- This must not output any element content! -->\n</xsl:template>\n\n<xsl:template name=\"user.head.title\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:param name=\"title\"/>\n\n  <title>\n    <xsl:copy-of select=\"$title\"/>\n  </title>\n</xsl:template>\n\n<xsl:template name=\"user.head.content\">\n  <xsl:param name=\"node\" select=\".\"/>\n</xsl:template>\n\n<xsl:template name=\"user.header.navigation\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:param name=\"prev\" select=\"/foo\"/>\n  <xsl:param name=\"next\" select=\"/foo\"/>\n  <xsl:param name=\"nav.context\"/>\n</xsl:template>\n\n<xsl:template name=\"user.header.content\">\n  <xsl:param name=\"node\" select=\".\"/>\n</xsl:template>\n\n<xsl:template name=\"user.footer.content\">\n  <xsl:param name=\"node\" select=\".\"/>\n</xsl:template>\n\n<xsl:template name=\"user.footer.navigation\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:param name=\"prev\" select=\"/foo\"/>\n  <xsl:param name=\"next\" select=\"/foo\"/>\n  <xsl:param name=\"nav.context\"/>\n</xsl:template>\n\n<!-- To use the same stripped nodeset everywhere, it should\nbe created as a global variable here.\nUsed by docbook.xsl, chunk-code.xsl and chunkfast.xsl -->\n<xsl:variable name=\"no.namespace\">\n  <xsl:if test=\"$exsl.node.set.available != 0                     and (*/self::ng:* or */self::db:*)\">\n    <xsl:apply-templates select=\"/*\" mode=\"stripNS\"/>\n  </xsl:if>\n</xsl:variable>\n\n<xslo:include xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\" href=\"../profiling/profile-mode.xsl\"/><xslo:variable xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\" name=\"profiled-content\"><xslo:choose><xslo:when test=\"*/self::ng:* or */self::db:*\"><xslo:message>Note: namesp. cut : stripped namespace before processing</xslo:message><xslo:variable name=\"stripped-content\"><xslo:apply-templates select=\"/\" mode=\"stripNS\"/></xslo:variable><xslo:message>Note: namesp. cut : processing stripped document</xslo:message><xslo:apply-templates select=\"exslt:node-set($stripped-content)\" mode=\"profile\"/></xslo:when><xslo:otherwise><xslo:apply-templates select=\"/\" mode=\"profile\"/></xslo:otherwise></xslo:choose></xslo:variable><xslo:variable xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\" name=\"profiled-nodes\" select=\"exslt:node-set($profiled-content)\"/><xsl:template match=\"/\">\n  <!-- * Get a title for current doc so that we let the user -->\n  <!-- * know what document we are processing at this point. -->\n  <xsl:variable name=\"doc.title\">\n    <xsl:call-template name=\"get.doc.title\"/>\n  </xsl:variable>\n  <xsl:choose>\n    <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document,\n         toss the namespace and continue.  Use the docbook5 namespaced\n         stylesheets for DocBook5 if you don't want to use this feature.-->\n    <!-- include extra test for Xalan quirk -->\n    <xsl:when test=\"false()\"/>\n    <!-- Can't process unless namespace removed -->\n    <xsl:when test=\"false()\"/>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"$rootid != ''\">\n          <xsl:choose>\n            <xsl:when test=\"count($profiled-nodes//*[@id=$rootid or @xml:id=$rootid]) = 0\">\n              <xsl:message terminate=\"yes\">\n                <xsl:text>ID '</xsl:text>\n                <xsl:value-of select=\"$rootid\"/>\n                <xsl:text>' not found in document.</xsl:text>\n              </xsl:message>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:if test=\"$collect.xref.targets = 'yes' or                             $collect.xref.targets = 'only'\">\n                <xsl:apply-templates select=\"key('id', $rootid)\" mode=\"collect.targets\"/>\n              </xsl:if>\n              <xsl:if test=\"$collect.xref.targets != 'only'\">\n                <xsl:apply-templates select=\"$profiled-nodes//*[@id=$rootid or @xml:id=$rootid]\" mode=\"process.root\"/>\n                <xsl:if test=\"$tex.math.in.alt != ''\">\n                  <xsl:apply-templates select=\"$profiled-nodes//*[@id=$rootid or @xml:id=$rootid]\" mode=\"collect.tex.math\"/>\n                </xsl:if>\n              </xsl:if>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:if test=\"$collect.xref.targets = 'yes' or                         $collect.xref.targets = 'only'\">\n            <xsl:apply-templates select=\"$profiled-nodes\" mode=\"collect.targets\"/>\n          </xsl:if>\n          <xsl:if test=\"$collect.xref.targets != 'only'\">\n            <xsl:apply-templates select=\"$profiled-nodes\" mode=\"process.root\"/>\n            <xsl:if test=\"$tex.math.in.alt != ''\">\n              <xsl:apply-templates select=\"$profiled-nodes\" mode=\"collect.tex.math\"/>\n            </xsl:if>\n          </xsl:if>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"process.root\">\n  <xsl:variable name=\"doc\" select=\"self::*\"/>\n\n  <xsl:call-template name=\"user.preroot\"/>\n  <xsl:call-template name=\"root.messages\"/>\n\n  <html>\n    <xsl:call-template name=\"root.attributes\"/>\n    <head>\n      <xsl:call-template name=\"system.head.content\">\n        <xsl:with-param name=\"node\" select=\"$doc\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"head.content\">\n        <xsl:with-param name=\"node\" select=\"$doc\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"user.head.content\">\n        <xsl:with-param name=\"node\" select=\"$doc\"/>\n      </xsl:call-template>\n    </head>\n    <body>\n      <xsl:call-template name=\"body.attributes\"/>\n      <xsl:call-template name=\"user.header.content\">\n        <xsl:with-param name=\"node\" select=\"$doc\"/>\n      </xsl:call-template>\n      <xsl:apply-templates select=\".\"/>\n      <xsl:call-template name=\"user.footer.content\">\n        <xsl:with-param name=\"node\" select=\"$doc\"/>\n      </xsl:call-template>\n    </body>\n  </html>\n  <xsl:value-of select=\"$html.append\"/>\n  \n  <!-- Generate any css files only once, not once per chunk -->\n  <xsl:call-template name=\"generate.css.files\"/>\n</xsl:template>\n\n<xsl:template name=\"root.attributes\">\n  <!-- customize to add attributes to <html> element  -->\n</xsl:template>\n\n<xsl:template name=\"root.messages\">\n  <!-- redefine this any way you'd like to output messages -->\n  <!-- DO NOT OUTPUT ANYTHING FROM THIS TEMPLATE -->\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"chunk\">\n  <xsl:param name=\"node\" select=\".\"/>\n\n  <!-- The default is that we are not chunking... -->\n  <xsl:text>0</xsl:text>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/profile-onechunk.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"US-ASCII\"?>\n<!--This file was created automatically by xsl2profile-->\n<!--from the DocBook XSL stylesheets.-->\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\" xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:exslt=\"http://exslt.org/common\" xmlns:ng=\"http://docbook.org/docbook-ng\" xmlns:db=\"http://docbook.org/ns/docbook\" exslt:dummy=\"dummy\" ng:dummy=\"dummy\" db:dummy=\"dummy\" extension-element-prefixes=\"exslt\" version=\"1.0\" exclude-result-prefixes=\"doc exslt\">\n\n<!-- ********************************************************************\n     $Id: onechunk.xsl 6910 2007-06-28 23:23:30Z xmldoc $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:import href=\"chunk.xsl\"/>\n\n<!-- Ok, using the onechunk parameter makes this all work again. -->\n<!-- It does have the disadvantage that it only works for documents that have -->\n<!-- a root element that is considered a chunk by the chunk.xsl stylesheet. -->\n<!-- Ideally, onechunk would let anything be a chunk. But not today. -->\n\n<xsl:param name=\"onechunk\" select=\"1\"/>\n<xsl:param name=\"suppress.navigation\">1</xsl:param>\n\n<xsl:template name=\"href.target.uri\">\n  <xsl:param name=\"object\" select=\".\"/>\n  <xsl:text>#</xsl:text>\n  <xsl:call-template name=\"object.id\">\n    <xsl:with-param name=\"object\" select=\"$object\"/>\n  </xsl:call-template>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/qandaset.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\" xmlns=\"http://www.w3.org/1999/xhtml\" exclude-result-prefixes=\"doc\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: qandaset.xsl 9354 2012-05-12 23:29:36Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"qandaset\">\n  <xsl:variable name=\"title\" select=\"(blockinfo/title|info/title|title)[1]\"/>\n  <xsl:variable name=\"preamble\" select=\"*[local-name(.) != 'title'                                           and local-name(.) != 'titleabbrev'                                           and local-name(.) != 'qandadiv'                                           and local-name(.) != 'qandaentry']\"/>\n  <xsl:variable name=\"toc\">\n    <xsl:call-template name=\"pi.dbhtml_toc\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"toc.params\">\n    <xsl:call-template name=\"find.path.params\">\n      <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:apply-templates select=\"$title\"/>\n    <xsl:if test=\"not($title)\">\n      <!-- andhor is output on title if there is one -->\n      <xsl:call-template name=\"anchor\">\n        <xsl:with-param name=\"conditional\" select=\"0\"/>\n      </xsl:call-template>\n    </xsl:if>\n    <xsl:if test=\"((contains($toc.params, 'toc') and $toc != '0') or $toc = '1')                   and not(ancestor::answer and not($qanda.nested.in.toc=0))\">\n      <xsl:call-template name=\"process.qanda.toc\"/>\n    </xsl:if>\n    <xsl:apply-templates select=\"$preamble\"/>\n    <xsl:call-template name=\"process.qandaset\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"qandaset/blockinfo/title|                      qandaset/info/title|                      qandaset/title\">\n  <xsl:variable name=\"qalevel\">\n    <xsl:call-template name=\"qanda.section.level\"/>\n  </xsl:variable>\n  <xsl:element name=\"h{string(number($qalevel)+1)}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n    <xsl:call-template name=\"anchor\">\n      <xsl:with-param name=\"node\" select=\"..\"/>\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:apply-templates/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"qandaset/blockinfo|qandaset/info\">\n  <!-- what should this template really do? -->\n  <xsl:apply-templates select=\"legalnotice\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"qandadiv\">\n  <xsl:variable name=\"preamble\" select=\"*[local-name(.) != 'title'                                           and local-name(.) != 'titleabbrev'                                           and local-name(.) != 'qandadiv'                                           and local-name(.) != 'qandaentry']\"/>\n\n  <xsl:if test=\"blockinfo/title|info/title|title\">\n    <tr class=\"qandadiv\">\n      <td align=\"{$direction.align.start}\" valign=\"top\" colspan=\"2\">\n        <xsl:apply-templates select=\"(blockinfo/title|info/title|title)[1]\"/>\n      </td>\n    </tr>\n  </xsl:if>\n\n  <xsl:variable name=\"toc\">\n    <xsl:call-template name=\"pi.dbhtml_toc\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"toc.params\">\n    <xsl:call-template name=\"find.path.params\">\n      <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:if test=\"(contains($toc.params, 'toc') and $toc != '0') or $toc = '1'\">\n    <tr class=\"toc\">\n      <td align=\"{$direction.align.start}\" valign=\"top\" colspan=\"2\">\n        <xsl:call-template name=\"process.qanda.toc\"/>\n      </td>\n    </tr>\n  </xsl:if>\n  <xsl:if test=\"$preamble\">\n    <tr class=\"toc\">\n      <td align=\"{$direction.align.start}\" valign=\"top\" colspan=\"2\">\n        <xsl:apply-templates select=\"$preamble\"/>\n      </td>\n    </tr>\n  </xsl:if>\n  <xsl:apply-templates select=\"qandadiv|qandaentry\"/>\n</xsl:template>\n\n<xsl:template match=\"qandadiv/blockinfo/title|                      qandadiv/info/title|                      qandadiv/title\">\n  <xsl:variable name=\"qalevel\">\n    <xsl:call-template name=\"qandadiv.section.level\"/>\n  </xsl:variable>\n\n  <xsl:element name=\"h{string(number($qalevel)+1)}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"node\" select=\"..\"/>\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"anchor\">\n      <xsl:with-param name=\"node\" select=\"..\"/>\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:apply-templates select=\"parent::qandadiv\" mode=\"label.markup\"/>\n    <xsl:if test=\"$qandadiv.autolabel != 0\">\n      <xsl:apply-templates select=\".\" mode=\"intralabel.punctuation\"/>\n      <xsl:text> </xsl:text>\n    </xsl:if>\n    <xsl:apply-templates/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"qandaentry\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"question\">\n  <xsl:variable name=\"deflabel\">\n    <xsl:apply-templates select=\".\" mode=\"qanda.defaultlabel\"/>\n  </xsl:variable>\n\n  <tr>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <!-- capture the id of the  quandaentry -->\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"node\" select=\"..\"/>\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <td align=\"{$direction.align.start}\" valign=\"top\">\n      <!-- and the id of the question too -->\n      <xsl:call-template name=\"id.attribute\">\n        <xsl:with-param name=\"conditional\" select=\"0\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"anchor\">\n        <xsl:with-param name=\"node\" select=\"..\"/>\n        <xsl:with-param name=\"conditional\" select=\"0\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"anchor\">\n        <xsl:with-param name=\"conditional\" select=\"0\"/>\n      </xsl:call-template>\n\n      <xsl:variable name=\"label.content\">\n        <xsl:apply-templates select=\".\" mode=\"qanda.label\"/>\n      </xsl:variable>\n\n      <xsl:if test=\"string-length($label.content) &gt; 0\">\n        <p><strong xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\">\n          <xsl:copy-of select=\"$label.content\"/>\n        </strong></p>\n      </xsl:if>\n    </td>\n    <td align=\"{$direction.align.start}\" valign=\"top\">\n      <xsl:choose>\n        <xsl:when test=\"$deflabel = 'none' and not(label)\">\n          <strong xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\"><xsl:apply-templates select=\"*[local-name(.) != 'label']\"/></strong>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates select=\"*[local-name(.) != 'label']\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </td>\n  </tr>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"qanda.defaultlabel\">\n  <xsl:choose>\n    <xsl:when test=\"ancestor-or-self::*[@defaultlabel]\">\n      <xsl:value-of select=\"(ancestor-or-self::*[@defaultlabel])[last()]                             /@defaultlabel\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$qanda.defaultlabel\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"question\" mode=\"qanda.label\">\n  <xsl:variable name=\"deflabel\">\n    <xsl:apply-templates select=\".\" mode=\"qanda.defaultlabel\"/>\n  </xsl:variable>\n  <xsl:apply-templates select=\".\" mode=\"label.markup\"/>\n  <xsl:if test=\"contains($deflabel, 'number') and not(label)\">\n    <xsl:apply-templates select=\".\" mode=\"intralabel.punctuation\"/>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"answer\">\n  <xsl:variable name=\"deflabel\">\n    <xsl:apply-templates select=\".\" mode=\"qanda.defaultlabel\"/>\n  </xsl:variable>\n\n  <tr>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <td align=\"{$direction.align.start}\" valign=\"top\">\n      <xsl:call-template name=\"anchor\"/>\n      <xsl:variable name=\"answer.label\">\n        <xsl:apply-templates select=\".\" mode=\"label.markup\"/>\n      </xsl:variable>\n      <xsl:if test=\"string-length($answer.label) &gt; 0\">\n        <p><strong xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\">\n          <xsl:copy-of select=\"$answer.label\"/>\n        </strong></p>\n      </xsl:if>\n    </td>\n    <td align=\"{$direction.align.start}\" valign=\"top\">\n      <xsl:apply-templates select=\"*[local-name(.) != 'label'         and local-name(.) != 'qandaentry']\"/>\n      <!-- * handle nested answer/qandaentry instances -->\n      <!-- * (bug 1509043 from Daniel Leidert) -->\n      <xsl:if test=\"descendant::question\">\n        <xsl:call-template name=\"process.qandaset\"/>\n      </xsl:if>\n    </td>\n  </tr>\n</xsl:template>\n\n<xsl:template match=\"answer\" mode=\"qanda.label\">\n  <xsl:apply-templates select=\".\" mode=\"label.markup\"/>\n</xsl:template>\n\n<xsl:template match=\"label\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"process.qanda.toc\">\n  <!-- * if user wants nested qandaset and qandaentry in main Qandaset TOC, -->\n  <!-- * then don't also include the nested stuff in the sub TOCs -->\n  <dl>\n    <xsl:apply-templates select=\"qandadiv\" mode=\"qandatoc.mode\"/>\n    <xsl:apply-templates select=\"qandaset|qandaentry\" mode=\"qandatoc.mode\"/>\n  </dl>\n</xsl:template>\n\n<xsl:template match=\"qandadiv\" mode=\"qandatoc.mode\">\n  <dt><xsl:apply-templates select=\"title\" mode=\"qandatoc.mode\"/></dt>\n  <dd><xsl:call-template name=\"process.qanda.toc\"/></dd>\n</xsl:template>\n\n<xsl:template match=\"qandadiv/blockinfo/title|                      qandadiv/info/title|                      qandadiv/title\" mode=\"qandatoc.mode\">\n  <xsl:variable name=\"qalevel\">\n    <xsl:call-template name=\"qandadiv.section.level\"/>\n  </xsl:variable>\n  <xsl:variable name=\"id\">\n    <xsl:call-template name=\"object.id\">\n      <xsl:with-param name=\"object\" select=\"parent::*\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"div.label\">\n    <xsl:apply-templates select=\"parent::qandadiv\" mode=\"label.markup\"/>\n  </xsl:variable>\n  <xsl:if test=\"string-length($div.label) != 0\">\n    <xsl:copy-of select=\"$div.label\"/>\n    <xsl:value-of select=\"$autotoc.label.separator\"/>\n  </xsl:if>\n  <xsl:text> </xsl:text>\n  <a>\n    <xsl:attribute name=\"href\">\n      <xsl:call-template name=\"href.target\">\n        <xsl:with-param name=\"object\" select=\"parent::*\"/>\n      </xsl:call-template>\n    </xsl:attribute>\n    <xsl:apply-templates/>\n  </a>\n</xsl:template>\n\n<xsl:template match=\"qandaset\" mode=\"qandatoc.mode\">\n  <xsl:for-each select=\"qandaentry\">\n    <xsl:apply-templates select=\".\" mode=\"qandatoc.mode\"/>\n  </xsl:for-each>\n</xsl:template>\n\n<xsl:template match=\"qandaentry\" mode=\"qandatoc.mode\">\n  <xsl:apply-templates select=\"question\" mode=\"qandatoc.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"question\" mode=\"qandatoc.mode\">\n  <xsl:variable name=\"firstch\">\n    <!-- Use a titleabbrev or title if available -->\n    <xsl:choose>\n      <xsl:when test=\"../blockinfo/titleabbrev\">\n        <xsl:apply-templates select=\"../blockinfo/titleabbrev[1]/node()\"/>\n      </xsl:when>\n      <xsl:when test=\"../blockinfo/title\">\n        <xsl:apply-templates select=\"../blockinfo/title[1]/node()\"/>\n      </xsl:when>\n      <xsl:when test=\"../info/titleabbrev\">\n        <xsl:apply-templates select=\"../info/titleabbrev[1]/node()\"/>\n      </xsl:when>\n      <xsl:when test=\"../titleabbrev\">\n        <xsl:apply-templates select=\"../titleabbrev[1]/node()\"/>\n      </xsl:when>\n      <xsl:when test=\"../info/title\">\n        <xsl:apply-templates select=\"../info/title[1]/node()\"/>\n      </xsl:when>\n      <xsl:when test=\"../title\">\n        <xsl:apply-templates select=\"../title[1]/node()\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:apply-templates select=\"(*[local-name(.)!='label'])[1]/node()\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n  <xsl:variable name=\"deflabel\">\n    <xsl:choose>\n      <xsl:when test=\"ancestor-or-self::*[@defaultlabel]\">\n        <xsl:value-of select=\"(ancestor-or-self::*[@defaultlabel])[last()]                               /@defaultlabel\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$qanda.defaultlabel\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <dt>\n    <xsl:apply-templates select=\".\" mode=\"label.markup\"/>\n    <xsl:if test=\"contains($deflabel,'number') and not(label)\">\n      <xsl:apply-templates select=\".\" mode=\"intralabel.punctuation\"/>\n    </xsl:if>\n    <xsl:text> </xsl:text>\n    <a>\n      <xsl:attribute name=\"href\">\n        <xsl:call-template name=\"href.target\">\n          <xsl:with-param name=\"object\" select=\"..\"/>\n        </xsl:call-template>\n      </xsl:attribute>\n      <xsl:value-of select=\"$firstch\"/>\n    </a>\n  </dt>\n  <!-- * include nested qandaset/qandaentry in TOC if user wants it -->\n  <xsl:if test=\"not($qanda.nested.in.toc = 0)\">\n    <xsl:apply-templates select=\"following-sibling::answer\" mode=\"qandatoc.mode\"/>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"answer\" mode=\"qandatoc.mode\">\n  <xsl:if test=\"descendant::question\">\n    <dd>\n      <xsl:call-template name=\"process.qanda.toc\"/>\n    </dd>\n  </xsl:if>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"process.qandaset\">\n\n  <xsl:variable name=\"deflabel\">\n    <xsl:apply-templates select=\".\" mode=\"qanda.defaultlabel\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"label-width\">\n    <xsl:call-template name=\"pi.dbhtml_label-width\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"table-summary\">\n    <xsl:call-template name=\"pi.dbhtml_table-summary\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"cellpadding\">\n    <xsl:call-template name=\"pi.dbhtml_cellpadding\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"cellspacing\">\n    <xsl:call-template name=\"pi.dbhtml_cellspacing\"/>\n  </xsl:variable>\n\n  <table border=\"{$table.border.off}\">\n    <xsl:if test=\"$css.decoration != 0\">\n      <xsl:attribute name=\"style\">width: 100%;</xsl:attribute>\n    </xsl:if>\n    <xsl:if test=\"$table-summary != ''\">\n      <xsl:attribute name=\"summary\">\n        <xsl:value-of select=\"$table-summary\"/>\n      </xsl:attribute>\n    </xsl:if>\n\n    <xsl:if test=\"$cellpadding != ''\">\n      <xsl:attribute name=\"cellpadding\">\n        <xsl:value-of select=\"$cellpadding\"/>\n      </xsl:attribute>\n    </xsl:if>\n\n    <xsl:if test=\"$cellspacing != ''\">\n      <xsl:attribute name=\"cellspacing\">\n        <xsl:value-of select=\"$cellspacing\"/>\n      </xsl:attribute>\n    </xsl:if>\n\n    <colgroup>\n      <col align=\"{$direction.align.start}\">\n        <xsl:attribute name=\"width\">\n          <xsl:choose>\n            <xsl:when test=\"$label-width != ''\">\n              <xsl:value-of select=\"$label-width\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:text>1%</xsl:text>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:attribute>\n      </col>\n      <col/>\n    </colgroup>\n    <tbody>\n      <xsl:apply-templates select=\"qandaentry|qandadiv\"/>\n    </tbody>\n  </table>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"*\" mode=\"no.wrapper.mode\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/refentry.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: refentry.xsl 9297 2012-04-22 03:56:16Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"reference\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <div>\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n\n    <xsl:call-template name=\"reference.titlepage\"/>\n\n    <xsl:variable name=\"toc.params\">\n      <xsl:call-template name=\"find.path.params\">\n        <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:if test=\"not(partintro) and contains($toc.params, 'toc')\">\n      <xsl:call-template name=\"division.toc\"/>\n    </xsl:if>\n    <xsl:apply-templates/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"reference\" mode=\"division.number\">\n  <xsl:number from=\"book\" count=\"reference\" format=\"I.\"/>\n</xsl:template>\n\n<xsl:template match=\"reference/docinfo\"/>\n<xsl:template match=\"reference/referenceinfo\"/>\n<xsl:template match=\"reference/title\"/>\n<xsl:template match=\"reference/subtitle\"/>\n<xsl:template match=\"reference/titleabbrev\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"refentry.title\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:variable name=\"refmeta\" select=\"$node//refmeta\"/>\n  <xsl:variable name=\"refentrytitle\" select=\"$refmeta//refentrytitle\"/>\n  <xsl:variable name=\"refnamediv\" select=\"$node//refnamediv\"/>\n  <xsl:variable name=\"refname\" select=\"$refnamediv//refname\"/>\n  <xsl:variable name=\"refdesc\" select=\"$refnamediv//refdescriptor\"/>\n  <xsl:variable name=\"title\">\n    <xsl:choose>\n      <xsl:when test=\"$refentrytitle\">\n        <xsl:apply-templates select=\"$refentrytitle[1]\" mode=\"title\"/>\n      </xsl:when>\n      <xsl:when test=\"$refdesc\">\n\t<xsl:apply-templates select=\"$refdesc[1]\" mode=\"title\"/>\n      </xsl:when>\n      <xsl:when test=\"$refname\">\n        <xsl:apply-templates select=\"$refname[1]\" mode=\"title\"/>\n      </xsl:when>\n      <xsl:otherwise/>\n    </xsl:choose>\n  </xsl:variable>\n\n  <h1 class=\"title\">\n    <xsl:copy-of select=\"$title\"/>\n  </h1>\n</xsl:template>\n\n<xsl:template match=\"refentry\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <div>\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:if test=\"$refentry.separator != 0 and preceding-sibling::refentry\">\n      <div class=\"refentry.separator\">\n        <hr/>\n      </div>\n    </xsl:if>\n    <xsl:call-template name=\"anchor\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"refentry.titlepage\"/>\n    <xsl:apply-templates/>\n    <xsl:call-template name=\"process.footnotes\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"refentry/docinfo|refentry/refentryinfo\"/>\n<xsl:template match=\"refentry/info\"/>\n\n<xsl:template match=\"refentrytitle|refname|refdescriptor\" mode=\"title\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"refmeta\">\n</xsl:template>\n\n<xsl:template match=\"manvolnum\">\n  <xsl:if test=\"$refentry.xref.manvolnum != 0\">\n    <xsl:text>(</xsl:text>\n    <xsl:apply-templates/>\n    <xsl:text>)</xsl:text>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"refmiscinfo\">\n</xsl:template>\n\n<xsl:template match=\"refentrytitle\">\n  <xsl:call-template name=\"inline.charseq\"/>\n</xsl:template>\n\n<xsl:template match=\"refnamediv\">\n  <div>\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n\n    <xsl:choose>\n      <xsl:when test=\"preceding-sibling::refnamediv\">\n\t<!-- no title on secondary refnamedivs! -->\n      </xsl:when>\n      <xsl:when test=\"$refentry.generate.name != 0\">\n        <h2>\n          <xsl:call-template name=\"gentext\">\n            <xsl:with-param name=\"key\" select=\"'RefName'\"/>\n          </xsl:call-template>\n        </h2>\n      </xsl:when>\n      <xsl:when test=\"$refentry.generate.title != 0\">\n        <h2>\n          <xsl:choose>\n            <xsl:when test=\"../refmeta/refentrytitle\">\n              <xsl:apply-templates select=\"../refmeta/refentrytitle\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:apply-templates select=\"refname[1]\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </h2>\n      </xsl:when>\n    </xsl:choose>\n\n    <p>\n      <xsl:apply-templates/>\n    </p>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"refname\">\n  <xsl:if test=\"not(preceding-sibling::refdescriptor)\">\n    <xsl:apply-templates/>\n    <xsl:if test=\"following-sibling::refname\">\n      <xsl:text>, </xsl:text>\n    </xsl:if>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"refpurpose\">\n  <xsl:if test=\"node()\">\n    <xsl:text> </xsl:text>\n    <xsl:call-template name=\"dingbat\">\n      <xsl:with-param name=\"dingbat\">em-dash</xsl:with-param>\n    </xsl:call-template>\n    <xsl:text> </xsl:text>\n    <xsl:apply-templates/>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"refdescriptor\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"refclass\">\n  <xsl:if test=\"$refclass.suppress = 0\">\n  <strong xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\">\n    <xsl:if test=\"@role\">\n      <xsl:value-of select=\"@role\"/>\n      <xsl:text>: </xsl:text>\n    </xsl:if>\n    <xsl:apply-templates/>\n  </strong>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"refsynopsisdiv\">\n  <div>\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <h2>\n      <xsl:choose>\n        <xsl:when test=\"refsynopsisdiv/title|title\">\n          <xsl:apply-templates select=\"(refsynopsisdiv/title|title)[1]\" mode=\"titlepage.mode\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"gentext\">\n            <xsl:with-param name=\"key\" select=\"'RefSynopsisDiv'\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </h2>\n    <xsl:apply-templates/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"refsynopsisdivinfo\"/>\n\n<xsl:template match=\"refsynopsisdiv/title\">\n</xsl:template>\n\n<xsl:template match=\"refsynopsisdiv/title\" mode=\"titlepage.mode\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<xsl:template match=\"refsection|refsect1|refsect2|refsect3\">\n  <div>\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"anchor\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <!-- pick up info title -->\n    <xsl:apply-templates select=\"(title|info/title)[1]\"/>\n    <xsl:apply-templates select=\"node()[not(self::title) and not(self::info)]\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"refsection/title|refsection/info/title\">\n  <!-- the ID is output in the block.object call for refsect1 -->\n  <xsl:variable name=\"level\" select=\"count(ancestor-or-self::refsection)\"/>\n  <xsl:variable name=\"refsynopsisdiv\">\n    <xsl:text>0</xsl:text>\n    <xsl:if test=\"ancestor::refsynopsisdiv\">1</xsl:if>\n  </xsl:variable>\n  <xsl:variable name=\"hlevel\">\n    <xsl:choose>\n      <xsl:when test=\"$level+$refsynopsisdiv &gt; 5\">6</xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$level+1+$refsynopsisdiv\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n  <xsl:element name=\"h{$hlevel}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:apply-templates/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"refsect1/title|refsect1/info/title\">\n  <!-- the ID is output in the block.object call for refsect1 -->\n  <h2>\n    <xsl:apply-templates/>\n  </h2>\n</xsl:template>\n\n<xsl:template match=\"refsect2/title|refsect2/info/title\">\n  <!-- the ID is output in the block.object call for refsect2 -->\n  <h3>\n    <xsl:apply-templates/>\n  </h3>\n</xsl:template>\n\n<xsl:template match=\"refsect3/title|refsect3/info/title\">\n  <!-- the ID is output in the block.object call for refsect3 -->\n  <h4>\n    <xsl:apply-templates/>\n  </h4>\n</xsl:template>\n\n<xsl:template match=\"refsectioninfo|refsection/info\"/>\n<xsl:template match=\"refsect1info|refsect1/info\"/>\n<xsl:template match=\"refsect2info|refsect2/info\"/>\n<xsl:template match=\"refsect3info|refsect3/info\"/>\n\n\n<!-- ==================================================================== -->\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/sections.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: sections.xsl 9392 2012-06-02 20:10:58Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"section\">\n  <xsl:variable name=\"depth\" select=\"count(ancestor::section)+1\"/>\n\n  <xsl:call-template name=\"id.warning\"/>\n\n  <xsl:element name=\"{$div.element}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"section.titlepage\"/>\n\n    <xsl:variable name=\"toc.params\">\n      <xsl:call-template name=\"find.path.params\">\n        <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:if test=\"contains($toc.params, 'toc')                   and $depth &lt;= $generate.section.toc.level\">\n      <xsl:call-template name=\"section.toc\">\n        <xsl:with-param name=\"toc.title.p\" select=\"contains($toc.params, 'title')\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"section.toc.separator\"/>\n    </xsl:if>\n    <xsl:apply-templates/>\n    <xsl:call-template name=\"process.chunk.footnotes\"/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template name=\"section.title\">\n  <!-- the context node should be the title of a section when called -->\n  <xsl:variable name=\"section\" select=\"(ancestor::section                                         |ancestor::simplesect                                         |ancestor::sect1                                         |ancestor::sect2                                         |ancestor::sect3                                         |ancestor::sect4                                         |ancestor::sect5)[last()]\"/>\n\n  <xsl:variable name=\"renderas\">\n    <xsl:choose>\n      <xsl:when test=\"$section/@renderas = 'sect1'\">1</xsl:when>\n      <xsl:when test=\"$section/@renderas = 'sect2'\">2</xsl:when>\n      <xsl:when test=\"$section/@renderas = 'sect3'\">3</xsl:when>\n      <xsl:when test=\"$section/@renderas = 'sect4'\">4</xsl:when>\n      <xsl:when test=\"$section/@renderas = 'sect5'\">5</xsl:when>\n      <xsl:otherwise><xsl:value-of select=\"''\"/></xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"level\">\n    <xsl:choose>\n      <xsl:when test=\"$renderas != ''\">\n        <xsl:value-of select=\"$renderas\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"section.level\">\n          <xsl:with-param name=\"node\" select=\"$section\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:call-template name=\"section.heading\">\n    <xsl:with-param name=\"section\" select=\"$section\"/>\n    <xsl:with-param name=\"level\" select=\"$level\"/>\n    <xsl:with-param name=\"title\">\n      <xsl:apply-templates select=\"$section\" mode=\"object.title.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"1\"/>\n      </xsl:apply-templates>\n    </xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"section/title                     |section/info/title                     |sectioninfo/title\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"section.title\"/>\n</xsl:template>\n\n<xsl:template match=\"sect1\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <xsl:element name=\"{$div.element}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n\n    <xsl:choose>\n      <xsl:when test=\"@renderas = 'sect2'\">\n        <xsl:call-template name=\"sect2.titlepage\"/>\n      </xsl:when>\n      <xsl:when test=\"@renderas = 'sect3'\">\n        <xsl:call-template name=\"sect3.titlepage\"/>\n      </xsl:when>\n      <xsl:when test=\"@renderas = 'sect4'\">\n        <xsl:call-template name=\"sect4.titlepage\"/>\n      </xsl:when>\n      <xsl:when test=\"@renderas = 'sect5'\">\n        <xsl:call-template name=\"sect5.titlepage\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"sect1.titlepage\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n\n    <xsl:variable name=\"toc.params\">\n      <xsl:call-template name=\"find.path.params\">\n        <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:if test=\"contains($toc.params, 'toc')                   and $generate.section.toc.level &gt;= 1\">\n      <xsl:call-template name=\"section.toc\">\n        <xsl:with-param name=\"toc.title.p\" select=\"contains($toc.params, 'title')\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"section.toc.separator\"/>\n    </xsl:if>\n    <xsl:apply-templates/>\n    <xsl:call-template name=\"process.chunk.footnotes\"/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"sect1/title                     |sect1/info/title                     |sect1info/title\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"section.title\"/>\n</xsl:template>\n\n<xsl:template match=\"sect2\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <xsl:element name=\"{$div.element}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n\n    <xsl:choose>\n      <xsl:when test=\"@renderas = 'sect1'\">\n        <xsl:call-template name=\"sect1.titlepage\"/>\n      </xsl:when>\n      <xsl:when test=\"@renderas = 'sect3'\">\n        <xsl:call-template name=\"sect3.titlepage\"/>\n      </xsl:when>\n      <xsl:when test=\"@renderas = 'sect4'\">\n        <xsl:call-template name=\"sect4.titlepage\"/>\n      </xsl:when>\n      <xsl:when test=\"@renderas = 'sect5'\">\n        <xsl:call-template name=\"sect5.titlepage\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"sect2.titlepage\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n\n    <xsl:variable name=\"toc.params\">\n      <xsl:call-template name=\"find.path.params\">\n        <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:if test=\"contains($toc.params, 'toc')                   and $generate.section.toc.level &gt;= 2\">\n      <xsl:call-template name=\"section.toc\">\n        <xsl:with-param name=\"toc.title.p\" select=\"contains($toc.params, 'title')\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"section.toc.separator\"/>\n    </xsl:if>\n    <xsl:apply-templates/>\n    <xsl:call-template name=\"process.chunk.footnotes\"/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"sect2/title                     |sect2/info/title                     |sect2info/title\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"section.title\"/>\n</xsl:template>\n\n<xsl:template match=\"sect3\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <xsl:element name=\"{$div.element}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n\n    <xsl:choose>\n      <xsl:when test=\"@renderas = 'sect1'\">\n        <xsl:call-template name=\"sect1.titlepage\"/>\n      </xsl:when>\n      <xsl:when test=\"@renderas = 'sect2'\">\n        <xsl:call-template name=\"sect2.titlepage\"/>\n      </xsl:when>\n      <xsl:when test=\"@renderas = 'sect4'\">\n        <xsl:call-template name=\"sect4.titlepage\"/>\n      </xsl:when>\n      <xsl:when test=\"@renderas = 'sect5'\">\n        <xsl:call-template name=\"sect5.titlepage\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"sect3.titlepage\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n\n    <xsl:variable name=\"toc.params\">\n      <xsl:call-template name=\"find.path.params\">\n        <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:if test=\"contains($toc.params, 'toc')                   and $generate.section.toc.level &gt;= 3\">\n      <xsl:call-template name=\"section.toc\">\n        <xsl:with-param name=\"toc.title.p\" select=\"contains($toc.params, 'title')\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"section.toc.separator\"/>\n    </xsl:if>\n    <xsl:apply-templates/>\n    <xsl:call-template name=\"process.chunk.footnotes\"/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"sect3/title                     |sect3/info/title                     |sect3info/title\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"section.title\"/>\n</xsl:template>\n\n<xsl:template match=\"sect4\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <xsl:element name=\"{$div.element}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n\n    <xsl:choose>\n      <xsl:when test=\"@renderas = 'sect1'\">\n        <xsl:call-template name=\"sect1.titlepage\"/>\n      </xsl:when>\n      <xsl:when test=\"@renderas = 'sect2'\">\n        <xsl:call-template name=\"sect2.titlepage\"/>\n      </xsl:when>\n      <xsl:when test=\"@renderas = 'sect3'\">\n        <xsl:call-template name=\"sect3.titlepage\"/>\n      </xsl:when>\n      <xsl:when test=\"@renderas = 'sect5'\">\n        <xsl:call-template name=\"sect5.titlepage\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"sect4.titlepage\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n\n    <xsl:variable name=\"toc.params\">\n      <xsl:call-template name=\"find.path.params\">\n        <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:if test=\"contains($toc.params, 'toc')                   and $generate.section.toc.level &gt;= 4\">\n      <xsl:call-template name=\"section.toc\">\n        <xsl:with-param name=\"toc.title.p\" select=\"contains($toc.params, 'title')\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"section.toc.separator\"/>\n    </xsl:if>\n    <xsl:apply-templates/>\n    <xsl:call-template name=\"process.chunk.footnotes\"/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"sect4/title                     |sect4/info/title                     |sect4info/title\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"section.title\"/>\n</xsl:template>\n\n<xsl:template match=\"sect5\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <xsl:element name=\"{$div.element}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n\n    <xsl:choose>\n      <xsl:when test=\"@renderas = 'sect1'\">\n        <xsl:call-template name=\"sect1.titlepage\"/>\n      </xsl:when>\n      <xsl:when test=\"@renderas = 'sect2'\">\n        <xsl:call-template name=\"sect2.titlepage\"/>\n      </xsl:when>\n      <xsl:when test=\"@renderas = 'sect3'\">\n        <xsl:call-template name=\"sect3.titlepage\"/>\n      </xsl:when>\n      <xsl:when test=\"@renderas = 'sect4'\">\n        <xsl:call-template name=\"sect4.titlepage\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"sect5.titlepage\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n\n    <xsl:variable name=\"toc.params\">\n      <xsl:call-template name=\"find.path.params\">\n        <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:if test=\"contains($toc.params, 'toc')                   and $generate.section.toc.level &gt;= 5\">\n      <xsl:call-template name=\"section.toc\">\n        <xsl:with-param name=\"toc.title.p\" select=\"contains($toc.params, 'title')\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"section.toc.separator\"/>\n    </xsl:if>\n    <xsl:apply-templates/>\n    <xsl:call-template name=\"process.chunk.footnotes\"/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"sect5/title                     |sect5/info/title                     |sect5info/title\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"section.title\"/>\n</xsl:template>\n\n<xsl:template match=\"simplesect\">\n  <xsl:call-template name=\"id.warning\"/>\n\n  <xsl:element name=\"{$div.element}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:call-template name=\"common.html.attributes\">\n      <xsl:with-param name=\"inherit\" select=\"1\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n\n    <xsl:call-template name=\"simplesect.titlepage\"/>\n    <xsl:apply-templates/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"simplesect/title|simplesect/info/title\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"section.title\"/>\n</xsl:template>\n\n<xsl:template match=\"section/title\"/>\n<xsl:template match=\"section/titleabbrev\"/>\n<xsl:template match=\"section/subtitle\"/>\n<xsl:template match=\"sectioninfo\"/>\n<xsl:template match=\"section/info\"/>\n\n<xsl:template match=\"sect1/title\"/>\n<xsl:template match=\"sect1/titleabbrev\"/>\n<xsl:template match=\"sect1/subtitle\"/>\n<xsl:template match=\"sect1info\"/>\n<xsl:template match=\"sect1/info\"/>\n\n<xsl:template match=\"sect2/title\"/>\n<xsl:template match=\"sect2/subtitle\"/>\n<xsl:template match=\"sect2/titleabbrev\"/>\n<xsl:template match=\"sect2info\"/>\n<xsl:template match=\"sect2/info\"/>\n\n<xsl:template match=\"sect3/title\"/>\n<xsl:template match=\"sect3/subtitle\"/>\n<xsl:template match=\"sect3/titleabbrev\"/>\n<xsl:template match=\"sect3info\"/>\n<xsl:template match=\"sect3/info\"/>\n\n<xsl:template match=\"sect4/title\"/>\n<xsl:template match=\"sect4/subtitle\"/>\n<xsl:template match=\"sect4/titleabbrev\"/>\n<xsl:template match=\"sect4info\"/>\n<xsl:template match=\"sect4/info\"/>\n\n<xsl:template match=\"sect5/title\"/>\n<xsl:template match=\"sect5/subtitle\"/>\n<xsl:template match=\"sect5/titleabbrev\"/>\n<xsl:template match=\"sect5info\"/>\n<xsl:template match=\"sect5/info\"/>\n\n<xsl:template match=\"simplesect/title\"/>\n<xsl:template match=\"simplesect/subtitle\"/>\n<xsl:template match=\"simplesect/titleabbrev\"/>\n<xsl:template match=\"simplesect/info\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"section.heading\">\n  <xsl:param name=\"section\" select=\".\"/>\n  <xsl:param name=\"level\" select=\"1\"/>\n  <xsl:param name=\"allow-anchors\" select=\"1\"/>\n  <xsl:param name=\"title\"/>\n  <xsl:param name=\"class\" select=\"'title'\"/>\n\n  <xsl:variable name=\"id\">\n    <xsl:choose>\n      <!-- Make sure the subtitle doesn't get the same id as the title -->\n      <xsl:when test=\"self::subtitle\">\n        <xsl:call-template name=\"object.id\">\n          <xsl:with-param name=\"object\" select=\".\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <!-- if title is in an *info wrapper, get the grandparent -->\n      <xsl:when test=\"contains(local-name(..), 'info')\">\n        <xsl:call-template name=\"object.id\">\n          <xsl:with-param name=\"object\" select=\"../..\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"object.id\">\n          <xsl:with-param name=\"object\" select=\"..\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <!-- HTML H level is one higher than section level -->\n  <xsl:variable name=\"hlevel\">\n    <xsl:choose>\n      <!-- highest valid HTML H level is H6; so anything nested deeper\n           than 5 levels down just becomes H6 -->\n      <xsl:when test=\"$level &gt; 5\">6</xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$level + 1\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n  <xsl:element name=\"h{$hlevel}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:attribute name=\"class\"><xsl:value-of select=\"$class\"/></xsl:attribute>\n    <xsl:if test=\"$css.decoration != '0'\">\n      <xsl:if test=\"$hlevel&lt;3\">\n        <xsl:attribute name=\"style\">clear: both</xsl:attribute>\n      </xsl:if>\n    </xsl:if>\n    <xsl:if test=\"$allow-anchors != 0\">\n      <xsl:call-template name=\"anchor\">\n        <xsl:with-param name=\"node\" select=\"$section\"/>\n        <xsl:with-param name=\"conditional\" select=\"0\"/>\n      </xsl:call-template>\n    </xsl:if>\n    <xsl:copy-of select=\"$title\"/>\n  </xsl:element>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"bridgehead\">\n  <xsl:variable name=\"container\" select=\"(ancestor::appendix                         |ancestor::article                         |ancestor::bibliography                         |ancestor::chapter                         |ancestor::glossary                         |ancestor::glossdiv                         |ancestor::index                         |ancestor::partintro                         |ancestor::preface                         |ancestor::refsect1                         |ancestor::refsect2                         |ancestor::refsect3                         |ancestor::sect1                         |ancestor::sect2                         |ancestor::sect3                         |ancestor::sect4                         |ancestor::sect5                         |ancestor::section                         |ancestor::setindex                         |ancestor::simplesect)[last()]\"/>\n\n  <xsl:variable name=\"clevel\">\n    <xsl:choose>\n      <xsl:when test=\"local-name($container) = 'appendix'                       or local-name($container) = 'chapter'                       or local-name($container) = 'article'                       or local-name($container) = 'bibliography'                       or local-name($container) = 'glossary'                       or local-name($container) = 'index'                       or local-name($container) = 'partintro'                       or local-name($container) = 'preface'                       or local-name($container) = 'setindex'\">1</xsl:when>\n      <xsl:when test=\"local-name($container) = 'glossdiv'\">\n        <xsl:value-of select=\"count(ancestor::glossdiv)+1\"/>\n      </xsl:when>\n      <xsl:when test=\"local-name($container) = 'sect1'                       or local-name($container) = 'sect2'                       or local-name($container) = 'sect3'                       or local-name($container) = 'sect4'                       or local-name($container) = 'sect5'                       or local-name($container) = 'refsect1'                       or local-name($container) = 'refsect2'                       or local-name($container) = 'refsect3'                       or local-name($container) = 'section'                       or local-name($container) = 'simplesect'\">\n        <xsl:variable name=\"slevel\">\n          <xsl:call-template name=\"section.level\">\n            <xsl:with-param name=\"node\" select=\"$container\"/>\n          </xsl:call-template>\n        </xsl:variable>\n        <xsl:value-of select=\"$slevel + 1\"/>\n      </xsl:when>\n      <xsl:otherwise>1</xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <!-- HTML H level is one higher than section level -->\n  <xsl:variable name=\"hlevel\">\n    <xsl:choose>\n      <xsl:when test=\"@renderas = 'sect1'\">2</xsl:when>\n      <xsl:when test=\"@renderas = 'sect2'\">3</xsl:when>\n      <xsl:when test=\"@renderas = 'sect3'\">4</xsl:when>\n      <xsl:when test=\"@renderas = 'sect4'\">5</xsl:when>\n      <xsl:when test=\"@renderas = 'sect5'\">6</xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$clevel + 1\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:element name=\"h{$hlevel}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:call-template name=\"id.attribute\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"anchor\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n    <xsl:apply-templates/>\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"section/subtitle\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"section.subtitle\"/>\n</xsl:template>\n\n<xsl:template match=\"simplesect/subtitle\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"section.subtitle\"/>\n</xsl:template>\n\n<xsl:template match=\"sect1/subtitle\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"section.subtitle\"/>\n</xsl:template>\n\n<xsl:template match=\"sect2/subtitle\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"section.subtitle\"/>\n</xsl:template>\n\n<xsl:template match=\"sect3/subtitle\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"section.subtitle\"/>\n</xsl:template>\n\n<xsl:template match=\"sect4/subtitle\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"section.subtitle\"/>\n</xsl:template>\n\n<xsl:template match=\"sect5/subtitle\" mode=\"titlepage.mode\" priority=\"2\">\n  <xsl:call-template name=\"section.subtitle\"/>\n</xsl:template>\n\n<xsl:template name=\"section.subtitle\">\n  <!-- the context node should be the subtitle of a section when called -->\n  <xsl:variable name=\"section\" select=\"(ancestor::section                                         |ancestor::simplesect                                         |ancestor::sect1                                         |ancestor::sect2                                         |ancestor::sect3                                         |ancestor::sect4                                         |ancestor::sect5)[last()]\"/>\n\n  <xsl:variable name=\"level\">\n    <xsl:call-template name=\"section.level\">\n      <xsl:with-param name=\"node\" select=\"$section\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:call-template name=\"section.heading\">\n    <xsl:with-param name=\"section\" select=\"..\"/>\n    <xsl:with-param name=\"allow-anchors\" select=\"0\"/>\n    <!-- subtitle heading level one higher than section level -->\n    <xsl:with-param name=\"level\" select=\"$level + 1\"/>\n    <xsl:with-param name=\"class\" select=\"'subtitle'\"/>\n    <xsl:with-param name=\"title\">\n      <xsl:apply-templates select=\"$section\" mode=\"object.subtitle.markup\">\n        <xsl:with-param name=\"allow-anchors\" select=\"0\"/>\n      </xsl:apply-templates>\n    </xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/synop.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: synop.xsl 9357 2012-05-12 23:36:14Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<!-- synopsis is in verbatim -->\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"cmdsynopsis\">\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <p>\n      <xsl:call-template name=\"id.attribute\">\n        <xsl:with-param name=\"conditional\" select=\"0\"/>\n      </xsl:call-template>\n      <xsl:if test=\"..//processing-instruction('dbcmdlist')\">\n        <!-- * Placing a dbcmdlist PI as a child of a particular element -->\n        <!-- * creates a hyperlinked list of all cmdsynopsis instances -->\n        <!-- * that are descendants of that element; so for any -->\n        <!-- * cmdsynopsis that is a descendant of an element containing -->\n        <!-- * a dbcmdlist PI, we need to output an a@id instance so that -->\n        <!-- * we will have something to link to -->\n        <xsl:call-template name=\"anchor\">\n          <xsl:with-param name=\"conditional\" select=\"0\"/>\n        </xsl:call-template>\n      </xsl:if>\n      <xsl:apply-templates/>\n    </p>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"cmdsynopsis/command\">\n  <br/>\n  <xsl:call-template name=\"inline.monoseq\"/>\n  <xsl:text> </xsl:text>\n</xsl:template>\n\n<xsl:template match=\"cmdsynopsis/command[1]\" priority=\"2\">\n  <xsl:call-template name=\"inline.monoseq\"/>\n  <xsl:text> </xsl:text>\n</xsl:template>\n\n<xsl:template match=\"group|arg\" name=\"group-or-arg\">\n  <xsl:variable name=\"choice\" select=\"@choice\"/>\n  <xsl:variable name=\"rep\" select=\"@rep\"/>\n  <xsl:variable name=\"sepchar\">\n    <xsl:choose>\n      <xsl:when test=\"ancestor-or-self::*/@sepchar\">\n        <xsl:value-of select=\"ancestor-or-self::*/@sepchar\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:text> </xsl:text>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:if test=\"preceding-sibling::*\">\n    <xsl:value-of select=\"$sepchar\"/>\n  </xsl:if>\n  <xsl:choose>\n    <xsl:when test=\"$choice='plain'\">\n      <xsl:value-of select=\"$arg.choice.plain.open.str\"/>\n    </xsl:when>\n    <xsl:when test=\"$choice='req'\">\n      <xsl:value-of select=\"$arg.choice.req.open.str\"/>\n    </xsl:when>\n    <xsl:when test=\"$choice='opt'\">\n      <xsl:value-of select=\"$arg.choice.opt.open.str\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$arg.choice.def.open.str\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n  <xsl:apply-templates/>\n  <xsl:choose>\n    <xsl:when test=\"$rep='repeat'\">\n      <xsl:value-of select=\"$arg.rep.repeat.str\"/>\n    </xsl:when>\n    <xsl:when test=\"$rep='norepeat'\">\n      <xsl:value-of select=\"$arg.rep.norepeat.str\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$arg.rep.def.str\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n  <xsl:choose>\n    <xsl:when test=\"$choice='plain'\">\n      <xsl:value-of select=\"$arg.choice.plain.close.str\"/>\n    </xsl:when>\n    <xsl:when test=\"$choice='req'\">\n      <xsl:value-of select=\"$arg.choice.req.close.str\"/>\n    </xsl:when>\n    <xsl:when test=\"$choice='opt'\">\n      <xsl:value-of select=\"$arg.choice.opt.close.str\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$arg.choice.def.close.str\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"group/arg\">\n  <xsl:variable name=\"choice\" select=\"@choice\"/>\n  <xsl:variable name=\"rep\" select=\"@rep\"/>\n  <xsl:if test=\"preceding-sibling::*\">\n    <xsl:value-of select=\"$arg.or.sep\"/>\n  </xsl:if>\n  <xsl:call-template name=\"group-or-arg\"/>\n</xsl:template>\n\n<xsl:template match=\"sbr\">\n  <br/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"synopfragmentref\">\n  <xsl:variable name=\"target\" select=\"key('id',@linkend)\"/>\n  <xsl:variable name=\"snum\">\n    <xsl:apply-templates select=\"$target\" mode=\"synopfragment.number\"/>\n  </xsl:variable>\n  <em xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\">\n    <a href=\"#{@linkend}\">\n      <xsl:text>(</xsl:text>\n      <xsl:value-of select=\"$snum\"/>\n      <xsl:text>)</xsl:text>\n    </a>\n    <xsl:text>&#160;</xsl:text>\n    <xsl:apply-templates/>\n  </em>\n</xsl:template>\n\n<xsl:template match=\"synopfragment\" mode=\"synopfragment.number\">\n  <xsl:number format=\"1\"/>\n</xsl:template>\n\n<xsl:template match=\"synopfragment\">\n  <xsl:variable name=\"snum\">\n    <xsl:apply-templates select=\".\" mode=\"synopfragment.number\"/>\n  </xsl:variable>\n  <!-- You can't introduce another <p> here, because you're \n       already in a <p> from cmdsynopsis-->\n  <span>\n    <xsl:variable name=\"id\">\n      <xsl:call-template name=\"object.id\"/>\n    </xsl:variable>\n    <a id=\"{$id}\">\n      <xsl:text>(</xsl:text>\n      <xsl:value-of select=\"$snum\"/>\n      <xsl:text>)</xsl:text>\n    </a>\n    <xsl:text> </xsl:text>\n    <xsl:apply-templates/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"funcsynopsis\">\n  <xsl:if test=\"..//processing-instruction('dbfunclist')\">\n    <!-- * Placing a dbfunclist PI as a child of a particular element -->\n    <!-- * creates a hyperlinked list of all funcsynopsis instances that -->\n    <!-- * are descendants of that element; so for any funcsynopsis that is -->\n    <!-- * a descendant of an element containing a dbfunclist PI, we need -->\n    <!-- * to output an a@id instance so that we will have something to -->\n    <!-- * link to -->\n    <span>\n      <xsl:call-template name=\"id.attribute\">\n        <xsl:with-param name=\"conditional\" select=\"0\"/>\n      </xsl:call-template>\n    </span>\n    <xsl:call-template name=\"anchor\">\n      <xsl:with-param name=\"conditional\" select=\"0\"/>\n    </xsl:call-template>\n  </xsl:if>\n  <xsl:call-template name=\"informal.object\"/>\n</xsl:template>\n\n<xsl:template match=\"funcsynopsisinfo\">\n  <pre>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates/>\n  </pre>\n</xsl:template>\n\n<!-- ====================================================================== -->\n<!-- funcprototype -->\n<!--\n\nfuncprototype ::= (funcdef,\n                   (void|varargs|paramdef+))\n\nfuncdef       ::= (#PCDATA|type|replaceable|function)*\n\nparamdef      ::= (#PCDATA|type|replaceable|parameter|funcparams)*\n-->\n\n<xsl:template match=\"funcprototype\">\n  <xsl:variable name=\"html-style\">\n    <xsl:call-template name=\"pi.dbhtml_funcsynopsis-style\">\n      <xsl:with-param name=\"node\" select=\"ancestor::funcsynopsis/descendant-or-self::*\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"style\">\n    <xsl:choose>\n      <xsl:when test=\"$html-style != ''\">\n        <xsl:value-of select=\"$html-style\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$funcsynopsis.style\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n<!-- * 2008-02-17. the code no longer relies on the funcsynopsis.tabular.threshold -->\n<!-- * param at all (the stuff below has been commented out since mid -->\n<!-- * 2006), so I completely removed the funcsynopsis.tabular.threshold param -->\n<!-- * .. MikeSmith -->\n<!--\n  <xsl:variable name=\"tabular-p\"\n                select=\"$funcsynopsis.tabular.threshold &gt; 0\n                        and string-length(.) &gt; $funcsynopsis.tabular.threshold\"/>\n-->\n\n  <xsl:variable name=\"tabular-p\" select=\"true()\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$style = 'kr' and $tabular-p\">\n      <xsl:apply-templates select=\".\" mode=\"kr-tabular\"/>\n    </xsl:when>\n    <xsl:when test=\"$style = 'kr'\">\n      <xsl:apply-templates select=\".\" mode=\"kr-nontabular\"/>\n    </xsl:when>\n    <xsl:when test=\"$style = 'ansi' and $tabular-p\">\n      <xsl:apply-templates select=\".\" mode=\"ansi-tabular\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates select=\".\" mode=\"ansi-nontabular\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ====================================================================== -->\n<!-- funcprototype: kr, non-tabular -->\n\n<xsl:template match=\"funcprototype\" mode=\"kr-nontabular\">\n  <p>\n    <xsl:apply-templates mode=\"kr-nontabular\"/>\n    <xsl:if test=\"paramdef\">\n      <br/>\n      <xsl:apply-templates select=\"paramdef\" mode=\"kr-funcsynopsis-mode\"/>\n    </xsl:if>\n  </p>\n</xsl:template>\n\n<xsl:template match=\"funcdef\" mode=\"kr-nontabular\">\n  <code>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"kr-nontabular\"/>\n    <xsl:text>(</xsl:text>\n  </code>\n</xsl:template>\n\n<xsl:template match=\"funcdef/function\" mode=\"kr-nontabular\">\n  <xsl:choose>\n    <xsl:when test=\"$funcsynopsis.decoration != 0\">\n      <strong xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\">fsfunc<xsl:apply-templates mode=\"kr-nontabular\"/></strong>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates mode=\"kr-nontabular\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"void\" mode=\"kr-nontabular\">\n  <code>)</code>\n  <xsl:text>;</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"varargs\" mode=\"kr-nontabular\">\n  <xsl:text>...</xsl:text>\n  <code>)</code>\n  <xsl:text>;</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"paramdef\" mode=\"kr-nontabular\">\n  <xsl:apply-templates select=\"parameter\" mode=\"kr-nontabular\"/>\n  <xsl:choose>\n    <xsl:when test=\"following-sibling::*\">\n      <xsl:text>, </xsl:text>\n    </xsl:when>\n    <xsl:otherwise>\n      <code>)</code>\n      <xsl:text>;</xsl:text>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"paramdef/parameter\" mode=\"kr-nontabular\">\n  <xsl:choose>\n    <xsl:when test=\"$funcsynopsis.decoration != 0\">\n      <var class=\"pdparam\">\n        <xsl:apply-templates mode=\"kr-nontabular\"/>\n      </var>\n    </xsl:when>\n    <xsl:otherwise>\n      <code>\n\t<xsl:apply-templates mode=\"kr-nontabular\"/>\n      </code>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"paramdef\" mode=\"kr-funcsynopsis-mode\">\n  <xsl:if test=\"preceding-sibling::paramdef\"><br/></xsl:if>\n  <code>\n    <xsl:apply-templates mode=\"kr-funcsynopsis-mode\"/>\n  </code>\n  <xsl:text>;</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"paramdef/parameter\" mode=\"kr-funcsynopsis-mode\">\n  <xsl:choose>\n    <xsl:when test=\"$funcsynopsis.decoration != 0\">\n      <var class=\"pdparam\">\n        <xsl:apply-templates mode=\"kr-funcsynopsis-mode\"/>\n      </var>\n    </xsl:when>\n    <xsl:otherwise>\n      <code>\n\t<xsl:apply-templates mode=\"kr-funcsynopsis-mode\"/>\n      </code>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"funcparams\" mode=\"kr-funcsynopsis-mode\">\n  <code>(</code>\n  <xsl:apply-templates mode=\"kr-funcsynopsis-mode\"/>\n  <code>)</code>\n</xsl:template>\n\n<!-- ====================================================================== -->\n<!-- funcprototype: kr, tabular -->\n\n<xsl:template match=\"funcprototype\" mode=\"kr-tabular\">\n  <table border=\"{$table.border.off}\" class=\"funcprototype-table\">\n    <xsl:if test=\"$div.element != 'section'\">\n      <xsl:attribute name=\"summary\">Function synopsis</xsl:attribute>\n    </xsl:if>\n    <xsl:if test=\"$css.decoration != 0\">\n      <xsl:attribute name=\"style\">cellspacing: 0; cellpadding: 0;</xsl:attribute>\n    </xsl:if>\n    <tr>\n      <td>\n        <xsl:apply-templates select=\"funcdef\" mode=\"kr-tabular\"/>\n      </td>\n      <xsl:apply-templates select=\"(void|varargs|paramdef)[1]\" mode=\"kr-tabular\"/>\n    </tr>\n    <xsl:for-each select=\"(void|varargs|paramdef)[preceding-sibling::*[not(self::funcdef)]]\">\n      <tr>\n        <td>&#160;</td>\n        <xsl:apply-templates select=\".\" mode=\"kr-tabular\"/>\n      </tr>\n    </xsl:for-each>\n  </table>\n  <xsl:if test=\"paramdef\">\n    <div class=\"paramdef-list\">\n      <xsl:apply-templates select=\"paramdef\" mode=\"kr-funcsynopsis-mode\"/>\n    </div>\n  </xsl:if>\n  <div class=\"funcprototype-spacer\">&#160;</div> <!-- hACk: blank div for vertical spacing -->\n</xsl:template>\n\n<xsl:template match=\"funcdef\" mode=\"kr-tabular\">\n  <code>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"kr-tabular\"/>\n    <xsl:text>(</xsl:text>\n  </code>\n</xsl:template>\n\n<xsl:template match=\"funcdef/function\" mode=\"kr-tabular\">\n  <xsl:choose>\n    <xsl:when test=\"$funcsynopsis.decoration != 0\">\n      <strong xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\">fsfunc<xsl:apply-templates mode=\"kr-nontabular\"/></strong>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates mode=\"kr-tabular\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"void\" mode=\"kr-tabular\">\n  <td>\n    <code>)</code>\n    <xsl:text>;</xsl:text>\n  </td>\n  <td>&#160;</td>\n</xsl:template>\n\n<xsl:template match=\"varargs\" mode=\"kr-tabular\">\n  <td>\n    <xsl:text>...</xsl:text>\n    <code>)</code>\n    <xsl:text>;</xsl:text>\n  </td>\n  <td>&#160;</td>\n</xsl:template>\n\n<xsl:template match=\"paramdef\" mode=\"kr-tabular\">\n  <td>\n    <xsl:apply-templates select=\"parameter\" mode=\"kr-tabular\"/>\n    <xsl:choose>\n      <xsl:when test=\"following-sibling::*\">\n\t<xsl:text>, </xsl:text>\n      </xsl:when>\n      <xsl:otherwise>\n\t<code>)</code>\n\t<xsl:text>;</xsl:text>\n      </xsl:otherwise>\n    </xsl:choose>\n  </td>\n  <td>&#160;</td>\n</xsl:template>\n\n<xsl:template match=\"paramdef/parameter\" mode=\"kr-tabular\">\n  <xsl:choose>\n    <xsl:when test=\"$funcsynopsis.decoration != 0\">\n      <var class=\"pdparam\">\n        <xsl:apply-templates mode=\"kr-tabular\"/>\n      </var>\n    </xsl:when>\n    <xsl:otherwise>\n      <code>\n\t<xsl:apply-templates mode=\"kr-tabular\"/>\n      </code>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"paramdef\" mode=\"kr-tabular-funcsynopsis-mode\">\n  <xsl:variable name=\"type\">\n    <xsl:choose>\n      <xsl:when test=\"type\">\n\t<xsl:apply-templates select=\"type\" mode=\"kr-tabular-funcsynopsis-mode\"/>\n      </xsl:when>\n      <xsl:when test=\"normalize-space(parameter/preceding-sibling::node()[not(self::parameter)]) != ''\">\n\t<xsl:copy-of select=\"parameter/preceding-sibling::node()[not(self::parameter)]\"/>\n      </xsl:when>\n    </xsl:choose>\n  </xsl:variable>\n\n  <tr>\n    <xsl:choose>\n      <xsl:when test=\"$type != '' and funcparams\">\n        <td>\n\t  <code>\n\t    <xsl:copy-of select=\"$type\"/>\n\t  </code>\n          <xsl:text>&#160;</xsl:text>\n        </td>\n        <td>\n\t  <code>\n\t    <xsl:choose>\n\t      <xsl:when test=\"type\">\n\t\t<xsl:apply-templates select=\"type/following-sibling::*\" mode=\"kr-tabular-funcsynopsis-mode\"/>\n\t      </xsl:when>\n\t      <xsl:otherwise>\n\t\t<xsl:apply-templates select=\"*\" mode=\"kr-tabular-funcsynopsis-mode\"/>\n\t      </xsl:otherwise>\n\t    </xsl:choose>\n\t  </code>\n        </td>\n      </xsl:when>\n\n      <xsl:when test=\"funcparams\">\n        <td colspan=\"2\">\n\t  <code>\n\t    <xsl:apply-templates mode=\"kr-tabular-funcsynopsis-mode\"/>\n\t  </code>\n        </td>\n      </xsl:when>\n\n      <xsl:otherwise>\n        <td>\n\t  <code>\n\t    <xsl:apply-templates select=\"parameter/preceding-sibling::node()[not(self::parameter)]\" mode=\"kr-tabular-funcsynopsis-mode\"/>\n\t  </code>\n          <xsl:text>&#160;</xsl:text>\n        </td>\n        <td>\n\t  <code>\n\t    <xsl:apply-templates select=\"parameter\" mode=\"kr-tabular\"/>\n\t    <xsl:apply-templates select=\"parameter/following-sibling::*[not(self::parameter)]\" mode=\"kr-tabular-funcsynopsis-mode\"/>\n\t    <xsl:text>;</xsl:text>\n\t  </code>\n        </td>\n      </xsl:otherwise>\n    </xsl:choose>\n  </tr>\n</xsl:template>\n\n<xsl:template match=\"paramdef/parameter\" mode=\"kr-tabular-funcsynopsis-mode\">\n  <xsl:choose>\n    <xsl:when test=\"$funcsynopsis.decoration != 0\">\n      <var class=\"pdparam\">\n        <xsl:apply-templates mode=\"kr-tabular-funcsynopsis-mode\"/>\n      </var>\n    </xsl:when>\n    <xsl:otherwise>\n      <code>\n\t<xsl:apply-templates mode=\"kr-tabular-funcsynopsis-mode\"/>\n      </code>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"funcparams\" mode=\"kr-tabular-funcsynopsis-mode\">\n  <code>(</code>\n  <xsl:apply-templates mode=\"kr-tabular-funcsynopsis-mode\"/>\n  <code>)</code>\n  <xsl:text>;</xsl:text>\n</xsl:template>\n\n<!-- ====================================================================== -->\n<!-- funcprototype: ansi, non-tabular -->\n\n<xsl:template match=\"funcprototype\" mode=\"ansi-nontabular\">\n  <p>\n    <xsl:apply-templates mode=\"ansi-nontabular\"/>\n  </p>\n</xsl:template>\n\n<xsl:template match=\"funcdef\" mode=\"ansi-nontabular\">\n  <code>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"ansi-nontabular\"/>\n    <xsl:text>(</xsl:text>\n  </code>\n</xsl:template>\n\n<xsl:template match=\"funcdef/function\" mode=\"ansi-nontabular\">\n  <xsl:choose>\n    <xsl:when test=\"$funcsynopsis.decoration != 0\">\n      <strong xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\">fsfunc<xsl:apply-templates mode=\"ansi-nontabular\"/></strong>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates mode=\"ansi-nontabular\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"void\" mode=\"ansi-nontabular\">\n  <code>void)</code>\n  <xsl:text>;</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"varargs\" mode=\"ansi-nontabular\">\n  <xsl:text>...</xsl:text>\n  <code>)</code>\n  <xsl:text>;</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"paramdef\" mode=\"ansi-nontabular\">\n  <xsl:apply-templates mode=\"ansi-nontabular\"/>\n  <xsl:choose>\n    <xsl:when test=\"following-sibling::*\">\n      <xsl:text>, </xsl:text>\n    </xsl:when>\n    <xsl:otherwise>\n      <code>)</code>\n      <xsl:text>;</xsl:text>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"paramdef/parameter\" mode=\"ansi-nontabular\">\n  <xsl:choose>\n    <xsl:when test=\"$funcsynopsis.decoration != 0\">\n      <var class=\"pdparam\">\n        <xsl:apply-templates mode=\"ansi-nontabular\"/>\n      </var>\n    </xsl:when>\n    <xsl:otherwise>\n      <code>\n\t<xsl:apply-templates mode=\"ansi-nontabular\"/>\n      </code>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"funcparams\" mode=\"ansi-nontabular\">\n  <code>(</code>\n  <xsl:apply-templates mode=\"ansi-nontabular\"/>\n  <code>)</code>\n</xsl:template>\n\n<!-- ====================================================================== -->\n<!-- funcprototype: ansi, tabular -->\n\n<xsl:template match=\"funcprototype\" mode=\"ansi-tabular\">\n  <table border=\"{$table.border.off}\" class=\"funcprototype-table\">\n    <xsl:if test=\"$div.element != 'section'\">\n      <xsl:attribute name=\"summary\">Function synopsis</xsl:attribute>\n    </xsl:if>\n    <xsl:if test=\"$css.decoration != 0\">\n      <xsl:attribute name=\"style\">cellspacing: 0; cellpadding: 0;</xsl:attribute>\n    </xsl:if>\n    <tr>\n      <td>\n        <xsl:apply-templates select=\"funcdef\" mode=\"ansi-tabular\"/>\n      </td>\n      <xsl:apply-templates select=\"(void|varargs|paramdef)[1]\" mode=\"ansi-tabular\"/>\n    </tr>\n    <xsl:for-each select=\"(void|varargs|paramdef)[preceding-sibling::*[not(self::funcdef)]]\">\n      <tr>\n        <td>&#160;</td>\n        <xsl:apply-templates select=\".\" mode=\"ansi-tabular\"/>\n      </tr>\n    </xsl:for-each>\n  </table>\n  <div class=\"funcprototype-spacer\">&#160;</div> <!-- hACk: blank div for vertical spacing -->\n</xsl:template>\n\n<xsl:template match=\"funcdef\" mode=\"ansi-tabular\">\n  <code>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"ansi-tabular\"/>\n    <xsl:text>(</xsl:text>\n  </code>\n</xsl:template>\n\n<xsl:template match=\"funcdef/function\" mode=\"ansi-tabular\">\n  <xsl:choose>\n    <xsl:when test=\"$funcsynopsis.decoration != 0\">\n      <strong xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\">fsfunc<xsl:apply-templates mode=\"ansi-nontabular\"/></strong>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates mode=\"kr-tabular\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"void\" mode=\"ansi-tabular\">\n  <td>\n    <code>void)</code>\n    <xsl:text>;</xsl:text>\n  </td>\n  <td>&#160;</td>\n</xsl:template>\n\n<xsl:template match=\"varargs\" mode=\"ansi-tabular\">\n  <td>\n    <xsl:text>...</xsl:text>\n    <code>)</code>\n    <xsl:text>;</xsl:text>\n  </td>\n  <td>&#160;</td>\n</xsl:template>\n\n<xsl:template match=\"paramdef\" mode=\"ansi-tabular\">\n      <td>\n        <xsl:apply-templates mode=\"ansi-tabular\"/>\n        <xsl:choose>\n          <xsl:when test=\"following-sibling::*\">\n            <xsl:text>, </xsl:text>\n          </xsl:when>\n          <xsl:otherwise>\n            <code>)</code>\n            <xsl:text>;</xsl:text>\n          </xsl:otherwise>\n        </xsl:choose>\n      </td>\n</xsl:template>\n\n<xsl:template match=\"paramdef/parameter\" mode=\"ansi-tabular\">\n  <xsl:choose>\n    <xsl:when test=\"$funcsynopsis.decoration != 0\">\n      <var class=\"pdparam\">\n        <xsl:apply-templates mode=\"ansi-tabular\"/>\n      </var>\n    </xsl:when>\n    <xsl:otherwise>\n      <code>\n\t<xsl:apply-templates mode=\"ansi-tabular\"/>\n      </code>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"funcparams\" mode=\"ansi-tabular\">\n  <code>(</code>\n  <xsl:apply-templates/>\n  <code>)</code>\n</xsl:template>\n\n<!-- ====================================================================== -->\n\n<xsl:variable name=\"default-classsynopsis-language\">java</xsl:variable>\n\n<xsl:template match=\"classsynopsis                      |fieldsynopsis                      |methodsynopsis                      |constructorsynopsis                      |destructorsynopsis\">\n  <xsl:param name=\"language\">\n    <xsl:choose>\n      <xsl:when test=\"@language\">\n\t<xsl:value-of select=\"@language\"/>\n      </xsl:when>\n      <xsl:otherwise>\n\t<xsl:value-of select=\"$default-classsynopsis-language\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:param>\n\n  <xsl:choose>\n    <xsl:when test=\"$language='java' or $language='Java'\">\n      <xsl:apply-templates select=\".\" mode=\"java\"/>\n    </xsl:when>\n    <xsl:when test=\"$language='perl' or $language='Perl'\">\n      <xsl:apply-templates select=\".\" mode=\"perl\"/>\n    </xsl:when>\n    <xsl:when test=\"$language='idl' or $language='IDL'\">\n      <xsl:apply-templates select=\".\" mode=\"idl\"/>\n    </xsl:when>\n    <xsl:when test=\"$language='cpp' or $language='c++' or $language='C++'\">\n      <xsl:apply-templates select=\".\" mode=\"cpp\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:message>\n\t<xsl:text>Unrecognized language on </xsl:text>\n        <xsl:value-of select=\"local-name(.)\"/>\n        <xsl:text>: </xsl:text>\n\t<xsl:value-of select=\"$language\"/>\n      </xsl:message>\n      <xsl:apply-templates select=\".\">\n\t<xsl:with-param name=\"language\" select=\"$default-classsynopsis-language\"/>\n      </xsl:apply-templates>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"synop-break\">\n  <xsl:if test=\"parent::classsynopsis                 or (following-sibling::fieldsynopsis                     |following-sibling::methodsynopsis                     |following-sibling::constructorsynopsis                     |following-sibling::destructorsynopsis)\">\n    <br/>\n  </xsl:if>\n</xsl:template>\n\n\n<!-- ===== Java ======================================================== -->\n\n<xsl:template match=\"classsynopsis\" mode=\"java\">\n  <pre>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates select=\"ooclass[1]\" mode=\"java\"/>\n    <xsl:if test=\"ooclass[preceding-sibling::*]\">\n      <xsl:text> extends</xsl:text>\n      <xsl:apply-templates select=\"ooclass[preceding-sibling::*]\" mode=\"java\"/>\n      <xsl:if test=\"oointerface|ooexception\">\n        <br/>\n\t<xsl:text>&#160;&#160;&#160;&#160;</xsl:text>\n      </xsl:if>\n    </xsl:if>\n    <xsl:if test=\"oointerface\">\n      <xsl:text>implements</xsl:text>\n      <xsl:apply-templates select=\"oointerface\" mode=\"java\"/>\n      <xsl:if test=\"ooexception\">\n        <br/>\n\t<xsl:text>&#160;&#160;&#160;&#160;</xsl:text>\n      </xsl:if>\n    </xsl:if>\n    <xsl:if test=\"ooexception\">\n      <xsl:text>throws</xsl:text>\n      <xsl:apply-templates select=\"ooexception\" mode=\"java\"/>\n    </xsl:if>\n    <xsl:text>&#160;{</xsl:text>\n    <br/>\n    <xsl:apply-templates select=\"constructorsynopsis                                  |destructorsynopsis                                  |fieldsynopsis                                  |methodsynopsis                                  |classsynopsisinfo\" mode=\"java\"/>\n    <xsl:text>}</xsl:text>\n  </pre>\n</xsl:template>\n\n<xsl:template match=\"classsynopsisinfo\" mode=\"java\">\n  <xsl:apply-templates mode=\"java\"/>\n</xsl:template>\n\n<xsl:template match=\"ooclass|oointerface|ooexception\" mode=\"java\">\n  <xsl:choose>\n    <xsl:when test=\"preceding-sibling::*\">\n      <xsl:text>, </xsl:text>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:text> </xsl:text>\n    </xsl:otherwise>\n  </xsl:choose>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"java\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"modifier|package\" mode=\"java\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"java\"/>\n    <xsl:if test=\"following-sibling::*\">\n      <xsl:text>&#160;</xsl:text>\n    </xsl:if>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"classname\" mode=\"java\">\n  <xsl:if test=\"local-name(preceding-sibling::*[1]) = 'classname'\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"java\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"interfacename\" mode=\"java\">\n  <xsl:if test=\"local-name(preceding-sibling::*[1]) = 'interfacename'\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"java\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"exceptionname\" mode=\"java\">\n  <xsl:if test=\"local-name(preceding-sibling::*[1]) = 'exceptionname'\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"java\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"fieldsynopsis\" mode=\"java\">\n  <code>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:if test=\"parent::classsynopsis\">\n      <xsl:text>&#160;&#160;</xsl:text>\n    </xsl:if>\n    <xsl:apply-templates mode=\"java\"/>\n    <xsl:text>;</xsl:text>\n  </code>\n  <xsl:call-template name=\"synop-break\"/>\n</xsl:template>\n\n<xsl:template match=\"type\" mode=\"java\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"java\"/>\n    <xsl:text>&#160;</xsl:text>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"varname\" mode=\"java\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"java\"/>\n    <xsl:text>&#160;</xsl:text>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"initializer\" mode=\"java\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:text>=&#160;</xsl:text>\n    <xsl:apply-templates mode=\"java\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"void\" mode=\"java\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:text>void&#160;</xsl:text>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"methodname\" mode=\"java\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"java\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"methodparam\" mode=\"java\">\n  <xsl:param name=\"indent\">0</xsl:param>\n  <xsl:if test=\"preceding-sibling::methodparam\">\n    <xsl:text>,</xsl:text>\n    <br/>\n    <xsl:if test=\"$indent &gt; 0\">\n      <xsl:call-template name=\"copy-string\">\n\t<xsl:with-param name=\"string\">&#160;</xsl:with-param>\n\t<xsl:with-param name=\"count\" select=\"$indent + 1\"/>\n      </xsl:call-template>\n    </xsl:if>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"java\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"parameter\" mode=\"java\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"java\"/>\n  </span>\n</xsl:template>\n\n<xsl:template mode=\"java\" match=\"constructorsynopsis|destructorsynopsis|methodsynopsis\">\n  <xsl:variable name=\"start-modifiers\" select=\"modifier[following-sibling::*[local-name(.) != 'modifier']]\"/>\n  <xsl:variable name=\"notmod\" select=\"*[local-name(.) != 'modifier']\"/>\n  <xsl:variable name=\"end-modifiers\" select=\"modifier[preceding-sibling::*[local-name(.) != 'modifier']]\"/>\n  <xsl:variable name=\"decl\">\n    <xsl:if test=\"parent::classsynopsis\">\n      <xsl:text>&#160;&#160;</xsl:text>\n    </xsl:if>\n    <xsl:apply-templates select=\"$start-modifiers\" mode=\"java\"/>\n\n    <!-- type -->\n    <xsl:if test=\"local-name($notmod[1]) != 'methodname'\">\n      <xsl:apply-templates select=\"$notmod[1]\" mode=\"java\"/>\n    </xsl:if>\n\n    <xsl:apply-templates select=\"methodname\" mode=\"java\"/>\n  </xsl:variable>\n\n  <code>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:copy-of select=\"$decl\"/>\n    <xsl:text>(</xsl:text>\n    <xsl:apply-templates select=\"methodparam\" mode=\"java\">\n      <xsl:with-param name=\"indent\" select=\"string-length($decl)\"/>\n    </xsl:apply-templates>\n    <xsl:text>)</xsl:text>\n    <xsl:if test=\"exceptionname\">\n      <br/>\n      <xsl:text>&#160;&#160;&#160;&#160;throws&#160;</xsl:text>\n      <xsl:apply-templates select=\"exceptionname\" mode=\"java\"/>\n    </xsl:if>\n    <xsl:if test=\"modifier[preceding-sibling::*[local-name(.) != 'modifier']]\">\n      <xsl:text> </xsl:text>\n      <xsl:apply-templates select=\"$end-modifiers\" mode=\"java\"/>\n    </xsl:if>\n    <xsl:text>;</xsl:text>\n  </code>\n  <xsl:call-template name=\"synop-break\"/>\n</xsl:template>\n\n<!-- ===== C++ ========================================================= -->\n\n<xsl:template match=\"classsynopsis\" mode=\"cpp\">\n  <pre>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates select=\"ooclass[1]\" mode=\"cpp\"/>\n    <xsl:if test=\"ooclass[preceding-sibling::*]\">\n      <xsl:text>: </xsl:text>\n      <xsl:apply-templates select=\"ooclass[preceding-sibling::*]\" mode=\"cpp\"/>\n      <xsl:if test=\"oointerface|ooexception\">\n        <br/>\n\t<xsl:text>&#160;&#160;&#160;&#160;</xsl:text>\n      </xsl:if>\n    </xsl:if>\n    <xsl:if test=\"oointerface\">\n      <xsl:text> implements</xsl:text>\n      <xsl:apply-templates select=\"oointerface\" mode=\"cpp\"/>\n      <xsl:if test=\"ooexception\">\n        <br/>\n\t<xsl:text>&#160;&#160;&#160;&#160;</xsl:text>\n      </xsl:if>\n    </xsl:if>\n    <xsl:if test=\"ooexception\">\n      <xsl:text> throws</xsl:text>\n      <xsl:apply-templates select=\"ooexception\" mode=\"cpp\"/>\n    </xsl:if>\n    <xsl:text>&#160;{</xsl:text>\n    <br/>\n    <xsl:apply-templates select=\"constructorsynopsis                                  |destructorsynopsis                                  |fieldsynopsis                                  |methodsynopsis                                  |classsynopsisinfo\" mode=\"cpp\"/>\n    <xsl:text>}</xsl:text>\n  </pre>\n</xsl:template>\n\n<xsl:template match=\"classsynopsisinfo\" mode=\"cpp\">\n  <xsl:apply-templates mode=\"cpp\"/>\n</xsl:template>\n\n<xsl:template match=\"ooclass|oointerface|ooexception\" mode=\"cpp\">\n  <xsl:if test=\"preceding-sibling::*\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"cpp\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"modifier|package\" mode=\"cpp\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"cpp\"/>\n    <xsl:if test=\"following-sibling::*\">\n      <xsl:text>&#160;</xsl:text>\n    </xsl:if>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"classname\" mode=\"cpp\">\n  <xsl:if test=\"local-name(preceding-sibling::*[1]) = 'classname'\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"cpp\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"interfacename\" mode=\"cpp\">\n  <xsl:if test=\"local-name(preceding-sibling::*[1]) = 'interfacename'\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"cpp\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"exceptionname\" mode=\"cpp\">\n  <xsl:if test=\"local-name(preceding-sibling::*[1]) = 'exceptionname'\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"cpp\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"fieldsynopsis\" mode=\"cpp\">\n  <code>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:if test=\"parent::classsynopsis\">\n      <xsl:text>&#160;&#160;</xsl:text>\n    </xsl:if>\n    <xsl:apply-templates mode=\"cpp\"/>\n    <xsl:text>;</xsl:text>\n  </code>\n  <xsl:call-template name=\"synop-break\"/>\n</xsl:template>\n\n<xsl:template match=\"type\" mode=\"cpp\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"cpp\"/>\n    <xsl:text>&#160;</xsl:text>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"varname\" mode=\"cpp\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"cpp\"/>\n    <xsl:text>&#160;</xsl:text>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"initializer\" mode=\"cpp\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:text>=&#160;</xsl:text>\n    <xsl:apply-templates mode=\"cpp\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"void\" mode=\"cpp\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:text>void&#160;</xsl:text>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"methodname\" mode=\"cpp\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"cpp\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"methodparam\" mode=\"cpp\">\n  <xsl:if test=\"preceding-sibling::methodparam\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"cpp\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"parameter\" mode=\"cpp\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"cpp\"/>\n  </span>\n</xsl:template>\n\n<xsl:template mode=\"cpp\" match=\"constructorsynopsis|destructorsynopsis|methodsynopsis\">\n  <xsl:variable name=\"start-modifiers\" select=\"modifier[following-sibling::*[local-name(.) != 'modifier']]\"/>\n  <xsl:variable name=\"notmod\" select=\"*[local-name(.) != 'modifier']\"/>\n  <xsl:variable name=\"end-modifiers\" select=\"modifier[preceding-sibling::*[local-name(.) != 'modifier']]\"/>\n\n  <code>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:if test=\"parent::classsynopsis\">\n      <xsl:text>&#160;&#160;</xsl:text>\n    </xsl:if>\n    <xsl:apply-templates select=\"$start-modifiers\" mode=\"cpp\"/>\n\n    <!-- type -->\n    <xsl:if test=\"local-name($notmod[1]) != 'methodname'\">\n      <xsl:apply-templates select=\"$notmod[1]\" mode=\"cpp\"/>\n    </xsl:if>\n\n    <xsl:apply-templates select=\"methodname\" mode=\"cpp\"/>\n    <xsl:text>(</xsl:text>\n    <xsl:apply-templates select=\"methodparam\" mode=\"cpp\"/>\n    <xsl:text>)</xsl:text>\n    <xsl:if test=\"exceptionname\">\n      <br/>\n      <xsl:text>&#160;&#160;&#160;&#160;throws&#160;</xsl:text>\n      <xsl:apply-templates select=\"exceptionname\" mode=\"cpp\"/>\n    </xsl:if>\n    <xsl:if test=\"modifier[preceding-sibling::*[local-name(.) != 'modifier']]\">\n      <xsl:text> </xsl:text>\n      <xsl:apply-templates select=\"$end-modifiers\" mode=\"cpp\"/>\n    </xsl:if>\n    <xsl:text>;</xsl:text>\n  </code>\n  <xsl:call-template name=\"synop-break\"/>\n</xsl:template>\n\n<!-- ===== IDL ========================================================= -->\n\n<xsl:template match=\"classsynopsis\" mode=\"idl\">\n  <pre>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:text>interface </xsl:text>\n    <xsl:apply-templates select=\"ooclass[1]\" mode=\"idl\"/>\n    <xsl:if test=\"ooclass[preceding-sibling::*]\">\n      <xsl:text>: </xsl:text>\n      <xsl:apply-templates select=\"ooclass[preceding-sibling::*]\" mode=\"idl\"/>\n      <xsl:if test=\"oointerface|ooexception\">\n        <br/>\n\t<xsl:text>&#160;&#160;&#160;&#160;</xsl:text>\n      </xsl:if>\n    </xsl:if>\n    <xsl:if test=\"oointerface\">\n      <xsl:text> implements</xsl:text>\n      <xsl:apply-templates select=\"oointerface\" mode=\"idl\"/>\n      <xsl:if test=\"ooexception\">\n        <br/>\n\t<xsl:text>&#160;&#160;&#160;&#160;</xsl:text>\n      </xsl:if>\n    </xsl:if>\n    <xsl:if test=\"ooexception\">\n      <xsl:text> throws</xsl:text>\n      <xsl:apply-templates select=\"ooexception\" mode=\"idl\"/>\n    </xsl:if>\n    <xsl:text>&#160;{</xsl:text>\n    <br/>\n    <xsl:apply-templates select=\"constructorsynopsis                                  |destructorsynopsis                                  |fieldsynopsis                                  |methodsynopsis                                  |classsynopsisinfo\" mode=\"idl\"/>\n    <xsl:text>}</xsl:text>\n  </pre>\n</xsl:template>\n\n<xsl:template match=\"classsynopsisinfo\" mode=\"idl\">\n  <xsl:apply-templates mode=\"idl\"/>\n</xsl:template>\n\n<xsl:template match=\"ooclass|oointerface|ooexception\" mode=\"idl\">\n  <xsl:if test=\"preceding-sibling::*\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"idl\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"modifier|package\" mode=\"idl\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"idl\"/>\n    <xsl:if test=\"following-sibling::*\">\n      <xsl:text>&#160;</xsl:text>\n    </xsl:if>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"classname\" mode=\"idl\">\n  <xsl:if test=\"local-name(preceding-sibling::*[1]) = 'classname'\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"idl\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"interfacename\" mode=\"idl\">\n  <xsl:if test=\"local-name(preceding-sibling::*[1]) = 'interfacename'\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"idl\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"exceptionname\" mode=\"idl\">\n  <xsl:if test=\"local-name(preceding-sibling::*[1]) = 'exceptionname'\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"idl\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"fieldsynopsis\" mode=\"idl\">\n  <code>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:if test=\"parent::classsynopsis\">\n      <xsl:text>&#160;&#160;</xsl:text>\n    </xsl:if>\n    <xsl:apply-templates mode=\"idl\"/>\n    <xsl:text>;</xsl:text>\n  </code>\n  <xsl:call-template name=\"synop-break\"/>\n</xsl:template>\n\n<xsl:template match=\"type\" mode=\"idl\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"idl\"/>\n    <xsl:text>&#160;</xsl:text>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"varname\" mode=\"idl\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"idl\"/>\n    <xsl:text>&#160;</xsl:text>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"initializer\" mode=\"idl\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:text>=&#160;</xsl:text>\n    <xsl:apply-templates mode=\"idl\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"void\" mode=\"idl\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:text>void&#160;</xsl:text>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"methodname\" mode=\"idl\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"idl\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"methodparam\" mode=\"idl\">\n  <xsl:if test=\"preceding-sibling::methodparam\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"idl\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"parameter\" mode=\"idl\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"idl\"/>\n  </span>\n</xsl:template>\n\n<xsl:template mode=\"idl\" match=\"constructorsynopsis|destructorsynopsis|methodsynopsis\">\n  <xsl:variable name=\"start-modifiers\" select=\"modifier[following-sibling::*[local-name(.) != 'modifier']]\"/>\n  <xsl:variable name=\"notmod\" select=\"*[local-name(.) != 'modifier']\"/>\n  <xsl:variable name=\"end-modifiers\" select=\"modifier[preceding-sibling::*[local-name(.) != 'modifier']]\"/>\n  <code>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:if test=\"parent::classsynopsis\">\n      <xsl:text>&#160;&#160;</xsl:text>\n    </xsl:if>\n    <xsl:apply-templates select=\"$start-modifiers\" mode=\"idl\"/>\n\n    <!-- type -->\n    <xsl:if test=\"local-name($notmod[1]) != 'methodname'\">\n      <xsl:apply-templates select=\"$notmod[1]\" mode=\"idl\"/>\n    </xsl:if>\n\n    <xsl:apply-templates select=\"methodname\" mode=\"idl\"/>\n    <xsl:text>(</xsl:text>\n    <xsl:apply-templates select=\"methodparam\" mode=\"idl\"/>\n    <xsl:text>)</xsl:text>\n    <xsl:if test=\"exceptionname\">\n      <br/>\n      <xsl:text>&#160;&#160;&#160;&#160;raises(</xsl:text>\n      <xsl:apply-templates select=\"exceptionname\" mode=\"idl\"/>\n      <xsl:text>)</xsl:text>\n    </xsl:if>\n    <xsl:if test=\"modifier[preceding-sibling::*[local-name(.) != 'modifier']]\">\n      <xsl:text> </xsl:text>\n      <xsl:apply-templates select=\"$end-modifiers\" mode=\"idl\"/>\n    </xsl:if>\n    <xsl:text>;</xsl:text>\n  </code>\n  <xsl:call-template name=\"synop-break\"/>\n</xsl:template>\n\n<!-- ===== Perl ======================================================== -->\n\n<xsl:template match=\"classsynopsis\" mode=\"perl\">\n  <pre>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:text>package </xsl:text>\n    <xsl:apply-templates select=\"ooclass[1]\" mode=\"perl\"/>\n    <xsl:text>;</xsl:text>\n    <br/>\n\n    <xsl:if test=\"ooclass[preceding-sibling::*]\">\n      <xsl:text>@ISA = (</xsl:text>\n      <xsl:apply-templates select=\"ooclass[preceding-sibling::*]\" mode=\"perl\"/>\n      <xsl:text>);</xsl:text>\n      <br/>\n    </xsl:if>\n\n    <xsl:apply-templates select=\"constructorsynopsis                                  |destructorsynopsis                                  |fieldsynopsis                                  |methodsynopsis                                  |classsynopsisinfo\" mode=\"perl\"/>\n  </pre>\n</xsl:template>\n\n<xsl:template match=\"classsynopsisinfo\" mode=\"perl\">\n  <xsl:apply-templates mode=\"perl\"/>\n</xsl:template>\n\n<xsl:template match=\"ooclass|oointerface|ooexception\" mode=\"perl\">\n  <xsl:if test=\"preceding-sibling::*\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"perl\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"modifier|package\" mode=\"perl\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"perl\"/>\n    <xsl:if test=\"following-sibling::*\">\n      <xsl:text>&#160;</xsl:text>\n    </xsl:if>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"classname\" mode=\"perl\">\n  <xsl:if test=\"local-name(preceding-sibling::*[1]) = 'classname'\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"perl\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"interfacename\" mode=\"perl\">\n  <xsl:if test=\"local-name(preceding-sibling::*[1]) = 'interfacename'\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"perl\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"exceptionname\" mode=\"perl\">\n  <xsl:if test=\"local-name(preceding-sibling::*[1]) = 'exceptionname'\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"perl\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"fieldsynopsis\" mode=\"perl\">\n  <code>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:if test=\"parent::classsynopsis\">\n      <xsl:text>&#160;&#160;</xsl:text>\n    </xsl:if>\n    <xsl:apply-templates mode=\"perl\"/>\n    <xsl:text>;</xsl:text>\n  </code>\n  <xsl:call-template name=\"synop-break\"/>\n</xsl:template>\n\n<xsl:template match=\"type\" mode=\"perl\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"perl\"/>\n    <xsl:text>&#160;</xsl:text>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"varname\" mode=\"perl\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"perl\"/>\n    <xsl:text>&#160;</xsl:text>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"initializer\" mode=\"perl\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:text>=&#160;</xsl:text>\n    <xsl:apply-templates mode=\"perl\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"void\" mode=\"perl\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:text>void&#160;</xsl:text>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"methodname\" mode=\"perl\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"perl\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"methodparam\" mode=\"perl\">\n  <xsl:if test=\"preceding-sibling::methodparam\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"perl\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"parameter\" mode=\"perl\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"perl\"/>\n  </span>\n</xsl:template>\n\n<xsl:template mode=\"perl\" match=\"constructorsynopsis|destructorsynopsis|methodsynopsis\">\n  <xsl:variable name=\"start-modifiers\" select=\"modifier[following-sibling::*[local-name(.) != 'modifier']]\"/>\n  <xsl:variable name=\"notmod\" select=\"*[local-name(.) != 'modifier']\"/>\n  <xsl:variable name=\"end-modifiers\" select=\"modifier[preceding-sibling::*[local-name(.) != 'modifier']]\"/>\n\n  <code>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:text>sub </xsl:text>\n\n    <xsl:apply-templates select=\"methodname\" mode=\"perl\"/>\n    <xsl:text> { ... };</xsl:text>\n  </code>\n  <xsl:call-template name=\"synop-break\"/>\n</xsl:template>\n\n<!-- Used when not occurring as a child of classsynopsis -->\n<xsl:template match=\"ooclass|oointerface|ooexception\">\n  <xsl:apply-templates/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<!-- * DocBook 5 allows linking elements (link, olink, and xref) -->\n<!-- * within the OO *synopsis elements (classsynopsis, fieldsynopsis, -->\n<!-- * methodsynopsis, constructorsynopsis, destructorsynopsis) and -->\n<!-- * their children. So we need to have mode=\"java|cpp|idl|perl\" -->\n<!-- * per-mode matches for those linking elements in order for them -->\n<!-- * to be processed as expected. -->\n\n<xsl:template match=\"link|olink|xref\" mode=\"java\">\n  <xsl:apply-templates select=\".\"/>\n</xsl:template>\n\n<xsl:template match=\"link|olink|xref\" mode=\"cpp\">\n  <xsl:apply-templates select=\".\"/>\n</xsl:template>\n\n<xsl:template match=\"link|olink|xref\" mode=\"idl\">\n  <xsl:apply-templates select=\".\"/>\n</xsl:template>\n\n<xsl:template match=\"link|olink|xref\" mode=\"perl\">\n  <xsl:apply-templates select=\".\"/>\n</xsl:template>\n\n<xsl:template match=\"link|olink|xref\" mode=\"ansi-nontabular\">\n  <xsl:apply-templates select=\".\"/>\n</xsl:template>\n\n<xsl:template match=\"link|olink|xref\" mode=\"ansi-tabular\">\n  <xsl:apply-templates select=\".\"/>\n</xsl:template>\n\n<xsl:template match=\"link|olink|xref\" mode=\"kr-nontabular\">\n  <xsl:apply-templates select=\".\"/>\n</xsl:template>\n\n<xsl:template match=\"link|olink|xref\" mode=\"kr-tabular\">\n  <xsl:apply-templates select=\".\"/>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/table.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:doc=\"http://nwalsh.com/xsl/documentation/1.0\" xmlns:stbl=\"http://nwalsh.com/xslt/ext/com.nwalsh.saxon.Table\" xmlns:xtbl=\"xalan://com.nwalsh.xalan.Table\" xmlns:lxslt=\"http://xml.apache.org/xslt\" xmlns:ptbl=\"http://nwalsh.com/xslt/ext/xsltproc/python/Table\" xmlns=\"http://www.w3.org/1999/xhtml\" exclude-result-prefixes=\"doc stbl xtbl lxslt ptbl\" version=\"1.0\">\n\n<xsl:include href=\"../common/table.xsl\"/>\n\n<!-- ********************************************************************\n     $Id: table.xsl 9297 2012-04-22 03:56:16Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<lxslt:component prefix=\"xtbl\" functions=\"adjustColumnWidths\"/>\n\n<xsl:template name=\"empty.table.cell\">\n  <xsl:param name=\"colnum\" select=\"0\"/>\n\n  <xsl:variable name=\"rowsep\">\n    <xsl:choose>\n      <!-- If this is the last row, rowsep never applies. -->\n      <xsl:when test=\"not(ancestor-or-self::row[1]/following-sibling::row                           or ancestor-or-self::thead/following-sibling::tbody                           or ancestor-or-self::tbody/preceding-sibling::tfoot)\">\n        <xsl:value-of select=\"0\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"inherited.table.attribute\">\n          <xsl:with-param name=\"entry\" select=\"NOT-AN-ELEMENT-NAME\"/>\n          <xsl:with-param name=\"row\" select=\"ancestor-or-self::row[1]\"/>\n          <xsl:with-param name=\"colnum\" select=\"$colnum\"/>\n          <xsl:with-param name=\"attribute\" select=\"'rowsep'\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"colsep\">\n    <xsl:choose>\n      <!-- If this is the last column, colsep never applies. -->\n      <xsl:when test=\"number($colnum) &gt;= ancestor::tgroup/@cols\">0</xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"inherited.table.attribute\">\n          <xsl:with-param name=\"entry\" select=\"NOT-AN-ELEMENT-NAME\"/>\n          <xsl:with-param name=\"row\" select=\"ancestor-or-self::row[1]\"/>\n          <xsl:with-param name=\"colnum\" select=\"$colnum\"/>\n          <xsl:with-param name=\"attribute\" select=\"'colsep'\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <td class=\"auto-generated\">\n    <xsl:if test=\"$table.borders.with.css != 0\">\n      <xsl:attribute name=\"style\">\n        <xsl:if test=\"$colsep &gt; 0\">\n          <xsl:call-template name=\"border\">\n            <xsl:with-param name=\"side\" select=\"'right'\"/>\n          </xsl:call-template>\n        </xsl:if>\n        <xsl:if test=\"$rowsep &gt; 0\">\n          <xsl:call-template name=\"border\">\n            <xsl:with-param name=\"side\" select=\"'bottom'\"/>\n          </xsl:call-template>\n        </xsl:if>\n      </xsl:attribute>\n    </xsl:if>\n    <xsl:text>&#160;</xsl:text>\n  </td>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"border\">\n  <xsl:param name=\"side\" select=\"'left'\"/>\n  <xsl:param name=\"padding\" select=\"0\"/>\n  <xsl:param name=\"style\" select=\"$table.cell.border.style\"/>\n  <xsl:param name=\"color\" select=\"$table.cell.border.color\"/>\n  <xsl:param name=\"thickness\" select=\"$table.cell.border.thickness\"/>\n\n  <!-- Note: Some browsers (mozilla) require at least a width and style. -->\n\n  <xsl:choose>\n    <xsl:when test=\"($thickness != ''                      and $style != ''                      and $color != '')                     or ($thickness != ''                         and $style != '')                     or ($thickness != '')\">\n      <!-- use the compound property if we can: -->\n      <!-- it saves space and probably works more reliably -->\n      <xsl:text>border-</xsl:text>\n      <xsl:value-of select=\"$side\"/>\n      <xsl:text>: </xsl:text>\n      <xsl:value-of select=\"$thickness\"/>\n      <xsl:text> </xsl:text>\n      <xsl:value-of select=\"$style\"/>\n      <xsl:text> </xsl:text>\n      <xsl:value-of select=\"$color\"/>\n      <xsl:text>; </xsl:text>\n    </xsl:when>\n    <xsl:otherwise>\n      <!-- we need to specify the styles individually -->\n      <xsl:if test=\"$thickness != ''\">\n        <xsl:text>border-</xsl:text>\n        <xsl:value-of select=\"$side\"/>\n        <xsl:text>-width: </xsl:text>\n        <xsl:value-of select=\"$thickness\"/>\n        <xsl:text>; </xsl:text>\n      </xsl:if>\n\n      <xsl:if test=\"$style != ''\">\n        <xsl:text>border-</xsl:text>\n        <xsl:value-of select=\"$side\"/>\n        <xsl:text>-style: </xsl:text>\n        <xsl:value-of select=\"$style\"/>\n        <xsl:text>; </xsl:text>\n      </xsl:if>\n\n      <xsl:if test=\"$color != ''\">\n        <xsl:text>border-</xsl:text>\n        <xsl:value-of select=\"$side\"/>\n        <xsl:text>-color: </xsl:text>\n        <xsl:value-of select=\"$color\"/>\n        <xsl:text>; </xsl:text>\n      </xsl:if>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"tgroup\" name=\"tgroup\">\n  <xsl:if test=\"not(@cols) or @cols = '' or string(number(@cols)) = 'NaN'\">\n    <xsl:message terminate=\"yes\">\n      <xsl:text>Error: CALS tables must specify the number of columns.</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n  <xsl:variable name=\"summary\">\n    <xsl:call-template name=\"pi.dbhtml_table-summary\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"cellspacing\">\n    <xsl:call-template name=\"pi.dbhtml_cellspacing\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"cellpadding\">\n    <xsl:call-template name=\"pi.dbhtml_cellpadding\"/>\n  </xsl:variable>\n\n  <table>\n    <xsl:choose>\n      <!-- If there's a textobject/phrase for the table summary, use it -->\n      <xsl:when test=\"../textobject/phrase\">\n        <xsl:attribute name=\"summary\">\n          <xsl:value-of select=\"../textobject/phrase\"/>\n        </xsl:attribute>\n      </xsl:when>\n\n      <!-- If there's a <?dbhtml table-summary=\"foo\"?> PI, use it for\n           the HTML table summary attribute -->\n      <xsl:when test=\"$summary != ''\">\n        <xsl:attribute name=\"summary\">\n          <xsl:value-of select=\"$summary\"/>\n        </xsl:attribute>\n      </xsl:when>\n\n      <!-- Otherwise, if there's a title, use that -->\n      <xsl:when test=\"../title\">\n        <xsl:attribute name=\"summary\">\n          <!-- This screws up on inline markup and footnotes, oh well... -->\n          <xsl:value-of select=\"string(../title)\"/>\n        </xsl:attribute>\n      </xsl:when>\n\n      <!-- Otherwise, forget the whole idea -->\n      <xsl:otherwise><!-- nevermind --></xsl:otherwise>\n    </xsl:choose>\n\n    <xsl:if test=\"$cellspacing != '' or $html.cellspacing != ''\">\n      <xsl:attribute name=\"cellspacing\">\n        <xsl:choose>\n          <xsl:when test=\"$cellspacing != ''\">\n            <xsl:value-of select=\"$cellspacing\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"$html.cellspacing\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:attribute>\n    </xsl:if>\n\n    <xsl:if test=\"$cellpadding != '' or $html.cellpadding != ''\">\n      <xsl:attribute name=\"cellpadding\">\n        <xsl:choose>\n          <xsl:when test=\"$cellpadding != ''\">\n            <xsl:value-of select=\"$cellpadding\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"$html.cellpadding\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:attribute>\n    </xsl:if>\n\n    <xsl:if test=\"../@pgwide=1 or local-name(.) = 'entrytbl'\">\n      <xsl:attribute name=\"width\">100%</xsl:attribute>\n    </xsl:if>\n\n    <xsl:choose>\n      <xsl:when test=\"$table.borders.with.css != 0\">\n        <xsl:choose>\n          <xsl:when test=\"../@frame='all' or (not(../@frame) and $default.table.frame='all')\">\n            <xsl:attribute name=\"style\">\n              <xsl:text>border-collapse: collapse;</xsl:text>\n              <xsl:call-template name=\"border\">\n                <xsl:with-param name=\"side\" select=\"'top'\"/>\n                <xsl:with-param name=\"style\" select=\"$table.frame.border.style\"/>\n                <xsl:with-param name=\"color\" select=\"$table.frame.border.color\"/>\n                <xsl:with-param name=\"thickness\" select=\"$table.frame.border.thickness\"/>\n              </xsl:call-template>\n              <xsl:call-template name=\"border\">\n                <xsl:with-param name=\"side\" select=\"'bottom'\"/>\n                <xsl:with-param name=\"style\" select=\"$table.frame.border.style\"/>\n                <xsl:with-param name=\"color\" select=\"$table.frame.border.color\"/>\n                <xsl:with-param name=\"thickness\" select=\"$table.frame.border.thickness\"/>\n              </xsl:call-template>\n              <xsl:call-template name=\"border\">\n                <xsl:with-param name=\"side\" select=\"'left'\"/>\n                <xsl:with-param name=\"style\" select=\"$table.frame.border.style\"/>\n                <xsl:with-param name=\"color\" select=\"$table.frame.border.color\"/>\n                <xsl:with-param name=\"thickness\" select=\"$table.frame.border.thickness\"/>\n              </xsl:call-template>\n              <xsl:call-template name=\"border\">\n                <xsl:with-param name=\"side\" select=\"'right'\"/>\n                <xsl:with-param name=\"style\" select=\"$table.frame.border.style\"/>\n                <xsl:with-param name=\"color\" select=\"$table.frame.border.color\"/>\n                <xsl:with-param name=\"thickness\" select=\"$table.frame.border.thickness\"/>\n              </xsl:call-template>\n            </xsl:attribute>\n          </xsl:when>\n          <xsl:when test=\"../@frame='topbot' or (not(../@frame) and $default.table.frame='topbot')\">\n            <xsl:attribute name=\"style\">\n              <xsl:text>border-collapse: collapse;</xsl:text>\n              <xsl:call-template name=\"border\">\n                <xsl:with-param name=\"side\" select=\"'top'\"/>\n                <xsl:with-param name=\"style\" select=\"$table.frame.border.style\"/>\n                <xsl:with-param name=\"color\" select=\"$table.frame.border.color\"/>\n                <xsl:with-param name=\"thickness\" select=\"$table.frame.border.thickness\"/>\n              </xsl:call-template>\n              <xsl:call-template name=\"border\">\n                <xsl:with-param name=\"side\" select=\"'bottom'\"/>\n                <xsl:with-param name=\"style\" select=\"$table.frame.border.style\"/>\n                <xsl:with-param name=\"color\" select=\"$table.frame.border.color\"/>\n                <xsl:with-param name=\"thickness\" select=\"$table.frame.border.thickness\"/>\n              </xsl:call-template>\n            </xsl:attribute>\n          </xsl:when>\n          <xsl:when test=\"../@frame='top' or (not(../@frame) and $default.table.frame='top')\">\n            <xsl:attribute name=\"style\">\n              <xsl:text>border-collapse: collapse;</xsl:text>\n              <xsl:call-template name=\"border\">\n                <xsl:with-param name=\"side\" select=\"'top'\"/>\n                <xsl:with-param name=\"style\" select=\"$table.frame.border.style\"/>\n                <xsl:with-param name=\"color\" select=\"$table.frame.border.color\"/>\n                <xsl:with-param name=\"thickness\" select=\"$table.frame.border.thickness\"/>\n              </xsl:call-template>\n            </xsl:attribute>\n          </xsl:when>\n          <xsl:when test=\"../@frame='bottom' or (not(../@frame) and $default.table.frame='bottom')\">\n            <xsl:attribute name=\"style\">\n              <xsl:text>border-collapse: collapse;</xsl:text>\n              <xsl:call-template name=\"border\">\n                <xsl:with-param name=\"side\" select=\"'bottom'\"/>\n                <xsl:with-param name=\"style\" select=\"$table.frame.border.style\"/>\n                <xsl:with-param name=\"color\" select=\"$table.frame.border.color\"/>\n                <xsl:with-param name=\"thickness\" select=\"$table.frame.border.thickness\"/>\n              </xsl:call-template>\n            </xsl:attribute>\n          </xsl:when>\n          <xsl:when test=\"../@frame='sides' or (not(../@frame) and $default.table.frame='sides')\">\n            <xsl:attribute name=\"style\">\n              <xsl:text>border-collapse: collapse;</xsl:text>\n              <xsl:call-template name=\"border\">\n                <xsl:with-param name=\"side\" select=\"'left'\"/>\n                <xsl:with-param name=\"style\" select=\"$table.frame.border.style\"/>\n                <xsl:with-param name=\"color\" select=\"$table.frame.border.color\"/>\n                <xsl:with-param name=\"thickness\" select=\"$table.frame.border.thickness\"/>\n              </xsl:call-template>\n              <xsl:call-template name=\"border\">\n                <xsl:with-param name=\"side\" select=\"'right'\"/>\n                <xsl:with-param name=\"style\" select=\"$table.frame.border.style\"/>\n                <xsl:with-param name=\"color\" select=\"$table.frame.border.color\"/>\n                <xsl:with-param name=\"thickness\" select=\"$table.frame.border.thickness\"/>\n              </xsl:call-template>\n            </xsl:attribute>\n          </xsl:when>\n          <xsl:when test=\"../@frame='none'\">\n            <xsl:attribute name=\"style\">\n              <xsl:text>border: none;</xsl:text>\n            </xsl:attribute>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:attribute name=\"style\">\n              <xsl:text>border-collapse: collapse;</xsl:text>\n            </xsl:attribute>\n          </xsl:otherwise>\n        </xsl:choose>\n\n      </xsl:when>\n      <xsl:when test=\"../@frame='none' or (not(../@frame) and $default.table.frame='none') or local-name(.) = 'entrytbl'\">\n        <xsl:attribute name=\"border\">0</xsl:attribute>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:attribute name=\"border\">1</xsl:attribute>\n      </xsl:otherwise>\n    </xsl:choose>\n\n    <xsl:variable name=\"colgroup\">\n      <colgroup>\n        <xsl:call-template name=\"generate.colgroup\">\n          <xsl:with-param name=\"cols\" select=\"@cols\"/>\n        </xsl:call-template>\n      </colgroup>\n    </xsl:variable>\n\n    <xsl:variable name=\"explicit.table.width\">\n      <xsl:call-template name=\"pi.dbhtml_table-width\">\n        <xsl:with-param name=\"node\" select=\"..\"/>\n      </xsl:call-template>\n    </xsl:variable>\n\n    <xsl:variable name=\"table.width\">\n      <xsl:choose>\n        <xsl:when test=\"$explicit.table.width != ''\">\n          <xsl:value-of select=\"$explicit.table.width\"/>\n        </xsl:when>\n        <xsl:when test=\"$default.table.width = ''\">\n          <xsl:text>100%</xsl:text>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"$default.table.width\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n\n    <xsl:if test=\"$default.table.width != ''                   or $explicit.table.width != ''\">\n      <xsl:attribute name=\"width\">\n        <xsl:choose>\n          <xsl:when test=\"contains($table.width, '%')\">\n            <xsl:value-of select=\"$table.width\"/>\n          </xsl:when>\n          <xsl:when test=\"$use.extensions != 0                           and $tablecolumns.extension != 0\">\n            <xsl:choose>\n              <xsl:when test=\"function-available('stbl:convertLength')\">\n                <xsl:value-of select=\"stbl:convertLength($table.width)\"/>\n              </xsl:when>\n              <xsl:when test=\"function-available('xtbl:convertLength')\">\n                <xsl:value-of select=\"xtbl:convertLength($table.width)\"/>\n              </xsl:when>\n              <xsl:otherwise>\n                <xsl:message terminate=\"yes\">\n                  <xsl:text>No convertLength function available.</xsl:text>\n                </xsl:message>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"$table.width\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:attribute>\n    </xsl:if>\n\n    <xsl:choose>\n      <xsl:when test=\"$use.extensions != 0                       and $tablecolumns.extension != 0\">\n        <xsl:choose>\n          <xsl:when test=\"function-available('stbl:adjustColumnWidths')\">\n            <xsl:copy-of select=\"stbl:adjustColumnWidths($colgroup)\"/>\n          </xsl:when>\n          <xsl:when test=\"function-available('xtbl:adjustColumnWidths')\">\n            <xsl:copy-of select=\"xtbl:adjustColumnWidths($colgroup)\"/>\n          </xsl:when>\n          <xsl:when test=\"function-available('ptbl:adjustColumnWidths')\">\n            <xsl:copy-of select=\"ptbl:adjustColumnWidths($colgroup)\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:message terminate=\"yes\">\n              <xsl:text>No adjustColumnWidths function available.</xsl:text>\n            </xsl:message>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:copy-of select=\"$colgroup\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n\n    <xsl:apply-templates select=\"thead\"/>\n    <xsl:apply-templates select=\"tfoot\"/>\n    <xsl:apply-templates select=\"tbody\"/>\n\n    <xsl:if test=\".//footnote|../title//footnote\">\n      <tbody class=\"footnotes\">\n        <tr>\n          <td colspan=\"{@cols}\">\n            <xsl:apply-templates select=\".//footnote|../title//footnote\" mode=\"table.footnote.mode\"/>\n          </td>\n        </tr>\n      </tbody>\n    </xsl:if>\n  </table>\n</xsl:template>\n\n<xsl:template match=\"tgroup/processing-instruction('dbhtml')\">\n  <xsl:variable name=\"summary\">\n    <xsl:call-template name=\"pi.dbhtml_table-summary\"/>\n  </xsl:variable>\n\n  <!-- Suppress the table-summary PI -->\n  <xsl:if test=\"$summary = ''\">\n    <xsl:processing-instruction name=\"dbhtml\">\n      <xsl:value-of select=\".\"/>\n    </xsl:processing-instruction>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"colspec\"/>\n\n<xsl:template match=\"spanspec\"/>\n\n<xsl:template match=\"thead|tfoot\">\n  <xsl:element name=\"{local-name(.)}\" namespace=\"http://www.w3.org/1999/xhtml\">\n    <xsl:if test=\"@align\">\n      <xsl:attribute name=\"style\"><xsl:text>text-align: </xsl:text>\n        <xsl:value-of select=\"@align\"/>\n      </xsl:attribute>\n    </xsl:if>\n    <xsl:if test=\"@char\">\n      <xsl:attribute name=\"char\">\n        <xsl:value-of select=\"@char\"/>\n      </xsl:attribute>\n    </xsl:if>\n    <xsl:if test=\"@charoff\">\n      <xsl:attribute name=\"charoff\">\n        <xsl:value-of select=\"@charoff\"/>\n      </xsl:attribute>\n    </xsl:if>\n    <xsl:if test=\"@valign\">\n      <xsl:attribute name=\"valign\">\n        <xsl:value-of select=\"@valign\"/>\n      </xsl:attribute>\n    </xsl:if>\n\n    <xsl:choose>\n      <!-- recurse on rows only if @morerows is present -->\n      <xsl:when test=\"row/entry/@morerows|row/entrytbl/@morerows\">\n        <xsl:apply-templates select=\"row[1]\">\n          <xsl:with-param name=\"spans\">\n            <xsl:call-template name=\"blank.spans\">\n              <xsl:with-param name=\"cols\" select=\"../@cols\"/>\n            </xsl:call-template>\n          </xsl:with-param>\n          <xsl:with-param name=\"browserows\" select=\"'recurse'\"/>\n        </xsl:apply-templates>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:apply-templates select=\"row\">\n          <xsl:with-param name=\"spans\">\n            <xsl:call-template name=\"blank.spans\">\n              <xsl:with-param name=\"cols\" select=\"../@cols\"/>\n            </xsl:call-template>\n          </xsl:with-param>\n          <xsl:with-param name=\"browserows\" select=\"'loop'\"/>\n        </xsl:apply-templates>\n      </xsl:otherwise>\n    </xsl:choose>\n\n  </xsl:element>\n</xsl:template>\n\n<xsl:template match=\"tbody\">\n  <tbody>\n    <xsl:if test=\"@align\">\n      <xsl:attribute name=\"style\"><xsl:text>text-align: </xsl:text>\n        <xsl:value-of select=\"@align\"/>\n      </xsl:attribute>\n    </xsl:if>\n    <xsl:if test=\"@char\">\n      <xsl:attribute name=\"char\">\n        <xsl:value-of select=\"@char\"/>\n      </xsl:attribute>\n    </xsl:if>\n    <xsl:if test=\"@charoff\">\n      <xsl:attribute name=\"charoff\">\n        <xsl:value-of select=\"@charoff\"/>\n      </xsl:attribute>\n    </xsl:if>\n    <xsl:if test=\"@valign\">\n      <xsl:attribute name=\"valign\">\n        <xsl:value-of select=\"@valign\"/>\n      </xsl:attribute>\n    </xsl:if>\n\n    <xsl:choose>\n      <xsl:when test=\"row/entry/@morerows|row/entrytbl/@morerows\">\n        <xsl:apply-templates select=\"row[1]\">\n          <xsl:with-param name=\"spans\">\n            <xsl:call-template name=\"blank.spans\">\n              <xsl:with-param name=\"cols\" select=\"../@cols\"/>\n            </xsl:call-template>\n          </xsl:with-param>\n          <xsl:with-param name=\"browserows\" select=\"'recurse'\"/>\n        </xsl:apply-templates>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:apply-templates select=\"row\">\n          <xsl:with-param name=\"spans\">\n            <xsl:call-template name=\"blank.spans\">\n              <xsl:with-param name=\"cols\" select=\"../@cols\"/>\n            </xsl:call-template>\n          </xsl:with-param>\n          <xsl:with-param name=\"browserows\" select=\"'loop'\"/>\n        </xsl:apply-templates>\n      </xsl:otherwise>\n    </xsl:choose>\n\n  </tbody>\n</xsl:template>\n\n<xsl:template match=\"row\">\n  <xsl:param name=\"spans\"/>\n  <xsl:param name=\"browserows\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"contains($spans, '0')\">\n      <xsl:call-template name=\"normal-row\">\n        <xsl:with-param name=\"spans\" select=\"$spans\"/>\n        <xsl:with-param name=\"browserows\" select=\"$browserows\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <!--\n      <xsl:message>\n        <xsl:text>Ignoring row: </xsl:text>\n        <xsl:value-of select=\"$spans\"/>\n        <xsl:text> = </xsl:text>\n        <xsl:call-template name=\"consume-row\">\n          <xsl:with-param name=\"spans\" select=\"$spans\"/>\n        </xsl:call-template>\n      </xsl:message>\n      -->\n\n      <xsl:if test=\"normalize-space(.//text()) != ''\">\n        <xsl:message>Warning: overlapped row contains content!</xsl:message>\n      </xsl:if>\n\n      <tr><xsl:comment> This row intentionally left blank </xsl:comment></tr>\n\n      <xsl:if test=\"$browserows = 'recurse'\">\n        <xsl:apply-templates select=\"following-sibling::row[1]\">\n          <xsl:with-param name=\"spans\">\n            <xsl:call-template name=\"consume-row\">\n              <xsl:with-param name=\"spans\" select=\"$spans\"/>\n            </xsl:call-template>\n          </xsl:with-param>\n          <xsl:with-param name=\"browserows\" select=\"$browserows\"/>\n        </xsl:apply-templates>\n      </xsl:if>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"normal-row\">\n  <xsl:param name=\"spans\"/>\n  <xsl:param name=\"browserows\"/>\n\n  <xsl:variable name=\"row-height\">\n    <xsl:if test=\"processing-instruction('dbhtml')\">\n      <xsl:call-template name=\"pi.dbhtml_row-height\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"bgcolor\">\n    <xsl:if test=\"processing-instruction('dbhtml')\">\n      <xsl:call-template name=\"pi.dbhtml_bgcolor\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:variable name=\"class\">\n    <xsl:if test=\"processing-instruction('dbhtml')\">\n      <xsl:call-template name=\"pi.dbhtml_class\"/>\n    </xsl:if>\n  </xsl:variable>\n\n  <tr>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"tr.attributes\">\n      <xsl:with-param name=\"rownum\">\n        <xsl:number from=\"tgroup\" count=\"row\"/>\n      </xsl:with-param>\n    </xsl:call-template>\n\n    <xsl:if test=\"$row-height != ''\">\n      <xsl:attribute name=\"height\">\n        <xsl:value-of select=\"$row-height\"/>\n      </xsl:attribute>\n    </xsl:if>\n\n    <xsl:if test=\"$bgcolor != ''\">\n      <xsl:attribute name=\"style\"><xsl:text>background-color: </xsl:text>\n        <xsl:value-of select=\"$bgcolor\"/>\n      </xsl:attribute>\n    </xsl:if>\n\n    <xsl:if test=\"$class != ''\">\n      <xsl:attribute name=\"class\">\n        <xsl:value-of select=\"$class\"/>\n      </xsl:attribute>\n    </xsl:if>\n\n    <xsl:if test=\"$table.borders.with.css != 0\">\n      <xsl:if test=\"@rowsep = 1 and following-sibling::row\">\n        <xsl:attribute name=\"style\">\n          <xsl:call-template name=\"border\">\n            <xsl:with-param name=\"side\" select=\"'bottom'\"/>\n          </xsl:call-template>\n        </xsl:attribute>\n      </xsl:if>\n    </xsl:if>\n\n    <xsl:if test=\"@align\">\n      <xsl:attribute name=\"style\"><xsl:text>text-align: </xsl:text>\n        <xsl:value-of select=\"@align\"/>\n      </xsl:attribute>\n    </xsl:if>\n    <xsl:if test=\"@char\">\n      <xsl:attribute name=\"char\">\n        <xsl:value-of select=\"@char\"/>\n      </xsl:attribute>\n    </xsl:if>\n    <xsl:if test=\"@charoff\">\n      <xsl:attribute name=\"charoff\">\n        <xsl:value-of select=\"@charoff\"/>\n      </xsl:attribute>\n    </xsl:if>\n    <xsl:if test=\"@valign\">\n      <xsl:attribute name=\"valign\">\n        <xsl:value-of select=\"@valign\"/>\n      </xsl:attribute>\n    </xsl:if>\n\n    <xsl:apply-templates select=\"(entry|entrytbl)[1]\">\n      <xsl:with-param name=\"spans\" select=\"$spans\"/>\n    </xsl:apply-templates>\n  </tr>\n\n  <xsl:if test=\"$browserows = 'recurse'\">\n    <xsl:if test=\"following-sibling::row\">\n      <xsl:variable name=\"nextspans\">\n        <xsl:apply-templates select=\"(entry|entrytbl)[1]\" mode=\"span\">\n          <xsl:with-param name=\"spans\" select=\"$spans\"/>\n        </xsl:apply-templates>\n      </xsl:variable>\n  \n      <xsl:apply-templates select=\"following-sibling::row[1]\">\n        <xsl:with-param name=\"spans\" select=\"$nextspans\"/>\n        <xsl:with-param name=\"browserows\" select=\"$browserows\"/>\n      </xsl:apply-templates>\n    </xsl:if>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"entry|entrytbl\" name=\"entry\">\n  <xsl:param name=\"col\">\n    <xsl:choose>\n      <xsl:when test=\"@revisionflag\">\n        <xsl:number from=\"row\"/>\n      </xsl:when>\n      <xsl:otherwise>1</xsl:otherwise>\n    </xsl:choose>\n  </xsl:param>\n\n  <xsl:param name=\"spans\"/>\n\n  <xsl:variable name=\"cellgi\">\n    <xsl:choose>\n      <xsl:when test=\"ancestor::thead\">th</xsl:when>\n      <xsl:when test=\"ancestor::tfoot\">th</xsl:when>\n      <xsl:when test=\"ancestor::tbody and                        (ancestor::table[@rowheader = 'firstcol'] or                       ancestor::informaltable[@rowheader = 'firstcol']) and                       ancestor-or-self::entry[1][count(preceding-sibling::entry) = 0]\">\n        <xsl:text>th</xsl:text>\n      </xsl:when>\n      <xsl:otherwise>td</xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"empty.cell\" select=\"count(node()) = 0\"/>\n\n  <xsl:variable name=\"named.colnum\">\n    <xsl:call-template name=\"entry.colnum\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"entry.colnum\">\n    <xsl:choose>\n      <xsl:when test=\"$named.colnum &gt; 0\">\n        <xsl:value-of select=\"$named.colnum\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$col\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"entry.colspan\">\n    <xsl:choose>\n      <xsl:when test=\"@spanname or @namest\">\n        <xsl:call-template name=\"calculate.colspan\"/>\n      </xsl:when>\n      <xsl:otherwise>1</xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"following.spans\">\n    <xsl:call-template name=\"calculate.following.spans\">\n      <xsl:with-param name=\"colspan\" select=\"$entry.colspan\"/>\n      <xsl:with-param name=\"spans\" select=\"$spans\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"rowsep\">\n    <xsl:choose>\n      <!-- If this is the last row, rowsep never applies. -->\n      <xsl:when test=\"ancestor::entrytbl                       and not (ancestor-or-self::row[1]/following-sibling::row)                       and not (ancestor::thead)\">\n        <xsl:value-of select=\"0\"/>\n      </xsl:when>\n      <xsl:when test=\"not(ancestor-or-self::row[1]/following-sibling::row                           or ancestor-or-self::thead/following-sibling::tbody                           or ancestor-or-self::tbody/preceding-sibling::tfoot)\">\n        <xsl:value-of select=\"0\"/>\n      </xsl:when>\n      <xsl:when test=\"@morerows and not(@morerows &lt;                   count(ancestor-or-self::row[1]/following-sibling::row))\">\n        <xsl:value-of select=\"0\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"inherited.table.attribute\">\n          <xsl:with-param name=\"entry\" select=\".\"/>\n          <xsl:with-param name=\"colnum\" select=\"$entry.colnum\"/>\n          <xsl:with-param name=\"attribute\" select=\"'rowsep'\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"colsep\">\n    <xsl:choose>\n      <!-- If this is the last column, colsep never applies. -->\n      <xsl:when test=\"$following.spans = ''\">0</xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"inherited.table.attribute\">\n          <xsl:with-param name=\"entry\" select=\".\"/>\n          <xsl:with-param name=\"colnum\" select=\"$entry.colnum\"/>\n          <xsl:with-param name=\"attribute\" select=\"'colsep'\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"valign\">\n    <xsl:call-template name=\"inherited.table.attribute\">\n      <xsl:with-param name=\"entry\" select=\".\"/>\n      <xsl:with-param name=\"colnum\" select=\"$entry.colnum\"/>\n      <xsl:with-param name=\"attribute\" select=\"'valign'\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"align\">\n    <xsl:call-template name=\"inherited.table.attribute\">\n      <xsl:with-param name=\"entry\" select=\".\"/>\n      <xsl:with-param name=\"colnum\" select=\"$entry.colnum\"/>\n      <xsl:with-param name=\"attribute\" select=\"'align'\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"char\">\n    <xsl:call-template name=\"inherited.table.attribute\">\n      <xsl:with-param name=\"entry\" select=\".\"/>\n      <xsl:with-param name=\"colnum\" select=\"$entry.colnum\"/>\n      <xsl:with-param name=\"attribute\" select=\"'char'\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"charoff\">\n    <xsl:call-template name=\"inherited.table.attribute\">\n      <xsl:with-param name=\"entry\" select=\".\"/>\n      <xsl:with-param name=\"colnum\" select=\"$entry.colnum\"/>\n      <xsl:with-param name=\"attribute\" select=\"'charoff'\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$spans != '' and not(starts-with($spans,'0:'))\">\n      <xsl:call-template name=\"entry\">\n        <xsl:with-param name=\"col\" select=\"$col+1\"/>\n        <xsl:with-param name=\"spans\" select=\"substring-after($spans,':')\"/>\n      </xsl:call-template>\n    </xsl:when>\n\n    <xsl:when test=\"number($entry.colnum) &gt; $col\">\n      <xsl:call-template name=\"empty.table.cell\"/>\n      <xsl:call-template name=\"entry\">\n        <xsl:with-param name=\"col\" select=\"$col+1\"/>\n        <xsl:with-param name=\"spans\" select=\"substring-after($spans,':')\"/>\n      </xsl:call-template>\n    </xsl:when>\n\n    <xsl:otherwise>\n      <xsl:variable name=\"bgcolor\">\n        <xsl:if test=\"processing-instruction('dbhtml')\">\n          <xsl:call-template name=\"pi.dbhtml_bgcolor\"/>\n        </xsl:if>\n      </xsl:variable>\n\n      <xsl:element name=\"{$cellgi}\" namespace=\"http://www.w3.org/1999/xhtml\">\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:if test=\"$bgcolor != ''\">\n          <xsl:attribute name=\"style\"><xsl:text>background-color: </xsl:text>\n            <xsl:value-of select=\"$bgcolor\"/>\n          </xsl:attribute>\n        </xsl:if>\n\n        <xsl:call-template name=\"locale.html.attributes\"/>\n        <xsl:choose>\n          <xsl:when test=\"$entry.propagates.style != 0 and @role\">\n            <xsl:apply-templates select=\".\" mode=\"class.attribute\">\n              <xsl:with-param name=\"class\" select=\"@role\"/>\n            </xsl:apply-templates>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:apply-templates select=\".\" mode=\"class.attribute\">\n              <xsl:with-param name=\"class\" select=\"''\"/>\n            </xsl:apply-templates>\n          </xsl:otherwise>\n        </xsl:choose>\n\n        <xsl:if test=\"$show.revisionflag and @revisionflag\">\n          <xsl:attribute name=\"class\">\n            <xsl:value-of select=\"@revisionflag\"/>\n          </xsl:attribute>\n        </xsl:if>\n\n        <xsl:if test=\"$table.borders.with.css != 0\">\n          <xsl:attribute name=\"style\">\n            <xsl:if test=\"$colsep &gt; 0\">\n              <xsl:call-template name=\"border\">\n                <xsl:with-param name=\"side\" select=\"'right'\"/>\n              </xsl:call-template>\n            </xsl:if>\n            <xsl:if test=\"$rowsep &gt; 0\">\n              <xsl:call-template name=\"border\">\n                <xsl:with-param name=\"side\" select=\"'bottom'\"/>\n              </xsl:call-template>\n            </xsl:if>\n          </xsl:attribute>\n        </xsl:if>\n\n        <xsl:if test=\"@morerows &gt; 0\">\n          <xsl:attribute name=\"rowspan\">\n            <xsl:value-of select=\"1+@morerows\"/>\n          </xsl:attribute>\n        </xsl:if>\n\n        <xsl:if test=\"$entry.colspan &gt; 1\">\n          <xsl:attribute name=\"colspan\">\n            <xsl:value-of select=\"$entry.colspan\"/>\n          </xsl:attribute>\n        </xsl:if>\n\n        <xsl:if test=\"$align != ''\">\n          <xsl:attribute name=\"style\"><xsl:text>text-align: </xsl:text>\n            <xsl:value-of select=\"$align\"/>\n          </xsl:attribute>\n        </xsl:if>\n\n        <xsl:if test=\"$valign != ''\">\n          <xsl:attribute name=\"valign\">\n            <xsl:value-of select=\"$valign\"/>\n          </xsl:attribute>\n        </xsl:if>\n\n        <xsl:if test=\"$char != ''\">\n          <xsl:attribute name=\"char\">\n            <xsl:value-of select=\"$char\"/>\n          </xsl:attribute>\n        </xsl:if>\n\n        <xsl:if test=\"$charoff != ''\">\n          <xsl:attribute name=\"charoff\">\n            <xsl:value-of select=\"$charoff\"/>\n          </xsl:attribute>\n        </xsl:if>\n\n        <xsl:if test=\"not(preceding-sibling::*) and                      (ancestor::row[1]/@id or ancestor::row[1]/@xml:id)\">\n          <xsl:call-template name=\"anchor\">\n            <xsl:with-param name=\"node\" select=\"ancestor::row[1]\"/>\n          </xsl:call-template>\n        </xsl:if>\n\n        <xsl:call-template name=\"anchor\"/>\n\n        <xsl:choose>\n          <xsl:when test=\"$empty.cell\">\n            <xsl:text>&#160;</xsl:text>\n          </xsl:when>\n          <xsl:when test=\"self::entrytbl\">\n            <xsl:call-template name=\"tgroup\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:apply-templates/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:element>\n\n      <xsl:choose>\n        <xsl:when test=\"following-sibling::entry|following-sibling::entrytbl\">\n          <xsl:apply-templates select=\"(following-sibling::entry                                        |following-sibling::entrytbl)[1]\">\n            <xsl:with-param name=\"col\" select=\"$col+$entry.colspan\"/>\n            <xsl:with-param name=\"spans\" select=\"$following.spans\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"finaltd\">\n            <xsl:with-param name=\"spans\" select=\"$following.spans\"/>\n            <xsl:with-param name=\"col\" select=\"$col+$entry.colspan\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"entry|entrytbl\" name=\"sentry\" mode=\"span\">\n  <xsl:param name=\"col\" select=\"1\"/>\n  <xsl:param name=\"spans\"/>\n\n  <xsl:variable name=\"entry.colnum\">\n    <xsl:call-template name=\"entry.colnum\"/>\n  </xsl:variable>\n\n  <xsl:variable name=\"entry.colspan\">\n    <xsl:choose>\n      <xsl:when test=\"@spanname or @namest\">\n        <xsl:call-template name=\"calculate.colspan\"/>\n      </xsl:when>\n      <xsl:otherwise>1</xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"following.spans\">\n    <xsl:call-template name=\"calculate.following.spans\">\n      <xsl:with-param name=\"colspan\" select=\"$entry.colspan\"/>\n      <xsl:with-param name=\"spans\" select=\"$spans\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$spans != '' and not(starts-with($spans,'0:'))\">\n      <xsl:value-of select=\"substring-before($spans,':')-1\"/>\n      <xsl:text>:</xsl:text>\n      <xsl:call-template name=\"sentry\">\n        <xsl:with-param name=\"col\" select=\"$col+1\"/>\n        <xsl:with-param name=\"spans\" select=\"substring-after($spans,':')\"/>\n      </xsl:call-template>\n    </xsl:when>\n\n    <xsl:when test=\"number($entry.colnum) &gt; $col\">\n      <xsl:text>0:</xsl:text>\n      <xsl:call-template name=\"sentry\">\n        <xsl:with-param name=\"col\" select=\"$col + 1\"/>\n        <xsl:with-param name=\"spans\" select=\"substring-after($spans,':')\"/>\n      </xsl:call-template>\n    </xsl:when>\n\n    <xsl:otherwise>\n      <xsl:call-template name=\"copy-string\">\n        <xsl:with-param name=\"count\" select=\"$entry.colspan\"/>\n        <xsl:with-param name=\"string\">\n          <xsl:choose>\n            <xsl:when test=\"@morerows\">\n              <xsl:value-of select=\"@morerows\"/>\n            </xsl:when>\n            <xsl:otherwise>0</xsl:otherwise>\n          </xsl:choose>\n          <xsl:text>:</xsl:text>\n        </xsl:with-param>\n      </xsl:call-template>\n\n      <xsl:choose>\n        <xsl:when test=\"following-sibling::entry|following-sibling::entrytbl\">\n          <xsl:apply-templates select=\"(following-sibling::entry                                         |following-sibling::entrytbl)[1]\" mode=\"span\">\n            <xsl:with-param name=\"col\" select=\"$col+$entry.colspan\"/>\n            <xsl:with-param name=\"spans\" select=\"$following.spans\"/>\n          </xsl:apply-templates>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"sfinaltd\">\n            <xsl:with-param name=\"spans\" select=\"$following.spans\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"generate.colgroup\">\n  <xsl:param name=\"cols\" select=\"1\"/>\n  <xsl:param name=\"count\" select=\"1\"/>\n  <xsl:choose>\n    <xsl:when test=\"$count &gt; $cols\"/>\n    <xsl:otherwise>\n      <xsl:call-template name=\"generate.col\">\n        <xsl:with-param name=\"countcol\" select=\"$count\"/>\n      </xsl:call-template>\n      <xsl:call-template name=\"generate.colgroup\">\n        <xsl:with-param name=\"cols\" select=\"$cols\"/>\n        <xsl:with-param name=\"count\" select=\"$count+1\"/>\n      </xsl:call-template>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"generate.col\">\n  <xsl:param name=\"countcol\">1</xsl:param>\n  <xsl:param name=\"colspecs\" select=\"./colspec\"/>\n  <xsl:param name=\"count\">1</xsl:param>\n  <xsl:param name=\"colnum\">1</xsl:param>\n\n  <xsl:choose>\n    <xsl:when test=\"$count&gt;count($colspecs)\">\n      <col/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:variable name=\"colspec\" select=\"$colspecs[$count=position()]\"/>\n      <xsl:variable name=\"colspec.colnum\">\n        <xsl:choose>\n          <xsl:when test=\"$colspec/@colnum\">\n            <xsl:value-of select=\"$colspec/@colnum\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:value-of select=\"$colnum\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:variable>\n\n      <xsl:choose>\n        <xsl:when test=\"$colspec.colnum=$countcol\">\n          <col>\n            <xsl:choose>\n              <xsl:when test=\"$colspec/@colwidth                             and $use.extensions != 0                             and $tablecolumns.extension != 0\">\n                <xsl:attribute name=\"width\">\n                  <xsl:choose>\n                    <xsl:when test=\"normalize-space($colspec/@colwidth) = '*'\">\n                      <xsl:value-of select=\"'1*'\"/>\n                    </xsl:when>\n                    <xsl:otherwise>\n                      <xsl:value-of select=\"$colspec/@colwidth\"/>\n                    </xsl:otherwise>\n                  </xsl:choose>\n                </xsl:attribute>\n              </xsl:when>\n              <!-- pass through to HTML if no * in colspecs -->\n              <xsl:when test=\"$colspec/@colwidth and                              not($colspec/parent::*/colspec/@colwidth[contains(.,'*')])\">\n                <xsl:attribute name=\"width\">\n                  <xsl:choose>\n                    <xsl:when test=\"normalize-space($colspec/@colwidth) = '*'\">\n                      <xsl:value-of select=\"'1*'\"/>\n                    </xsl:when>\n                    <xsl:otherwise>\n                      <xsl:value-of select=\"$colspec/@colwidth\"/>\n                    </xsl:otherwise>\n                  </xsl:choose>\n                </xsl:attribute>\n              </xsl:when>\n            </xsl:choose>\n\n            <xsl:choose>\n              <xsl:when test=\"$colspec/@align\">\n                <xsl:attribute name=\"style\"><xsl:text>text-align: </xsl:text>\n                  <xsl:value-of select=\"$colspec/@align\"/>\n                </xsl:attribute>\n              </xsl:when>\n              <!-- Suggested by Pavel ZAMPACH <zampach@nemcb.cz> -->\n              <xsl:when test=\"$colspecs/ancestor::tgroup/@align\">\n                <xsl:attribute name=\"style\"><xsl:text>text-align: </xsl:text>\n                  <xsl:value-of select=\"$colspecs/ancestor::tgroup/@align\"/>\n                </xsl:attribute>\n              </xsl:when>\n            </xsl:choose>\n\n            <xsl:if test=\"$colspec/@char\">\n              <xsl:attribute name=\"char\">\n                <xsl:value-of select=\"$colspec/@char\"/>\n              </xsl:attribute>\n            </xsl:if>\n            \n            <xsl:if test=\"$colspec/@charoff\">\n              <xsl:attribute name=\"charoff\">\n                <xsl:value-of select=\"$colspec/@charoff\"/>\n              </xsl:attribute>\n            </xsl:if>\n\n            <xsl:if test=\"$colspec/@colname\">\n              <xsl:attribute name=\"class\">\n                <xsl:value-of select=\"$colspec/@colname\"/>\n              </xsl:attribute>\n            </xsl:if>\n          </col>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"generate.col\">\n            <xsl:with-param name=\"countcol\" select=\"$countcol\"/>\n            <xsl:with-param name=\"colspecs\" select=\"$colspecs\"/>\n            <xsl:with-param name=\"count\" select=\"$count+1\"/>\n            <xsl:with-param name=\"colnum\">\n              <xsl:choose>\n                <xsl:when test=\"$colspec/@colnum\">\n                  <xsl:value-of select=\"$colspec/@colnum + 1\"/>\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:value-of select=\"$colnum + 1\"/>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:with-param>\n           </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"colspec.colwidth\">\n  <!-- when this macro is called, the current context must be an entry -->\n  <xsl:param name=\"colname\"/>\n  <!-- .. = row, ../.. = thead|tbody, ../../.. = tgroup -->\n  <xsl:param name=\"colspecs\" select=\"../../../../tgroup/colspec\"/>\n  <xsl:param name=\"count\">1</xsl:param>\n  <xsl:choose>\n    <xsl:when test=\"$count&gt;count($colspecs)\"/>\n    <xsl:otherwise>\n      <xsl:variable name=\"colspec\" select=\"$colspecs[$count=position()]\"/>\n      <xsl:choose>\n        <xsl:when test=\"$colspec/@colname=$colname\">\n          <xsl:value-of select=\"$colspec/@colwidth\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"colspec.colwidth\">\n            <xsl:with-param name=\"colname\" select=\"$colname\"/>\n            <xsl:with-param name=\"colspecs\" select=\"$colspecs\"/>\n            <xsl:with-param name=\"count\" select=\"$count+1\"/>\n          </xsl:call-template>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ====================================================================== -->\n\n<xsl:template name=\"tr.attributes\">\n  <xsl:param name=\"row\" select=\".\"/>\n  <xsl:param name=\"rownum\" select=\"0\"/>\n\n  <!-- by default, do nothing. But you might want to say:\n\n  <xsl:if test=\"$rownum mod 2 = 0\">\n    <xsl:attribute name=\"class\">oddrow</xsl:attribute>\n  </xsl:if>\n\n  -->\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/task.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: task.xsl 9363 2012-05-12 23:42:32Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"task\">\n  <xsl:variable name=\"param.placement\" select=\"substring-after(normalize-space($formal.title.placement),                                         concat(local-name(.), ' '))\"/>\n\n  <xsl:variable name=\"placement\">\n    <xsl:choose>\n      <xsl:when test=\"contains($param.placement, ' ')\">\n        <xsl:value-of select=\"substring-before($param.placement, ' ')\"/>\n      </xsl:when>\n      <xsl:when test=\"$param.placement = ''\">before</xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$param.placement\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"preamble\" select=\"*[not(self::title                               or self::titleabbrev)]\"/>\n\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n\n    <xsl:if test=\"(title or info/title) and $placement = 'before'\">\n      <xsl:call-template name=\"formal.object.heading\"/>\n    </xsl:if>\n\n    <xsl:apply-templates select=\"$preamble\"/>\n\n    <xsl:if test=\"(title or info/title) and $placement != 'before'\">\n      <xsl:call-template name=\"formal.object.heading\"/>\n    </xsl:if>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"task/title\">\n  <!-- nop -->\n</xsl:template>\n\n<xsl:template match=\"tasksummary\">\n  <xsl:call-template name=\"semiformal.object\"/>\n</xsl:template>\n\n<xsl:template match=\"tasksummary/title\"/>\n\n<xsl:template match=\"taskprerequisites\">\n  <xsl:call-template name=\"semiformal.object\"/>\n</xsl:template>\n\n<xsl:template match=\"taskprerequisites/title\"/>\n\n<xsl:template match=\"taskrelated\">\n  <xsl:call-template name=\"semiformal.object\"/>\n</xsl:template>\n\n<xsl:template match=\"taskrelated/title\"/>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/titlepage.templates.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:exsl=\"http://exslt.org/common\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\" exclude-result-prefixes=\"exsl\">\n\n<!-- This stylesheet was created by template/titlepage.xsl-->\n\n<xsl:template name=\"article.titlepage.recto\">\n  <xsl:choose>\n    <xsl:when test=\"articleinfo/title\">\n      <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"articleinfo/title\"/>\n    </xsl:when>\n    <xsl:when test=\"artheader/title\">\n      <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"artheader/title\"/>\n    </xsl:when>\n    <xsl:when test=\"info/title\">\n      <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"title\">\n      <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"title\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:choose>\n    <xsl:when test=\"articleinfo/subtitle\">\n      <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"articleinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"artheader/subtitle\">\n      <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"artheader/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"articleinfo/corpauthor\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"artheader/corpauthor\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"info/corpauthor\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"articleinfo/authorgroup\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"artheader/authorgroup\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"info/authorgroup\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"articleinfo/author\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"artheader/author\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"info/author\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"articleinfo/othercredit\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"artheader/othercredit\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"info/othercredit\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"articleinfo/releaseinfo\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"artheader/releaseinfo\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"articleinfo/copyright\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"artheader/copyright\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"info/copyright\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"articleinfo/legalnotice\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"artheader/legalnotice\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"info/legalnotice\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"articleinfo/pubdate\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"artheader/pubdate\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"info/pubdate\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"articleinfo/revision\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"artheader/revision\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"info/revision\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"articleinfo/revhistory\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"artheader/revhistory\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"info/revhistory\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"articleinfo/abstract\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"artheader/abstract\"/>\n  <xsl:apply-templates mode=\"article.titlepage.recto.auto.mode\" select=\"info/abstract\"/>\n</xsl:template>\n\n<xsl:template name=\"article.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"article.titlepage.separator\"><hr/>\n</xsl:template>\n\n<xsl:template name=\"article.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"article.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"article.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"article.titlepage.before.recto\"/>\n      <xsl:call-template name=\"article.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"article.titlepage.before.verso\"/>\n      <xsl:call-template name=\"article.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"article.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"article.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"article.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"article.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"article.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"article.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"article.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"article.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"article.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"corpauthor\" mode=\"article.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"article.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"article.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"article.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"article.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"article.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"article.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"article.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"article.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"article.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"article.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"article.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"article.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"article.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"article.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"copyright\" mode=\"article.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"article.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"article.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"article.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"article.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"article.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"article.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"article.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"article.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revision\" mode=\"article.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"article.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"article.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"article.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"article.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"article.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"article.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"article.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"article.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"set.titlepage.recto\">\n  <xsl:choose>\n    <xsl:when test=\"setinfo/title\">\n      <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"setinfo/title\"/>\n    </xsl:when>\n    <xsl:when test=\"info/title\">\n      <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"title\">\n      <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"title\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:choose>\n    <xsl:when test=\"setinfo/subtitle\">\n      <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"setinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"setinfo/corpauthor\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"info/corpauthor\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"setinfo/authorgroup\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"info/authorgroup\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"setinfo/author\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"info/author\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"setinfo/othercredit\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"info/othercredit\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"setinfo/releaseinfo\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"setinfo/copyright\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"info/copyright\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"setinfo/legalnotice\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"info/legalnotice\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"setinfo/pubdate\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"info/pubdate\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"setinfo/revision\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"info/revision\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"setinfo/revhistory\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"info/revhistory\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"setinfo/abstract\"/>\n  <xsl:apply-templates mode=\"set.titlepage.recto.auto.mode\" select=\"info/abstract\"/>\n</xsl:template>\n\n<xsl:template name=\"set.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"set.titlepage.separator\"><hr/>\n</xsl:template>\n\n<xsl:template name=\"set.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"set.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"set.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"set.titlepage.before.recto\"/>\n      <xsl:call-template name=\"set.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"set.titlepage.before.verso\"/>\n      <xsl:call-template name=\"set.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"set.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"set.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"set.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"set.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"set.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"set.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"set.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"set.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"set.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"corpauthor\" mode=\"set.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"set.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"set.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"set.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"set.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"set.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"set.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"set.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"set.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"set.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"set.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"set.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"set.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"set.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"set.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"copyright\" mode=\"set.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"set.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"set.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"set.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"set.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"set.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"set.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"set.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"set.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revision\" mode=\"set.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"set.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"set.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"set.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"set.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"set.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"set.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"set.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"set.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"book.titlepage.recto\">\n  <xsl:choose>\n    <xsl:when test=\"bookinfo/title\">\n      <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"bookinfo/title\"/>\n    </xsl:when>\n    <xsl:when test=\"info/title\">\n      <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"title\">\n      <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"title\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:choose>\n    <xsl:when test=\"bookinfo/subtitle\">\n      <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"bookinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"bookinfo/corpauthor\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"info/corpauthor\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"bookinfo/authorgroup\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"info/authorgroup\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"bookinfo/author\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"info/author\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"bookinfo/othercredit\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"info/othercredit\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"bookinfo/releaseinfo\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"bookinfo/copyright\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"info/copyright\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"bookinfo/legalnotice\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"info/legalnotice\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"bookinfo/pubdate\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"info/pubdate\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"bookinfo/revision\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"info/revision\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"bookinfo/revhistory\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"info/revhistory\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"bookinfo/abstract\"/>\n  <xsl:apply-templates mode=\"book.titlepage.recto.auto.mode\" select=\"info/abstract\"/>\n</xsl:template>\n\n<xsl:template name=\"book.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"book.titlepage.separator\"><hr/>\n</xsl:template>\n\n<xsl:template name=\"book.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"book.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"book.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"book.titlepage.before.recto\"/>\n      <xsl:call-template name=\"book.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"book.titlepage.before.verso\"/>\n      <xsl:call-template name=\"book.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"book.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"book.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"book.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"book.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"book.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"book.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"book.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"book.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"book.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"corpauthor\" mode=\"book.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"book.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"book.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"book.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"book.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"book.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"book.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"book.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"book.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"book.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"book.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"book.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"book.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"book.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"book.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"copyright\" mode=\"book.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"book.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"book.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"book.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"book.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"book.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"book.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"book.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"book.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revision\" mode=\"book.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"book.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"book.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"book.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"book.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"book.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"book.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"book.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"book.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"part.titlepage.recto\">\n  <div xsl:use-attribute-sets=\"part.titlepage.recto.style\">\n<xsl:call-template name=\"division.title\">\n<xsl:with-param name=\"node\" select=\"ancestor-or-self::part[1]\"/>\n</xsl:call-template></div>\n  <xsl:choose>\n    <xsl:when test=\"partinfo/subtitle\">\n      <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"partinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/subtitle\">\n      <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"docinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"partinfo/corpauthor\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"docinfo/corpauthor\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"info/corpauthor\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"partinfo/authorgroup\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"docinfo/authorgroup\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"info/authorgroup\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"partinfo/author\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"docinfo/author\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"info/author\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"partinfo/othercredit\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"docinfo/othercredit\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"info/othercredit\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"partinfo/releaseinfo\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"docinfo/releaseinfo\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"partinfo/copyright\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"docinfo/copyright\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"info/copyright\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"partinfo/legalnotice\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"docinfo/legalnotice\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"info/legalnotice\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"partinfo/pubdate\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"docinfo/pubdate\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"info/pubdate\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"partinfo/revision\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"docinfo/revision\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"info/revision\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"partinfo/revhistory\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"docinfo/revhistory\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"info/revhistory\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"partinfo/abstract\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"docinfo/abstract\"/>\n  <xsl:apply-templates mode=\"part.titlepage.recto.auto.mode\" select=\"info/abstract\"/>\n</xsl:template>\n\n<xsl:template name=\"part.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"part.titlepage.separator\">\n</xsl:template>\n\n<xsl:template name=\"part.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"part.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"part.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"part.titlepage.before.recto\"/>\n      <xsl:call-template name=\"part.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"part.titlepage.before.verso\"/>\n      <xsl:call-template name=\"part.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"part.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"part.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"part.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"part.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"part.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"part.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"corpauthor\" mode=\"part.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"part.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"part.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"part.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"part.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"part.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"part.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"part.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"part.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"part.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"part.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"part.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"part.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"part.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"part.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"copyright\" mode=\"part.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"part.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"part.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"part.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"part.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"part.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"part.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"part.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"part.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revision\" mode=\"part.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"part.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"part.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"part.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"part.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"part.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"part.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"part.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"part.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"partintro.titlepage.recto\">\n  <xsl:choose>\n    <xsl:when test=\"partintroinfo/title\">\n      <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"partintroinfo/title\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/title\">\n      <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"docinfo/title\"/>\n    </xsl:when>\n    <xsl:when test=\"info/title\">\n      <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"title\">\n      <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"title\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:choose>\n    <xsl:when test=\"partintroinfo/subtitle\">\n      <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"partintroinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/subtitle\">\n      <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"docinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"partintroinfo/corpauthor\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"docinfo/corpauthor\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"info/corpauthor\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"partintroinfo/authorgroup\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"docinfo/authorgroup\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"info/authorgroup\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"partintroinfo/author\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"docinfo/author\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"info/author\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"partintroinfo/othercredit\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"docinfo/othercredit\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"info/othercredit\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"partintroinfo/releaseinfo\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"docinfo/releaseinfo\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"partintroinfo/copyright\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"docinfo/copyright\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"info/copyright\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"partintroinfo/legalnotice\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"docinfo/legalnotice\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"info/legalnotice\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"partintroinfo/pubdate\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"docinfo/pubdate\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"info/pubdate\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"partintroinfo/revision\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"docinfo/revision\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"info/revision\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"partintroinfo/revhistory\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"docinfo/revhistory\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"info/revhistory\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"partintroinfo/abstract\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"docinfo/abstract\"/>\n  <xsl:apply-templates mode=\"partintro.titlepage.recto.auto.mode\" select=\"info/abstract\"/>\n</xsl:template>\n\n<xsl:template name=\"partintro.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"partintro.titlepage.separator\">\n</xsl:template>\n\n<xsl:template name=\"partintro.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"partintro.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"partintro.titlepage\">\n  <div>\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"partintro.titlepage.before.recto\"/>\n      <xsl:call-template name=\"partintro.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"partintro.titlepage.before.verso\"/>\n      <xsl:call-template name=\"partintro.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"partintro.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"partintro.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"partintro.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"partintro.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"partintro.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"partintro.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"partintro.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"partintro.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"partintro.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"corpauthor\" mode=\"partintro.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"partintro.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"partintro.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"partintro.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"partintro.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"partintro.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"partintro.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"partintro.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"partintro.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"partintro.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"partintro.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"partintro.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"partintro.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"partintro.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"partintro.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"copyright\" mode=\"partintro.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"partintro.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"partintro.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"partintro.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"partintro.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"partintro.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"partintro.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"partintro.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"partintro.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revision\" mode=\"partintro.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"partintro.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"partintro.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"partintro.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"partintro.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"partintro.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"partintro.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"partintro.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"partintro.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"reference.titlepage.recto\">\n  <xsl:choose>\n    <xsl:when test=\"referenceinfo/title\">\n      <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"referenceinfo/title\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/title\">\n      <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"docinfo/title\"/>\n    </xsl:when>\n    <xsl:when test=\"info/title\">\n      <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"title\">\n      <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"title\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:choose>\n    <xsl:when test=\"referenceinfo/subtitle\">\n      <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"referenceinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/subtitle\">\n      <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"docinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"referenceinfo/corpauthor\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"docinfo/corpauthor\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"info/corpauthor\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"referenceinfo/authorgroup\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"docinfo/authorgroup\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"info/authorgroup\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"referenceinfo/author\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"docinfo/author\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"info/author\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"referenceinfo/othercredit\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"docinfo/othercredit\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"info/othercredit\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"referenceinfo/releaseinfo\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"docinfo/releaseinfo\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"referenceinfo/copyright\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"docinfo/copyright\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"info/copyright\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"referenceinfo/legalnotice\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"docinfo/legalnotice\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"info/legalnotice\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"referenceinfo/pubdate\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"docinfo/pubdate\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"info/pubdate\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"referenceinfo/revision\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"docinfo/revision\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"info/revision\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"referenceinfo/revhistory\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"docinfo/revhistory\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"info/revhistory\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"referenceinfo/abstract\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"docinfo/abstract\"/>\n  <xsl:apply-templates mode=\"reference.titlepage.recto.auto.mode\" select=\"info/abstract\"/>\n</xsl:template>\n\n<xsl:template name=\"reference.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"reference.titlepage.separator\"><hr/>\n</xsl:template>\n\n<xsl:template name=\"reference.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"reference.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"reference.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"reference.titlepage.before.recto\"/>\n      <xsl:call-template name=\"reference.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"reference.titlepage.before.verso\"/>\n      <xsl:call-template name=\"reference.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"reference.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"reference.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"reference.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"reference.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"reference.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"reference.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"reference.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"reference.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"reference.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"corpauthor\" mode=\"reference.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"reference.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"reference.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"reference.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"reference.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"reference.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"reference.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"reference.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"reference.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"reference.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"reference.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"reference.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"reference.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"reference.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"reference.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"copyright\" mode=\"reference.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"reference.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"reference.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"reference.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"reference.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"reference.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"reference.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"reference.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"reference.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revision\" mode=\"reference.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"reference.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"reference.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"reference.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"reference.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"reference.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"reference.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"reference.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"reference.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"refentry.titlepage.recto\">\n</xsl:template>\n\n<xsl:template name=\"refentry.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"refentry.titlepage.separator\">\n</xsl:template>\n\n<xsl:template name=\"refentry.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"refentry.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"refentry.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"refentry.titlepage.before.recto\"/>\n      <xsl:call-template name=\"refentry.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"refentry.titlepage.before.verso\"/>\n      <xsl:call-template name=\"refentry.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"refentry.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"refentry.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"refentry.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template name=\"dedication.titlepage.recto\">\n  <div xsl:use-attribute-sets=\"dedication.titlepage.recto.style\">\n<xsl:call-template name=\"component.title\">\n<xsl:with-param name=\"node\" select=\"ancestor-or-self::dedication[1]\"/>\n</xsl:call-template></div>\n  <xsl:choose>\n    <xsl:when test=\"dedicationinfo/subtitle\">\n      <xsl:apply-templates mode=\"dedication.titlepage.recto.auto.mode\" select=\"dedicationinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/subtitle\">\n      <xsl:apply-templates mode=\"dedication.titlepage.recto.auto.mode\" select=\"docinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"dedication.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"dedication.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n</xsl:template>\n\n<xsl:template name=\"dedication.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"dedication.titlepage.separator\">\n</xsl:template>\n\n<xsl:template name=\"dedication.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"dedication.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"dedication.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"dedication.titlepage.before.recto\"/>\n      <xsl:call-template name=\"dedication.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"dedication.titlepage.before.verso\"/>\n      <xsl:call-template name=\"dedication.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"dedication.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"dedication.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"dedication.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"dedication.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"dedication.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"dedication.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"acknowledgements.titlepage.recto\">\n  <div xsl:use-attribute-sets=\"acknowledgements.titlepage.recto.style\">\n<xsl:call-template name=\"component.title\">\n<xsl:with-param name=\"node\" select=\"ancestor-or-self::acknowledgements[1]\"/>\n</xsl:call-template></div>\n  <xsl:choose>\n    <xsl:when test=\"acknowledgementsinfo/subtitle\">\n      <xsl:apply-templates mode=\"acknowledgements.titlepage.recto.auto.mode\" select=\"acknowledgementsinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/subtitle\">\n      <xsl:apply-templates mode=\"acknowledgements.titlepage.recto.auto.mode\" select=\"docinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"acknowledgements.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"acknowledgements.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n</xsl:template>\n\n<xsl:template name=\"acknowledgements.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"acknowledgements.titlepage.separator\">\n</xsl:template>\n\n<xsl:template name=\"acknowledgements.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"acknowledgements.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"acknowledgements.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"acknowledgements.titlepage.before.recto\"/>\n      <xsl:call-template name=\"acknowledgements.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"acknowledgements.titlepage.before.verso\"/>\n      <xsl:call-template name=\"acknowledgements.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"acknowledgements.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"acknowledgements.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"acknowledgements.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"acknowledgements.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"acknowledgements.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"acknowledgements.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"preface.titlepage.recto\">\n  <xsl:choose>\n    <xsl:when test=\"prefaceinfo/title\">\n      <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"prefaceinfo/title\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/title\">\n      <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"docinfo/title\"/>\n    </xsl:when>\n    <xsl:when test=\"info/title\">\n      <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"title\">\n      <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"title\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:choose>\n    <xsl:when test=\"prefaceinfo/subtitle\">\n      <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"prefaceinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/subtitle\">\n      <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"docinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"prefaceinfo/corpauthor\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"docinfo/corpauthor\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"info/corpauthor\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"prefaceinfo/authorgroup\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"docinfo/authorgroup\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"info/authorgroup\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"prefaceinfo/author\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"docinfo/author\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"info/author\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"prefaceinfo/othercredit\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"docinfo/othercredit\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"info/othercredit\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"prefaceinfo/releaseinfo\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"docinfo/releaseinfo\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"prefaceinfo/copyright\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"docinfo/copyright\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"info/copyright\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"prefaceinfo/legalnotice\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"docinfo/legalnotice\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"info/legalnotice\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"prefaceinfo/pubdate\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"docinfo/pubdate\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"info/pubdate\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"prefaceinfo/revision\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"docinfo/revision\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"info/revision\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"prefaceinfo/revhistory\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"docinfo/revhistory\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"info/revhistory\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"prefaceinfo/abstract\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"docinfo/abstract\"/>\n  <xsl:apply-templates mode=\"preface.titlepage.recto.auto.mode\" select=\"info/abstract\"/>\n</xsl:template>\n\n<xsl:template name=\"preface.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"preface.titlepage.separator\">\n</xsl:template>\n\n<xsl:template name=\"preface.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"preface.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"preface.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"preface.titlepage.before.recto\"/>\n      <xsl:call-template name=\"preface.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"preface.titlepage.before.verso\"/>\n      <xsl:call-template name=\"preface.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"preface.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"preface.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"preface.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"preface.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"preface.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"preface.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"preface.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"preface.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"preface.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"corpauthor\" mode=\"preface.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"preface.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"preface.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"preface.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"preface.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"preface.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"preface.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"preface.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"preface.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"preface.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"preface.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"preface.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"preface.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"preface.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"preface.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"copyright\" mode=\"preface.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"preface.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"preface.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"preface.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"preface.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"preface.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"preface.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"preface.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"preface.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revision\" mode=\"preface.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"preface.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"preface.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"preface.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"preface.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"preface.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"preface.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"preface.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"preface.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"chapter.titlepage.recto\">\n  <xsl:choose>\n    <xsl:when test=\"chapterinfo/title\">\n      <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"chapterinfo/title\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/title\">\n      <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"docinfo/title\"/>\n    </xsl:when>\n    <xsl:when test=\"info/title\">\n      <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"title\">\n      <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"title\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:choose>\n    <xsl:when test=\"chapterinfo/subtitle\">\n      <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"chapterinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/subtitle\">\n      <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"docinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"chapterinfo/corpauthor\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"docinfo/corpauthor\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"info/corpauthor\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"chapterinfo/authorgroup\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"docinfo/authorgroup\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"info/authorgroup\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"chapterinfo/author\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"docinfo/author\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"info/author\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"chapterinfo/othercredit\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"docinfo/othercredit\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"info/othercredit\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"chapterinfo/releaseinfo\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"docinfo/releaseinfo\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"chapterinfo/copyright\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"docinfo/copyright\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"info/copyright\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"chapterinfo/legalnotice\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"docinfo/legalnotice\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"info/legalnotice\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"chapterinfo/pubdate\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"docinfo/pubdate\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"info/pubdate\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"chapterinfo/revision\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"docinfo/revision\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"info/revision\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"chapterinfo/revhistory\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"docinfo/revhistory\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"info/revhistory\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"chapterinfo/abstract\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"docinfo/abstract\"/>\n  <xsl:apply-templates mode=\"chapter.titlepage.recto.auto.mode\" select=\"info/abstract\"/>\n</xsl:template>\n\n<xsl:template name=\"chapter.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"chapter.titlepage.separator\">\n</xsl:template>\n\n<xsl:template name=\"chapter.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"chapter.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"chapter.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"chapter.titlepage.before.recto\"/>\n      <xsl:call-template name=\"chapter.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"chapter.titlepage.before.verso\"/>\n      <xsl:call-template name=\"chapter.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"chapter.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"chapter.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"chapter.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"chapter.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"chapter.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"chapter.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"chapter.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"chapter.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"chapter.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"corpauthor\" mode=\"chapter.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"chapter.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"chapter.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"chapter.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"chapter.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"chapter.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"chapter.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"chapter.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"chapter.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"chapter.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"chapter.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"chapter.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"chapter.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"chapter.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"chapter.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"copyright\" mode=\"chapter.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"chapter.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"chapter.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"chapter.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"chapter.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"chapter.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"chapter.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"chapter.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"chapter.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revision\" mode=\"chapter.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"chapter.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"chapter.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"chapter.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"chapter.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"chapter.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"chapter.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"chapter.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"chapter.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"topic.titlepage.recto\">\n  <xsl:choose>\n    <xsl:when test=\"topicinfo/title\">\n      <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"topicinfo/title\"/>\n    </xsl:when>\n    <xsl:when test=\"info/title\">\n      <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"title\">\n      <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"title\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:choose>\n    <xsl:when test=\"topicinfo/subtitle\">\n      <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"topicinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"topicinfo/corpauthor\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"info/corpauthor\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"topicinfo/authorgroup\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"info/authorgroup\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"topicinfo/author\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"info/author\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"topicinfo/othercredit\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"info/othercredit\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"topicinfo/releaseinfo\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"topicinfo/copyright\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"info/copyright\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"topicinfo/legalnotice\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"info/legalnotice\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"topicinfo/pubdate\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"info/pubdate\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"topicinfo/revision\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"info/revision\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"topicinfo/revhistory\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"info/revhistory\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"topicinfo/abstract\"/>\n  <xsl:apply-templates mode=\"topic.titlepage.recto.auto.mode\" select=\"info/abstract\"/>\n</xsl:template>\n\n<xsl:template name=\"topic.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"topic.titlepage.separator\">\n</xsl:template>\n\n<xsl:template name=\"topic.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"topic.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"topic.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"topic.titlepage.before.recto\"/>\n      <xsl:call-template name=\"topic.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"topic.titlepage.before.verso\"/>\n      <xsl:call-template name=\"topic.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"topic.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"topic.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"topic.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"topic.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"topic.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"topic.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"topic.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"topic.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"topic.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"corpauthor\" mode=\"topic.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"topic.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"topic.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"topic.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"topic.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"topic.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"topic.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"topic.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"topic.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"topic.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"topic.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"topic.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"topic.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"topic.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"topic.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"copyright\" mode=\"topic.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"topic.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"topic.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"topic.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"topic.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"topic.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"topic.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"topic.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"topic.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revision\" mode=\"topic.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"topic.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"topic.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"topic.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"topic.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"topic.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"topic.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"topic.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"topic.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"appendix.titlepage.recto\">\n  <xsl:choose>\n    <xsl:when test=\"appendixinfo/title\">\n      <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"appendixinfo/title\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/title\">\n      <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"docinfo/title\"/>\n    </xsl:when>\n    <xsl:when test=\"info/title\">\n      <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"title\">\n      <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"title\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:choose>\n    <xsl:when test=\"appendixinfo/subtitle\">\n      <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"appendixinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/subtitle\">\n      <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"docinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"appendixinfo/corpauthor\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"docinfo/corpauthor\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"info/corpauthor\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"appendixinfo/authorgroup\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"docinfo/authorgroup\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"info/authorgroup\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"appendixinfo/author\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"docinfo/author\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"info/author\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"appendixinfo/othercredit\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"docinfo/othercredit\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"info/othercredit\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"appendixinfo/releaseinfo\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"docinfo/releaseinfo\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"appendixinfo/copyright\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"docinfo/copyright\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"info/copyright\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"appendixinfo/legalnotice\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"docinfo/legalnotice\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"info/legalnotice\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"appendixinfo/pubdate\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"docinfo/pubdate\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"info/pubdate\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"appendixinfo/revision\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"docinfo/revision\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"info/revision\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"appendixinfo/revhistory\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"docinfo/revhistory\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"info/revhistory\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"appendixinfo/abstract\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"docinfo/abstract\"/>\n  <xsl:apply-templates mode=\"appendix.titlepage.recto.auto.mode\" select=\"info/abstract\"/>\n</xsl:template>\n\n<xsl:template name=\"appendix.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"appendix.titlepage.separator\">\n</xsl:template>\n\n<xsl:template name=\"appendix.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"appendix.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"appendix.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"appendix.titlepage.before.recto\"/>\n      <xsl:call-template name=\"appendix.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"appendix.titlepage.before.verso\"/>\n      <xsl:call-template name=\"appendix.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"appendix.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"appendix.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"appendix.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"appendix.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"appendix.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"appendix.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"appendix.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"appendix.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"appendix.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"corpauthor\" mode=\"appendix.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"appendix.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"appendix.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"appendix.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"appendix.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"appendix.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"appendix.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"appendix.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"appendix.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"appendix.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"appendix.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"appendix.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"appendix.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"appendix.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"appendix.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"copyright\" mode=\"appendix.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"appendix.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"appendix.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"appendix.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"appendix.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"appendix.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"appendix.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"appendix.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"appendix.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revision\" mode=\"appendix.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"appendix.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"appendix.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"appendix.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"appendix.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"appendix.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"appendix.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"appendix.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"appendix.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"section.titlepage.recto\">\n  <xsl:choose>\n    <xsl:when test=\"sectioninfo/title\">\n      <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"sectioninfo/title\"/>\n    </xsl:when>\n    <xsl:when test=\"info/title\">\n      <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"title\">\n      <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"title\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:choose>\n    <xsl:when test=\"sectioninfo/subtitle\">\n      <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"sectioninfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"sectioninfo/corpauthor\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"info/corpauthor\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"sectioninfo/authorgroup\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"info/authorgroup\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"sectioninfo/author\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"info/author\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"sectioninfo/othercredit\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"info/othercredit\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"sectioninfo/releaseinfo\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"sectioninfo/copyright\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"info/copyright\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"sectioninfo/legalnotice\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"info/legalnotice\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"sectioninfo/pubdate\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"info/pubdate\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"sectioninfo/revision\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"info/revision\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"sectioninfo/revhistory\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"info/revhistory\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"sectioninfo/abstract\"/>\n  <xsl:apply-templates mode=\"section.titlepage.recto.auto.mode\" select=\"info/abstract\"/>\n</xsl:template>\n\n<xsl:template name=\"section.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"section.titlepage.separator\"><xsl:if test=\"count(parent::*)='0'\"><hr/></xsl:if>\n</xsl:template>\n\n<xsl:template name=\"section.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"section.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"section.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"section.titlepage.before.recto\"/>\n      <xsl:call-template name=\"section.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"section.titlepage.before.verso\"/>\n      <xsl:call-template name=\"section.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"section.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"section.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"section.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"section.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"section.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"section.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"section.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"section.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"section.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"corpauthor\" mode=\"section.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"section.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"section.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"section.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"section.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"section.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"section.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"section.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"section.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"section.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"section.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"section.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"section.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"section.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"section.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"copyright\" mode=\"section.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"section.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"section.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"section.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"section.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"section.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"section.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"section.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"section.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revision\" mode=\"section.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"section.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"section.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"section.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"section.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"section.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"section.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"section.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"section.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"sect1.titlepage.recto\">\n  <xsl:choose>\n    <xsl:when test=\"sect1info/title\">\n      <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"sect1info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"info/title\">\n      <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"title\">\n      <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"title\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:choose>\n    <xsl:when test=\"sect1info/subtitle\">\n      <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"sect1info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"sect1info/corpauthor\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"info/corpauthor\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"sect1info/authorgroup\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"info/authorgroup\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"sect1info/author\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"info/author\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"sect1info/othercredit\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"info/othercredit\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"sect1info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"sect1info/copyright\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"info/copyright\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"sect1info/legalnotice\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"info/legalnotice\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"sect1info/pubdate\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"info/pubdate\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"sect1info/revision\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"info/revision\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"sect1info/revhistory\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"info/revhistory\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"sect1info/abstract\"/>\n  <xsl:apply-templates mode=\"sect1.titlepage.recto.auto.mode\" select=\"info/abstract\"/>\n</xsl:template>\n\n<xsl:template name=\"sect1.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"sect1.titlepage.separator\"><xsl:if test=\"count(parent::*)='0'\"><hr/></xsl:if>\n</xsl:template>\n\n<xsl:template name=\"sect1.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"sect1.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"sect1.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"sect1.titlepage.before.recto\"/>\n      <xsl:call-template name=\"sect1.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"sect1.titlepage.before.verso\"/>\n      <xsl:call-template name=\"sect1.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"sect1.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"sect1.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"sect1.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"sect1.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect1.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect1.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"sect1.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect1.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect1.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"corpauthor\" mode=\"sect1.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect1.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect1.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"sect1.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect1.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect1.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"sect1.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect1.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect1.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"sect1.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect1.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect1.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"sect1.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect1.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect1.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"copyright\" mode=\"sect1.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect1.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect1.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"sect1.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect1.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect1.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"sect1.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect1.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect1.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revision\" mode=\"sect1.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect1.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect1.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"sect1.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect1.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect1.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"sect1.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect1.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect1.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"sect2.titlepage.recto\">\n  <xsl:choose>\n    <xsl:when test=\"sect2info/title\">\n      <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"sect2info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"info/title\">\n      <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"title\">\n      <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"title\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:choose>\n    <xsl:when test=\"sect2info/subtitle\">\n      <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"sect2info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"sect2info/corpauthor\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"info/corpauthor\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"sect2info/authorgroup\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"info/authorgroup\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"sect2info/author\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"info/author\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"sect2info/othercredit\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"info/othercredit\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"sect2info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"sect2info/copyright\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"info/copyright\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"sect2info/legalnotice\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"info/legalnotice\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"sect2info/pubdate\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"info/pubdate\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"sect2info/revision\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"info/revision\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"sect2info/revhistory\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"info/revhistory\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"sect2info/abstract\"/>\n  <xsl:apply-templates mode=\"sect2.titlepage.recto.auto.mode\" select=\"info/abstract\"/>\n</xsl:template>\n\n<xsl:template name=\"sect2.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"sect2.titlepage.separator\"><xsl:if test=\"count(parent::*)='0'\"><hr/></xsl:if>\n</xsl:template>\n\n<xsl:template name=\"sect2.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"sect2.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"sect2.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"sect2.titlepage.before.recto\"/>\n      <xsl:call-template name=\"sect2.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"sect2.titlepage.before.verso\"/>\n      <xsl:call-template name=\"sect2.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"sect2.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"sect2.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"sect2.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"sect2.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect2.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect2.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"sect2.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect2.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect2.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"corpauthor\" mode=\"sect2.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect2.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect2.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"sect2.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect2.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect2.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"sect2.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect2.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect2.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"sect2.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect2.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect2.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"sect2.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect2.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect2.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"copyright\" mode=\"sect2.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect2.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect2.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"sect2.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect2.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect2.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"sect2.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect2.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect2.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revision\" mode=\"sect2.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect2.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect2.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"sect2.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect2.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect2.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"sect2.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect2.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect2.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"sect3.titlepage.recto\">\n  <xsl:choose>\n    <xsl:when test=\"sect3info/title\">\n      <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"sect3info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"info/title\">\n      <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"title\">\n      <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"title\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:choose>\n    <xsl:when test=\"sect3info/subtitle\">\n      <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"sect3info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"sect3info/corpauthor\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"info/corpauthor\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"sect3info/authorgroup\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"info/authorgroup\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"sect3info/author\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"info/author\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"sect3info/othercredit\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"info/othercredit\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"sect3info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"sect3info/copyright\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"info/copyright\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"sect3info/legalnotice\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"info/legalnotice\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"sect3info/pubdate\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"info/pubdate\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"sect3info/revision\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"info/revision\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"sect3info/revhistory\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"info/revhistory\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"sect3info/abstract\"/>\n  <xsl:apply-templates mode=\"sect3.titlepage.recto.auto.mode\" select=\"info/abstract\"/>\n</xsl:template>\n\n<xsl:template name=\"sect3.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"sect3.titlepage.separator\"><xsl:if test=\"count(parent::*)='0'\"><hr/></xsl:if>\n</xsl:template>\n\n<xsl:template name=\"sect3.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"sect3.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"sect3.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"sect3.titlepage.before.recto\"/>\n      <xsl:call-template name=\"sect3.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"sect3.titlepage.before.verso\"/>\n      <xsl:call-template name=\"sect3.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"sect3.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"sect3.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"sect3.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"sect3.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect3.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect3.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"sect3.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect3.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect3.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"corpauthor\" mode=\"sect3.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect3.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect3.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"sect3.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect3.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect3.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"sect3.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect3.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect3.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"sect3.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect3.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect3.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"sect3.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect3.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect3.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"copyright\" mode=\"sect3.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect3.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect3.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"sect3.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect3.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect3.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"sect3.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect3.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect3.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revision\" mode=\"sect3.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect3.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect3.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"sect3.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect3.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect3.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"sect3.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect3.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect3.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"sect4.titlepage.recto\">\n  <xsl:choose>\n    <xsl:when test=\"sect4info/title\">\n      <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"sect4info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"info/title\">\n      <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"title\">\n      <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"title\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:choose>\n    <xsl:when test=\"sect4info/subtitle\">\n      <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"sect4info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"sect4info/corpauthor\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"info/corpauthor\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"sect4info/authorgroup\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"info/authorgroup\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"sect4info/author\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"info/author\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"sect4info/othercredit\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"info/othercredit\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"sect4info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"sect4info/copyright\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"info/copyright\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"sect4info/legalnotice\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"info/legalnotice\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"sect4info/pubdate\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"info/pubdate\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"sect4info/revision\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"info/revision\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"sect4info/revhistory\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"info/revhistory\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"sect4info/abstract\"/>\n  <xsl:apply-templates mode=\"sect4.titlepage.recto.auto.mode\" select=\"info/abstract\"/>\n</xsl:template>\n\n<xsl:template name=\"sect4.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"sect4.titlepage.separator\"><xsl:if test=\"count(parent::*)='0'\"><hr/></xsl:if>\n</xsl:template>\n\n<xsl:template name=\"sect4.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"sect4.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"sect4.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"sect4.titlepage.before.recto\"/>\n      <xsl:call-template name=\"sect4.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"sect4.titlepage.before.verso\"/>\n      <xsl:call-template name=\"sect4.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"sect4.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"sect4.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"sect4.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"sect4.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect4.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect4.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"sect4.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect4.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect4.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"corpauthor\" mode=\"sect4.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect4.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect4.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"sect4.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect4.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect4.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"sect4.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect4.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect4.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"sect4.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect4.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect4.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"sect4.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect4.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect4.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"copyright\" mode=\"sect4.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect4.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect4.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"sect4.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect4.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect4.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"sect4.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect4.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect4.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revision\" mode=\"sect4.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect4.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect4.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"sect4.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect4.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect4.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"sect4.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect4.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect4.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"sect5.titlepage.recto\">\n  <xsl:choose>\n    <xsl:when test=\"sect5info/title\">\n      <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"sect5info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"info/title\">\n      <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"title\">\n      <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"title\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:choose>\n    <xsl:when test=\"sect5info/subtitle\">\n      <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"sect5info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"sect5info/corpauthor\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"info/corpauthor\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"sect5info/authorgroup\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"info/authorgroup\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"sect5info/author\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"info/author\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"sect5info/othercredit\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"info/othercredit\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"sect5info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"sect5info/copyright\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"info/copyright\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"sect5info/legalnotice\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"info/legalnotice\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"sect5info/pubdate\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"info/pubdate\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"sect5info/revision\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"info/revision\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"sect5info/revhistory\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"info/revhistory\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"sect5info/abstract\"/>\n  <xsl:apply-templates mode=\"sect5.titlepage.recto.auto.mode\" select=\"info/abstract\"/>\n</xsl:template>\n\n<xsl:template name=\"sect5.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"sect5.titlepage.separator\"><xsl:if test=\"count(parent::*)='0'\"><hr/></xsl:if>\n</xsl:template>\n\n<xsl:template name=\"sect5.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"sect5.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"sect5.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"sect5.titlepage.before.recto\"/>\n      <xsl:call-template name=\"sect5.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"sect5.titlepage.before.verso\"/>\n      <xsl:call-template name=\"sect5.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"sect5.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"sect5.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"sect5.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"sect5.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect5.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect5.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"sect5.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect5.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect5.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"corpauthor\" mode=\"sect5.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect5.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect5.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"sect5.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect5.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect5.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"sect5.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect5.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect5.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"sect5.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect5.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect5.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"sect5.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect5.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect5.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"copyright\" mode=\"sect5.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect5.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect5.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"sect5.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect5.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect5.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"sect5.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect5.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect5.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revision\" mode=\"sect5.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect5.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect5.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"sect5.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect5.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect5.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"sect5.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sect5.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sect5.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"simplesect.titlepage.recto\">\n  <xsl:choose>\n    <xsl:when test=\"simplesectinfo/title\">\n      <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"simplesectinfo/title\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/title\">\n      <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"docinfo/title\"/>\n    </xsl:when>\n    <xsl:when test=\"info/title\">\n      <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"title\">\n      <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"title\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:choose>\n    <xsl:when test=\"simplesectinfo/subtitle\">\n      <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"simplesectinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/subtitle\">\n      <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"docinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"simplesectinfo/corpauthor\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"docinfo/corpauthor\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"info/corpauthor\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"simplesectinfo/authorgroup\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"docinfo/authorgroup\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"info/authorgroup\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"simplesectinfo/author\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"docinfo/author\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"info/author\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"simplesectinfo/othercredit\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"docinfo/othercredit\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"info/othercredit\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"simplesectinfo/releaseinfo\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"docinfo/releaseinfo\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"info/releaseinfo\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"simplesectinfo/copyright\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"docinfo/copyright\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"info/copyright\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"simplesectinfo/legalnotice\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"docinfo/legalnotice\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"info/legalnotice\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"simplesectinfo/pubdate\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"docinfo/pubdate\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"info/pubdate\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"simplesectinfo/revision\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"docinfo/revision\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"info/revision\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"simplesectinfo/revhistory\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"docinfo/revhistory\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"info/revhistory\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"simplesectinfo/abstract\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"docinfo/abstract\"/>\n  <xsl:apply-templates mode=\"simplesect.titlepage.recto.auto.mode\" select=\"info/abstract\"/>\n</xsl:template>\n\n<xsl:template name=\"simplesect.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"simplesect.titlepage.separator\"><xsl:if test=\"count(parent::*)='0'\"><hr/></xsl:if>\n</xsl:template>\n\n<xsl:template name=\"simplesect.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"simplesect.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"simplesect.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"simplesect.titlepage.before.recto\"/>\n      <xsl:call-template name=\"simplesect.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"simplesect.titlepage.before.verso\"/>\n      <xsl:call-template name=\"simplesect.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"simplesect.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"simplesect.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"simplesect.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"simplesect.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"simplesect.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"simplesect.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"simplesect.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"simplesect.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"simplesect.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"corpauthor\" mode=\"simplesect.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"simplesect.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"simplesect.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"simplesect.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"simplesect.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"simplesect.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"simplesect.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"simplesect.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"simplesect.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"simplesect.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"simplesect.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"simplesect.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"simplesect.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"simplesect.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"simplesect.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"copyright\" mode=\"simplesect.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"simplesect.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"simplesect.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"simplesect.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"simplesect.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"simplesect.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"simplesect.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"simplesect.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"simplesect.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revision\" mode=\"simplesect.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"simplesect.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"simplesect.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"simplesect.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"simplesect.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"simplesect.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"simplesect.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"simplesect.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"simplesect.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"bibliography.titlepage.recto\">\n  <div xsl:use-attribute-sets=\"bibliography.titlepage.recto.style\">\n<xsl:call-template name=\"component.title\">\n<xsl:with-param name=\"node\" select=\"ancestor-or-self::bibliography[1]\"/>\n</xsl:call-template></div>\n  <xsl:choose>\n    <xsl:when test=\"bibliographyinfo/subtitle\">\n      <xsl:apply-templates mode=\"bibliography.titlepage.recto.auto.mode\" select=\"bibliographyinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/subtitle\">\n      <xsl:apply-templates mode=\"bibliography.titlepage.recto.auto.mode\" select=\"docinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"bibliography.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"bibliography.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n</xsl:template>\n\n<xsl:template name=\"bibliography.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"bibliography.titlepage.separator\">\n</xsl:template>\n\n<xsl:template name=\"bibliography.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"bibliography.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"bibliography.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"bibliography.titlepage.before.recto\"/>\n      <xsl:call-template name=\"bibliography.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"bibliography.titlepage.before.verso\"/>\n      <xsl:call-template name=\"bibliography.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"bibliography.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"bibliography.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"bibliography.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"bibliography.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"bibliography.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"bibliography.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"glossary.titlepage.recto\">\n  <div xsl:use-attribute-sets=\"glossary.titlepage.recto.style\">\n<xsl:call-template name=\"component.title\">\n<xsl:with-param name=\"node\" select=\"ancestor-or-self::glossary[1]\"/>\n</xsl:call-template></div>\n  <xsl:choose>\n    <xsl:when test=\"glossaryinfo/subtitle\">\n      <xsl:apply-templates mode=\"glossary.titlepage.recto.auto.mode\" select=\"glossaryinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/subtitle\">\n      <xsl:apply-templates mode=\"glossary.titlepage.recto.auto.mode\" select=\"docinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"glossary.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"glossary.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n</xsl:template>\n\n<xsl:template name=\"glossary.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"glossary.titlepage.separator\">\n</xsl:template>\n\n<xsl:template name=\"glossary.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"glossary.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"glossary.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"glossary.titlepage.before.recto\"/>\n      <xsl:call-template name=\"glossary.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"glossary.titlepage.before.verso\"/>\n      <xsl:call-template name=\"glossary.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"glossary.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"glossary.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"glossary.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"glossary.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"glossary.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"glossary.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"index.titlepage.recto\">\n  <div xsl:use-attribute-sets=\"index.titlepage.recto.style\">\n<xsl:call-template name=\"component.title\">\n<xsl:with-param name=\"node\" select=\"ancestor-or-self::index[1]\"/>\n</xsl:call-template></div>\n  <xsl:choose>\n    <xsl:when test=\"indexinfo/subtitle\">\n      <xsl:apply-templates mode=\"index.titlepage.recto.auto.mode\" select=\"indexinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/subtitle\">\n      <xsl:apply-templates mode=\"index.titlepage.recto.auto.mode\" select=\"docinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"index.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"index.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n</xsl:template>\n\n<xsl:template name=\"index.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"index.titlepage.separator\">\n</xsl:template>\n\n<xsl:template name=\"index.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"index.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"index.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"index.titlepage.before.recto\"/>\n      <xsl:call-template name=\"index.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"index.titlepage.before.verso\"/>\n      <xsl:call-template name=\"index.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"index.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"index.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"index.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"index.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"index.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"index.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"setindex.titlepage.recto\">\n  <div xsl:use-attribute-sets=\"setindex.titlepage.recto.style\">\n<xsl:call-template name=\"component.title\">\n<xsl:with-param name=\"node\" select=\"ancestor-or-self::setindex[1]\"/>\n</xsl:call-template></div>\n  <xsl:choose>\n    <xsl:when test=\"setindexinfo/subtitle\">\n      <xsl:apply-templates mode=\"setindex.titlepage.recto.auto.mode\" select=\"setindexinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/subtitle\">\n      <xsl:apply-templates mode=\"setindex.titlepage.recto.auto.mode\" select=\"docinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"setindex.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"setindex.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n</xsl:template>\n\n<xsl:template name=\"setindex.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"setindex.titlepage.separator\">\n</xsl:template>\n\n<xsl:template name=\"setindex.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"setindex.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"setindex.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"setindex.titlepage.before.recto\"/>\n      <xsl:call-template name=\"setindex.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"setindex.titlepage.before.verso\"/>\n      <xsl:call-template name=\"setindex.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"setindex.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"setindex.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"setindex.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"setindex.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"setindex.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"setindex.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n<xsl:template name=\"sidebar.titlepage.recto\">\n  <xsl:choose>\n    <xsl:when test=\"sidebarinfo/title\">\n      <xsl:apply-templates mode=\"sidebar.titlepage.recto.auto.mode\" select=\"sidebarinfo/title\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/title\">\n      <xsl:apply-templates mode=\"sidebar.titlepage.recto.auto.mode\" select=\"docinfo/title\"/>\n    </xsl:when>\n    <xsl:when test=\"info/title\">\n      <xsl:apply-templates mode=\"sidebar.titlepage.recto.auto.mode\" select=\"info/title\"/>\n    </xsl:when>\n    <xsl:when test=\"title\">\n      <xsl:apply-templates mode=\"sidebar.titlepage.recto.auto.mode\" select=\"title\"/>\n    </xsl:when>\n  </xsl:choose>\n\n  <xsl:choose>\n    <xsl:when test=\"sidebarinfo/subtitle\">\n      <xsl:apply-templates mode=\"sidebar.titlepage.recto.auto.mode\" select=\"sidebarinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"docinfo/subtitle\">\n      <xsl:apply-templates mode=\"sidebar.titlepage.recto.auto.mode\" select=\"docinfo/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"info/subtitle\">\n      <xsl:apply-templates mode=\"sidebar.titlepage.recto.auto.mode\" select=\"info/subtitle\"/>\n    </xsl:when>\n    <xsl:when test=\"subtitle\">\n      <xsl:apply-templates mode=\"sidebar.titlepage.recto.auto.mode\" select=\"subtitle\"/>\n    </xsl:when>\n  </xsl:choose>\n\n</xsl:template>\n\n<xsl:template name=\"sidebar.titlepage.verso\">\n</xsl:template>\n\n<xsl:template name=\"sidebar.titlepage.separator\">\n</xsl:template>\n\n<xsl:template name=\"sidebar.titlepage.before.recto\">\n</xsl:template>\n\n<xsl:template name=\"sidebar.titlepage.before.verso\">\n</xsl:template>\n\n<xsl:template name=\"sidebar.titlepage\">\n  <div class=\"titlepage\">\n    <xsl:variable name=\"recto.content\">\n      <xsl:call-template name=\"sidebar.titlepage.before.recto\"/>\n      <xsl:call-template name=\"sidebar.titlepage.recto\"/>\n    </xsl:variable>\n    <xsl:variable name=\"recto.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($recto.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$recto.content\"/></div>\n    </xsl:if>\n    <xsl:variable name=\"verso.content\">\n      <xsl:call-template name=\"sidebar.titlepage.before.verso\"/>\n      <xsl:call-template name=\"sidebar.titlepage.verso\"/>\n    </xsl:variable>\n    <xsl:variable name=\"verso.elements.count\">\n      <xsl:choose>\n        <xsl:when test=\"function-available('exsl:node-set')\"><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:when test=\"contains(system-property('xsl:vendor'), 'Apache Software Foundation')\">\n          <!--Xalan quirk--><xsl:value-of select=\"count(exsl:node-set($verso.content)/*)\"/></xsl:when>\n        <xsl:otherwise>1</xsl:otherwise>\n      </xsl:choose>\n    </xsl:variable>\n    <xsl:if test=\"(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)\">\n      <div><xsl:copy-of select=\"$verso.content\"/></div>\n    </xsl:if>\n    <xsl:call-template name=\"sidebar.titlepage.separator\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"sidebar.titlepage.recto.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"sidebar.titlepage.verso.mode\">\n  <!-- if an element isn't found in this mode, -->\n  <!-- try the generic titlepage.mode -->\n  <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"sidebar.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sidebar.titlepage.recto.style\">\n<xsl:call-template name=\"formal.object.heading\">\n<xsl:with-param name=\"object\" select=\"ancestor-or-self::sidebar[1]\"/>\n</xsl:call-template>\n</div>\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"sidebar.titlepage.recto.auto.mode\">\n<div xsl:use-attribute-sets=\"sidebar.titlepage.recto.style\">\n<xsl:apply-templates select=\".\" mode=\"sidebar.titlepage.recto.mode\"/>\n</div>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/titlepage.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: titlepage.xsl 9360 2012-05-12 23:39:14Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:attribute-set name=\"book.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"book.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"article.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"article.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"set.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"set.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"part.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"part.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"partintro.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"partintro.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"reference.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"reference.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"refentry.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"refentry.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"dedication.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"dedication.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"acknowledgements.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"acknowledgements.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"preface.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"preface.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"chapter.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"chapter.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"appendix.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"appendix.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"bibliography.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"bibliography.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"glossary.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"glossary.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"index.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"index.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"setindex.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"setindex.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"sidebar.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"sidebar.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"topic.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"topic.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"section.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"section.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"sect1.titlepage.recto.style\" use-attribute-sets=\"section.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"sect1.titlepage.verso.style\" use-attribute-sets=\"section.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"sect2.titlepage.recto.style\" use-attribute-sets=\"section.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"sect2.titlepage.verso.style\" use-attribute-sets=\"section.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"sect3.titlepage.recto.style\" use-attribute-sets=\"section.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"sect3.titlepage.verso.style\" use-attribute-sets=\"section.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"sect4.titlepage.recto.style\" use-attribute-sets=\"section.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"sect4.titlepage.verso.style\" use-attribute-sets=\"section.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"sect5.titlepage.recto.style\" use-attribute-sets=\"section.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"sect5.titlepage.verso.style\" use-attribute-sets=\"section.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"simplesect.titlepage.recto.style\" use-attribute-sets=\"section.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"simplesect.titlepage.verso.style\" use-attribute-sets=\"section.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"table.of.contents.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"table.of.contents.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"list.of.tables.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"list.of.tables.contents.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"list.of.figures.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"list.of.figures.contents.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"list.of.equations.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"list.of.equations.contents.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"list.of.examples.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"list.of.examples.contents.titlepage.verso.style\"/>\n\n<xsl:attribute-set name=\"list.of.unknowns.titlepage.recto.style\"/>\n<xsl:attribute-set name=\"list.of.unknowns.contents.titlepage.verso.style\"/>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"*\" mode=\"titlepage.mode\">\n  <!-- if an element isn't found in this mode, try the default mode -->\n  <xsl:apply-templates select=\".\"/>\n</xsl:template>\n\n<xsl:template match=\"abbrev\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"abstract\" mode=\"titlepage.mode\">\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:if test=\"$abstract.notitle.enabled = 0\">\n      <xsl:call-template name=\"formal.object.heading\">\n        <xsl:with-param name=\"title\">\n          <xsl:apply-templates select=\".\" mode=\"title.markup\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:if>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <xsl:call-template name=\"process.footnotes\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"abstract/title\" mode=\"titlepage.mode\">\n</xsl:template>\n\n<xsl:template match=\"address\" mode=\"titlepage.mode\">\n  <xsl:param name=\"suppress-numbers\" select=\"'0'\"/>\n\n  <xsl:variable name=\"rtf\">\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$suppress-numbers = '0'                     and @linenumbering = 'numbered'                     and $use.extensions != '0'                     and $linenumbering.extension != '0'\">\n      <div>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:call-template name=\"paragraph\">\n          <xsl:with-param name=\"content\">\n            <xsl:call-template name=\"number.rtf.lines\">\n              <xsl:with-param name=\"rtf\" select=\"$rtf\"/>\n            </xsl:call-template>\n          </xsl:with-param>\n        </xsl:call-template>\n      </div>\n    </xsl:when>\n\n    <xsl:otherwise>\n      <div>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:call-template name=\"paragraph\">\n          <xsl:with-param name=\"content\">\n            <xsl:call-template name=\"make-verbatim\">\n              <xsl:with-param name=\"rtf\" select=\"$rtf\"/>\n            </xsl:call-template>\n          </xsl:with-param>\n        </xsl:call-template>\n      </div>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"affiliation\" mode=\"titlepage.mode\">\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"artpagenums\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"author|editor\" mode=\"titlepage.mode\">\n  <xsl:call-template name=\"credits.div\"/>\n</xsl:template>\n\n<xsl:template name=\"credits.div\">\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:if test=\"self::editor[position()=1] and not($editedby.enabled = 0)\">\n      <h4 class=\"editedby\"><xsl:call-template name=\"gentext.edited.by\"/></h4>\n    </xsl:if>\n    <h3>\n      <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n      <xsl:choose>\n        <xsl:when test=\"orgname\">\n          <xsl:apply-templates/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:call-template name=\"person.name\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </h3>\n    <xsl:if test=\"not($contrib.inline.enabled = 0)\">\n      <xsl:apply-templates mode=\"titlepage.mode\" select=\"contrib\"/>\n    </xsl:if>\n    <xsl:apply-templates mode=\"titlepage.mode\" select=\"affiliation\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\" select=\"email\"/>\n    <xsl:if test=\"not($blurb.on.titlepage.enabled = 0)\">\n      <xsl:choose>\n        <xsl:when test=\"$contrib.inline.enabled = 0\">\n          <xsl:apply-templates mode=\"titlepage.mode\" select=\"contrib|authorblurb|personblurb\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates mode=\"titlepage.mode\" select=\"authorblurb|personblurb\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:if>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"authorblurb|personblurb\" mode=\"titlepage.mode\">\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"titlepage.mode\">\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:if test=\"parent::refentryinfo\">\n      <h2>Authors</h2>\n    </xsl:if>\n      \n    <xsl:call-template name=\"anchor\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"authorinitials\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"bibliomisc\" mode=\"titlepage.mode\">\n  <xsl:apply-templates mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"bibliomset\" mode=\"titlepage.mode\">\n  <xsl:apply-templates mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"collab\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"collabname\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"confgroup\" mode=\"titlepage.mode\">\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"confdates\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"confsponsor\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"conftitle\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"confnum\" mode=\"titlepage.mode\">\n  <!-- suppress -->\n</xsl:template>\n\n<xsl:template match=\"contractnum\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"contractsponsor\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"contrib\" mode=\"titlepage.mode\">\n  <xsl:choose>\n    <xsl:when test=\"not($contrib.inline.enabled = 0)\">\n      <span>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:apply-templates mode=\"titlepage.mode\"/>\n      </span><xsl:text>&#160;</xsl:text>\n    </xsl:when>\n    <xsl:otherwise>\n      <div>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:call-template name=\"id.attribute\"/>\n        <p><xsl:apply-templates mode=\"titlepage.mode\"/></p>\n      </div>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"copyright\" mode=\"titlepage.mode\">\n\n  <xsl:if test=\"generate-id() = generate-id(//refentryinfo/copyright[1])       and ($stylesheet.result.type = 'html' or $stylesheet.result.type = 'xhtml')\">\n    <h2>Copyright</h2>\n  </xsl:if>\n\n  <p>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:call-template name=\"gentext\">\n      <xsl:with-param name=\"key\" select=\"'Copyright'\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"gentext.space\"/>\n    <xsl:call-template name=\"dingbat\">\n      <xsl:with-param name=\"dingbat\">copyright</xsl:with-param>\n    </xsl:call-template>\n    <xsl:call-template name=\"gentext.space\"/>\n    <xsl:call-template name=\"copyright.years\">\n      <xsl:with-param name=\"years\" select=\"year\"/>\n      <xsl:with-param name=\"print.ranges\" select=\"$make.year.ranges\"/>\n      <xsl:with-param name=\"single.year.ranges\" select=\"$make.single.year.ranges\"/>\n    </xsl:call-template>\n    <xsl:call-template name=\"gentext.space\"/>\n    <xsl:apply-templates select=\"holder\" mode=\"titlepage.mode\"/>\n  </p>\n</xsl:template>\n\n<xsl:template match=\"year\" mode=\"titlepage.mode\">\n  <xsl:choose>\n    <xsl:when test=\"$show.revisionflag != 0 and @revisionflag\">\n      <span class=\"{@revisionflag}\">\n        <xsl:apply-templates mode=\"titlepage.mode\"/>\n      </span>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates mode=\"titlepage.mode\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"holder\" mode=\"titlepage.mode\">\n  <xsl:choose>\n    <xsl:when test=\"$show.revisionflag != 0 and @revisionflag\">\n      <span class=\"{@revisionflag}\">\n        <xsl:apply-templates mode=\"titlepage.mode\"/>\n      </span>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates mode=\"titlepage.mode\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n  <xsl:if test=\"position() &lt; last()\">\n    <xsl:text>, </xsl:text>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"corpauthor\" mode=\"titlepage.mode\">\n  <h3>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n  </h3>\n</xsl:template>\n\n<xsl:template match=\"corpcredit\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"corpname\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"date\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"edition\" mode=\"titlepage.mode\">\n  <p>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <xsl:call-template name=\"gentext.space\"/>\n    <xsl:call-template name=\"gentext\">\n      <xsl:with-param name=\"key\" select=\"'Edition'\"/>\n    </xsl:call-template>\n  </p>\n</xsl:template>\n\n<xsl:template match=\"email\" mode=\"titlepage.mode\">\n  <!-- use the normal e-mail handling code -->\n  <xsl:apply-templates select=\".\"/>\n</xsl:template>\n\n<xsl:template match=\"firstname\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"graphic\" mode=\"titlepage.mode\">\n  <!-- use the normal graphic handling code -->\n  <xsl:apply-templates select=\".\"/>\n</xsl:template>\n\n<xsl:template match=\"honorific\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"isbn\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"issn\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"biblioid\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"itermset\" mode=\"titlepage.mode\">\n</xsl:template>\n\n<xsl:template match=\"invpartnumber\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"issuenum\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"jobtitle\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"keywordset\" mode=\"titlepage.mode\">\n</xsl:template>\n\n<xsl:template match=\"legalnotice\" mode=\"titlepage.mode\">\n  <xsl:variable name=\"id\"><xsl:call-template name=\"object.id\"/></xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$generate.legalnotice.link != 0\">\n      \n      <!-- Compute name of legalnotice file -->\n      <xsl:variable name=\"file\">\n\t<xsl:call-template name=\"ln.or.rh.filename\"/>\n      </xsl:variable>\n\n      <xsl:variable name=\"filename\">\n        <xsl:call-template name=\"make-relative-filename\">\n          <xsl:with-param name=\"base.dir\" select=\"$chunk.base.dir\"/>\n\t  <xsl:with-param name=\"base.name\" select=\"$file\"/>\n        </xsl:call-template>\n      </xsl:variable>\n\n      <xsl:variable name=\"title\">\n        <xsl:apply-templates select=\".\" mode=\"title.markup\"/>\n      </xsl:variable>\n\n      <a href=\"{$file}\">\n        <xsl:copy-of select=\"$title\"/>\n      </a>\n\n      <xsl:call-template name=\"write.chunk\">\n        <xsl:with-param name=\"filename\" select=\"$filename\"/>\n        <xsl:with-param name=\"quiet\" select=\"$chunk.quietly\"/>\n        <xsl:with-param name=\"content\">\n        <xsl:call-template name=\"user.preroot\"/>\n          <html>\n            <head>\n              <xsl:call-template name=\"system.head.content\"/>\n              <xsl:call-template name=\"head.content\"/>\n              <xsl:call-template name=\"user.head.content\"/>\n            </head>\n            <body>\n              <xsl:call-template name=\"body.attributes\"/>\n              <div>\n                <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n                <xsl:call-template name=\"id.attribute\">\n                  <xsl:with-param name=\"conditional\" select=\"0\"/>\n                </xsl:call-template>\n                <xsl:apply-templates mode=\"titlepage.mode\"/>\n              </div>\n            </body>\n          </html>\n          <xsl:value-of select=\"$chunk.append\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <div>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:call-template name=\"id.attribute\">\n          <xsl:with-param name=\"conditional\" select=\"0\"/>\n        </xsl:call-template>\n        <xsl:call-template name=\"anchor\">\n          <xsl:with-param name=\"conditional\" select=\"0\"/>\n        </xsl:call-template>\n        <xsl:apply-templates mode=\"titlepage.mode\"/>\n      </div>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"legalnotice/title\" mode=\"titlepage.mode\">\n  <p class=\"legalnotice-title\"><strong xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\"><xsl:apply-templates/></strong></p>\n</xsl:template>\n\n<xsl:template match=\"lineage\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"modespec\" mode=\"titlepage.mode\">\n</xsl:template>\n\n<xsl:template match=\"orgdiv\" mode=\"titlepage.mode\">\n  <xsl:if test=\"preceding-sibling::*[1][self::orgname]\">\n    <xsl:text> </xsl:text>\n  </xsl:if>\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"orgname\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"titlepage.mode\">\n<xsl:choose>\n  <xsl:when test=\"not($othercredit.like.author.enabled = 0)\">\n  <xsl:variable name=\"contrib\" select=\"string(contrib)\"/>\n  <xsl:choose>\n    <xsl:when test=\"contrib\">\n      <xsl:if test=\"not(preceding-sibling::othercredit[string(contrib)=$contrib])\">\n        <xsl:call-template name=\"paragraph\">\n          <xsl:with-param name=\"class\" select=\"local-name(.)\"/>\n          <xsl:with-param name=\"content\">\n            <xsl:apply-templates mode=\"titlepage.mode\" select=\"contrib\"/>\n            <xsl:text>: </xsl:text>\n            <xsl:call-template name=\"person.name\"/>\n            <xsl:apply-templates mode=\"titlepage.mode\" select=\"affiliation\"/>\n            <xsl:apply-templates select=\"following-sibling::othercredit[string(contrib)=$contrib]\" mode=\"titlepage.othercredits\"/>\n          </xsl:with-param>\n        </xsl:call-template>\n      </xsl:if>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:call-template name=\"paragraph\">\n        <xsl:with-param name=\"class\" select=\"local-name(.)\"/>\n        <xsl:with-param name=\"content\">\n          <xsl:call-template name=\"person.name\"/>\n        </xsl:with-param>\n      </xsl:call-template>\n      <xsl:apply-templates mode=\"titlepage.mode\" select=\"affiliation\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n  </xsl:when>\n  <xsl:otherwise>\n    <xsl:call-template name=\"credits.div\"/>\n  </xsl:otherwise>\n</xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"othercredit\" mode=\"titlepage.othercredits\">\n  <xsl:text>, </xsl:text>\n  <xsl:call-template name=\"person.name\"/>\n</xsl:template>\n\n<xsl:template match=\"othername\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"pagenums\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"printhistory\" mode=\"titlepage.mode\">\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"productname\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"productnumber\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"pubdate\" mode=\"titlepage.mode\">\n  <xsl:call-template name=\"paragraph\">\n    <xsl:with-param name=\"class\" select=\"local-name(.)\"/>\n    <xsl:with-param name=\"content\">\n      <xsl:apply-templates mode=\"titlepage.mode\"/>\n    </xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"publisher\" mode=\"titlepage.mode\">\n  <xsl:call-template name=\"paragraph\">\n    <xsl:with-param name=\"class\" select=\"local-name(.)\"/>\n    <xsl:with-param name=\"content\">\n      <xsl:apply-templates mode=\"titlepage.mode\"/>\n    </xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"publishername\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"pubsnumber\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"releaseinfo\" mode=\"titlepage.mode\">\n  <xsl:call-template name=\"paragraph\">\n    <xsl:with-param name=\"class\" select=\"local-name(.)\"/>\n    <xsl:with-param name=\"content\">\n      <xsl:apply-templates mode=\"titlepage.mode\"/>\n    </xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"revhistory\" mode=\"titlepage.mode\">\n  <xsl:variable name=\"numcols\">\n    <xsl:choose>\n      <xsl:when test=\".//authorinitials|.//author\">3</xsl:when>\n      <xsl:otherwise>2</xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"id\"><xsl:call-template name=\"object.id\"/></xsl:variable>\n\n  <xsl:variable name=\"title\">\n    <xsl:call-template name=\"gentext\">\n      <xsl:with-param name=\"key\">RevHistory</xsl:with-param>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"contents\">\n    <div>\n      <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n      <xsl:call-template name=\"id.attribute\"/>\n      <table>\n        <xsl:if test=\"$css.decoration != 0\">\n          <xsl:attribute name=\"style\">\n            <xsl:text>border-style:solid; width:100%;</xsl:text>\n          </xsl:attribute>\n        </xsl:if>\n        <!-- include summary attribute if not HTML5 -->\n        <xsl:if test=\"$div.element != 'section'\">\n          <xsl:attribute name=\"summary\">\n            <xsl:call-template name=\"gentext\">\n              <xsl:with-param name=\"key\">revhistory</xsl:with-param>\n            </xsl:call-template>\n          </xsl:attribute>\n        </xsl:if>\n        <tr>\n          <th align=\"{$direction.align.start}\" valign=\"top\" colspan=\"{$numcols}\">\n            <strong xmlns:xslo=\"http://www.w3.org/1999/XSL/Transform\">\n              <xsl:call-template name=\"gentext\">\n                <xsl:with-param name=\"key\" select=\"'RevHistory'\"/>\n              </xsl:call-template>\n            </strong>\n          </th>\n        </tr>\n        <xsl:apply-templates mode=\"titlepage.mode\">\n          <xsl:with-param name=\"numcols\" select=\"$numcols\"/>\n        </xsl:apply-templates>\n      </table>\n    </div>\n  </xsl:variable>\n  \n  <xsl:choose>\n    <xsl:when test=\"$generate.revhistory.link != 0\">\n      \n      <!-- Compute name of revhistory file -->\n      <xsl:variable name=\"file\">\n\t<xsl:call-template name=\"ln.or.rh.filename\">\n\t  <xsl:with-param name=\"is.ln\" select=\"false()\"/>\n\t</xsl:call-template>\n      </xsl:variable>\n\n      <xsl:variable name=\"filename\">\n        <xsl:call-template name=\"make-relative-filename\">\n          <xsl:with-param name=\"base.dir\" select=\"$chunk.base.dir\"/>\n          <xsl:with-param name=\"base.name\" select=\"$file\"/>\n        </xsl:call-template>\n      </xsl:variable>\n\n      <a href=\"{$file}\">\n        <xsl:copy-of select=\"$title\"/>\n      </a>\n\n      <xsl:call-template name=\"write.chunk\">\n        <xsl:with-param name=\"filename\" select=\"$filename\"/>\n        <xsl:with-param name=\"quiet\" select=\"$chunk.quietly\"/>\n        <xsl:with-param name=\"content\">\n        <xsl:call-template name=\"user.preroot\"/>\n          <html>\n            <head>\n              <xsl:call-template name=\"system.head.content\"/>\n              <xsl:call-template name=\"head.content\">\n                <xsl:with-param name=\"title\">\n                    <xsl:value-of select=\"$title\"/>\n                    <xsl:if test=\"../../title\">\n                        <xsl:value-of select=\"concat(' (', ../../title, ')')\"/>\n                    </xsl:if>\n                </xsl:with-param>\n              </xsl:call-template>\n              <xsl:call-template name=\"user.head.content\"/>\n            </head>\n            <body>\n              <xsl:call-template name=\"body.attributes\"/>\n              <xsl:copy-of select=\"$contents\"/>\n            </body>\n          </html>\n          <xsl:text>\n</xsl:text>\n        </xsl:with-param>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy-of select=\"$contents\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"revhistory/revision\" mode=\"titlepage.mode\">\n  <xsl:param name=\"numcols\" select=\"'3'\"/>\n  <xsl:variable name=\"revnumber\" select=\"revnumber\"/>\n  <xsl:variable name=\"revdate\" select=\"date\"/>\n  <xsl:variable name=\"revauthor\" select=\"authorinitials|author\"/>\n  <xsl:variable name=\"revremark\" select=\"revremark|revdescription\"/>\n  <tr>\n    <td align=\"{$direction.align.start}\">\n      <xsl:if test=\"$revnumber\">\n        <xsl:call-template name=\"gentext\">\n          <xsl:with-param name=\"key\" select=\"'Revision'\"/>\n        </xsl:call-template>\n        <xsl:call-template name=\"gentext.space\"/>\n        <xsl:apply-templates select=\"$revnumber[1]\" mode=\"titlepage.mode\"/>\n      </xsl:if>\n    </td>\n    <td align=\"{$direction.align.start}\">\n      <xsl:apply-templates select=\"$revdate[1]\" mode=\"titlepage.mode\"/>\n    </td>\n    <xsl:choose>\n      <xsl:when test=\"$revauthor\">\n        <td align=\"{$direction.align.start}\">\n          <xsl:for-each select=\"$revauthor\">\n            <xsl:apply-templates select=\".\" mode=\"titlepage.mode\"/>\n            <xsl:if test=\"position() != last()\">\n\t      <xsl:text>, </xsl:text>\n\t    </xsl:if>\n\t  </xsl:for-each>\n        </td>\n      </xsl:when>\n      <xsl:when test=\"$numcols &gt; 2\">\n        <td>&#160;</td>\n      </xsl:when>\n      <xsl:otherwise/>\n    </xsl:choose>\n  </tr>\n  <xsl:if test=\"$revremark\">\n    <tr>\n      <td align=\"{$direction.align.start}\" colspan=\"{$numcols}\">\n        <xsl:apply-templates select=\"$revremark[1]\" mode=\"titlepage.mode\"/>\n      </td>\n    </tr>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"revision/revnumber\" mode=\"titlepage.mode\">\n  <xsl:apply-templates mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"revision/date\" mode=\"titlepage.mode\">\n  <xsl:apply-templates mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"revision/authorinitials\" mode=\"titlepage.mode\">\n  <xsl:apply-templates mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"revision/author\" mode=\"titlepage.mode\">\n  <xsl:apply-templates mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"revision/revremark\" mode=\"titlepage.mode\">\n  <xsl:apply-templates mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"revision/revdescription\" mode=\"titlepage.mode\">\n  <xsl:apply-templates mode=\"titlepage.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"seriesvolnums\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"shortaffil\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"subjectset\" mode=\"titlepage.mode\">\n</xsl:template>\n\n<xsl:template match=\"subtitle\" mode=\"titlepage.mode\">\n  <h2>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n  </h2>\n</xsl:template>\n\n<xsl:template match=\"surname\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"titlepage.mode\">\n  <xsl:variable name=\"id\">\n    <xsl:choose>\n      <!-- if title is in an *info wrapper, get the grandparent -->\n      <xsl:when test=\"contains(local-name(..), 'info')\">\n        <xsl:call-template name=\"object.id\">\n          <xsl:with-param name=\"object\" select=\"../..\"/>\n        </xsl:call-template>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:call-template name=\"object.id\">\n          <xsl:with-param name=\"object\" select=\"..\"/>\n        </xsl:call-template>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <h1>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:choose>\n      <xsl:when test=\"$generate.id.attributes = 0\">\n        <a id=\"{$id}\"/>\n      </xsl:when>\n      <xsl:otherwise>\n      </xsl:otherwise>\n    </xsl:choose>\n    <xsl:choose>\n      <xsl:when test=\"$show.revisionflag != 0 and @revisionflag\">\n\t<span class=\"{@revisionflag}\">\n\t  <xsl:apply-templates mode=\"titlepage.mode\"/>\n\t</span>\n      </xsl:when>\n      <xsl:otherwise>\n\t<xsl:apply-templates mode=\"titlepage.mode\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </h1>\n</xsl:template>\n\n<xsl:template match=\"titleabbrev\" mode=\"titlepage.mode\">\n  <!-- nop; title abbreviations don't belong on the title page! -->\n</xsl:template>\n\n<xsl:template match=\"volumenum\" mode=\"titlepage.mode\">\n  <span>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:call-template name=\"id.attribute\"/>\n    <xsl:apply-templates mode=\"titlepage.mode\"/>\n    <br/>\n  </span>\n</xsl:template>\n\n<!-- This template computes the filename for legalnotice and revhistory chunks -->\n<xsl:template name=\"ln.or.rh.filename\">\n  <xsl:param name=\"node\" select=\".\"/>\n  <xsl:param name=\"is.ln\" select=\"true()\"/>\n\n  <xsl:variable name=\"dbhtml-filename\">\n    <xsl:call-template name=\"pi.dbhtml_filename\">\n      <xsl:with-param name=\"node\" select=\"$node\"/>\n    </xsl:call-template>\n  </xsl:variable>\n \n  <xsl:choose>\n    <!--  1. If there is a dbhtml_filename PI, use that -->\n    <xsl:when test=\"$dbhtml-filename != ''\">\n      <xsl:value-of select=\"$dbhtml-filename\"/>\n    </xsl:when>\n    <xsl:when test=\"($node/@id or $node/@xml:id) and not($use.id.as.filename = 0)\">\n      <!-- * 2. If this legalnotice/revhistory has an ID, then go ahead and use -->\n      <!-- * just the value of that ID as the basename for the file -->\n      <!-- * (that is, without prepending an \"ln-\" or \"rh-\" to it) -->\n      <xsl:value-of select=\"($node/@id|$node/@xml:id)[1]\"/>\n      <xsl:value-of select=\"$html.ext\"/>\n    </xsl:when>\n    <xsl:when test=\"not ($node/@id or $node/@xml:id) or $use.id.as.filename = 0\">\n      <!-- * 3. Otherwise, if this legalnotice/revhistory does not have an ID, or -->\n      <!-- * if $use.id.as.filename = 0 -->\n      <!-- * then we generate an ID... -->\n      <xsl:variable name=\"id\">\n\t<xsl:value-of select=\"generate-id($node)\"/>\n      </xsl:variable>\n      <!-- * ...and then we take that generated ID, prepend a -->\n      <!-- * prefix to it, and use that as the basename for the file -->\n      <xsl:choose>\n\t<xsl:when test=\"$is.ln\">\n\t  <xsl:value-of select=\"concat('ln-',$id,$html.ext)\"/>\n\t</xsl:when>\n\t<xsl:otherwise>\n\t  <xsl:value-of select=\"concat('rh-',$id,$html.ext)\"/>\n\t</xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n    \n<!-- ==================================================================== -->\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/toc.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns=\"http://www.w3.org/1999/xhtml\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: toc.xsl 9297 2012-04-22 03:56:16Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"set/toc | book/toc | part/toc\">\n  <xsl:variable name=\"toc.params\">\n    <xsl:call-template name=\"find.path.params\">\n      <xsl:with-param name=\"node\" select=\"parent::*\"/>\n      <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <!-- Do not output the toc element if one is already generated\n       by the use of $generate.toc parameter, or if\n       generating a source toc is turned off -->\n  <xsl:if test=\"not(contains($toc.params, 'toc')) and                 ($process.source.toc != 0 or $process.empty.source.toc != 0)\">\n    <xsl:variable name=\"content\">\n      <xsl:choose>\n        <xsl:when test=\"* and $process.source.toc != 0\">\n          <xsl:apply-templates/>\n        </xsl:when>\n        <xsl:when test=\"count(*) = 0 and $process.empty.source.toc != 0\">\n          <!-- trick to switch context node to parent element -->\n          <xsl:for-each select=\"parent::*\">\n            <xsl:choose>\n              <xsl:when test=\"self::set\">\n                <xsl:call-template name=\"set.toc\">\n                  <xsl:with-param name=\"toc.title.p\" select=\"contains($toc.params, 'title')\"/>\n                </xsl:call-template>\n              </xsl:when>\n              <xsl:when test=\"self::book\">\n                <xsl:call-template name=\"division.toc\">\n                  <xsl:with-param name=\"toc.title.p\" select=\"contains($toc.params, 'title')\"/>\n                </xsl:call-template>\n              </xsl:when>\n              <xsl:when test=\"self::part\">\n                <xsl:call-template name=\"division.toc\">\n                  <xsl:with-param name=\"toc.title.p\" select=\"contains($toc.params, 'title')\"/>\n                </xsl:call-template>\n              </xsl:when>\n            </xsl:choose>\n          </xsl:for-each>\n        </xsl:when>\n      </xsl:choose>\n    </xsl:variable>\n\n    <xsl:if test=\"string-length(normalize-space($content)) != 0\">\n      <xsl:copy-of select=\"$content\"/>\n    </xsl:if>\n  </xsl:if>\n</xsl:template>\n  \n<xsl:template match=\"chapter/toc | appendix/toc | preface/toc | article/toc\">\n  <xsl:variable name=\"toc.params\">\n    <xsl:call-template name=\"find.path.params\">\n      <xsl:with-param name=\"node\" select=\"parent::*\"/>\n      <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <!-- Do not output the toc element if one is already generated\n       by the use of $generate.toc parameter, or if\n       generating a source toc is turned off -->\n  <xsl:if test=\"not(contains($toc.params, 'toc')) and                 ($process.source.toc != 0 or $process.empty.source.toc != 0)\">\n    <xsl:choose>\n      <xsl:when test=\"* and $process.source.toc != 0\">\n        <div>\n          <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n          <xsl:call-template name=\"id.attribute\"/>\n          <xsl:apply-templates select=\"title\"/> \n          <dl>\n            <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n            <xsl:apply-templates select=\"*[not(self::title)]\"/> \n          </dl>\n        </div>\n        <xsl:call-template name=\"component.toc.separator\"/>\n      </xsl:when>\n      <xsl:when test=\"count(*) = 0 and $process.empty.source.toc != 0\">\n        <!-- trick to switch context node to section element -->\n        <xsl:for-each select=\"parent::*\">\n          <xsl:call-template name=\"component.toc\">\n            <xsl:with-param name=\"toc.title.p\" select=\"contains($toc.params, 'title')\"/>\n          </xsl:call-template>\n        </xsl:for-each>\n        <xsl:call-template name=\"component.toc.separator\"/>\n      </xsl:when>\n    </xsl:choose>\n  </xsl:if>\n</xsl:template>\n\n<xsl:template match=\"section/toc                     |sect1/toc                     |sect2/toc                     |sect3/toc                     |sect4/toc                     |sect5/toc\">\n\n  <xsl:variable name=\"toc.params\">\n    <xsl:call-template name=\"find.path.params\">\n      <xsl:with-param name=\"node\" select=\"parent::*\"/>\n      <xsl:with-param name=\"table\" select=\"normalize-space($generate.toc)\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <!-- Do not output the toc element if one is already generated\n       by the use of $generate.toc parameter, or if\n       generating a source toc is turned off -->\n  <xsl:if test=\"not(contains($toc.params, 'toc')) and                 ($process.source.toc != 0 or $process.empty.source.toc != 0)\">\n    <xsl:choose>\n      <xsl:when test=\"* and $process.source.toc != 0\">\n        <div>\n          <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n          <xsl:call-template name=\"id.attribute\"/>\n          <xsl:apply-templates select=\"title\"/> \n          <dl>\n            <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n            <xsl:apply-templates select=\"*[not(self::title)]\"/> \n          </dl>\n        </div>\n        <xsl:call-template name=\"section.toc.separator\"/>\n      </xsl:when>\n      <xsl:when test=\"count(*) = 0 and $process.empty.source.toc != 0\">\n        <!-- trick to switch context node to section element -->\n        <xsl:for-each select=\"parent::*\">\n          <xsl:call-template name=\"section.toc\">\n            <xsl:with-param name=\"toc.title.p\" select=\"contains($toc.params, 'title')\"/>\n          </xsl:call-template>\n        </xsl:for-each>\n        <xsl:call-template name=\"section.toc.separator\"/>\n      </xsl:when>\n    </xsl:choose>\n  </xsl:if>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"tocpart|tocchap                      |toclevel1|toclevel2|toclevel3|toclevel4|toclevel5\">\n  <xsl:variable name=\"sub-toc\">\n    <xsl:if test=\"tocchap|toclevel1|toclevel2|toclevel3|toclevel4|toclevel5\">\n      <xsl:choose>\n        <xsl:when test=\"$toc.list.type = 'dl'\">\n          <dd>\n            <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n            <xsl:element name=\"{$toc.list.type}\" namespace=\"http://www.w3.org/1999/xhtml\">\n              <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n              <xsl:apply-templates select=\"tocchap|toclevel1|toclevel2|                                            toclevel3|toclevel4|toclevel5\"/>\n            </xsl:element>\n          </dd>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:element name=\"{$toc.list.type}\" namespace=\"http://www.w3.org/1999/xhtml\">\n            <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n            <xsl:apply-templates select=\"tocchap|toclevel1|toclevel2|                                          toclevel3|toclevel4|toclevel5\"/>\n          </xsl:element>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:if>\n  </xsl:variable>\n\n  <xsl:apply-templates select=\"tocentry[position() != last()]\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$toc.list.type = 'dl'\">\n      <dt>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:apply-templates select=\"tocentry[position() = last()]\"/>\n      </dt>\n      <xsl:copy-of select=\"$sub-toc\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <li>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:apply-templates select=\"tocentry[position() = last()]\"/>\n        <xsl:copy-of select=\"$sub-toc\"/>\n      </li>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"tocentry|tocdiv|lotentry|tocfront|tocback\">\n  <xsl:choose>\n    <xsl:when test=\"$toc.list.type = 'dl'\">\n      <dt>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:call-template name=\"tocentry-content\"/>\n      </dt>\n    </xsl:when>\n    <xsl:otherwise>\n      <li>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:call-template name=\"tocentry-content\"/>\n      </li>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"tocentry[position() = last()]\" priority=\"2\">\n  <xsl:call-template name=\"tocentry-content\"/>\n</xsl:template>\n\n<xsl:template name=\"tocentry-content\">\n  <xsl:variable name=\"targets\" select=\"key('id',@linkend)\"/>\n  <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"@linkend\">\n      <xsl:call-template name=\"check.id.unique\">\n        <xsl:with-param name=\"linkend\" select=\"@linkend\"/>\n      </xsl:call-template>\n      <a>\n        <xsl:attribute name=\"href\">\n          <xsl:call-template name=\"href.target\">\n            <xsl:with-param name=\"object\" select=\"$target\"/>\n          </xsl:call-template>\n        </xsl:attribute>\n        <xsl:apply-templates/>\n      </a>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"toc/title\">\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:apply-templates/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"toc/subtitle\">\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:apply-templates/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"toc/titleabbrev\">\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<!-- A lot element must have content, because there is no attribute\n     to select what kind of list should be generated -->\n<xsl:template match=\"book/lot | part/lot\">\n  <!-- Don't generate a page sequence unless there is content -->\n  <xsl:variable name=\"content\">\n    <xsl:choose>\n      <xsl:when test=\"* and $process.source.toc != 0\">\n        <div>\n          <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n          <xsl:apply-templates/>\n        </div>\n      </xsl:when>\n      <xsl:when test=\"not(child::*) and $process.empty.source.toc != 0\">\n        <xsl:call-template name=\"process.empty.lot\"/>\n      </xsl:when>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:if test=\"string-length(normalize-space($content)) != 0\">\n    <xsl:copy-of select=\"$content\"/>\n  </xsl:if>\n</xsl:template>\n  \n<xsl:template match=\"chapter/lot | appendix/lot | preface/lot | article/lot\">\n  <xsl:choose>\n    <xsl:when test=\"* and $process.source.toc != 0\">\n      <div>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:apply-templates/>\n      </div>\n      <xsl:call-template name=\"component.toc.separator\"/>\n    </xsl:when>\n    <xsl:when test=\"not(child::*) and $process.empty.source.toc != 0\">\n      <xsl:call-template name=\"process.empty.lot\"/>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"section/lot                     |sect1/lot                     |sect2/lot                     |sect3/lot                     |sect4/lot                     |sect5/lot\">\n  <xsl:choose>\n    <xsl:when test=\"* and $process.source.toc != 0\">\n      <div>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:apply-templates/>\n      </div>\n      <xsl:call-template name=\"section.toc.separator\"/>\n    </xsl:when>\n    <xsl:when test=\"not(child::*) and $process.empty.source.toc != 0\">\n      <xsl:call-template name=\"process.empty.lot\"/>\n    </xsl:when>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"process.empty.lot\">\n  <!-- An empty lot element does not provide any information to indicate\n       what should be included in it.  You can customize this\n       template to generate a lot based on @role or something -->\n  <xsl:message>\n    <xsl:text>Warning: don't know what to generate for </xsl:text>\n    <xsl:text>lot that has no children.</xsl:text>\n  </xsl:message>\n</xsl:template>\n\n<xsl:template match=\"lot/title\">\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:apply-templates/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"lot/subtitle\">\n  <div>\n    <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n    <xsl:apply-templates/>\n  </div>\n</xsl:template>\n\n<xsl:template match=\"lot/titleabbrev\">\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/verbatim.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!--This file was created automatically by html2xhtml-->\n<!--from the HTML stylesheets.-->\n<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:sverb=\"http://nwalsh.com/xslt/ext/com.nwalsh.saxon.Verbatim\" xmlns:xverb=\"xalan://com.nwalsh.xalan.Verbatim\" xmlns:lxslt=\"http://xml.apache.org/xslt\" xmlns:exsl=\"http://exslt.org/common\" xmlns=\"http://www.w3.org/1999/xhtml\" exclude-result-prefixes=\"sverb xverb lxslt exsl\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: verbatim.xsl 9589 2012-09-02 20:52:15Z tom_schr $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- XSLTHL highlighting is turned off by default. See highlighting/README\n     for instructions on how to turn on XSLTHL -->\n<xsl:template name=\"apply-highlighting\">\n    <xsl:apply-templates/>\n</xsl:template>\n\n<lxslt:component prefix=\"xverb\" functions=\"numberLines\"/>\n\n<xsl:template match=\"programlisting|screen|synopsis\">\n  <xsl:param name=\"suppress-numbers\" select=\"'0'\"/>\n\n  <xsl:call-template name=\"anchor\"/>\n\n  <xsl:variable name=\"div.element\">pre</xsl:variable>\n\n  <xsl:if test=\"$shade.verbatim != 0\">\n    <xsl:message>\n      <xsl:text>The shade.verbatim parameter is deprecated. </xsl:text>\n      <xsl:text>Use CSS instead,</xsl:text>\n    </xsl:message>\n    <xsl:message>\n      <xsl:text>for example: pre.</xsl:text>\n      <xsl:value-of select=\"local-name(.)\"/>\n      <xsl:text> { background-color: #E0E0E0; }</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n  <xsl:choose>\n    <xsl:when test=\"$suppress-numbers = '0'                     and @linenumbering = 'numbered'                     and $use.extensions != '0'                     and $linenumbering.extension != '0'\">\n      <xsl:variable name=\"rtf\">\n        <xsl:choose>\n          <xsl:when test=\"$highlight.source != 0\">\n            <xsl:call-template name=\"apply-highlighting\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:apply-templates/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:variable>\n      <xsl:element name=\"{$div.element}\" namespace=\"http://www.w3.org/1999/xhtml\">\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:if test=\"@width != ''\">\n          <xsl:attribute name=\"width\">\n            <xsl:value-of select=\"@width\"/>\n          </xsl:attribute>\n        </xsl:if>\n        <xsl:call-template name=\"number.rtf.lines\">\n          <xsl:with-param name=\"rtf\" select=\"$rtf\"/>\n        </xsl:call-template>\n      </xsl:element>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:element name=\"{$div.element}\" namespace=\"http://www.w3.org/1999/xhtml\">\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:call-template name=\"id.attribute\"/>\n        <xsl:if test=\"@width != ''\">\n          <xsl:attribute name=\"width\">\n            <xsl:value-of select=\"@width\"/>\n          </xsl:attribute>\n        </xsl:if>\n        <xsl:choose>\n          <xsl:when test=\"$highlight.source != 0\">\n            <xsl:call-template name=\"apply-highlighting\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:apply-templates/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:element>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"literallayout\">\n  <xsl:param name=\"suppress-numbers\" select=\"'0'\"/>\n\n  <xsl:variable name=\"rtf\">\n    <xsl:apply-templates/>\n  </xsl:variable>\n\n  <xsl:if test=\"$shade.verbatim != 0 and @class='monospaced'\">\n    <xsl:message>\n      <xsl:text>The shade.verbatim parameter is deprecated. </xsl:text>\n      <xsl:text>Use CSS instead,</xsl:text>\n    </xsl:message>\n    <xsl:message>\n      <xsl:text>for example: pre.</xsl:text>\n      <xsl:value-of select=\"local-name(.)\"/>\n      <xsl:text> { background-color: #E0E0E0; }</xsl:text>\n    </xsl:message>\n  </xsl:if>\n\n  <xsl:choose>\n    <xsl:when test=\"$suppress-numbers = '0'                     and @linenumbering = 'numbered'                     and $use.extensions != '0'                     and $linenumbering.extension != '0'\">\n      <xsl:choose>\n        <xsl:when test=\"@class='monospaced'\">\n          <pre>\n            <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n            <xsl:call-template name=\"id.attribute\"/>\n            <xsl:call-template name=\"number.rtf.lines\">\n              <xsl:with-param name=\"rtf\" select=\"$rtf\"/>\n            </xsl:call-template>\n          </pre>\n        </xsl:when>\n        <xsl:otherwise>\n          <div>\n            <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n            <xsl:call-template name=\"id.attribute\"/>\n            <p>\n              <xsl:call-template name=\"number.rtf.lines\">\n                <xsl:with-param name=\"rtf\" select=\"$rtf\"/>\n              </xsl:call-template>\n            </p>\n          </div>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"@class='monospaced'\">\n          <pre>\n            <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n            <xsl:call-template name=\"id.attribute\"/>\n            <xsl:copy-of select=\"$rtf\"/>\n          </pre>\n        </xsl:when>\n        <xsl:otherwise>\n          <div>\n            <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n            <xsl:call-template name=\"id.attribute\"/>\n            <p>\n              <xsl:call-template name=\"make-verbatim\">\n                <xsl:with-param name=\"rtf\" select=\"$rtf\"/>\n              </xsl:call-template>\n            </p>\n          </div>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"address\">\n  <xsl:param name=\"suppress-numbers\" select=\"'0'\"/>\n\n  <xsl:variable name=\"rtf\">\n    <xsl:apply-templates/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$suppress-numbers = '0'                     and @linenumbering = 'numbered'                     and $use.extensions != '0'                     and $linenumbering.extension != '0'\">\n      <div>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:call-template name=\"id.attribute\"/>\n        <p>\n          <xsl:call-template name=\"number.rtf.lines\">\n            <xsl:with-param name=\"rtf\" select=\"$rtf\"/>\n          </xsl:call-template>\n        </p>\n      </div>\n    </xsl:when>\n\n    <xsl:otherwise>\n      <div>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:call-template name=\"id.attribute\"/>\n        <p>\n          <xsl:call-template name=\"make-verbatim\">\n            <xsl:with-param name=\"rtf\" select=\"$rtf\"/>\n          </xsl:call-template>\n        </p>\n      </div>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"number.rtf.lines\">\n  <xsl:param name=\"rtf\" select=\"''\"/>\n  <xsl:param name=\"pi.context\" select=\".\"/>\n\n  <!-- Save the global values -->\n  <xsl:variable name=\"global.linenumbering.everyNth\" select=\"$linenumbering.everyNth\"/>\n\n  <xsl:variable name=\"global.linenumbering.separator\" select=\"$linenumbering.separator\"/>\n\n  <xsl:variable name=\"global.linenumbering.width\" select=\"$linenumbering.width\"/>\n\n  <!-- Extract the <?dbhtml linenumbering.*?> PI values -->\n  <xsl:variable name=\"pi.linenumbering.everyNth\">\n    <xsl:call-template name=\"pi.dbhtml_linenumbering.everyNth\">\n      <xsl:with-param name=\"node\" select=\"$pi.context\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"pi.linenumbering.separator\">\n    <xsl:call-template name=\"pi.dbhtml_linenumbering.separator\">\n      <xsl:with-param name=\"node\" select=\"$pi.context\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:variable name=\"pi.linenumbering.width\">\n    <xsl:call-template name=\"pi.dbhtml_linenumbering.width\">\n      <xsl:with-param name=\"node\" select=\"$pi.context\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <!-- Construct the 'in-context' values -->\n  <xsl:variable name=\"linenumbering.everyNth\">\n    <xsl:choose>\n      <xsl:when test=\"$pi.linenumbering.everyNth != ''\">\n        <xsl:value-of select=\"$pi.linenumbering.everyNth\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$global.linenumbering.everyNth\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"linenumbering.separator\">\n    <xsl:choose>\n      <xsl:when test=\"$pi.linenumbering.separator != ''\">\n        <xsl:value-of select=\"$pi.linenumbering.separator\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$global.linenumbering.separator\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"linenumbering.width\">\n    <xsl:choose>\n      <xsl:when test=\"$pi.linenumbering.width != ''\">\n        <xsl:value-of select=\"$pi.linenumbering.width\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"$global.linenumbering.width\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:variable name=\"linenumbering.startinglinenumber\">\n    <xsl:choose>\n      <xsl:when test=\"$pi.context/@startinglinenumber\">\n        <xsl:value-of select=\"$pi.context/@startinglinenumber\"/>\n      </xsl:when>\n      <xsl:when test=\"$pi.context/@continuation='continues'\">\n        <xsl:variable name=\"lastLine\">\n          <xsl:choose>\n            <xsl:when test=\"$pi.context/self::programlisting\">\n              <xsl:call-template name=\"lastLineNumber\">\n                <xsl:with-param name=\"listings\" select=\"preceding::programlisting[@linenumbering='numbered']\"/>\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:when test=\"$pi.context/self::screen\">\n              <xsl:call-template name=\"lastLineNumber\">\n                <xsl:with-param name=\"listings\" select=\"preceding::screen[@linenumbering='numbered']\"/>\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:when test=\"$pi.context/self::literallayout\">\n              <xsl:call-template name=\"lastLineNumber\">\n                <xsl:with-param name=\"listings\" select=\"preceding::literallayout[@linenumbering='numbered']\"/>\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:when test=\"$pi.context/self::address\">\n              <xsl:call-template name=\"lastLineNumber\">\n                <xsl:with-param name=\"listings\" select=\"preceding::address[@linenumbering='numbered']\"/>\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:when test=\"$pi.context/self::synopsis\">\n              <xsl:call-template name=\"lastLineNumber\">\n                <xsl:with-param name=\"listings\" select=\"preceding::synopsis[@linenumbering='numbered']\"/>\n              </xsl:call-template>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:message>\n                <xsl:text>Unexpected verbatim environment: </xsl:text>\n                <xsl:value-of select=\"local-name($pi.context)\"/>\n              </xsl:message>\n              <xsl:value-of select=\"0\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:variable>\n\n        <xsl:value-of select=\"$lastLine + 1\"/>\n      </xsl:when>\n      <xsl:otherwise>1</xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"function-available('sverb:numberLines')\">\n      <xsl:copy-of select=\"sverb:numberLines($rtf)\"/>\n    </xsl:when>\n    <xsl:when test=\"function-available('xverb:numberLines')\">\n      <xsl:copy-of select=\"xverb:numberLines($rtf)\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:message terminate=\"yes\">\n        <xsl:text>No numberLines function available.</xsl:text>\n      </xsl:message>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"make-verbatim\">\n  <xsl:param name=\"rtf\"/>\n\n  <!-- I want to make this RTF verbatim. There are two possibilities: either\n       I have access to the exsl:node-set extension function and I can \"do it right\"\n       or I have to rely on CSS. -->\n\n  <xsl:choose>\n    <xsl:when test=\"$exsl.node.set.available != 0\">\n      <xsl:apply-templates select=\"exsl:node-set($rtf)\" mode=\"make.verbatim.mode\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <span style=\"white-space: pre;\">\n        <xsl:copy-of select=\"$rtf\"/>\n      </span>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ======================================================================== -->\n\n<xsl:template name=\"lastLineNumber\">\n  <xsl:param name=\"listings\"/>\n  <xsl:param name=\"number\" select=\"0\"/>\n\n  <xsl:variable name=\"lines\">\n    <xsl:call-template name=\"countLines\">\n      <xsl:with-param name=\"listing\" select=\"string($listings[1])\"/>\n    </xsl:call-template>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"not($listings)\">\n      <xsl:value-of select=\"$number\"/>\n    </xsl:when>\n    <xsl:when test=\"$listings[1]/@startinglinenumber\">\n      <xsl:value-of select=\"$number + $listings[1]/@startinglinenumber + $lines - 1\"/>\n    </xsl:when>\n    <xsl:when test=\"$listings[1]/@continuation='continues'\">\n      <xsl:call-template name=\"lastLineNumber\">\n        <xsl:with-param name=\"listings\" select=\"$listings[position() &gt; 1]\"/>\n        <xsl:with-param name=\"number\" select=\"$number + $lines\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$lines\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template name=\"countLines\">\n  <xsl:param name=\"listing\"/>\n  <xsl:param name=\"count\" select=\"1\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"contains($listing, '&#10;')\">\n      <xsl:call-template name=\"countLines\">\n        <xsl:with-param name=\"listing\" select=\"substring-after($listing, '&#10;')\"/>\n        <xsl:with-param name=\"count\" select=\"$count + 1\"/>\n      </xsl:call-template>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:value-of select=\"$count\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n</xsl:stylesheet>\n"
  },
  {
    "path": "src/ThirdParty/xsl-stylesheets/xhtml-1_1/xref.xsl",
    "content": "<?xml version=\"1.0\" encoding=\"ASCII\"?><!--This file was created automatically by html2xhtml--><!--from the HTML stylesheets.--><xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:suwl=\"http://nwalsh.com/xslt/ext/com.nwalsh.saxon.UnwrapLinks\" xmlns:exsl=\"http://exslt.org/common\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns=\"http://www.w3.org/1999/xhtml\" exclude-result-prefixes=\"suwl exsl xlink\" version=\"1.0\">\n\n<!-- ********************************************************************\n     $Id: xref.xsl 9713 2013-01-22 22:08:30Z bobstayton $\n     ********************************************************************\n\n     This file is part of the XSL DocBook Stylesheet distribution.\n     See ../README or http://docbook.sf.net/release/xsl/current/ for\n     copyright and other information.\n\n     ******************************************************************** -->\n\n<!-- Use internal variable for olink xlink role for consistency -->\n<xsl:variable name=\"xolink.role\">http://docbook.org/xlink/role/olink</xsl:variable>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"anchor\">\n  <xsl:choose>\n    <xsl:when test=\"$generate.id.attributes = 0\">\n      <xsl:call-template name=\"anchor\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <span>\n        <xsl:call-template name=\"id.attribute\"/>\n      </span>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"xref\" name=\"xref\">\n  <xsl:param name=\"xhref\" select=\"@xlink:href\"/>\n  <!-- is the @xlink:href a local idref link? -->\n  <xsl:param name=\"xlink.idref\">\n    <xsl:if test=\"starts-with($xhref,'#')                   and (not(contains($xhref,'('))                   or starts-with($xhref, '#xpointer(id('))\">\n      <xsl:call-template name=\"xpointer.idref\">\n        <xsl:with-param name=\"xpointer\" select=\"$xhref\"/>\n      </xsl:call-template>\n   </xsl:if>\n  </xsl:param>\n  <xsl:param name=\"xlink.targets\" select=\"key('id',$xlink.idref)\"/>\n  <xsl:param name=\"linkend.targets\" select=\"key('id',@linkend)\"/>\n  <xsl:param name=\"target\" select=\"($xlink.targets | $linkend.targets)[1]\"/>\n\n  <xsl:variable name=\"xrefstyle\">\n    <xsl:choose>\n      <xsl:when test=\"@role and not(@xrefstyle)                        and $use.role.as.xrefstyle != 0\">\n        <xsl:value-of select=\"@role\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"@xrefstyle\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:call-template name=\"anchor\"/>\n\n  <xsl:variable name=\"content\">\n    <xsl:choose>\n  \n      <xsl:when test=\"@endterm\">\n        <xsl:variable name=\"etargets\" select=\"key('id',@endterm)\"/>\n        <xsl:variable name=\"etarget\" select=\"$etargets[1]\"/>\n        <xsl:choose>\n          <xsl:when test=\"count($etarget) = 0\">\n            <xsl:message>\n              <xsl:value-of select=\"count($etargets)\"/>\n              <xsl:text>Endterm points to nonexistent ID: </xsl:text>\n              <xsl:value-of select=\"@endterm\"/>\n            </xsl:message>\n            <xsl:text>???</xsl:text>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:apply-templates select=\"$etarget\" mode=\"endterm\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n  \n      <xsl:when test=\"$target/@xreflabel\">\n        <xsl:call-template name=\"xref.xreflabel\">\n          <xsl:with-param name=\"target\" select=\"$target\"/>\n        </xsl:call-template>\n      </xsl:when>\n  \n      <xsl:when test=\"$target\">\n        <xsl:if test=\"not(parent::citation)\">\n          <xsl:apply-templates select=\"$target\" mode=\"xref-to-prefix\"/>\n        </xsl:if>\n  \n        <xsl:apply-templates select=\"$target\" mode=\"xref-to\">\n          <xsl:with-param name=\"referrer\" select=\".\"/>\n          <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n        </xsl:apply-templates>\n  \n        <xsl:if test=\"not(parent::citation)\">\n          <xsl:apply-templates select=\"$target\" mode=\"xref-to-suffix\"/>\n        </xsl:if>\n      </xsl:when>\n\n      <xsl:otherwise>\n        <xsl:message>\n          <xsl:text>ERROR: xref linking to </xsl:text>\n          <xsl:value-of select=\"@linkend|@xlink:href\"/>\n          <xsl:text> has no generated link text.</xsl:text>\n        </xsl:message>\n        <xsl:text>???</xsl:text>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:call-template name=\"simple.xlink\">\n    <xsl:with-param name=\"content\" select=\"$content\"/>\n  </xsl:call-template>\n\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<!-- biblioref handled largely like an xref -->\n<!-- To be done: add support for begin, end, and units attributes -->\n<xsl:template match=\"biblioref\">\n  <xsl:variable name=\"targets\" select=\"key('id',@linkend)\"/>\n  <xsl:variable name=\"target\" select=\"$targets[1]\"/>\n  <xsl:variable name=\"refelem\" select=\"local-name($target)\"/>\n\n  <xsl:call-template name=\"check.id.unique\">\n    <xsl:with-param name=\"linkend\" select=\"@linkend\"/>\n  </xsl:call-template>\n\n  <xsl:call-template name=\"anchor\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"count($target) = 0\">\n      <xsl:message>\n        <xsl:text>XRef to nonexistent id: </xsl:text>\n        <xsl:value-of select=\"@linkend\"/>\n      </xsl:message>\n      <xsl:text>???</xsl:text>\n    </xsl:when>\n\n    <xsl:when test=\"@endterm\">\n      <xsl:variable name=\"href\">\n        <xsl:call-template name=\"href.target\">\n          <xsl:with-param name=\"object\" select=\"$target\"/>\n        </xsl:call-template>\n      </xsl:variable>\n\n      <xsl:variable name=\"etargets\" select=\"key('id',@endterm)\"/>\n      <xsl:variable name=\"etarget\" select=\"$etargets[1]\"/>\n      <xsl:choose>\n        <xsl:when test=\"count($etarget) = 0\">\n          <xsl:message>\n            <xsl:value-of select=\"count($etargets)\"/>\n            <xsl:text>Endterm points to nonexistent ID: </xsl:text>\n            <xsl:value-of select=\"@endterm\"/>\n          </xsl:message>\n          <a href=\"{$href}\">\n            <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n            <xsl:call-template name=\"id.attribute\"/>\n            <xsl:text>???</xsl:text>\n          </a>\n        </xsl:when>\n        <xsl:otherwise>\n          <a href=\"{$href}\">\n            <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n            <xsl:call-template name=\"id.attribute\"/>\n            <xsl:apply-templates select=\"$etarget\" mode=\"endterm\"/>\n          </a>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n\n    <xsl:when test=\"$target/@xreflabel\">\n      <a>\n        <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n        <xsl:attribute name=\"href\">\n          <xsl:call-template name=\"href.target\">\n            <xsl:with-param name=\"object\" select=\"$target\"/>\n          </xsl:call-template>\n        </xsl:attribute>\n        <xsl:call-template name=\"xref.xreflabel\">\n          <xsl:with-param name=\"target\" select=\"$target\"/>\n        </xsl:call-template>\n      </a>\n    </xsl:when>\n\n    <xsl:otherwise>\n      <xsl:variable name=\"href\">\n        <xsl:call-template name=\"href.target\">\n          <xsl:with-param name=\"object\" select=\"$target\"/>\n        </xsl:call-template>\n      </xsl:variable>\n\n      <xsl:if test=\"not(parent::citation)\">\n        <xsl:apply-templates select=\"$target\" mode=\"xref-to-prefix\"/>\n      </xsl:if>\n\n      <a href=\"{$href}\">\n        <xsl:apply-templates select=\".\" mode=\"class.attribute\"/>\n        <xsl:if test=\"$target/title or $target/info/title\">\n          <xsl:attribute name=\"title\">\n            <xsl:apply-templates select=\"$target\" mode=\"xref-title\"/>\n          </xsl:attribute>\n        </xsl:if>\n        <xsl:apply-templates select=\"$target\" mode=\"xref-to\">\n          <xsl:with-param name=\"referrer\" select=\".\"/>\n          <xsl:with-param name=\"xrefstyle\">\n            <xsl:choose>\n              <xsl:when test=\"@role and not(@xrefstyle) and $use.role.as.xrefstyle != 0\">\n                <xsl:value-of select=\"@role\"/>\n              </xsl:when>\n              <xsl:otherwise>\n                <xsl:value-of select=\"@xrefstyle\"/>\n              </xsl:otherwise>\n            </xsl:choose>\n          </xsl:with-param>\n        </xsl:apply-templates>\n      </a>\n\n      <xsl:if test=\"not(parent::citation)\">\n        <xsl:apply-templates select=\"$target\" mode=\"xref-to-suffix\"/>\n      </xsl:if>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"*\" mode=\"endterm\">\n  <!-- Process the children of the endterm element -->\n  <xsl:variable name=\"endterm\">\n    <xsl:apply-templates select=\"child::node()\" mode=\"no.anchor.mode\"/>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"$exsl.node.set.available != 0\">\n      <xsl:apply-templates select=\"exsl:node-set($endterm)\" mode=\"remove-ids\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy-of select=\"$endterm\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"remove-ids\">\n  <xsl:choose>\n    <!-- handle html or xhtml -->\n    <xsl:when test=\"local-name(.) = 'a'                     and (namespace-uri(.) = ''                          or namespace-uri(.) = 'http://www.w3.org/1999/xhtml')\">\n      <xsl:choose>\n        <xsl:when test=\"(@name and count(@*) = 1)                         or (@id and count(@*) = 1)                         or (@xml:id and count(@*) = 1)                         or (@xml:id and @name and count(@*) = 2)                         or (@id and @name and count(@*) = 2)\">\n          <xsl:message>suppress anchor</xsl:message>\n          <!-- suppress the whole thing -->\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:copy>\n            <xsl:for-each select=\"@*\">\n              <xsl:choose>\n                <xsl:when test=\"local-name(.) != 'name' and local-name(.) != 'id'\">\n                  <xsl:copy/>\n                </xsl:when>\n                <xsl:otherwise>\n                  <xsl:message>removing <xsl:value-of select=\"local-name(.)\"/></xsl:message>\n                </xsl:otherwise>\n              </xsl:choose>\n            </xsl:for-each>\n          </xsl:copy>\n          <xsl:apply-templates mode=\"remove-ids\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy>\n        <xsl:for-each select=\"@*\">\n          <xsl:choose>\n            <xsl:when test=\"local-name(.) != 'id'\">\n              <xsl:copy/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:message>removing <xsl:value-of select=\"local-name(.)\"/></xsl:message>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:for-each>\n        <xsl:apply-templates mode=\"remove-ids\"/>\n      </xsl:copy>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"*\" mode=\"xref-to-prefix\"/>\n<xsl:template match=\"*\" mode=\"xref-to-suffix\"/>\n\n<xsl:template match=\"*\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:if test=\"$verbose\">\n    <xsl:message>\n      <xsl:text>Don't know what gentext to create for xref to: \"</xsl:text>\n      <xsl:value-of select=\"name(.)\"/>\n      <xsl:text>\", (\"</xsl:text>\n      <xsl:value-of select=\"(@id|@xml:id)[1]\"/>\n      <xsl:text>\")</xsl:text>\n    </xsl:message>\n  </xsl:if>\n  <xsl:text>???</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"title\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <!-- if you xref to a title, xref to the parent... -->\n  <xsl:choose>\n    <!-- FIXME: how reliable is this? -->\n    <xsl:when test=\"contains(local-name(parent::*), 'info')\">\n      <xsl:apply-templates select=\"parent::*[2]\" mode=\"xref-to\">\n        <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n        <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n        <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates select=\"parent::*\" mode=\"xref-to\">\n        <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n        <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n        <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n      </xsl:apply-templates>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"abstract|authorblurb|personblurb|bibliodiv|bibliomset                      |biblioset|blockquote|calloutlist|caution|colophon                      |constraintdef|formalpara|glossdiv|important|indexdiv                      |itemizedlist|legalnotice|lot|msg|msgexplan|msgmain                      |msgrel|msgset|msgsub|note|orderedlist|partintro                      |productionset|qandadiv|refsynopsisdiv|screenshot|segmentedlist                      |set|setindex|sidebar|tip|toc|variablelist|warning\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <!-- catch-all for things with (possibly optional) titles -->\n  <xsl:apply-templates select=\".\" mode=\"object.xref.markup\">\n    <xsl:with-param name=\"purpose\" select=\"'xref'\"/>\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"author|editor|othercredit|personname\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n\n  <xsl:call-template name=\"person.name\"/>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n\n  <xsl:call-template name=\"person.name.list\"/>\n</xsl:template>\n\n<xsl:template match=\"figure|example|table|equation\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:apply-templates select=\".\" mode=\"object.xref.markup\">\n    <xsl:with-param name=\"purpose\" select=\"'xref'\"/>\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"procedure\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\"/>\n\n  <xsl:apply-templates select=\".\" mode=\"object.xref.markup\">\n    <xsl:with-param name=\"purpose\" select=\"'xref'\"/>\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"task\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\"/>\n\n  <xsl:apply-templates select=\".\" mode=\"object.xref.markup\">\n    <xsl:with-param name=\"purpose\" select=\"'xref'\"/>\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"cmdsynopsis\" mode=\"xref-to\">\n  <xsl:apply-templates select=\"(.//command)[1]\" mode=\"xref\"/>\n</xsl:template>\n\n<xsl:template match=\"funcsynopsis\" mode=\"xref-to\">\n  <xsl:apply-templates select=\"(.//function)[1]\" mode=\"xref\"/>\n</xsl:template>\n\n<xsl:template match=\"dedication|acknowledgements|preface|chapter|appendix|article\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:apply-templates select=\".\" mode=\"object.xref.markup\">\n    <xsl:with-param name=\"purpose\" select=\"'xref'\"/>\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"bibliography\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:apply-templates select=\".\" mode=\"object.xref.markup\">\n    <xsl:with-param name=\"purpose\" select=\"'xref'\"/>\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"biblioentry|bibliomixed\" mode=\"xref-to-prefix\">\n  <xsl:text>[</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"biblioentry|bibliomixed\" mode=\"xref-to-suffix\">\n  <xsl:text>]</xsl:text>\n</xsl:template>\n\n<xsl:template match=\"biblioentry|bibliomixed\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <!-- handles both biblioentry and bibliomixed -->\n  <xsl:choose>\n    <xsl:when test=\"string(.) = ''\">\n      <xsl:variable name=\"bib\" select=\"document($bibliography.collection,.)\"/>\n      <xsl:variable name=\"id\" select=\"(@id|@xml:id)[1]\"/>\n      <xsl:variable name=\"entry\" select=\"$bib/bibliography/                                     *[@id=$id or @xml:id=$id][1]\"/>\n      <xsl:choose>\n        <xsl:when test=\"$entry\">\n          <xsl:choose>\n            <xsl:when test=\"$bibliography.numbered != 0\">\n              <xsl:number from=\"bibliography\" count=\"biblioentry|bibliomixed\" level=\"any\" format=\"1\"/>\n            </xsl:when>\n            <xsl:when test=\"local-name($entry/*[1]) = 'abbrev'\">\n              <xsl:apply-templates select=\"$entry/*[1]\" mode=\"no.anchor.mode\"/>\n            </xsl:when>\n            <xsl:otherwise>\n              <xsl:value-of select=\"(@id|@xml:id)[1]\"/>\n            </xsl:otherwise>\n          </xsl:choose>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:message>\n            <xsl:text>No bibliography entry: </xsl:text>\n            <xsl:value-of select=\"$id\"/>\n            <xsl:text> found in </xsl:text>\n            <xsl:value-of select=\"$bibliography.collection\"/>\n          </xsl:message>\n          <xsl:value-of select=\"(@id|@xml:id)[1]\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"$bibliography.numbered != 0\">\n          <xsl:number from=\"bibliography\" count=\"biblioentry|bibliomixed\" level=\"any\" format=\"1\"/>\n        </xsl:when>\n        <xsl:when test=\"local-name(*[1]) = 'abbrev'\">\n          <xsl:apply-templates select=\"*[1]\" mode=\"no.anchor.mode\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:value-of select=\"(@id|@xml:id)[1]\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"glossary\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:apply-templates select=\".\" mode=\"object.xref.markup\">\n    <xsl:with-param name=\"purpose\" select=\"'xref'\"/>\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"glossentry\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n  <xsl:choose>\n    <xsl:when test=\"$glossentry.show.acronym = 'primary'\">\n      <xsl:choose>\n        <xsl:when test=\"acronym|abbrev\">\n          <xsl:apply-templates select=\"(acronym|abbrev)[1]\" mode=\"no.anchor.mode\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates select=\"glossterm[1]\" mode=\"xref-to\">\n            <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n            <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n            <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n          </xsl:apply-templates>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates select=\"glossterm[1]\" mode=\"xref-to\">\n        <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n        <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n        <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n      </xsl:apply-templates>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"glossterm|firstterm\" mode=\"xref-to\">\n  <xsl:apply-templates mode=\"no.anchor.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"index\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:apply-templates select=\".\" mode=\"object.xref.markup\">\n    <xsl:with-param name=\"purpose\" select=\"'xref'\"/>\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"listitem\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\"/>\n\n  <xsl:apply-templates select=\".\" mode=\"object.xref.markup\">\n    <xsl:with-param name=\"purpose\" select=\"'xref'\"/>\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"section|simplesect                      |sect1|sect2|sect3|sect4|sect5                      |refsect1|refsect2|refsect3|refsection\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:apply-templates select=\".\" mode=\"object.xref.markup\">\n    <xsl:with-param name=\"purpose\" select=\"'xref'\"/>\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n  <!-- FIXME: What about \"in Chapter X\"? -->\n</xsl:template>\n\n<xsl:template match=\"topic\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:apply-templates select=\".\" mode=\"object.xref.markup\">\n    <xsl:with-param name=\"purpose\" select=\"'xref'\"/>\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"bridgehead\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:apply-templates select=\".\" mode=\"object.xref.markup\">\n    <xsl:with-param name=\"purpose\" select=\"'xref'\"/>\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n  <!-- FIXME: What about \"in Chapter X\"? -->\n</xsl:template>\n\n<xsl:template match=\"qandaset\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:apply-templates select=\".\" mode=\"object.xref.markup\">\n    <xsl:with-param name=\"purpose\" select=\"'xref'\"/>\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"qandaentry\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:apply-templates select=\"question[1]\" mode=\"xref-to\">\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"question|answer\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"string-length(label) != 0\">\n      <xsl:apply-templates select=\".\" mode=\"label.markup\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates select=\".\" mode=\"object.xref.markup\">\n        <xsl:with-param name=\"purpose\" select=\"'xref'\"/>\n        <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n        <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n        <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n      </xsl:apply-templates>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"part|reference\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:apply-templates select=\".\" mode=\"object.xref.markup\">\n    <xsl:with-param name=\"purpose\" select=\"'xref'\"/>\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"refentry\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"refmeta/refentrytitle\">\n      <xsl:apply-templates select=\"refmeta/refentrytitle\" mode=\"no.anchor.mode\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates select=\"refnamediv/refname[1]\" mode=\"no.anchor.mode\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n  <xsl:apply-templates select=\"refmeta/manvolnum\" mode=\"no.anchor.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"refnamediv\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:apply-templates select=\"refname[1]\" mode=\"xref-to\">\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"refname\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:apply-templates mode=\"xref-to\"/>\n</xsl:template>\n\n<xsl:template match=\"step\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\" select=\"'Step'\"/>\n  </xsl:call-template>\n  <xsl:text> </xsl:text>\n  <xsl:apply-templates select=\".\" mode=\"number\"/>\n</xsl:template>\n\n<xsl:template match=\"varlistentry\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:apply-templates select=\"term[1]\" mode=\"xref-to\">\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<xsl:template match=\"primary|secondary|tertiary\" mode=\"xref-to\">\n  <xsl:value-of select=\".\"/>\n</xsl:template>\n\n<xsl:template match=\"indexterm\" mode=\"xref-to\">\n  <xsl:value-of select=\"primary\"/>\n</xsl:template>\n\n<xsl:template match=\"varlistentry/term\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n\n  <xsl:apply-templates mode=\"no.anchor.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"co\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n\n  <xsl:apply-templates select=\".\" mode=\"callout-bug\"/>\n</xsl:template>\n\n<xsl:template match=\"area|areaset\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n\n  <xsl:call-template name=\"callout-bug\">\n    <xsl:with-param name=\"conum\">\n      <xsl:apply-templates select=\".\" mode=\"conumber\"/>\n    </xsl:with-param>\n  </xsl:call-template>\n</xsl:template>\n\n<xsl:template match=\"book\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:apply-templates select=\".\" mode=\"object.xref.markup\">\n    <xsl:with-param name=\"purpose\" select=\"'xref'\"/>\n    <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n    <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n    <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n  </xsl:apply-templates>\n</xsl:template>\n\n<!-- These are elements for which no link text exists, so an xref to one\n     uses the xrefstyle attribute if specified, or if not it falls back\n     to the container element's link text -->\n<xsl:template match=\"para|phrase|simpara|anchor|quote\" mode=\"xref-to\">\n  <xsl:param name=\"referrer\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"verbose\" select=\"1\"/>\n\n  <xsl:variable name=\"context\" select=\"(ancestor::simplesect                                        |ancestor::section                                        |ancestor::sect1                                        |ancestor::sect2                                        |ancestor::sect3                                        |ancestor::sect4                                        |ancestor::sect5                                        |ancestor::topic                                        |ancestor::refsection                                        |ancestor::refsect1                                        |ancestor::refsect2                                        |ancestor::refsect3                                        |ancestor::chapter                                        |ancestor::appendix                                        |ancestor::preface                                        |ancestor::partintro                                        |ancestor::dedication                                        |ancestor::acknowledgements                                        |ancestor::colophon                                        |ancestor::bibliography                                        |ancestor::index                                        |ancestor::glossary                                        |ancestor::glossentry                                        |ancestor::listitem                                        |ancestor::varlistentry)[last()]\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$xrefstyle != ''\">\n      <xsl:apply-templates select=\".\" mode=\"object.xref.markup\">\n        <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n        <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n        <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n      </xsl:apply-templates>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:apply-templates select=\"$context\" mode=\"xref-to\">\n        <xsl:with-param name=\"purpose\" select=\"'xref'\"/>\n        <xsl:with-param name=\"xrefstyle\" select=\"$xrefstyle\"/>\n        <xsl:with-param name=\"referrer\" select=\"$referrer\"/>\n        <xsl:with-param name=\"verbose\" select=\"$verbose\"/>\n      </xsl:apply-templates>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"*\" mode=\"xref-title\">\n  <xsl:variable name=\"title\">\n    <xsl:apply-templates select=\".\" mode=\"object.title.markup\"/>\n  </xsl:variable>\n\n  <xsl:value-of select=\"$title\"/>\n</xsl:template>\n\n<xsl:template match=\"author\" mode=\"xref-title\">\n  <xsl:variable name=\"title\">\n    <xsl:call-template name=\"person.name\"/>\n  </xsl:variable>\n\n  <xsl:value-of select=\"$title\"/>\n</xsl:template>\n\n<xsl:template match=\"authorgroup\" mode=\"xref-title\">\n  <xsl:variable name=\"title\">\n    <xsl:call-template name=\"person.name.list\"/>\n  </xsl:variable>\n\n  <xsl:value-of select=\"$title\"/>\n</xsl:template>\n\n<xsl:template match=\"cmdsynopsis\" mode=\"xref-title\">\n  <xsl:variable name=\"title\">\n    <xsl:apply-templates select=\"(.//command)[1]\" mode=\"xref\"/>\n  </xsl:variable>\n\n  <xsl:value-of select=\"$title\"/>\n</xsl:template>\n\n<xsl:template match=\"funcsynopsis\" mode=\"xref-title\">\n  <xsl:variable name=\"title\">\n    <xsl:apply-templates select=\"(.//function)[1]\" mode=\"xref\"/>\n  </xsl:variable>\n\n  <xsl:value-of select=\"$title\"/>\n</xsl:template>\n\n<xsl:template match=\"biblioentry|bibliomixed\" mode=\"xref-title\">\n  <!-- handles both biblioentry and bibliomixed -->\n  <xsl:variable name=\"title\">\n    <xsl:text>[</xsl:text>\n    <xsl:choose>\n      <xsl:when test=\"local-name(*[1]) = 'abbrev'\">\n        <xsl:apply-templates select=\"*[1]\" mode=\"no.anchor.mode\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:value-of select=\"(@id|@xml:id)[1]\"/>\n      </xsl:otherwise>\n    </xsl:choose>\n    <xsl:text>]</xsl:text>\n  </xsl:variable>\n\n  <xsl:value-of select=\"$title\"/>\n</xsl:template>\n\n<xsl:template match=\"step\" mode=\"xref-title\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\" select=\"'Step'\"/>\n  </xsl:call-template>\n  <xsl:text> </xsl:text>\n  <xsl:apply-templates select=\".\" mode=\"number\"/>\n</xsl:template>\n\n<xsl:template match=\"step[not(./title)]\" mode=\"title.markup\">\n  <xsl:call-template name=\"gentext\">\n    <xsl:with-param name=\"key\" select=\"'Step'\"/>\n  </xsl:call-template>\n  <xsl:text> </xsl:text>\n  <xsl:apply-templates select=\".\" mode=\"number\"/>\n</xsl:template>\n\n<xsl:template match=\"co\" mode=\"xref-title\">\n  <xsl:variable name=\"title\">\n    <xsl:apply-templates select=\".\" mode=\"callout-bug\"/>\n  </xsl:variable>\n\n  <xsl:value-of select=\"$title\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"link\" name=\"link\">\n  <xsl:param name=\"linkend\" select=\"@linkend\"/>\n  <xsl:param name=\"a.target\"/>\n  <xsl:param name=\"xhref\" select=\"@xlink:href\"/>\n\n  <xsl:variable name=\"content\">\n    <xsl:call-template name=\"anchor\"/>\n    <xsl:choose>\n      <xsl:when test=\"count(child::node()) &gt; 0\">\n        <!-- If it has content, use it -->\n        <xsl:apply-templates mode=\"no.anchor.mode\"/>\n      </xsl:when>\n      <!-- else look for an endterm -->\n      <xsl:when test=\"@endterm\">\n        <xsl:variable name=\"etargets\" select=\"key('id',@endterm)\"/>\n        <xsl:variable name=\"etarget\" select=\"$etargets[1]\"/>\n        <xsl:choose>\n          <xsl:when test=\"count($etarget) = 0\">\n            <xsl:message>\n              <xsl:value-of select=\"count($etargets)\"/>\n              <xsl:text>Endterm points to nonexistent ID: </xsl:text>\n              <xsl:value-of select=\"@endterm\"/>\n            </xsl:message>\n            <xsl:text>???</xsl:text>\n          </xsl:when>\n          <xsl:otherwise>\n              <xsl:apply-templates select=\"$etarget\" mode=\"endterm\"/>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:when>\n      <!-- Use the xlink:href if no other text -->\n      <xsl:when test=\"@xlink:href\">\n        <xsl:value-of select=\"@xlink:href\"/>\n      </xsl:when>\n      <xsl:otherwise>\n        <xsl:message>\n          <xsl:text>Link element has no content and no Endterm. </xsl:text>\n          <xsl:text>Nothing to show in the link to </xsl:text>\n          <xsl:value-of select=\"(@xlink:href|@linkend)[1]\"/>\n        </xsl:message>\n        <xsl:text>???</xsl:text>\n      </xsl:otherwise>\n    </xsl:choose>\n  </xsl:variable>\n\n  <xsl:call-template name=\"simple.xlink\">\n    <xsl:with-param name=\"node\" select=\".\"/>\n    <xsl:with-param name=\"linkend\" select=\"$linkend\"/>\n    <xsl:with-param name=\"content\" select=\"$content\"/>\n    <xsl:with-param name=\"a.target\" select=\"$a.target\"/>\n    <xsl:with-param name=\"xhref\" select=\"$xhref\"/>\n  </xsl:call-template>\n\n</xsl:template>\n\n<xsl:template match=\"ulink\" name=\"ulink\">\n  <xsl:param name=\"url\" select=\"@url\"/>\n  <xsl:variable name=\"link\">\n    <a>\n      <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n      <xsl:if test=\"@id or @xml:id\">\n        <xsl:choose>\n          <xsl:when test=\"$generate.id.attributes = 0\">\n            <xsl:attribute name=\"id\">\n              <xsl:value-of select=\"(@id|@xml:id)[1]\"/>\n            </xsl:attribute>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:attribute name=\"id\">\n              <xsl:value-of select=\"(@id|@xml:id)[1]\"/>\n            </xsl:attribute>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:if>\n      <xsl:attribute name=\"href\"><xsl:value-of select=\"$url\"/></xsl:attribute>\n      <xsl:if test=\"$ulink.target != ''\">\n        <xsl:attribute name=\"target\">\n          <xsl:value-of select=\"$ulink.target\"/>\n        </xsl:attribute>\n      </xsl:if>\n      <xsl:choose>\n        <xsl:when test=\"count(child::node())=0\">\n          <xsl:value-of select=\"$url\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:apply-templates mode=\"no.anchor.mode\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n    </a>\n  </xsl:variable>\n\n  <xsl:choose>\n    <xsl:when test=\"function-available('suwl:unwrapLinks')\">\n      <xsl:copy-of select=\"suwl:unwrapLinks($link)\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy-of select=\"$link\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"olink\" name=\"olink\">\n  <!-- olink content may be passed in from xlink olink -->\n  <xsl:param name=\"content\" select=\"NOTANELEMENT\"/>\n\n  <xsl:call-template name=\"anchor\"/>\n\n  <xsl:choose>\n    <!-- olinks resolved by stylesheet and target database -->\n    <xsl:when test=\"@targetdoc or @targetptr or                     (@xlink:role=$xolink.role and                      contains(@xlink:href, '#') )\">\n\n      <xsl:variable name=\"targetdoc.att\">\n        <xsl:choose>\n          <xsl:when test=\"@targetdoc != ''\">\n            <xsl:value-of select=\"@targetdoc\"/>\n          </xsl:when>\n          <xsl:when test=\"@xlink:role=$xolink.role and                        contains(@xlink:href, '#')\">\n            <xsl:value-of select=\"substring-before(@xlink:href, '#')\"/>\n          </xsl:when>\n        </xsl:choose>\n      </xsl:variable>\n\n      <xsl:variable name=\"targetptr.att\">\n        <xsl:choose>\n          <xsl:when test=\"@targetptr != ''\">\n            <xsl:value-of select=\"@targetptr\"/>\n          </xsl:when>\n          <xsl:when test=\"@xlink:role=$xolink.role and                        contains(@xlink:href, '#')\">\n            <xsl:value-of select=\"substring-after(@xlink:href, '#')\"/>\n          </xsl:when>\n        </xsl:choose>\n      </xsl:variable>\n\n      <xsl:variable name=\"olink.lang\">\n        <xsl:call-template name=\"l10n.language\">\n          <xsl:with-param name=\"xref-context\" select=\"true()\"/>\n        </xsl:call-template>\n      </xsl:variable>\n    \n      <xsl:variable name=\"target.database.filename\">\n        <xsl:call-template name=\"select.target.database\">\n          <xsl:with-param name=\"targetdoc.att\" select=\"$targetdoc.att\"/>\n          <xsl:with-param name=\"targetptr.att\" select=\"$targetptr.att\"/>\n          <xsl:with-param name=\"olink.lang\" select=\"$olink.lang\"/>\n        </xsl:call-template>\n      </xsl:variable>\n    \n      <xsl:variable name=\"target.database\" select=\"document($target.database.filename,/)\"/>\n    \n      <xsl:if test=\"$olink.debug != 0\">\n        <xsl:message>\n          <xsl:text>Olink debug: root element of target.database '</xsl:text>\n          <xsl:value-of select=\"$target.database.filename\"/>\n          <xsl:text>' is '</xsl:text>\n          <xsl:value-of select=\"local-name($target.database/*[1])\"/>\n          <xsl:text>'.</xsl:text>\n        </xsl:message>\n      </xsl:if>\n    \n      <xsl:variable name=\"olink.key\">\n        <xsl:call-template name=\"select.olink.key\">\n          <xsl:with-param name=\"targetdoc.att\" select=\"$targetdoc.att\"/>\n          <xsl:with-param name=\"targetptr.att\" select=\"$targetptr.att\"/>\n          <xsl:with-param name=\"olink.lang\" select=\"$olink.lang\"/>\n          <xsl:with-param name=\"target.database\" select=\"$target.database\"/>\n        </xsl:call-template>\n      </xsl:variable>\n    \n      <xsl:if test=\"string-length($olink.key) = 0\">\n        <xsl:message>\n          <xsl:text>Error: unresolved olink: </xsl:text>\n          <xsl:text>targetdoc/targetptr = '</xsl:text>\n          <xsl:value-of select=\"$targetdoc.att\"/>\n          <xsl:text>/</xsl:text>\n          <xsl:value-of select=\"$targetptr.att\"/>\n          <xsl:text>'.</xsl:text>\n        </xsl:message>\n      </xsl:if>\n\n      <xsl:variable name=\"href\">\n        <xsl:call-template name=\"make.olink.href\">\n          <xsl:with-param name=\"olink.key\" select=\"$olink.key\"/>\n          <xsl:with-param name=\"target.database\" select=\"$target.database\"/>\n        </xsl:call-template>\n      </xsl:variable>\n\n      <xsl:variable name=\"hottext\">\n        <xsl:choose>\n          <xsl:when test=\"string-length($content) != 0\">\n            <xsl:copy-of select=\"$content\"/>\n          </xsl:when>\n          <xsl:otherwise>\n            <xsl:call-template name=\"olink.hottext\">\n              <xsl:with-param name=\"olink.key\" select=\"$olink.key\"/>\n              <xsl:with-param name=\"olink.lang\" select=\"$olink.lang\"/>\n              <xsl:with-param name=\"target.database\" select=\"$target.database\"/>\n            </xsl:call-template>\n          </xsl:otherwise>\n        </xsl:choose>\n      </xsl:variable>\n\n      <xsl:variable name=\"olink.docname.citation\">\n        <xsl:call-template name=\"olink.document.citation\">\n          <xsl:with-param name=\"olink.key\" select=\"$olink.key\"/>\n          <xsl:with-param name=\"target.database\" select=\"$target.database\"/>\n          <xsl:with-param name=\"olink.lang\" select=\"$olink.lang\"/>\n        </xsl:call-template>\n      </xsl:variable>\n\n      <xsl:variable name=\"olink.page.citation\">\n        <xsl:call-template name=\"olink.page.citation\">\n          <xsl:with-param name=\"olink.key\" select=\"$olink.key\"/>\n          <xsl:with-param name=\"target.database\" select=\"$target.database\"/>\n          <xsl:with-param name=\"olink.lang\" select=\"$olink.lang\"/>\n        </xsl:call-template>\n      </xsl:variable>\n\n      <xsl:choose>\n        <xsl:when test=\"$href != ''\">\n          <a href=\"{$href}\">\n            <xsl:apply-templates select=\".\" mode=\"common.html.attributes\"/>\n            <xsl:call-template name=\"id.attribute\"/>\n            <xsl:copy-of select=\"$hottext\"/>\n          </a>\n          <xsl:copy-of select=\"$olink.page.citation\"/>\n          <xsl:copy-of select=\"$olink.docname.citation\"/>\n        </xsl:when>\n        <xsl:otherwise>\n          <span class=\"olink\">\n            <xsl:call-template name=\"id.attribute\"/>\n            <xsl:copy-of select=\"$hottext\"/>\n          </span>\n          <xsl:copy-of select=\"$olink.page.citation\"/>\n          <xsl:copy-of select=\"$olink.docname.citation\"/>\n        </xsl:otherwise>\n      </xsl:choose>\n\n    </xsl:when>\n\n    <xsl:otherwise>\n      <xsl:choose>\n        <xsl:when test=\"@linkmode or @targetdocent or @localinfo\">\n          <!-- old olink mechanism -->\n          <xsl:message>\n            <xsl:text>ERROR: olink using obsolete attributes </xsl:text>\n            <xsl:text>@linkmode, @targetdocent, @localinfo are </xsl:text>\n            <xsl:text>not supported.</xsl:text>\n          </xsl:message>\n        </xsl:when>\n        <xsl:otherwise>\n          <xsl:message>\n            <xsl:text>ERROR: olink is missing linking attributes.</xsl:text>\n          </xsl:message>\n        </xsl:otherwise>\n      </xsl:choose>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"pagenumber.markup\">\n  <!-- no-op in HTML -->\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template name=\"xref.xreflabel\">\n  <!-- called to process an xreflabel...you might use this to make  -->\n  <!-- xreflabels come out in the right font for different targets, -->\n  <!-- for example. -->\n  <xsl:param name=\"target\" select=\".\"/>\n  <xsl:value-of select=\"$target/@xreflabel\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"title\" mode=\"xref\">\n  <xsl:apply-templates mode=\"no.anchor.mode\"/>\n</xsl:template>\n\n<xsl:template match=\"command\" mode=\"xref\">\n  <xsl:call-template name=\"inline.boldseq\"/>\n</xsl:template>\n\n<xsl:template match=\"function\" mode=\"xref\">\n  <xsl:call-template name=\"inline.monoseq\"/>\n</xsl:template>\n\n<!-- ==================================================================== -->\n\n<xsl:template match=\"*\" mode=\"insert.title.markup\">\n  <xsl:param name=\"purpose\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"title\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$purpose = 'xref'\">\n      <xsl:copy-of select=\"$title\"/>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy-of select=\"$title\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"chapter|appendix\" mode=\"insert.title.markup\">\n  <xsl:param name=\"purpose\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"title\"/>\n\n  <xsl:choose>\n    <xsl:when test=\"$purpose = 'xref'\">\n      <em>\n        <xsl:copy-of select=\"$title\"/>\n      </em>\n    </xsl:when>\n    <xsl:otherwise>\n      <xsl:copy-of select=\"$title\"/>\n    </xsl:otherwise>\n  </xsl:choose>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"insert.subtitle.markup\">\n  <xsl:param name=\"purpose\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"subtitle\"/>\n\n  <xsl:copy-of select=\"$subtitle\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"insert.label.markup\">\n  <xsl:param name=\"purpose\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"label\"/>\n\n  <xsl:copy-of select=\"$label\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"insert.pagenumber.markup\">\n  <xsl:param name=\"purpose\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"pagenumber\"/>\n\n  <xsl:copy-of select=\"$pagenumber\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"insert.direction.markup\">\n  <xsl:param name=\"purpose\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"direction\"/>\n\n  <xsl:copy-of select=\"$direction\"/>\n</xsl:template>\n\n<xsl:template match=\"*\" mode=\"insert.olink.docname.markup\">\n  <xsl:param name=\"purpose\"/>\n  <xsl:param name=\"xrefstyle\"/>\n  <xsl:param name=\"docname\"/>\n\n  <span class=\"olinkdocname\">\n    <xsl:copy-of select=\"$docname\"/>\n  </span>\n\n</xsl:template>\n\n</xsl:stylesheet>"
  },
  {
    "path": "src/astylerc",
    "content": "--style=kr\n--indent=spaces=2\n--indent-namespaces\n--indent-after-parens\n--indent-labels\n--indent-preproc-block\n--indent-preproc-define\n--indent-col1-comments\n--break-blocks\n--pad-comma\n--pad-header\n--delete-empty-lines\n--align-pointer=type\n--align-reference=type\n--break-closing-braces\n--break-one-line-headers\n--break-blocks\n--add-braces\n--convert-tabs\n--close-templates\n--max-code-length=128\n"
  },
  {
    "path": "src/test_filesystem.cpp",
    "content": "//\n// Copyright (c) 2022 Sebastian Pipping <sebastian@pipping.org>\n//\n// This program is free software; you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation; either version 2 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\n#include <filesystem>\n\nint main()\n{\n  return std::filesystem::temp_directory_path().is_absolute();\n}\n\n/* vim: set ts=2 sw=2 et */\n"
  },
  {
    "path": "usbguard-daemon.conf.in",
    "content": "#\n# Rule set file path.\n#\n# The USBGuard daemon will use this file to load the policy\n# rule set from it and to write new rules received via the\n# IPC interface.\n#\n# RuleFile=/path/to/rules.conf\n#\nRuleFile=%sysconfdir%/usbguard/rules.conf\n\n#\n# Rule set folder path.\n#\n# The USBGuard daemon will use this folder to load the policy\n# rule set from it and to write new rules received via the\n# IPC interface. Usually, we set the option to\n# /etc/usbguard/rules.d/. The USBGuard daemon is supposed to\n# behave like any other standard Linux daemon therefore it\n# loads rule files in alpha-numeric order. File names inside\n# RuleFolder directory should start with a two-digit number\n# prefix indicating the position, in which the rules are\n# scanned by the daemon.\n#\n# RuleFolder=/path/to/rulesfolder/\n#\nRuleFolder=%sysconfdir%/usbguard/rules.d/\n\n\n\n#\n# Implicit policy target.\n#\n# How to treat devices that don't match any rule in the\n# policy. One of:\n#\n# * allow  - authorize the device\n# * block  - block the device\n# * reject - remove the device\n#\nImplicitPolicyTarget=block\n\n#\n# Present device policy.\n#\n# How to treat devices that are already connected when the\n# daemon starts. One of:\n#\n# * allow        - authorize every present device\n# * block        - deauthorize every present device\n# * reject       - remove every present device\n# * keep         - just sync the internal state and leave it\n# * apply-policy - evaluate the ruleset for every present\n#                  device\n#\nPresentDevicePolicy=apply-policy\n\n#\n# Present controller policy.\n#\n# How to treat USB controllers that are already connected\n# when the daemon starts. One of:\n#\n# * allow        - authorize every present device\n# * block        - deauthorize every present device\n# * reject       - remove every present device\n# * keep         - just sync the internal state and leave it\n# * apply-policy - evaluate the ruleset for every present\n#                  device\n#\nPresentControllerPolicy=keep\n\n#\n# Inserted device policy.\n#\n# How to treat USB devices that are already connected\n# *after* the daemon starts. One of:\n#\n# * block        - deauthorize every present device\n# * reject       - remove every present device\n# * apply-policy - evaluate the ruleset for every present\n#                  device\n#\nInsertedDevicePolicy=apply-policy\n\n#\n# Control which devices are authorized by default.\n#\n# The USBGuard daemon modifies some the default authorization state attributes\n# of controller devices. This setting, enables you to define what value the\n# default authorization is set to.\n#\n# * keep         - do not change the authorization state\n# * none         - every new device starts out deauthorized\n# * all          - every new device starts out authorized\n# * internal     - internal devices start out authorized, external devices start\n#                  out deauthorized (this requires the ACPI tables to properly\n#                  label internal devices, and kernel support)\n#\nAuthorizedDefault=none\n\n#\n# Restore controller device state.\n#\n# The USBGuard daemon modifies some attributes of controller\n# devices like the default authorization state of new child device\n# instances. Using this setting, you can control whether the\n# daemon will try to restore the attribute values to the state\n# before modification on shutdown.\n#\n# SECURITY CONSIDERATIONS: If set to true, the USB authorization\n# policy could be bypassed by performing some sort of attack on the\n# daemon (via a local exploit or via a USB device) to make it shutdown\n# and restore to the operating-system default state (known to be permissive).\n#\nRestoreControllerDeviceState=false\n\n#\n# Device manager backend\n#\n# Which device manager backend implementation to use. One of:\n#\n# * uevent   - Netlink based implementation which uses sysfs to scan for present\n#              devices and an uevent netlink socket for receiving USB device\n#              related events.\n# * umockdev - umockdev based device manager capable of simulating devices based\n#              on umockdev-record files. Useful for testing.\n#\nDeviceManagerBackend=uevent\n\n#!!! WARNING: It's good practice to set at least one of the !!!\n#!!!          two options below. If none of them are set,   !!!\n#!!!          the daemon will accept IPC connections from   !!!\n#!!!          anyone, thus allowing anyone to modify the    !!!\n#!!!          rule set and (de)authorize USB devices.       !!!\n\n#\n# Users allowed to use the IPC interface.\n#\n# A space delimited list of usernames that the daemon will\n# accept IPC connections from.\n#\n# IPCAllowedUsers=username1 username2 ...\n#\nIPCAllowedUsers=root\n\n#\n# Groups allowed to use the IPC interface.\n#\n# A space delimited list of groupnames that the daemon will\n# accept IPC connections from.\n#\n# IPCAllowedGroups=groupname1 groupname2 ...\n#\nIPCAllowedGroups=\n\n#\n# IPC access control definition files path.\n#\n# The files at this location will be interpreted by the USBGuard\n# daemon as access control definition files for the IPC interface.\n# The (base)name of a file should be in the form:\n#\n#   [user][:<group>]\n#\n# where user is either username or UID and group is either groupname or GID.\n# IPC access control files should contain lines in the form:\n#\n#   <section>=[privilege1][,privilege2] ...\n#\n# This way each file defines who is able to connect to the IPC\n# bus and what privileges he has. Note that the IPC access control\n# files need to have file permissions set to 0600.\n#\nIPCAccessControlFiles=%sysconfdir%/usbguard/IPCAccessControl.d/\n\n#\n# Generate device specific rules including the \"via-port\"\n# attribute.\n#\n# This option modifies the behavior of the allowDevice\n# action. When instructed to generate a permanent rule,\n# the action can generate a port specific rule. Because\n# some systems have unstable port numbering, the generated\n# rule might not match the device after rebooting the system.\n#\n# If set to false, the generated rule will still contain\n# the \"parent-hash\" attribute which also defines an association\n# to the parent device. See usbguard-rules.conf(5) for more\n# details.\n#\nDeviceRulesWithPort=false\n\n#\n# USBGuard Audit events log backend\n#\n# One of:\n#\n# * FileAudit - Log audit events into a file specified by\n#               AuditFilePath setting (see below)\n# * LinuxAudit - Log audit events using the Linux Audit\n#                subsystem (using audit_log_user_message)\n#\nAuditBackend=FileAudit\n\n#\n# USBGuard audit events log file path.\n#\nAuditFilePath=%localstatedir%/log/usbguard/usbguard-audit.log\n\n#\n# Hides personally identifiable information such as device serial numbers and\n# hashes of descriptors (which include the serial number) from audit entries.\n#\nHidePII=false\n"
  },
  {
    "path": "usbguard-tmpfiles.conf",
    "content": "d /var/log/usbguard 0700 root root - -\n"
  },
  {
    "path": "usbguard.service.in",
    "content": "[Unit]\nDescription=USBGuard daemon\nWants=systemd-udevd.service local-fs.target\nDocumentation=man:usbguard-daemon(8)\n\n[Service]\nOOMScoreAdjust=-1000\nAmbientCapabilities=\nCapabilityBoundingSet=CAP_CHOWN CAP_FOWNER CAP_AUDIT_WRITE CAP_DAC_READ_SEARCH\nDevicePolicy=closed\nExecStart=%sbindir%/usbguard-daemon -f -s -c %sysconfdir%/usbguard/usbguard-daemon.conf\nIPAddressDeny=any\nLockPersonality=yes\nMemoryDenyWriteExecute=yes\nNoNewPrivileges=yes\nPIDFile=/run/usbguard.pid\nPrivateDevices=yes\nPrivateTmp=yes\nProtectControlGroups=yes\nProtectHome=yes\nProtectKernelModules=yes\nProtectSystem=yes\nReadOnlyPaths=-/\nReadWritePaths=-/dev/shm -%localstatedir%/log/usbguard -/tmp -%sysconfdir%/usbguard/ -/var/run\nRestart=on-failure\nRestrictAddressFamilies=AF_UNIX AF_NETLINK\nRestrictNamespaces=yes\nRestrictRealtime=yes\nSystemCallArchitectures=native\nSystemCallFilter=@system-service\nType=forking\nUMask=0077\n\n[Install]\nWantedBy=basic.target\n"
  }
]