# Smart Assembly Management System (1.7)

## Software

# 简介

在本部分，您可以找到有关产品的基本信息以及主题中使用的格式约定。

# 一般数据保护条例（GDPR）

本产品提供了处理个人身份信息的可能性，例如系统用户名、角色和 IP 地址。这种处理能力的目的可能是通过可追溯性和适当的访问管理来加强质量控制。

如果您决定处理个人数据，您需要了解并遵守相关的个人数据保护规则，包括 EU GDPR 以及任何其他适用的指令和法规。对于您对本产品的任何使用，阿特拉斯·科普柯不承担任何责任。

# 责任

在工作环境下，许多情况可能影响拧紧流程，为此须对结果进行验证。在此，我们要求用户遵守相关标准和/或法规，在出现可能影响拧紧结果的情况后，检查安装的扭矩和旋转方向。此类情况的示例包括但不限于：

- 工具系统初始安装

- 更改部件批次、螺栓、螺钉批次、工具、软件、配置或环境

- 更改通风或电气连接

- 更改管路人体工程学特性、流程、质量程序或操作法

- 更换操作员

- 任何影响拧紧流程结果的其他变更

检查应：

- 确保未因发生的影响情况改变接头状况。

- 在设备初始安装、维护或修理后实施。

- 至少在每次换班后检查一次或以合适的频率进行检查。

# 修订历史

版本 | 日期 | 技术撰稿人 | 说明
--- | --- | --- | ---
2.0 | 2021 年 6 月 11 日 | Dmitry Philippov | 第一版。
2.1 | 2021 年 10 月 11 日 | Dmitry Philippov | 用于与 Smart AMS 1.6 版一起使用。
2.2 | 2022 年 1 月 31 日 | Dmitry Philippov | 用于与 Smart AMS 1.7 版一起使用。

如果本手册的译文之间有冲突，请务必参阅官方英文版。

本手册如有更改，恕不另行通知。有关更多信息，请登陆 Atlas Copco www.atlascopco.com

# 一般信息

站点配置在 Smart AMS Config 中创建和编辑，可通过 web 浏览器访问。您还可以使用旧版 Smart AMS 中的 .xlsx 配置文件。Smart AMS Config 包含以下部分：配置、扫描规则、历史记录、角色管理、用户管理和用户首选项。

Smart AMS Manager 提供了一个 Web 用户界面。应用程序可以托管在本地或远程计算机上。它包括以下部分：仪表板、服务管理器、应用程序上下文、管理和事件日志。

当您从 Smart AMS Config 中推送新配置时，将重新配置 Smart AMS，并更新站点配置。

当连接到拧紧工具时，Smart AMS 保持锁定，直到工件在相应的站点进站。当工件进站时，Smart AMS 启用工具。当拧紧完成时，Smart AMS 再次锁定工具。可以使用套筒选择器。拧紧顺序可以配置为预定或任意。

当工件在站点进站时，与该站点相关的拧紧工作流都将从头开始。无论工件是自动还是手动进站。

在顺序模式下，当螺纹接头逐个拧紧时，站点处的工具总是按配方列表中指定的顺序激活。也可以使用并行模式和自由顺序模式。当操作员按下操作员面板上的“跳过螺栓”按钮或连接到控制器的多层警示灯时，当前螺栓将被跳过。

如果 PLC 或 MES 在配置中被激活，当工件从站点出站时，Smart AMS 向 PLC 和 MES 发送带有工件状态的出站消息。

扫码枪可以连接到控制器。无论扫码枪连接到哪个工具，所有扫描都被平等对待。IXB 和 Stwrench 可以集成扫码枪，在技术上以相同的方式处理它们。

您可以指定扫描规则来从多个扫描中提取工件 ID 和 PR 代码。

像 PF6000 和 PF4000 这样的固定控制器可以配备多层警示灯和操作面板。

工件进站、工件完成 OK、工件完成 NOK、拧紧状态（OK 或 NOK）等站点事件可以通过多层警示灯或连接到相应控制器的类似外围设备来指示。

Smart AMS 可将结果数据（OK、NOK、NYD）传输到 ToolsNet 8。

# 系统概述

系统概述部分概述了 Atlas Copco 软件产品 Smart AMS (Smart Assembly Management System) 提供的功能。您可以在这里找到有关产品功能和用法的基本信息。

此部分内容

- 主要功能
- 接口
- 最低要求

# 主要功能

## 拧紧过程控制

最小工件配置允许您在工件装配过程中控制拧紧过程。

在每个站点可以使用多个工具来执行多个拧紧操作，可对每个工具进行配置以满足特定要求。

## 工业自动化

- 在站点进站工件后，Smart AMS 确定需要执行哪些拧紧步骤。

- 拧紧步骤由程序配置确定；它们的选择可依据从 MES 检索的 PR 代码来定。

- 可通过一个特殊的多层警示灯或操作员面板上的灯来指示拧紧工作流程正在进行中。

- 在自动模式下，Smart AMS 自动选择控制器中的相应拧紧程序，然后等待操作员执行拧紧。

- 如果操作员执行了一个 OK 拧紧，Smart AMS 将自动进入下一个拧紧步骤（如有）。

- 如果操作员执行了一个 NOK 拧紧，Smart AMS 可以根据系统自定义程序指定的次数提示重试。如果所有重试都失败了，Smart AMS 将根据以下策略之一执行操作：
  战略 1：中止作业并让工件出站。
  战略 2：让操作者通过使用相应的按钮跳过螺栓。
  战略 3：让操作员在站点重新执行整个工作流程。
  战略 4：自动前进到下一个螺栓。

当没有拧紧作业要执行或当工件出站时，工作流程完成。

指示灯向操作员显示整体工件状态是 OK 还是 NOK。可以为此配置一个多层警示灯。

## 集中配置存储

Smart AMS Config 应用程序包括站点、附件、功能选项和过程配方的配置。

Web 用户界面允许您使用 web 浏览器应用配置。

## 访问控制

您可以为登录到 Smart AMS Manager 和 Smart AMS Config 指定不同的凭据。

## 紧急模式

Smart AMS 支持紧急模式，可在出现错误时由操作员激活：错误的配方配置（例如，拧紧程序不存在）、接收 MES 构建数据出现问题等。错误状态可由系统错误指示灯指示。

如果发生错误，操作员可以使用按键开关将站点切换到紧急模式。预留了一个专用灯，用于指示站点处于紧急模式。

在紧急模式下，站点处的所有工具都将被解锁，预定义的拧紧程序或手动选择的拧紧程序将被使用，前提是配置了操作员面板或套筒选择器。当所有控制器切换回自动模式时，站点将返回自动模式。

## 分配并激活单一站点拧紧任务

配置根据工件属性指定要执行的拧紧任务。Smart AMS 自动选择拧紧任务，解锁拧紧工具，并设置相应的拧紧程序。

## 手动拧紧任务控制

Smart AMS 允许操作员或工厂维护团队跳过整个工件或其中的特定螺栓。

## MES API

您可以使用内置的 MES API 在 Smart AMS 和制造执行系统 (MES) 之间交换数据，包括检索构建数据、发出进站请求和报告结果数据。支持拧紧曲线的传输。

## 监控 API

它提供有关正在运行的 Smart AMS 实例的状态信息。您可以使用此 API 来监视报告和仪表板的实时数据。

## 站点联锁

您可以指定所选装配线内或跨多条装配线的站点之间的联锁关系。

## PLC 与扫码枪之间的同步

工件可通过使用扫码枪或 PLC 进站。Smart AMS 可以配置为在手动模式下操作时将扫描的条形码发送到 PLC。

## 各种工件进站选项

工件可通过使用扫码枪、PLC 或 MES 进站。

## 连接检查

Smart AMS 监控所有设备的连接。当连接更改状态时，相应的条目将写入事件日志。

## 工件进站时避免重复

如果工件 ID 与紧随其后进站的工件 ID 相同，您可以选择以防止新的工件进站。

## 避免已完成的工件进站

如果新工件已经成功处理，则可以选择阻止其进站。

## 与 SQS3 集成

Smart AMS 能够与 SQS3 进行通信，以利于装配线的各个站点之间的数据传输和相互联锁。

## 与 ToolsNet 8 集成

Smart AMS 可将结果数据（OK、NOK、NYD）传输到 ToolsNet 8。

## 与 ILT 集成

Smart AMS 与 Industrial Location Tethering 解决方案兼容，以确保工具只在您希望的地方工作。

# 接口

## MES 接口

Smart AMS 提供基于 WebSocket 连接的接口，用于工件进站、从 MES 检索工件数据（构建数据）以及向 MES 发送结果数据。接口可按需定制。

## 控制器和工具支持

Smart AMS 与以下 Atlas Copco 控制器和工具兼容：Power Focus 4000、Power Focus 6000、MicroTorque MTF6000、PowerMACS 4000、STwrench、ICB、ITB 和 PF6 Flex System。

## PLC 接口

Smart AMS 通过 TCP IP 通信提供到线路 PLC 的 PLC 接口，利用 AMS PLC 工件跟踪协议跟踪工件进站和出站。该接口可按需定制。

## 工件扫描支持

作为 PLC 或 MES 工件进站的替代方案，该系统允许操作员使用条形码进站工件。在这种情况下，必须连接兼容的扫码枪。您可以使用连接到拧紧控制器的扫码枪、集成到工具中的扫码枪或使用 LAN 连接连接到 Smart AMS Server 的扫码枪。

## Modbus/TCP

Smart AMS 与 Modbus TCP 转换器兼容，允许您连接多层警示灯、按钮、喇叭和其他外围设备。只有支持 Read Coils（功能代码 1）和 Write Single Coil（功能代码 5）功能的 Modbus 设备才能与 Smart AMS 一起使用。

# 最低要求

## 软件要求

64 位 Windows。服务器组件在 Windows Server 2012 R2（64 位）上测试。

支持的浏览器：Microsoft Edge 79.0.309 或更高版本、Google Chrome 2020 或更高版本、Firefox 和 Safari 最新版本。

## 硬件要求

硬件要求因连接的主轴数量而异。

1 ~ 50 根主轴：4 核 Intel Xeon E5 v2 CPU，10 GB RAM，2 个 SAS 硬盘。

51 ~ 100 根主轴：6 核 Intel Xeon E5 v3 CPU，15 GB RAM，3 个 SAS 硬盘。

101 ~ 200 根主轴：8 核 Intel Xeon E5 v4 CPU，20 GB RAM，2 个固态硬盘。

201 ~ 300 根主轴：8 核 Intel Xeon E5 v4 CPU，25 GB RAM，2 个固态硬盘。

300 根主轴以上：请联系产品支持团队。

这些规格是在每个工件的生产周期时间不少于 1 分钟的假设下给出的。如果您计划在周期较短的环境中使用 Smart AMS，请联系 Smart AMS 的产品支持团队。

# 安装和升级

在本部分，您可以找到有助于产品初始安装或从一个版本升级到另一个版本的信息。

# 软件安装

# 安装 Error Proofing License Manager

1. 右键点击 Error Proofing License Manager Installer.exe，然后点击以管理员身份运行。

   - 如果从“用户帐户控制”获得对话框提示，问是否允许该程序更改您的PC，请单击“是”。

   - 如果 Windows Defender SmartScreen 阻止安装程序运行，请单击“更多信息”，然后单击“仍然运行”。

2. 在下一个对话框中，选择我接受协议选项，然后单击下一步。

3. 确认安装路径。默认路径：C:\LLM。

4. 系统将提示您为 Error Proofing License Manager 指定两个端口：一个用于数据通信，另一个用于 Web 用户界面。如果没有理由指定自定义值，请保留默认值。

   许可证管理器端口字段：指定 TCP 端口 Error Proofing License Manager 将用于通信。默认值：7070。

   Web 界面端口字段：指定 Web 用户界面的 TCP 端口，该端口允许您使用 Web 浏览器配置 Error Proofing License Manager。默认值：8082。

5. 点击下一步，然后点击安装。

安装完成后，您将在您的桌面上发现许可管理器 快捷方式。基本配置信息汇总在 C:\Users\<user name>\AppData\Local\ 下的 Error_Proofing_LicenseManager_Installation_Summary.txt 文件中，该文件也可放在桌面上。

计算机上安装了以下服务：Apache Tomcat、FlexNet License Server - acopco 和 FlexNet-Service Watchdog。FlexNet-Service Watchdog 确保许可证服务器和许可证数据库的正常运行。

ToolsTalk Server V.2 和 Error Proofing License Manager 不能在同一台计算机上共存。如果您正在使用 ToolsTalk，请为 ToolsTalk Server 使用不同的计算机。

# 安装 Smart AMS

## 重要提示

为了保持 Smart AMS 平稳运行，Smart AMS Server 计算机上的病毒扫描程序（如 Windows Defender）应该完全关闭，或至少配置某些排除项。

1. 对下列路径下的文件禁用定时和实时扫描：

   C:\ProgramData\AMP
   C:\SAMS

2. 为下列进程打开的文件配置排除项：

   erl.exe
   AMPServiceProcess.exe

## 安装过程

1. 启动 Setup-SAMS-1.7.exe。

   - 如果来自用户帐户控制的对话框提示询问是否允许此程序对您的计算机进行更改，请点击是。

   - 如果 Windows Defender SmartScreen 阻止安装程序运行，请单击“更多信息”，然后单击“仍然运行”。

2. 选择安装过程中要使用的语言。

3. 在许可协议对话框中，选择“我接受协议”选项，然后点击下一步。

4. 确认安装路径。默认路径：C:\SAMS。

5. 选择安装模式：完整安装或自定义安装。如果选择完整安装，则将安装所有工件组件。选择性安装允许您选择以下任何组件：Erlang OTP、RabbitMQ Server、Smart AMS。通常，您应该安装所有这三个组件。

6. 指定开始菜单文件夹以将程序的快捷方式添加到其中。默认：SAMS。

7. 指定是为所有用户还是仅为当前用户创建桌面快捷方式。

8. 如果选择了安装 SAMS，请指定它将使用的 HTTP 端口。建议您保留默认值。您还需要指定用户名和密码。请把它们写下来，放在安全的地方。然后，您需要输入这些登录凭据，以登录 Smart AMS Manager。
   选中启用实例发现复选框以启用对网络上运行的并发 Smart AMS Server 实例的检测。您可以在 Smart AMS Manager 中的仪表板 > 检测到的实例中查看它。为避免冲突，网络上只能运行一个 Smart AMS Server。

   如果您选择安装 RabbitMQ Server，系统将提示您指定虚拟主机、用户名和密码。如果没有理由指定自定义值，请保留默认值。请把它们写下来，放在安全的地方。
   如果需要，请选中启用管理插件复选框。RabbitMQ 管理插件提供一个用于管理和监视 RabbitMQ 节点和集群的基于 HTTP 的 API，以及一个基于浏览器的 UI 和一个命令行工具 RabbitMQAdmin。为了节省系统资源，建议不要在生产计算机上安装此组件。

   如果您看到 EPMd.exe 或 erl.exe 消息的 Windows Defender 防火墙已阻止某些功能，请点击允许访问。

9. 指定主机名或 IP 地址，以及 SAMS 将用于连接到 Error Proofing License Manager 的 TCP 端口。默认端口：7070.

10. 当您到达完成 SAMS 安装向导窗口时，选中启动 Windows 服务（在后台）复选框。

# 软件升级

# 升级 Smart AMS

您可以从 Smart AMS V.1.2、Smart AMS V.1.3、Smart AMS V.1.4 或 Smart AMS v. 1.5 或 Smart AMS v. 1.6 升级到 Smart AMS v. 1.7。如果已经安装了比 v.1.2 更旧的 Smart AMS 版本，请在安装 Smart AMS v.1.7 之前卸载它。

如果您的机器上安装了 Smart AMS V.1.2 自定义版本，请在安装标准版本之前卸载它。

升级期间在机器上检测到的任何旧版 Erlang OTP 或 RabbitMQ Server 都将被保留。

升级完成后，您可以将以前的 Smart AMS 版本的配置文件导入 Smart AMS Config V.1.7。Smart AMS V.1.7 中引入的配置参数在旧版本中不可用，将被设置为它们的默认值。

从 Smart AMS v.1.5 或 1.6 升级时，将保留 Smart AMS Config 中的以下自定义设置：用户帐户设置（仅当从 Smart AMS v.1.6 升级时）和配置快照。

# 软件移除

# 卸载 Smart AMS

要卸载 Smart AMS：

在开始>设置>应用和功能对话框（Windows 10 系统）下找到 “SAMS”，然后按常规操作卸载它。或者，使用 Windows 开始菜单上的卸载 Smart AMS 快捷方式。

在卸载过程中，您可以通过选中相应的复选框来选择卸载 Erlang OTP 和 RabbitMQ Server。

如要卸载 Error Proofing License Manager：

- 在开始>设置>应用和功能对话框（Windows 10 系统）下找到 "Error Proofing License Manager”，然后按常规操作卸载它。

或者

- 导航到 C:\LLM\LLM，这是 Error Proofing License Manager 的默认路径，然后从该文件夹运行 uninstall_as_service.cmd。

# 配置

在本部分，您可以找到有关如何创建、修改和验证产品设置的详细信息。

# 许可

Smart AMS 的试用期为 60 天。若要在试用期过后继续使用 Smart AMS 或连接超过 25 个主轴，您将需要许可证。

在试用期间，Smart AMS 最多只支持 25 个主轴连接。

购买 SQS3 时，客户帐户将在 Atlas Copco 客户许可证门户网站 https://atlascopco.flexnetoperations.com/control/atco/login 上创建。

Error Proofing License Manager 与 SQS3 兼容，可帮助您使用单个仪表板管理许可证。许可证存储在计算机的客户端，FlexNet License Server 服务在后台运行。计算机必须可以从运行 Smart AMS 的计算机访问。

此部分内容

- 注册您的 Error Proofing License Manager
- 映射功能
- 使用功能响应文件
- 使用非电子许可证令牌
- 使用 Error Proofing License Manager
- 激活许可证
- 更改许可服务器 URL

# 注册您的 Error Proofing License Manager

当您购买 Smart AMS 时，您将通过 Atlas Copco 客户中心注册，并获得登录凭据。然后，您需要注册 Error Proofing License Manager。

- 登录到 https://atlascopco.flexnetoperations.com/control/atco/login

- 在 Atlas Copco 客户许可证门户网站，点击注册许可证管理器或 USB 设备链接。

- 输入数据，然后点击创建。

用于注册 Error Proofing License Manager 的数据

ID 字段：在安装了 Error Proofing License Manager 的计算机上，确定与 FlexNet License Server 有关的 MAC 地址。在这里输入该 MAC 地址。这是进行注册所需的必填字段。

确保此字段中不包含连字符！

如要找出 MAC 地址：

打开命令提示符窗口，按 + R 键盘快捷方式，然后在运行对话框输入 cmd 命令。

在命令提示符处，输入命令：getmac /V

您将在系统上看到网络适配器的 MAC 地址列表。使用与 FlexNet License Server 相关的服务，该服务在安装了 Error Proofing License Manager 的计算机上的后台运行。

ID 类型列表：选择以太网。

设备名称字段：例如：Acme 计算机。

现场名称字段：例如：Acme 工厂。

类型列表：选择 FLX_SERVER。

# 映射功能

购买后，您可以将可用功能映射到 Error Proofing License Manager。

确保运行 Error Proofing License Manager 的计算机已连接网络。

- 登录到 https://atlascopco.flexnetoperations.com/control/atco/login

- 点击搜索许可证管理器或 USB 设备链接，然后通过输入 ID、设备名称或现场名称查找记录。

  您将看到一个条目列表。

- 点击列表中的相应 ID。您将切换到查看许可证管理器或 USB 设备页面。

- 在查看许可证管理器或 USB 设备页面，点击映射功能链接。

  您将看到一个功能列表。您可以使用可用条件然后点击搜索按钮来过滤列表。

- 在要添加的数量列中，指定要添加到 Error Proofing License Manager 的功能实例数，然后点击映射功能。

一段时间后，这些功能将出现在 Error Proofing License Manager。刷新间隔在 Error Proofing License Manager 中的属性页面上配置。

影响映射的参数

服务器主机 ID：选择注册 Error Proofing License Manager 时使用的 MAC 地址。

与后台间隔同步：与后台同步会话之间的时间量。例如：10 米（10 分钟）。较少的数量可以在服务器上施加负载。

功能轮询间隔：功能请求轮询之间的时间量。例如：10 米（10 分钟）。较少的数量可以在服务器上施加负载。

# 使用功能响应文件

如果您的制造网络没有接入互联网，则可以使用功能响应文件来安装许可证。

- 在 Atlas Copco 客户许可证门户网站 https://atlascopco.flexnetoperations.com/control/atco/login 上登录您的帐户。

- 点击搜索许可证管理器或 USB 设备链接，然后通过输入 ID、设备名称或现场名称查找记录。

  您将看到一个条目列表。

- 点击列表中的相应 ID。

- 点击下载能力响应链接，然后将 .bin 文件保存到计算机。

使用存储设备，您可以将功能响应文件传输到另一台计算机。然后，您需要将文件上传到 Error Proofing License Manager。

- 使用桌面上或 Windows 开始菜单上的 License Manager 快捷方式 前往 Web 浏览器中的 Error Proofing License Manager 地址。
  示例地址：localhost:8082/flsm。安装 Error Proofing License Manager 时选择端口号。默认端口号为 8082。确保将本地主机替换为安装了 Error Proofing License Manager 的计算机的实际 IP 地址。

- 在 Error Proofing License Manager 中，点击离线服务器更新。

- 在离线服务器更新页面，点击浏览...，然后选择响应文件，然后点击上传。

# 使用非电子许可证令牌

如果您无法使用电子方式添加功能，则可以使用非电子许可证令牌添加它们。这种令牌通常以纸张的形式发行，其上写有许可证代码。

- 登录到 https://atlascopco.flexnetoperations.com/control/atco/login

- 在 Atlas Copco 客户许可证门户网站，单击注册额外的许可证令牌链接。

- 输入令牌代码，然后单击注册。

相应的功能将变得可用。

# 使用 Error Proofing License Manager

- 使用桌面上或 Windows 开始菜单上的 License Manager 快捷方式 前往 Web 浏览器中的 Error Proofing License Manager 地址。
  示例地址：localhost:8082/flsm。安装 Error Proofing License Manager 时选择端口号。默认端口号为 8082。确保将本地主机替换为安装了 Error Proofing License Manager 的计算机的实际 IP 地址。

您可以检查设备和功能的可用性。

- 在 Error Proofing License Manager 中，点击设备链接。

  您将看到使用许可证的设备列表。

- 点击设备 ID 以获取有关所选实例的信息。

您可以查看功能的计数和可用性。

- 在 Error Proofing License Manager 中，点击功能使用链接。

  您将看到一个功能列表。

- 点击所需的功能标题以获取有关实例计数和可用性的信息。

您可以指定主机名和端口以访问 Error Proofing License Manager。

除非完全了解更改的范围，否则请勿更改参数。

- 在 Error Proofing License Manager 中，点击设置链接。

  您将看到一个字段列表，包括主机名和端口。

# 激活许可证

您可以随时切换到使用您的许可证，无论试用期是否已到期。

当您在 Error Proofing License Manager 中有足够数量的可用功能时，请转到 Smart AMS Config 并推送配置。此步骤是 Smart AMS 识别许可证所必需的。

# 更改许可服务器 URL

您可以指定新的主机名或 IP 地址，以及 Smart AMS 将用于连接到 Error Proofing License Manager 的 TCP 端口。

1. 使用 Windows 开始菜单上的更改许可服务器 URL快捷方式 运行 Change License Server URL 脚本。

   若要以管理员身份运行 Change License Server URL 脚本，请右键点击更改许可服务器 URL 快捷方式，然后点击以管理员身份运行。

2. 输入新的主机名或 IP 地址。

3. 输入端口号。

# Smart AMS Manager

Smart AMS Manager 提供了一种检查服务当前状态的好方法。应用程序的 GUI 可以通过 Web 用户界面访问。

此部分内容

- 登录 Smart AMS Manager
- 退出 Smart AMS Manager
- 使用仪表板
- 使用服务管理器
- 查看 App 上下文
- 更改区域语言
- 查看和筛选事件日志
- 更改密码或添加新用户

# 登录 Smart AMS Manager

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Manager 快捷方式 前往 Web 浏览器中的 Smart AMS Manager 地址。
  示例地址：http://localhost:6394。安装 Smart AMS 时选择端口号。默认端口号为 6394。确保将本地主机替换为运行 Smart AMS Manager 的计算机的实际 IP 地址。

网页浏览器中将出现一个对话框，提示您选择显示语言并输入您的用户名和密码。

- 从下拉列表中选择所需的语言，并输入您的登录凭据。

您在用户名和密码字段中输入的数据必须与安装 Smart AMS 时提供的数据相匹配。您可以从负责安装 Smart AMS 的人员处获取此信息。

登录后，您的用户名将显示在页面的右上角。然后您可以开始使用 Smart AMS Manager。

# 退出 Smart AMS Manager

您可以随时退出。

- 要退出，请点击页面右上角的用户名，然后点击退出。

# 使用仪表板

您必须首先导航到 Smart AMS Manager。

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Manager 快捷方式 前往 Web 浏览器中的 Smart AMS Manager 地址。
  示例地址：http://localhost:6394。安装 Smart AMS 时选择端口号。默认端口号为 6394。确保将本地主机替换为安装了 Error Proofing License Manager 的计算机的实际 IP 地址。

- 要切换到仪表板部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择仪表板。

您可以选择在仪表板上显示哪些子部分。

- 点击 ，然后选中或取消选中要显示或隐藏的每个子部分名称旁的复选框：服务管理器、App 上下文、许可、检测到的实例。

在子部分中，绿点 表示项目可用或正在运行。否则显示红点 。

仪表板可能包含以下子部分。

服务管理器：显示正在运行的服务。
App 上下文：显示进程信息以及消息队列 (MQ) 和 HTTP 数据。
许可：显示 Smart AMS 和 Error Proofing License Manager 之间是否存在网络连接，以及许可服务器的主机名以及使用的功能和可用功能的数量。试用期指示灯在离到期日期还剩一周以上时呈绿色。如果剩下不到一周，它将变成黄色。一旦试用期到期，它将变成红色。
如果尚未对 Smart AMS 应用任何配置，则许可指示灯为灰色。
检测到的实例：显示网络上是否有任何其他 Smart AMS Server 实例运行。对于每个实例，将显示以下信息：主机名、应用程序名、应用程序版本、IP 地址和端口。点击地址链接将允许您查看相应实例的 Smart AMS Manager。

为避免冲突，网络上只能运行一个 Smart AMS Server。

# 使用服务管理器

您必须首先导航到 Smart AMS Manager。

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Manager 快捷方式 前往 Web 浏览器中的 Smart AMS Manager 地址。
  示例地址：http://localhost:6394。安装 Smart AMS 时选择端口号。默认端口号为 6394。确保将本地主机替换为安装了 Error Proofing License Manager 的计算机的实际 IP 地址。

- 要切换到服务管理器，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择服务管理器。

在服务管理器部分，您可以查看和管理以下子部分中的设置：服务、服务配置和全局服务配置。

服务：显示服务。点击服务标题查看所选服务的信息和控制子部分。在控制子部分，使用开始和停止按钮启动或停止服务。

通常，您不必手动启动或停止服务。停止服务可能会影响 Smart AMS 的功能。

绿点 表示服务正在运行。如果服务停止，则显示一个红点 。黄点 表示正在重新配置服务。

# 查看 App 上下文

您必须首先导航到 Smart AMS Manager。

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Manager 快捷方式 前往 Web 浏览器中的 Smart AMS Manager 地址。
  示例地址：http://localhost:6394。安装 Smart AMS 时选择端口号。默认端口号为 6394。确保将本地主机替换为安装了 Error Proofing License Manager 的计算机的实际 IP 地址。

- 要切换到 App 上下文部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择 App 上下文。

在本部分中，您可以找到配置文件的路径以及配置变量值。

# 更改区域语言

您必须首先导航到 Smart AMS Manager。

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Manager 快捷方式 前往 Web 浏览器中的 Smart AMS Manager 地址。
  示例地址：http://localhost:6394。安装 Smart AMS 时选择端口号。默认端口号为 6394。确保将本地主机替换为安装了 Error Proofing License Manager 的计算机的实际 IP 地址。

- 要切换到管理部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择管理。

- 点击配置文件。

- 在区域语言列表中，选择 English、German 或中文。

对于仪表板部分显示的值，不同的区域语言使用小数点或逗号（视情况而定）。

# 查看和筛选事件日志

您必须首先导航到 Smart AMS Manager。

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Manager 快捷方式 前往 Web 浏览器中的 Smart AMS Manager 地址。
  示例地址：http://localhost:6394。安装 Smart AMS 时选择端口号。默认端口号为 6394。确保将本地主机替换为安装了 Error Proofing License Manager 的计算机的实际 IP 地址。

- 要切换到事件日志部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择事件日志。

- 如要获取最新数据，请点击刷新。

日志包括关于事件的以下信息：时间、起源、级别、事件类型、警报（开启或关闭）、消息和详细信息。

## 服务事件历史记录

在服务事件历史记录子部分中，您可以找到事件的条目，包括 Smart AMS 与服务器之间的断开、工具与控制器之间的断开（与站点有关）、服务器与 PLC 之间的断开、生产过程中发生的错误、工件进站和出站操作、工件状态的改变。

可以按时间戳、源类型、事件类型、消息文本、日志级别和警报筛选记录。

1. 点击列标头。

2. 指定筛选条件。
   列标题将以粗斜体显示。

   您可以在筛选器中使用星号（*）来匹配任何数量的字符（如适用）。

3. 点击刷新。

要删除筛选器，请点击列标头，然后删除筛选器框中的任何文本。或者，点击重置以恢复为默认视图。

若要配置高级筛选器：

1. 点击高级筛选器字样。

2. 在级别列表中，选择您选择的日志级别：全部、信息、警告、错误或致命。

3. 在警报列表中，选择开启、关闭或无警报指示。您可以将这些结合起来。

- 要更改每个页面上显示的条目数，请点击结果表下的下拉列表，然后选择 5 行、10 行、20 行、25 行、50 行、100 行或 500 行。

- 要在页面之间导航，请使用页面上可用的页面导航按钮（上一页、下一页）。总页数显示在每页上。

- 要快速跳到页面，请在页面框输入一个页码。

若要查看事件详细信息：

1. 如果可用，请点击详细信息栏中的 。事件详细信息以 JSON 格式显示。

2. 若要关闭详细信息弹出窗口，请再次点击 。

## 管理器事件历史记录

在管理器事件历史记录子部分中，您可以找到与 Smart AMS Manager 有关的事件条目。示例：服务已成功启动或停止。

# 更改密码或添加新用户

您可以为 Smart AMS Manager 更改密码。您还可以添加新用户。

1. 使用 Windows 开始菜单上的更改 Smart AMS Manager 密码快捷方式 启动 Change Smart AMS Manager Password 控制台应用程序。

2. 输入您的用户名或要添加的用户的用户名。

3. 输入您的新密码或新用户的密码。

# Smart AMS Config

Smart AMS 提供了一种通过 Web 用户界面配置线路和站点的好途径，称为 Smart AMS Config。

为了使用 Smart AMS V.1.7 中的所有功能，请使用 Smart AMS Config。如果您使用的 Smart AMS 版本早于 1.7，则可以将现有的 .xlsx 配置文件导入 Smart AMS Config 中。

Smart AMS Config 包含以下部分：配置 、扫描规则 、历史 、角色管理 、用户管理 和用户首选项 。

Smart AMS 可指示项目中的配置问题。在这种情况下，该部分的图标将标记为一个黄色圆圈（、），受影响的项目将显示在黄色背景上。

此部分内容

- 登录到 Smart AMS Config
- 退出 Smart AMS Config
- 为 Smart AMS 指定常规设置
- 使用配置
- 添加和管理生产线
- 添加和管理站点
- 添加和管理扫描规则
- 管理用户角色
- 在 Smart AMS Config 中管理用户帐户
- 在 Smart AMS Config 中指定用户首选项

# 登录到 Smart AMS Config

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Config UI 快捷方式 前往 Web 浏览器中的 Smart AMS Config 地址。
  示例地址：http://localhost:6395。确保将本地主机替换为运行 Smart AMS Config 的计算机的实际 IP 地址。

网页浏览器中将出现一个对话框，提示您输入您的用户名和密码。

首次使用 Smart AMS Config 时，系统会提示您指定用户名和密码。然后，您需要输入这些登录凭据，以超级用户身份登录 Smart AMS Config。

- 输入要登录的凭据。您可以从负责 Smart AMS 配置的人员处获取此信息。

您在用户名和密码字段中输入的数据必须与现有用户帐户的相匹配。

登录后，您的用户名将显示在页面的右上角。然后可以开始使用 Smart AMS Config。

# 退出 Smart AMS Config

您可以随时退出。

- 要退出，请点击页面右上角的用户名，然后点击退出。

如果超过 12 小时不活动，Smart AMS Config 自动退出。

# 为 Smart AMS 指定常规设置

若要自定义 Smart AMS 的全局配置设置，必须首先导航到 Smart AMS Config。

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Config UI 快捷方式 前往 Web 浏览器中的 Smart AMS Config 地址。
  示例地址：http://localhost:6395。确保将本地主机替换为运行 Smart AMS Config 的计算机的实际 IP 地址。

- 要切换到配置部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择配置。

- 点击齿轮图标： 或 。当全局配置设置处于错误状态时会显示后者。

- 使用 和 可以展开或折叠该部分的项目。

## 基准

客户名称字段：删除默认值并输入客户名称。它不会包括在结果数据中。

工厂名称字段：删除默认值并输入工厂名称。

工件进站覆盖拨动开关：如果开启，则当新工件进站时，当前工件将出站，同时新工件将进站。关闭它可以防止另一个工件正在处理的同时让新工件进站。

忽略重复工件进站拨动开关：如果工件 ID 与紧随其后进站的工件 ID 相同，开启它可以防止新的工件进站。如果关闭，则不执行工件 ID 比对。工件将进站，拧紧工作流将从头开始。

MNO 策略列表：
非活动工作流：如果工作步骤中的所有拧紧重试尝试都失败了，则该工具将被锁定，直到手动跳过当前工作步骤。
工件中止：如果工作步骤中的所有拧紧重试尝试都失败了，则工件将自动出站。
工作流重启：如果工作步骤中的所有拧紧重试尝试都失败了，则工作流将从头开始。此选项是最不推荐的，因为之前的拧紧结果将被丢弃，不会发送到 MES。
继续：如果工作步骤中的所有拧紧重试尝试都失败了，则 Smart AMS 将自动进行到下一个工作步骤。

应急结果模式列表：
静态：在紧急模式中，该工具始终处于启用状态。工件 ID 不能输入。所有结果将带有一个静态识别符 - “人工”。
仅通过工件进站：只有在工件进站后才启用该工具。工件进站时使用的工件 ID 将用于结果。
静态和通过工件进站覆盖：在紧急模式中，该工具始终处于启用状态。如果没有工件进站，则所有结果将带有一个静态识别符 - "MANUAL”。工件进站后，工件进站时使用的工件 ID 将用于结果。
被动：工件识别不受 Smart AMS 控制。例如，如果扫码枪附加到控制器上，则从扫码枪收到的工件 ID 将被附加到拧紧结果。从控制器接收的任何工件 ID 将不会被 Smart AMS 更改。如果既未指定扫码枪也未指定其他输入源，则工件 ID 将为空。

您可以使用连接到 PF6000 控制器的扫码枪，在自动模式和控制器的手动模式下扫描，即使它没有连接到 Smart AMS。在这种情况下，紧急结果模式设置必须设置为被动，并且 PF6000 站点的工件进站设置必须设置为条形码。
在 PF6000 的设置中，扫描通过功能需要停用。应配置控制器上的手动模式，以便它在键开关设置为紧急模式时处于活动状态。

紧急进站模式列表：
通过站点进站：在紧急模式中，工件可采用与自动模式相同的进站方式进站。如果在站点使用扫描规则，扫码枪将不被考虑用于此模式下的紧急模式进站。
通过站点进站和扫码枪：工件可采用与自动模式相同的进站方式进站，也可以通过扫码枪进站。如果工件是通过扫码枪进站的，并为该站点配置了 PLC，则 Smart AMS 会将扫描的代码发送到 PLC。必要时，顺序将在 PLC 上核实，然后重新排列。当处于紧急模式时，不会对扫描的内容应用扫描规则。
仅通过扫码枪：工件只能通过使用扫码枪进站。如果为该站点配置了 PLC，则 Smart AMS 会将扫描的代码发送到 PLC。必要时，顺序将在 PLC 上核实，然后重新排列。当处于紧急模式时，不会对扫描的内容应用扫描规则。

站点联锁模式列表：
关闭：没有站点互锁。即使工件是从上一个站点以 NOK 状态出站的，也可以进站并被处理。
线内联锁：在装配生产线中，只有当工件以 OK 状态从上一个站点出站时才能进站。如果一个站点的拧紧结果为 NOK，那么在该站点拧紧的所有螺栓都应该拧松，然后工件可以在同一站点进站以重新拧紧。
跨生产线联锁：只有当工件以 OK 状态从上一个站点出站时才可以进站，即使上一个站点属于不同的装配生产线。如果一个站点的拧紧结果为 NOK，那么在该站点拧紧的所有螺栓都应该拧松，然后工件可以在同一站点进站以重新拧紧。

拒绝 OK 工件进站拨动开关：
如果开启，将无法让已在同一站点处理 OK 的工件进站。当尝试进站时，连接到站点的多层警示灯上的绿色段将启动。工件将无法进站。然而，这样的工件仍然可以通过在检测到工件已经 OK 之后发送的 IO 信号在该站点进站。如果工件没有检测到已经 OK，则 IO 信号将被忽略。
如果关闭，已在同一站点处理 OK 的工件将可以进站，无论进站方式如何。

## 高级

工件断开超时字段：指定在与控制器的连接丢失的情况下等待直到工件出站的时间段（以秒为单位）。如果此字段留空，则当 Smart AMS 失去与控制器的连接时，工件将立即出站。然后，Smart AMS 将等待新的工件进站，以恢复站点的工作流。

工件状态存储限制字段：指定要存储在 Smart AMS 缓冲区中的工件状态信息条目的最大数量。默认值：10000。

ILT 服务器端口字段：指定用于连接的 TCP 端口。默认端口：10458。

使用监视 API 拨动开关：如果您想使用监视 API，请开启它。否则请关闭它。

等待工具停止拨动开关：开启它，让系统等待站点的所有工具停止旋转，然后中止工作流并让工件出站。运行工具产生的所有拧紧结果都将报告给 MES。典型用例：按下“跳过工件”按钮或让另一个工件进站。
如果关闭，工件将总是在检测到相应的信号时立即出站。系统将丢弃工件出站后处理的所有拧紧结果。

工件空闲超时字段：指定由于不活动而等待直到工件出站的时间段（以秒为单位）。达到空闲超时后，工件将以 NOK 状态出站。若要停用此功能，请将字段留空。该设置应用于所有在站点设置中关闭覆盖全局设置功能的站点。

## MES

MES 构建数据

启用拨动开关：如果要从 MES 适配器接收构建数据，请将其开启。否则请关闭它。

适配器名称字段：输入您要从中接收构建数据的 MES 适配器的名称。

服务器端口字段：指定将用于接收构建数据的 TCP 端口。默认端口：8089。

MES 进站

使用这些设置来配置 MES 进站功能。

启用拨动开关：如果要通过使用 MES 适配器来让工件进站，请将其开启。否则请关闭它。

适配器名称字段：输入 MES 进站适配器的名称。

服务器端口字段：指定 TCP 端口，它将被用于传入来自 MES 进站适配器的连接。默认端口：8091。

MES 结果

启用拨动开关：如果要使用向 MES 提供结果数据的 MES 适配器，请将其开启。否则请关闭它。

适配器名称字段：输入要向其发送结果数据的 MES 适配器的名称。

服务器端口字段：指定将用于发送结果数据的 TCP 端口。默认端口：8090。

结果存储限制字段：指定要存储在 Smart AMS 缓冲区中的最大结果数。默认值：10000。

ToolsNet 8 集成

启用拨动开关：如果想要连接 Smart AMS 到 ToolsNet 8 服务器下载结果数据（OK、NOK、NYD），请开启它。否则请关闭它。

ToolsNet 8 IP 字段：指定用于连接的 IP 地址。

ToolsNet 8 port 字段：指定用于连接的 TCP 端口。默认端口：7110。

ILT

对于当前活动配置的所有区域中的所有 ILT 设备，您可以一次将最小和最大距离设置为特定值。如果没有指定相应的距离，可以将任何一个距离字段留空。

密码字段：输入密码，对于配置中的所有 ILT 设备来说，密码应该是相同的。

最小距离字段：指定工具与其基础站点之间的最小距离。距离的测量单位在 ILT 中指定。

最大距离字段：指定工具与其基础站点之间的最大距离。距离的测量单位在 ILT 中指定。

- 若要设置距离，请点击设置距离按钮。

- 若要添加 ILT 设备，请点击添加 ILT 设备。

IP 字段：指定设备的 IP 地址。

端口字段：指定用于连接的 TCP 端口。默认端口：80。

脱机或无法访问的 ILT 设备将不会收到设置更新。

Modbus 设备

IP 字段：指定用于连接的 IP 地址。只有支持 Read Coils（功能代码 1）和 Write Single Coil（功能代码 5）功能的 Modbus 设备才能与 Smart AMS 一起使用。

端口字段：指定用于连接的 TCP 端口。默认端口：502。

- 若要添加 Modbus 设备，请点击添加 Modbus 设备。

# 使用配置

您必须首先导航到 Smart AMS Config。

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Config UI 快捷方式 前往 Web 浏览器中的 Smart AMS Config 地址。
  示例地址：http://localhost:6395。确保将本地主机替换为运行 Smart AMS Config 的计算机的实际 IP 地址。

- 要切换到配置部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择配置。

## 创建新的配置。

每次创建空白配置时都会创建当前配置的快照。

- 点击 。

- 输入当前配置快照的说明，然后点击新建。

## 撤消或恢复操作

可以撤消或恢复一个或多个操作。

- 若要撤消操作，请点击 。

- 若要恢复之前撤消的操作，请点击 。

- 若要刷新数据，请点击

## 将当前配置推送到服务器

当您完成自定义配置后，可以将其推送到服务器。若某个站点当前正在处理的工件需要更新，则当该工件从该站点退出时，更新将被应用。也就是说，工件的处理不会中止。

每次将当前配置推送到服务器时都会创建它的快照。

- 点击 。

- 输入当前配置快照的说明，然后点击推送。

## 导入配置

每次导入配置时都会创建当前配置的快照。

- 在配置部分，点击 。

- 点击选择文件，然后选择带有配置的 .dat 文件。

- 输入当前配置快照的说明，然后点击导入。

## 导入 Excel 配置

您可以将现有的 .xlsx 配置文件导入到 Smart AMS Config 中。

导入 .xlsx 配置文件时，Smart AMS Config 中的当前配置将被覆盖。您的更改可能会丢失！

- 点击 ，然后点击导入 Excel 配置。

- 点击选择文件，然后选择您的 .xlsx 配置文件。

- 单击导入。

## 保存当前配置的快照

您可以将当前配置保存为以后可以使用的快照。

- 点击 并输入快照的说明。

- 单击保存。

快照随后将出现在 Smart AMS Config 的历史记录部分。

## 回滚配置中的更改

可以将配置回滚到上一个快照。

该操作只还原配置的上一个版本。它不会向服务器推送任何东西。

回滚配置时，Smart AMS Config 中的当前配置将被覆盖。您的更改可能会丢失！

- 要切换到历史记录部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择历史记录。

  视图中的列是：时间戳、说明、用户名、应用、恢复和导出。

- 在恢复列中，点击 。

时间戳：快照创建时间。

描述：创建快照时输入的说明性文本。

用户名：显示谁创建了快照。

应用：显示是否应用了快照。当前应用的快照将高亮显示。

恢复：点击 回滚配置。

导出：点击 或 可将选定的配置快照分别导出到 .dat 或 .pdf 文件中。

## 导出配置

在历史记录部分，可以将配置快照导出到 .dat 或 .pdf 文件。DAT 文件可用作备份，您可以在以后导入它们。PDF 文件对报告很有用。它们包含在配置中发现的所有信息。您可以查看 PDF 文件，但不能将其导入 Smart AMS Config 中。

- 要切换到历史记录部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择历史记录。

- 在导出列中，点击 或 。

# 添加和管理生产线

您必须首先导航到 Smart AMS Config。

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Config UI 快捷方式 前往 Web 浏览器中的 Smart AMS Config 地址。
  示例地址：http://localhost:6395。确保将本地主机替换为运行 Smart AMS Config 的计算机的实际 IP 地址。

- 要切换到配置部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择配置。

- 若要添加生产线，请点击添加生产线。

- 若要重新排列生产线，请使用拖放操作。

- 若要复制、粘贴或删除生产线，请使用该生产线的右键上下文菜单。

## 常规

非活动切换开关：若此切换开关开启，则生产线处于非活动状态。非活动生产线在图形用户界面中是灰显的。它们不可用于执行工作；Smart AMS 通常忽略它们。如果关闭，则该生产线激活。

生产线编号字段：指定装配生产线的顺序位置。示例：1、2、3。

生产线名称字段：输入装配生产线的名称。

扫描规则列表：选择装配生产线的扫描规则。扫描规则将应用于生产线中的所有 Smart AMS 站点。
使用示例：当工件进站尝试正在进行时，多层警示灯上的传统蓝色灯闪烁。当尝试完成 OK 或 NOK 时，它停止闪烁。如果进站尝试失败，多层警示灯上的常规红灯将指示错误状态。一旦进行新的进站尝试或站点切换到紧急模式，错误状态就会重置。
如果未选择扫描规则，则装配生产线中各站点的所有扫描都将被视为工件 ID。如果未指定输入源，则工件 ID 将为空。

使用站点联锁检查拨动开关：如果开启，若工件是从上一个站点以 OK 状态出站的，则其只能在装配生产线中的某个站点进站。否则，即使工件是从上一个站点以 NOK 状态出站的，也可以进站并被处理。
请注意，SQS3 返工站点通常忽略依赖性检查，即使它们所在的装配生产线激活了依赖性检查。

## 线路 PLC

启用拨动开关：如果开启，则 PLC 被激活。如果关闭，Smart AMS 将忽略它。

IP 字段：指定 PLC 的 IP 地址。相同的 IP 地址和端口组合可以在多条装配生产线上使用。

端口字段：指定用于连接的 TCP 端口。

协议版本清单：指定 PLC 应遵循的协议。

# 添加和管理站点

您必须首先导航到 Smart AMS Config。

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Config UI 快捷方式 前往 Web 浏览器中的 Smart AMS Config 地址。
  示例地址：http://localhost:6395。确保将本地主机替换为运行 Smart AMS Config 的计算机的实际 IP 地址。

- 要切换到配置部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择配置。

- 若要添加站点，请点击 生产线名称右侧，然后选择 Smart AMS 站点、SQS 站点或手动站点。如果站点没有与 Smart AMS 的连接，选择手动站点；Smart AMS 将忽略它。

- 若要重新排列生产线中的站点，请使用拖放操作。

- 若要复制、粘贴或删除站点，请使用该站点的右键上下文菜单。

此部分内容

- 指定 Smart AMS 站点的设置
- 在 Smart AMS 站点增加和管理控制器
- 添加配方
- 指定 SQS3 站点的设置
- 指定手动站点的设置

# 指定 Smart AMS 站点的设置

您必须首先导航到 Smart AMS Config。

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Config UI 快捷方式 前往 Web 浏览器中的 Smart AMS Config 地址。
  示例地址：http://localhost:6395。确保将本地主机替换为运行 Smart AMS Config 的计算机的实际 IP 地址。

- 要切换到配置部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择配置。

- 点击要配置的 Smart AMS 站点的图标，然后点击常规。

非活动切换开关：若此拨动开关开启，则站点处于非活动状态。非活动站点的图标是灰显的。非活动站点不可用于执行工作；Smart AMS 通常忽略它们。如果关闭，则该站点激活。

站点名称字段：指定站点的名称。

站点编号字段：指定装配生产线中站点的顺序位置。示例：1、2、3。

说明（英文）字段：用英语描述该站点。

说明（本地）字段：用本地语言描述该站点。

工件进站列表：指定工件如何在站点进站。
PLC：工件只能通过 PLC 进站。
条形码：工件只能通过扫码枪进站。
PLC 和条形码：工件只能通过 PLC 或扫码枪进站。
MES：工件只能通过 MES 进站。
MES 和条形码：工件只能通过 MES 或扫码枪进站。

执行模式列表：在有多个工具的情况下，它决定工具操作的顺序：并行或顺次。
在并行执行模式下，如果站点处有多个工具，操作员可以同时使用这些工具 - 站点所有配方中指定的所有工具将同时处于活动状态。为此，选择并行。
在顺次执行模式下，工具只能按照配方列出的顺序使用。为此，选择顺序。

返工站点列表：选择专用于工件返工的站点。它可以是一个 SQS3 返工站点。否则，选择不设置。

LAN 扫码枪

启用拨动开关：如果开启，则 LAN 扫码枪被使用。否则，不使用 LAN 扫码枪。

IP 字段：指定用于连接的 IP 地址。如果已将 LAN 扫码枪连接到 Smart AMS 服务器，请使用此设置。否则，将此字段留空。

端口字段：指定连接的端口。如果已将 LAN 扫码枪连接到 Smart AMS 服务器，请使用此设置。否则，将此字段留空。

工件空闲超时

覆盖全局设置拨动开关：若要在站点覆盖工件空闲超时的全局设置，请将其开启。否则请关闭它。

工件空闲超时字段：指定由于不活动而等待直到工件出站的时间段（以秒为单位）。达到空闲超时后，工件将以 NOK 状态出站。若要停用此功能，请将字段留空。

# 在 Smart AMS 站点增加和管理控制器

您必须首先导航到 Smart AMS Config。

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Config UI 快捷方式 前往 Web 浏览器中的 Smart AMS Config 地址。
  示例地址：http://localhost:6395。确保将本地主机替换为运行 Smart AMS Config 的计算机的实际 IP 地址。

- 要切换到配置部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择配置。

- 点击要添加控制器的 Smart AMS 站点的图标，然后点击控制器。

- 若要添加控制器，请点击添加控制器。

您可以添加多个控制器。

- 若要添加另一个控制器，请再次点击添加控制器。

- 若要复制、粘贴或删除控制器，请使用该控制器的右键上下文菜单。

非活动切换开关：若此拨动开关开启，则控制器处于非活动状态。不活动的控制器不可用于执行工作；Smart AMS 忽略了它们。如果关闭，则控制器被激活。

类型列表：指定控制器的类型：PF4000、PM4000、PF6000、STwrench、IXB、Flex（用于 PF6 Flex System）、MTF6000 或 PF8。

名称字段：指定控制器的名称以便于识别。

IP 字段：指定控制器的 IP 地址。

端口字段：指定用于连接的 TCP 端口。它必须与控制器中指定的相同。示例：端口 4545 默认用于开放协议工具。

紧急程序字段：指定 Smart AMS 在紧急模式下工作时控制器中要设置的拧紧程序的数量。如果控制器在紧急模式下不受 Smart AMS 控制，则将该字段留空。可以通过控制器进行选择 - 例如，通过套筒选择器。即使已指定拧紧程序，通过套筒选择器或其他方法进行选择也有效。控制器从该拧紧程序开始，后续可以更改拧紧程序。

使用曲线拨动开关：若要获取扭矩和角度随时间变化的拧紧曲线，请开启拨动开关。如果不需要曲线，可以关闭它。

自由顺序模式拨动开关：若此拨动开关开启，则操作员可根据当前的配方按照其认为合理的顺序执行拧紧。如果拧紧顺序不重要，您可能想使用此选项。螺栓的拧紧程序和拧紧顺序由操作员选择的套筒决定。套筒选择器上的每个套筒都必须被分配一个控制器上指定的特定拧紧程序。如果关闭，则只能以预定的顺序执行拧紧。

使用扫描通过拨动开关：此设置仅在控制器类型为 PF6000 或 IXB 时有效。若此拨动开关开启，则 Smart AMS 将订阅通过扫描事件而不是 VIN 事件。此设置必须与控制器上的对应项（传递模式）匹配。也就是说，必须将扫码枪配置为将扫描的字符串传递到外部系统。

ILT 设备使用

启用拨动开关：如果开启，则 ILT 设备处于活动状态。否则将被忽略。

ILT 设备列表：选择 ILT 设备。否则，选择不设置。

标签 ID 字段：指定定位标记的标识。您可以在标记的贴纸上找到它。

Modbus 设备使用

启用拨动开关：如果开启，则 Modbus 设备处于活动状态。否则将被忽略。

Modbus 设备列表：选择 Modbus 设备。否则，选择不设置。

输入偏移量字段：指定传入信号的地址偏移量。

输出偏移量字段：指定传出信号的地址偏移量。

Smart AMS 可指示控制器子部分中的配置问题。在这种情况下，子部分的名称将用一个带圆圈的感叹号 标记。

# 添加配方

您必须首先导航到 Smart AMS Config。

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Config UI 快捷方式 前往 Web 浏览器中的 Smart AMS Config 地址。
  示例地址：http://localhost:6395。确保将本地主机替换为运行 Smart AMS Config 的计算机的实际 IP 地址。

- 要切换到配置部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择配置。

- 点击要添加配方的 Smart AMS 站点的图标，然后点击配方。

- 点击添加配方。若要添加另一个配方，请再次点击添加配方。

螺栓组名称字段：键入螺栓组名称 - 文本字符串，它是所有站点和配方中螺栓组的唯一识别符。这是螺栓外部信息的一部分。

螺栓组描述字段：输入螺栓组的描述。

PR 组合字段：将配方限制为特定的 PR 代码组合。为了接受所有工件，请将此字段留空。

控制器列表：选择要使用的控制器。

程序编号字段：指定拧紧程序编号。

拧紧计数字段：指定要使用指定拧紧程序拧紧的螺栓数量。

主轴计数字段：指定工具使用的转轴数。错误的数字将影响螺栓的输出数据，因为螺栓组名称将不能正确映射到结果。例如，如果拧紧计数设置为 3，而主轴计数设置为 2，这意味着配置中有 6 个螺栓。

MNO 计数字段：指定连续 NOK 重试的最多次数。当执行 OK 拧紧时，计数器复位为 0。当拧紧尝试为 NOK 时，它开始计数。对于不受限制的重试次数，请将字段留空。

区域 ID 字段：指定与该站点相关的 ILT 区域的标识。站点的 ILT 驱动工具只有在区域内才会启用。如果此字段留空，则将启用配方中指定的工具，而不管其位置如何。

Smart AMS 可指示配方子部分中的配置问题。在这种情况下，子部分的名称将用一个带圆圈的感叹号 标记。

# 指定 SQS3 站点的设置

您必须首先导航到 Smart AMS Config。

SQS3 站点不受 Smart AMS 控制。

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Config UI 快捷方式 前往 Web 浏览器中的 Smart AMS Config 地址。
  示例地址：http://localhost:6395。确保将本地主机替换为运行 Smart AMS Config 的计算机的实际 IP 地址。

- 要切换到配置部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择配置。

- 点击 SQS3 站点的图标。

非活动切换开关：若此拨动开关开启，则站点处于非活动状态。非活动站点的图标是灰显的。非活动的站点通常被忽略。如果关闭，则该站点激活。

站点名称字段：指定站点的名称。

站点编号字段：指定装配生产线中站点的顺序位置。示例：1、2、3。

说明（英文）字段：用英语描述该站点。

说明（本地）字段：用本地语言描述该站点。

SQS 站点 IP 字段：指定用于连接的 IP 地址。

是返工站点拨动开关：如果开启，则该站点被视为 SQS3 返工站点。否则，该站点被视为常规 SQS3 站点。

使用生产线 PLC 进站拨动开关：如果工件要通过生产线 PLC 进站，请开启该拨动开关。如果不使用生产线 PLC，则将其关闭。

返工站点列表：选择专用于工件返工的站点。它可以是一个 SQS3 返工站点。否则，选择不设置。

# 指定手动站点的设置

您必须首先导航到 Smart AMS Config。

手动站点不受 Smart AMS 控制。

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Config UI 快捷方式 前往 Web 浏览器中的 Smart AMS Config 地址。
  示例地址：http://localhost:6395。确保将本地主机替换为运行 Smart AMS Config 的计算机的实际 IP 地址。

- 要切换到配置部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择配置。

- 点击手动站点的图标。

非活动切换开关：若此拨动开关开启，则站点处于非活动状态。非活动站点的图标是灰显的。非活动的站点通常被忽略。如果关闭，则该站点激活。

站点名称字段：指定站点的名称。

站点编号字段：指定装配生产线中站点的顺序位置。示例：1、2、3。

说明（英文）字段：用英语描述该站点。

说明（本地）字段：用本地语言描述该站点。

# 添加和管理扫描规则

条形码扫描规则定义了当站点处于自动模式时，操作员将需要扫描的条形码的数量和顺序。它们还定义了如何从扫描内容中提取数据，如工件 ID 和 PR 代码。

每个扫描规则必须包含用于提取工件 ID 的条形码。

如果按照指定的顺序扫描预期的条形码，并且输入字符串符合扫描规则中为条形码指定的约束，则在指定扫描规则的装配生产线中的站点的工件进站将是成功的。

若要添加和管理扫描规则，必须先导航到 Smart AMS Config。

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Config UI 快捷方式 前往 Web 浏览器中的 Smart AMS Config 地址。
  示例地址：http://localhost:6395。确保将本地主机替换为运行 Smart AMS Config 的计算机的实际 IP 地址。

- 要切换到扫描规则部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择扫描规则。

- 点击添加扫描规则，然后指定规则的名称。

可以撤消或恢复一个或多个操作。

- 若要撤消操作，请点击 。

- 若要恢复之前撤消的操作，请点击 。

- 若要刷新数据，请点击

每个扫描规则可以包括多个条形码，这些条形码可以按照您的要求进行自定义。

- 若要添加条形码，请点击 。

- 若要重新排列扫描规则和条形码，请使用拖放操作。在扫描规则部分，扫描规则的顺序不影响工作流。条形码在扫描规则中的顺序决定了条形码的预期顺序。

- 若要复制、粘贴或删除扫描规则，请使用右键上下文菜单。

- 使用 和 可以展开或折叠该部分的项目。

## 常规

名称字段：为条形码指定名称。

长度字段：指定条形码的长度（以字符为单位）。

接受超出长度的条形码拨动开关：如果打开，Smart AMS 将接受长度大于指定值的条形码。关闭它以丢弃超大条形码。

合法字符列表：选择所有、数字和字母、仅限数字、仅限字母、仅限大写字母或仅限小写字母。

提取拨动开关：如果开启，Smart AMS 将从条形码中提取工件 ID。如果您不需要工件 ID，请关闭它。

开始位置字段：输入一个数字以指定条形码中工件 ID 的开头。

结束位置字段：输入一个数字以指定条形码中工件 ID 的结尾。若要读取到条形码的结尾，请将字段留空。

## PR 代码

每个条形码可以包括多个 PR 代码。

- 若要使 PR 代码可用于提取，请点击添加 PR 代码并指定其设置。

前缀字段：指定将自动前置到提取值的前缀。

开始位置字段：输入一个数字以指定条形码中 PR 代码的开头。

结束位置字段：输入一个数字以指定条形码中 PR 代码的结尾。若要读取到条形码的结尾，请将字段留空。

## PR 代码序列

提取拨动开关：如果开启，Smart AMS 将从条形码中提取多个 PR 代码。若要禁用此功能，请将其关闭。

PR 代码长度字段：输入单个 PR 代码的长度（以字符为单位）。

每个 PR 代码的前缀字段：指定将自动前置到每个提取的 PR 代码。

提取的 PR 代码的列表与从其他来源（例如 MES，如果以该方式配置的话）接收的 PR 代码合并。在这种情况下，PR 代码的组合列表将用于确定工件的工作流。

# 管理用户角色

在角色管理部分，您可以添加、编辑或删除用户角色。如果将多个角色分配给一个用户，则这些角色共同为该用户指定权限。

要管理用户和角色，您必须以超级用户身份登录。您可以使用首次登录 Smart AMS Config 时指定的用户名和密码，因为在 Smart AMS Config 中创建的第一个用户将被自动分配 Superuser 角色。

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Config UI 快捷方式 前往 Web 浏览器中的 Smart AMS Config 地址。
  示例地址：http://localhost:6395。确保将本地主机替换为运行 Smart AMS Config 的计算机的实际 IP 地址。

- 要切换到角色管理部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择角色管理。

## 添加角色

- 点击 。

- 为角色指定一个名称。

- 点击权限字段，然后点击要与角色关联的权限：编辑配置、推送配置、重置配置、导入 Excel 配置、导入/导出快照、恢复快照或保存快照。若要分配多个权限，请重复选择步骤。

## 编辑角色

- 在编辑角色列中，点击 。

- 添加所需的权限。

- 若要删除不需要的权限，请点击 。

## 删除角色

- 在删除角色列中，点击 。

# 在 Smart AMS Config 中管理用户帐户

在用户管理部分，可以添加用户帐户并为其指定凭据。

要管理用户和角色，您必须以超级用户身份登录。您可以使用首次登录 Smart AMS Config 时指定的用户名和密码，因为在 Smart AMS Config 中创建的第一个用户将被自动分配 Superuser 角色。

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Config UI 快捷方式 前往 Web 浏览器中的 Smart AMS Config 地址。
  示例地址：http://localhost:6395。确保将本地主机替换为运行 Smart AMS Config 的计算机的实际 IP 地址。

- 要切换到用户管理部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择用户管理。

## 添加新用户帐户

- 点击 。

- 输入您的用户名或要添加的用户的用户名。

- 输入您的密码或新用户的密码。

## 更改用户密码

- 在更改密码列中，点击 。

- 输入新密码。

## 为用户分配角色

- 在角色列中，点击 。

- 点击用户角色字段，然后点击某个角色以将其分配给用户。若要分配多个角色，请重复选择步骤。

Superuser 角色包括可以分配给用户的所有用户权限，以及管理用户和角色的能力。此角色始终可用，不能编辑或删除。

是管理员列中的绿点 表示超级用户。否则显示红点 。

## 删除用户账户

- 在删除用户列中，点击 。

  超级用户不能直接删除。若要删除超级用户，应先取消分配 Superuser 角色。

# 在 Smart AMS Config 中指定用户首选项

在用户首选项部分，您可以为当前登录的用户指定首选项。这些首选项将按每个用户保存。

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Config UI 快捷方式 前往 Web 浏览器中的 Smart AMS Config 地址。
  示例地址：http://localhost:6395。确保将本地主机替换为运行 Smart AMS Config 的计算机的实际 IP 地址。

- 要切换到用户首选项部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择用户首选项。

显示语言列表：选择界面语言。您可以选择以下语言之一：英文、德文或中文。

主题列表：默认情况下，Smart AMS Config 的主题设置为亮。您可以将它改为暗。

时间戳格式列表：提供有下列选项：MM/DD/YYYY hh:mm:ss AM/PM (12H), YYYY-MM-DD hh:mm:ss (24H), DD.MM.YYVY hh:mm:ss (24H), DD/MM/YYYY hh:mm:ss (24H), YYYY/MM/DD hh:mm:ss (24H)

时区列表：选择您的时区。

密码：要更改当前登录用户的密码，请点击更改。

# Microsoft Excel 格式的配置文件

在 Smart AMS 1.5 之前的旧版本中，所有配置设置（包括全局配置、站点列表、SAMS 配方列表和常量）都存储在 .xlsx 配置文件中。

Smart AMS Config 从 1.5 版开始添加。您可以将现有的 .xlsx 配置文件导入到 Smart AMS Config 中，然后微调配置。

也可以在 Smart AMS V.1.7 中继续使用 .xlsx 配置文件。

不应编辑配置文件中的常量工作表。

.xlsx 配置文件一旦导入到 Smart AMS Config 中，就不能以同样的格式导出回来。配置仅可导出为 .dat 或 .pdf 文件。

此部分内容

- 获取 Microsoft Excel 格式的配置模板
- .xlsx 配置文件中的全局配置
- .xlsx 配置文件中的站点设置
- xlsx 配置文件中的配方列表

# 获取 Microsoft Excel 格式的配置模板

为了使用 Smart AMS V.1.7 中的所有功能，建议您使用 Smart AMS Config 来创建配置。但是，您始终可以获得 Microsoft Excel 格式的配置模板。

- 使用桌面上或 Windows 开始菜单上的打开 Smart AMS Config UI 快捷方式 前往 Web 浏览器中的 Smart AMS Config 地址。
  示例地址：http://localhost:6395。确保将本地主机替换为运行 Smart AMS Config 的计算机的实际 IP 地址。

- 要切换到配置部分，请点击页面左侧的导航面板中的 。在屏幕较小的移动设备上，点击页面右上角的用户名，然后选择配置。

- 点击 ，然后点击下载配置模板。

# .xlsx 配置文件中的全局配置

在 .xlsx 配置文件中，Global Configurations 工作表包含 Smart AMS 的全局配置设置。

## 客户信息

Customer Name：指定客户的名称。

Plant Name：指定工厂的名称。

Number of Stations：指定站点的数量。

## 通用配置

Product Sign-in Override 下拉列表：选择 FALSE 可以防止另一个工件正在处理的同时允许新工件进站。如果选择 TRUE，则当新工件进站时，当前工件将被允许出站，同时新工件将被允许进站。

Ignore same Product Sign-In 下拉列表：如果工件 ID 与紧随其后进站的工件 ID 相同，选择 TRUE 可以防止新的工件进站。如果选择 FALSE，则不执行工件 ID 比对。工件将进站，拧紧工作流将从头开始。

MNO Strategy 下拉列表：
InactiveWorkflow：如果工作步骤中的所有拧紧重试尝试都失败了，则该工具将被锁定，直到手动跳过当前工作步骤。
ProductAbort：如果工作步骤中的所有拧紧重试尝试都失败了，则工件将自动出站。
WorkflowRestart：如果工作步骤中的所有拧紧重试尝试都失败了，则工作流将从头开始。此选项是最不推荐的，因为之前的拧紧结果将被丢弃，不会发送到 MES。
Proceed：如果工作步骤中的所有拧紧重试尝试都失败了，则 Smart AMS 将自动进行到下一个工作步骤。

Emergency Result Mode 下拉列表：
Static：在紧急模式中，该工具始终处于启用状态。工件 ID 不能输入。所有结果将带有一个静态识别符 - “人工”。
OnlyByProductSignIn：只有在工件进站后才启用该工具。工件进站时使用的工件 ID 将用于结果。
StaticAndOverwriteByProductSignIn：在紧急模式中，该工具始终处于启用状态。如果没有工件进站，则所有结果将带有一个静态识别符 - "MANUAL”。工件进站后，工件进站时使用的工件 ID 将用于结果。
Passive：工件识别不受 Smart AMS 控制。例如，如果扫码枪附加到控制器上，则从扫码枪收到的工件 ID 将被附加到拧紧结果。从控制器接收的任何工件 ID 将不会被 Smart AMS 更改。如果既未指定扫码枪也未指定其他输入源，则工件 ID 将为空。

您可以使用连接到 PF6000 控制器的扫码枪，在自动模式和控制器的手动模式下扫描，即使它没有连接到 Smart AMS。在这种情况下，Emergency Result Mode 设置必须设为 Passive，PF6000 站点的 Product Sign-In 设置必须设为 Barcode。
在 PF6000 的设置中，扫描通过功能需要停用。应配置控制器上的手动模式，以便它在键开关设置为紧急模式时处于活动状态。

Emergency Sign In Mode 下拉列表：
ByStationSignIn：在紧急模式中，工件可采用与自动模式相同的进站方式进站。如果在站点使用扫描规则，扫码枪将不被考虑用于此模式下的紧急模式进站。
ByStationSignInAndBarcodeScanner：工件可采用与自动模式相同的进站方式进站，也可以通过扫码枪进站。如果工件是通过扫码枪进站的，并为该站点配置了 PLC，则 Smart AMS 会将扫描的代码发送到 PLC。必要时，顺序将在 PLC 上核实，然后重新排列。当处于紧急模式时，不会对扫描的内容应用扫描规则。
OnlyByBarcodeScanner：工件只能通过使用扫码枪进站。如果为该站点配置了 PLC，则 Smart AMS 会将扫描的代码发送到 PLC。必要时，顺序将在 PLC 上核实，然后重新排列。当处于紧急模式时，不会对扫描的内容应用扫描规则。

Product Status Storage Limit：指定要存储在 Smart AMS 缓冲区中的工件状态信息条目的最大数量。默认值：10000。

Station Dependency 下拉列表：
Off：没有站点互锁。即使工件是从上一个站点以 NOK 状态出站的，也可以进站并被处理。
InLineDependency：在装配生产线中，只有当工件以 OK 状态从上一个站点出站时才能进站。如果一个站点的拧紧结果为 NOK，那么在该站点拧紧的所有螺栓都应该拧松，然后工件可以在同一站点进站以重新拧紧。
AcrossLineDependency：只有当工件以 OK 状态从上一个站点出站时才可以进站，即使上一个站点属于不同的装配生产线。如果一个站点的拧紧结果为 NOK，那么在该站点拧紧的所有螺栓都应该拧松，然后工件可以在同一站点进站以重新拧紧。

SQS3 返工站点通常忽略联锁检查，即使它们所在的装配生产线激活了联锁检查。

Reject OK Product Sign-In 下拉列表：
TRUE：已在同一站点处理 OK 的工件不能进站。当尝试进站时，连接到站点的多层警示灯上的绿色段将启动。工件将无法进站。然而，这样的工件仍然可以通过在检测到工件已经 OK 之后发送的 IO 信号在该站点进站。如果工件没有检测到已经 OK，则 IO 信号将被忽略。
FALSE：已在同一站点处理 OK 的工件可以进站，无论进站方式如何。

Product Disconnect Timeout：指定在与控制器的连接丢失的情况下等待直到工件出站的时间段（以秒为单位）。如果此字段留空，则当 Smart AMS 失去与控制器的连接时，工件将立即出站。然后，Smart AMS 将等待新的工件进站，以恢复站点的工作流。

ILT Server Port：指定用于连接的 TCP 端口。默认端口：10458。

Monitoring API：如果您想使用监视 API，请选择 TRUE。否则，选择 FALSE 禁用此功能并节省系统资源。

Wait for Tool Stop：选择 TRUE 让系统等待站点的所有工具停止旋转，然后中止工作流并让工件出站。运行工具产生的所有拧紧结果都将报告给 MES。典型用例：按下“跳过工件”按钮或让另一个工件进站。如果设为 FALSE，工件将总是在检测到相应的信号时立即出站。系统将丢弃工件出站后处理的所有拧紧结果。

## ToolsNet 8 集成

Report to ToolsNet 8 下拉列表：如果想要连接 Smart AMS 到 ToolsNet 8 服务器下载结果数据（OK、NOK、NYD），请选择 TRUE。否则，请选择 FALSE。

ToolsNet 8 IP：指定用于连接的 IP 地址。

ToolsNet 8 Port：指定用于连接的 TCP 端口。默认端口：7110。

## MES 构建数据配置

Use MES Build Data protocol 下拉列表：如果要从 MES 适配器接收构建数据，请选择 TRUE。否则，选择 FALSE。

Server Port：指定将用于接收构建数据的 TCP 端口。默认端口：8089。

Adapter Name：输入您要从中接收构建数据的 MES 适配器的名称。

## MES 结果配置

Use MES Result Adapter 下拉列表：如果要将结果数据发送到指定的 MES 适配器，请选择 TRUE。否则，选择 FALSE。

Server Port：指定将用于发送结果数据的 TCP 端口。默认端口：8090。

Result Storage Limit：指定要存储在 Smart AMS 缓冲区中的最大结果数。默认值：10000。

## MES 结果适配器名称

该列表显示了向 MES 提供结果数据的 MES 适配器。

Adapter No. 列：指定适配器的顺序位置。示例：1、2、3。

Adapter Name 列：输入要向其发送结果数据的 MES 适配器的名称。

## MES 进站配置

使用这些设置来配置 MES 进站功能。

Use MES Sign In protocol 下拉列表：如果您的系统配置为使用 MES Adapter 让工件进站，请选择 TRUE。否则，选择 FALSE 禁用此功能并节省系统资源。

Server Port：指定 TCP 端口，它将被用于传入来自 MES 进站适配器的连接。默认端口：8091。

Adapter Name 列：输入 MES 进站适配器的名称。

## LineConfig

该列表显示了带有 PLC 的装配生产线。

Line No. 列：指定装配生产线的顺序位置。示例：1、2、3。

Line Name 列：输入装配生产线的名称。

PLC IP：指定 PLC 的 IP 地址。相同的 IP 地址和端口组合可以在多条装配生产线上使用。

PLC Port：指定用于连接的 TCP 端口。

Activated 下拉列表：选择 TRUE 使 PLC 处于活动状态。否则，选择 FALSE 使其处于非活动状态。如果 PLC 处于非活动状态，Smart AMS 将忽略它。

Protocol 下拉列表：指定 PLC 应遵循的协议。

Dependency Check 下拉列表：要在选定的装配生产线中启用联锁检查，请选择 TRUE。在这种情况下，若工件是从上一个站点以 OK 状态出站的，则其只能在装配生产线中的某个站点进站。如果您选择 FALSE，即使工件是从上一个站点以 NOK 状态出站的，也可以进站并被处理。
请注意，SQS3 返工站点通常忽略依赖性检查，即使它们所在的装配生产线激活了依赖性检查。

# .xlsx 配置文件中的站点设置

在 .xlsx 配置文件中，转到 Station List 工作表。它包含一个站点列表及其设置。在列中输入数据。

Station Name：指定站点的名称。

Line No.：指定站点所属的装配生产线。

Station No.：指定装配生产线中站点的顺序位置。示例：1、2、3。

Station Id：Line No. 和 Station No. 都写在同一个单元格，用下划线分隔 "_"。它必须与 PLC 电报中使用的站点 ID 相匹配。

一个项目不能包含两个或多个具有相同 ID 的站点。

Node Type：指定提供连接的节点类型。可能的值：Manual、PF4000、PM4000、PF6000、StWrench、IXB、SQS、SQSRework。当 STwrench 本身直接连接到 Smart AMS 时，使用 StWrench。当站点不由 Smart AMS 控制时，选择 Manual，然后 Smart AMS 将忽略它。

IXB 包括 ICB 和 ITB 工具类型。

Node IP：指定控制器或 SQS3 的 IP 地址。

Node Port：指定用于连接的 TCP 端口。它必须与控制器中指定的相同。示例：端口 4545 默认用于开放协议工具。

Controller Name：指定控制器的名称以便于识别。

Controller Counter By Station：指定站点控制器的数量。站点第一个控制器计数为 1。更多控制器按顺序计数：2、3，等等。当站点没有控制器时，键入 0。例如：使用 SQS3 站点。

Station Description(En)：用英语描述该站点。

Station Description(Local)：用本地语言描述该站点。

Emergency Pset / Mode：指定 Smart AMS 在紧急模式下工作时控制器中要设置的拧紧程序的数量。如果控制器在紧急模式下不受 Smart AMS 控制，则将该单元格留空。可以通过控制器进行选择 - 例如，通过套筒选择器。即使已指定拧紧程序，通过套筒选择器或其他方法进行选择也有效。控制器从该拧紧程序开始，后续可以更改拧紧程序。

Rework Node：相应返工站点的 Line No. 和 Station No. 都写在同一个单元格，用下划线分隔 "_"。它必须与 PLC 电报中使用的站点 ID 相匹配。

Product Sign-In 下拉列表：指定工件如何在站点进站。
PLC：工件只能通过 PLC 进站。
Barcode：工件只能通过扫码枪进站。
PLCAndBarcode：工件只能通过 PLC 或扫码枪进站。
MES：工件只能通过 MES 进站。
MESAndBarcode：工件只能通过 MES 或扫码枪进站。

Activated 下拉列表：选择 TRUE 使站点处于活动状态。否则，选择 FALSE 使其处于非活动状态。非活动站点不可用于执行工作；Smart AMS 通常忽略它们。

Execution Mode 下拉列表：在有多个工具的情况下，它决定工具操作的顺序：并行或顺次。
在并行执行模式下，如果站点处有多个工具，操作员可以同时使用这些工具 - 站点所有配方中指定的所有工具将同时处于活动状态。为此，选择 Parallel。
在顺次执行模式下，工具只能按照配方列出的顺序使用。为此，选择 Sequential。
如果站点不受 Smart AMS 控制，请选择 Uncontrolled。示例：SQS 和 SQSRework 类型的站点。请注意，对于 Smart AMS 站点，使用此选项与使用 Sequential 相同。

Free Order Mode：若选择 TRUE，则操作员可根据当前配方按照其认为合理的顺序执行拧紧。如果拧紧顺序不重要，您可能想使用此选项。螺栓的拧紧程序和拧紧顺序由操作员选择的套筒决定。套筒选择器上的每个套筒都必须被分配一个控制器上指定的特定拧紧程序。当设置为 FALSE 时，则只能以预定的顺序执行拧紧。

ILT Device IP：指定 ILT 设备的 IP 地址。

ILT Tag ID：指定定位标记的标识。您可以在标记的贴纸上找到它。

Traces：若要获取扭矩和角度随时间变化的拧紧曲线，请选择 TRUE。如果不需要曲线，选择 FALSE 可禁用此功能并节省系统资源。

Modbus Device IP：指定用于连接的 IP 地址。只有支持 Read Coils（功能代码 1）和 Write Single Coil（功能代码 5）功能的 Modbus 设备才能与 Smart AMS 一起使用。

Modbus Input Offset：指定传入信号的地址偏移量。

Modbus Output Offset：指定传出信号的地址偏移量。

LAN Scanner IP：指定用于连接的 IP 地址。如果已将 LAN 扫码枪连接到 Smart AMS 服务器，请使用此设置。否则，将此字段留空。

LAN Scanner Port：指定连接的端口。如果已将 LAN 扫码枪连接到 Smart AMS 服务器，请使用此设置。否则，将此字段留空。

使用扫描通过：此设置仅在控制器类型为 PF6000 或 IXB 时有效。当设为 TRUE 时，Smart AMS 将订阅通过扫描事件而不是 VIN 事件。此设置必须与控制器上的对应项（传递模式）匹配。也就是说，必须将扫码枪配置为将扫描的字符串传递到外部系统。

# xlsx 配置文件中的配方列表

.xlsx 配置文件中的 SAMS Recipe List 工作表包含拧紧操作的一组规范。

Station Id：Line No. 和 Station No. 都写在同一个单元格，用下划线分隔 "_"。它必须与 PLC 电报中使用的站点 ID 相匹配。此处指定的站点 ID 必须是 .xlsx 配置文件中的 Station List 工作表上使用的站点 ID。

Controller Name：指定要使用的控制器。它必须是 .xlsx 配置文件中的 Station List 工作表上使用的站点 ID。

PR Codes：将配方限制为特定的 PR 代码组合。为了接受所有工件，请将此字段留空。

PSet(PF) / Mode(PM)：指定拧紧程序编号。

Bolt Count：指定要使用 PSet(PF) / Mode(PM) 列中指定的拧紧程序拧紧的螺栓数量。

Spindle Count：指定工具使用的转轴数。错误的数量会影响螺栓的输出数据。在多轴拧紧的情况下，主轴计数是螺栓名称的一部分；否则，螺栓名称将不能正确地映射到结果。例如，如果 Bolt Count 设置为 3，而 Spindle Count 设置为 2，这意味着配置中有 6 个螺栓。

Bolt Name：键入螺栓名称 - 一个任意文本字符串，它是所有站点和配方中螺栓的唯一识别符。这是螺栓外部信息的一部分。

Bolt Description：输入螺栓的描述。

MNO Count：指定连续 NOK 重试的最多次数。当执行 OK 拧紧时，计数器复位为 0。当拧紧尝试为 NOK 时，它开始计数。对于不受限制的重试次数，请将单元格留空。

Area ID：指定与该站点相关的 ILT 区域的标识。站点的 ILT 驱动工具只有在区域内才会启用。如果此字段留空，则将启用配方中指定的工具，而不管其位置如何。

# 故障排除和保养

本节提供了对问题进行故障排除的帮助，并包含有助于您维护和维修产品的信息。

# 故障排除和保养概述

本部分介绍了可能由软件错误配置和硬件故障引起的常见问题的解决方案。在您联系服务代表之前，我们强烈建议阅读本部分描述的相关问题。

为了安全和正确使用，务必阅读相应的工具手册中的安全信息。

您可能还需要查阅与您的任务相关的更具体的部分：

- 有关配置特点的说明，请参见配置部分。

- 系统要求在介绍部分 > 系统概述子部分进行了详细说明。

- 如果您需要重新安装产品，请按照安装和升级部分的说明操作。

# 许可功能不足

当许可证中定义的功能数量与配置中使用的功能数量不匹配时，就会发生此错误。

原因 | 解决方案
--- | ---
主轴计数不匹配。 | 请注意，在配置中有一个站点意味着在该站点至少有一个主轴，即使没有指定主轴计数。确保您指定了正确的主轴数量。

# 使用静态 IP 地址

必须为 Smart AMS 中使用的所有工具使用静态 IP 地址。您可以通过手动方式将 IP 地址配置为静态地址，或通过 DHCP 保留的方式来配置。使用 MAC 地址来为特定设备保留 IP 地址。

# IP 地址和端口冲突

所有用于连接的 IP 地址和端口必须可用来接收和发送数据。两台或更多设备使用同一个 IP 地址和端口将在设备之间造成冲突，系统将无法与彼此通信。

执行下列操作来检查系统网络 IP 协议：

1. 尝试用 `ping` 命令测试相关 IP 地址的网络连通性，必要时检查 HMI 的 DNS 设置。

2. 运行 `netstat` 命令。该命令将显示若干网络接口的进出网络连接。

如果发现重复的 IP 地址，请联系现场系统管理员协助。

如果没有发现重复的 IP 地址，请联系现场系统管理员查看是否有防火墙阻止您访问 IP 地址和端口。

# Wi-Fi 射频干扰

无线设备（比如微波发射器、无线摄像头或邻近的 Wi-Fi 设备）可能干扰您用来将设备连到 HMI 的 Wi-Fi 连接。如果您的 Wi-Fi 设备太多，干扰也会出现。

通过检查下列条件确保您拥有稳定的 Wi-Fi 连接：

- 检查发射器/路由器的安装位置。

- 重新定位所涉设备周围的其他无线设备。

- 通过增加天线来增强信号和/或安装 Wi-Fi 扩展器来扩大范围。

- 添加第二台 Wi-Fi 路由器。

# 条码无法识别

因为下表中提到的几个原因，扫码枪可能无法识别条码。

原因 | 解决方案
--- | ---
扫码枪所设置的条码识别格式与实际条码类型不匹配。 | 即使扫码枪能够识别多种格式的条码，受编程限制，它可能每次只能识别一种格式。请参见扫码枪随附的文档详细了解如何指定匹配您的条码格式的条码格式。
条码参数已更改，这使得扫码枪的配置无效。 | 调整您的扫码枪以识别新的条码。
由于硬件故障，扫码枪被取代。 | 配置新的扫码枪以识别想要的条码格式。请参见扫码枪随附的文档。
由于不当关机，扫码枪的配置损坏。 | 以手动方式或从备份文件（如有）恢复扫码枪的配置。
您正在扫描的条码所在的表面发亮且反光 — 比如，塑料或金属。 | 拆下塑料盖。
条码无法读取。 | 目检条码。试着用另一把扫码枪识别它，看它是否可以读取。

# 条码被识别为错误

原因 | 解决方案
--- | ---
操作员扫描了错误零件的条码。 | 确保为操作员提供正确的零件且这些零件有正确的条码。
条码包含无效的字符。 | 条码必须只包含 ASCII 字符。确保您扫描的条码中没有不能使用的字符。
条码终止符未设置。 | 在扫码枪的设置中指定条形码终止符。例如，#13#10 表示 <CR><LF>（回车符、换行符）。
条码格式不正确。 | 确保条码符合具体系统的规则。比如，所有 EAN-13 条码必须包含 13 位数。

# 工具在自动模式下启动失败

原因 | 解决方案
--- | ---
站点和 Smart AMS 之间存在连接问题。 | 识别并解决任何可能的网络连接问题。
Smart AMS 处于紧急模式。 | 检查多层警示灯（如有）中的紧急模式指示灯的状态。解决根本原因，然后在自动模式下启动站点。
Smart AMS 处于错误状态。错误指示灯亮起。 | 检查日志文件中没有成功的步骤，然后采取纠正措施。日志文件的路径：%ProgramData%\AMP\。例如：C:\ProgramData\AMP\。
工件的 PR 代码与 Smart AMS Config 中指定的表达式不匹配。 | 重新配置系统以接受条形码或用正确的工件替换错误的工件。
有一个拧紧程序源选择错误。 | 检查控制器的配置，尤其是拧紧程序选择源的配置。
工具的固件不兼容。 | 检查您的工具是否有合适的固件版本。如果匹配错误，推荐的固件将闪烁。
防火墙正在阻塞流量。操作系统中可能内置了防火墙并默认为启用。 | 检查防火墙设置以确保工具的 IP 地址和端口可用于通信。
工具 IP 地址或端口与其他工具冲突。 | 确保该工具的 IP 地址和端口设置是唯一的。

# 工具在紧急模式下启动失败

即使设置了拧紧程序，工具也不会启动。

原因 | 解决方案
--- | ---
控制器和 Smart AMS 之间存在连接问题。 | 确保控制器和 Smart AMS 之间的网络连接。如果检测到网络断开，请重新启动控制器。 如果与 Smart AMS 的连接正常，请检查日志文件中是否有未成功的步骤，然后采取纠正措施。日志文件的路径：%ProgramData%\AMP\。例如：C:\ProgramData\AMP\。

# 螺栓的结果数据错误

原因 | 解决方案
--- | ---
指定的主轴数量不正确。 | 验证 Smart AMS Config 中的主轴计数参数中是否指定了正确的主轴数量。 在多轴拧紧的情况中，例如，如果拧紧计数设置为 3，而主轴计数设置为 2，这意味着配置中有 6 个螺栓。

# Smart AMS 无法与控制器建立连接

原因 | 解决方案
--- | ---
网络未安装或未正确配置。 | 检查您的网络配置。
连接无法建立，因为 IP 地址或端口错误。 | 检查 Smart AMS Config 中指定的 IP 地址和端口编号是否与控制器中的 IP 地址和端口编号匹配。
Smart AMS Manager 已停止响应。 | 重新启动计算机上 Windows 服务中列出的 SAMS 服务。

# 导航到 "localhost:6394” 失败

原因 | 解决方案
--- | ---
Smart AMS Manager 已停止响应。 | 重新启动计算机上 Windows 服务中列出的 SAMS 服务。
不支持 web 浏览器。 | 使用 Google Chrome。
安装 Smart AMS 期间指定了不同的端口编号。 | 使用安装 Smart AMS 时指定的端口编号代替端口 6394。

# 参考

在本节中，您可以找到其他有用的信息。

# 日志文件

在 Smart AMS 中，每个模块都有其自己的日志文件来帮助您排障或搜索所需的信息。

日志文件的默认路径为 C:\ProgramData\AMP\。例如：C:\ProgramData\AMP\AMPManager\log\amp-manager.service.log，这是 Smart AMS Manager 日志文件。

当分析日志文件时，建议您先查看最后修改文件时的日期和时间。

# 合并 PR 代码

PR 代码是特定零件的模型代码。我们现在以机动车零件为例加以说明。

PR 代码和 PR 组合的例子
变速箱 | PR 组合 | 发动机 | PR 组合 | 汽车制造商 | PR 组合
--- | --- | --- | --- | --- | ---
MQ250-6F | E2J | 1.6L/85kW | MM8 / D4K | 知名厂商 A | K8K
MQ350-6F | E3N | 2L/103kW PD | D3X / D7N | 知名厂商 B | K8C
DQ250-6F | E4S | 2L/110kW | D2T / D2Z | 知名厂商 C | K8P / 7N0 / 7JK
MQ200-6F | E5M | 2L/147kW | D2L |  |
DQ200-7F | E6G | 3.2L/184kW | D6D |  |
MQ500 | E7U | 1.4L/88kW | D23 |  |
|  | 1.4L/92kW | D33 |  |

当组合 PR 代码时，请使用下列布尔运算符。

布尔运算符
标识 | 涵义
--- | ---
/ | OR（或）
+ | AND（与）
! | NOT（非）

使用圆括号将两个或多个 PR 代码组合在一起。在一个表达式中将一系列 PR 代码组合在一起，可以表明这些 PR 代码在该表达式内组成一个项。

如果 PR 代码包含空格或其他非字母数字字符，请将 PR 代码用双引号括起来。请注意，双引号必须用反斜杠字符转义，如下面的例子所示：(Sunroof + \"Five Doors\") / (\"White Color\" + !\"Lane Assistant\")。

PR 组合中使用括号的示例
PR 组合 | 涵义
--- | ---
(K8P / 7N0 / 7JK) + (E7U + (D23 / D33)) | 知名厂商 C 制造 AND（MQ500 变速箱 AND（88kW OR 92kW 发动机））
K8C + (E5M / E6G) | 知名厂商 B 制造 AND (MQ200-6F OR DQ200-7F 变速箱)

# TCP/IP 通信端口

系统组件被预配置为使用默认端口。其中的端口可能需要重新配置以消除冲突，具体取决于您的具体硬件和软件配置。

在开放协议工具中，工具本身充当服务器。

组件 | 默认配置路径 | 默认端口
--- | --- | ---
FlexNet > Error Proofing License Manager web 界面 | C:\LLM\LLM\apache-tomcat-9.0.36\conf\server.xml | 8082
FlexNet > 许可服务器监听端口 | Error Proofing License Manager > 设置 | 7070
ILT 服务器端口 | Smart AMS Config > 常规 > 高级 | 10458
Keycloak 应用程序服务器 | 内部配置 | 8306
Keycloak 管理器 | 内部配置 | 6396
MES 构建数据端口 | Smart AMS Config > 常规 > MES | 8089
MES 结果数据端口 | Smart AMS Config > 常规 > MES | 8090
MES 进站端口 | Smart AMS Config > 常规 > MES | 8091
开放协议工具 | Smart AMS Config > 选择站点 > 控制器 | 4545
PLC | Smart AMS Config > 选择站点 > 控制器 | 8001
RabbitMQ 监听端口 | 在 RabbitMQ 中指定 | 5672
Smart AMS Config | 硬编码 | 6395
Smart AMS Manager | 在安装 Smart AMS 时指定 | 6394
发现 Smart AMS Server 多个实例 | 硬编码 | 5353

# 控制器的 IO 设置

## Smart AMS 输出（从 Smart AMS 到控制器）

相应的 Smart AMS IO | PF4000 变量 | PM4000 变量（PLC 中的设置） | PF6000 变量 | Modbus 设备
--- | --- | --- | --- | ---
紧急模式 | 外部监控 1 | %IX 13000.0 | 通用 IO 1 | 第一输入位
工件 OK | 外部监控 2 | %IX 13000.1 | 通用 IO 2 | 第二输入位
工件 NOK | 外部监控 3 | %IX 13000.2 | 通用 IO 3 | 第三输入位
工件运行 | 外部监控 4 | %IX 13000.3 | 通用 IO 4 | 第四输入位
系统错误 | 外部监控 5 | %IX 13000.4 | 通用 IO 5 | 第五输入位

## Smart AMS 输入（从控制器到 Smart AMS）

相应的 Smart AMS IO | PF4000 变量 | PM4000 变量（PLC 中的设置） | PF6000 变量 | Modbus 设备
--- | --- | --- | --- | ---
紧急模式 | 外部监控 1 | %QX 13000.0 | 外部监控 1 | 第一输出位
跳过工件 | 外部监控 2 | %QX 13000.1 | 外部监控 2 | 第二输出位
跳过步骤 | 外部监控 3 | %QX 13000.2 | 外部监控 3 | 第三输出位
覆盖 OK 状态 | 外部监控 4 | %QX 13000.3 | 外部监控 4 | 第四输出位

# 术语与缩写

字母 | 术语 | 说明
--- | --- | ---
A | AMP | 装配管理平台
| AMS | 装配管理系统
I | ICB | 集成控制器，紧凑传感范围，电池
| ILT | Industrial Location Tethering
| ITB | 集成控制器，传感范围，电池
| IXB | ICB 和 ITB 的统称
M | MES | 制造执行系统
| MNO | Not OK 重试的最大次数
N | NOK | 异常
| NYD | 未完成
P | PLC | 可编程逻辑控制器
| PR 代码 | 工件属性代码
| PSet | 拧紧程序
S | SAMS | Smart AMS，智能装配管理系统
| SQS | 可扩展质量解决方案

# 第三方许可证

本部分涉及 Smart AMS 随附的某些第三方组件的许可信息。

此部分内容

- List of third-party software
- Academic Free License v.2.1
- Apache License, Version 2.0
- Zero-Clause BSD (0BSD) license
- BSD 2-clause "Simplified" license
- BSD 3-clause "Modified" license
- BSD 4-clause "Original" license
- Creative Commons CC0 1.0 Universal
- Creative Commons Attribution-ShareAlike 2.0
- Creative Commons Attribution-ShareAlike 3.0 Unported License
- Creative Commons Attribution 4.0 International Public License
- GNU General Public License, GPL V2
- GNU General Public License, v.2, with Classpath Exception
- ISC License
- Inno Setup License
- MIT Software License
- Mozilla Public License, v.2.0 (MPL-2.0)
- Unlicense

# List of third-party software

The following third-party software items are included in Smart AMS.

Third-party software
Software | Version | License
--- | --- | ---
.NET | 5.0 | MIT
.NET Core | 2.0 | MIT
.NET Core | 2.1 | MIT
.NET Core | 2.2 | MIT
@babel/code-frame | 7.15.8 | MIT
@babel/compat-data | 7.15.0 | MIT
@babel/core | 7.15.8 | MIT
@babel/generator | 7.15.8 | MIT
@babel/helper-compilation-targets | 7.15.4 | MIT
@babel/helper-function-name | 7.15.4 | MIT
@babel/helper-get-function-arity | 7.15.4 | MIT
@babel/helper-hoist-variables | 7.15.4 | MIT
@babel/helper-member-expression-to-functions | 7.15.4 | MIT
@babel/helper-module-imports | 7.15.4 | MIT
@babel/helper-module-transforms | 7.15.8 | MIT
@babel/helper-optimise-call-expression | 7.15.4 | MIT
@babel/helper-replace-supers | 7.15.4 | MIT
@babel/helpers | 7.15.4 | MIT
@babel/helper-simple-access | 7.15.4 | MIT
@babel/helper-split-export-declaration | 7.15.4 | MIT
@babel/helper-validator-identifier | 7.15.7 | MIT
@babel/helper-validator-option | 7.14.5 | MIT
@babel/highlight | 7.14.5 | MIT
@babel/parser | 7.15.8 | MIT
@babel/runtime | 7.12.1 | MIT
@babel/runtime | 7.15.3 | MIT
@babel/runtime | 7.15.4 | MIT
@babel/runtime | 7.8.7 | MIT
@babel/runtime-corejs3 | 7.15.4 | MIT
@babel/template | 7.15.4 | MIT
@babel/traverse | 7.15.4 | MIT
@babel/types | 7.15.6 | MIT
@dnd-kit/accessibility | 2.0.0 | MIT
@dnd-kit/core | 2.1.2 | MIT
@dnd-kit/sortable | 2.0.1 | MIT
@dnd-kit/utilities | 1.0.3 | MIT
@emotion/cache | 11.4.0 | MIT
@emotion/hash | 0.8.0 | MIT
@emotion/memoize | 0.7.5 | MIT
@emotion/react | 11.4.1 | MIT
@emotion/serialize | 1.0.2 | MIT
@emotion/sheet | 1.0.2 | MIT
@emotion/unitless | 0.7.5 | MIT
@emotion/utils | 1.0.0 | MIT
@emotion/weak-memoize | 0.2.5 | MIT
@foliojs-fork/fontkit | 1.9.1 | MIT
@foliojs-fork/linebreak | 1.1.1 | MIT
@foliojs-fork/pdfkit | 0.13.0 | MIT
@foliojs-fork/restructure | 2.0.2 | MIT
@hypnosphi/create-react-context | 0.3.1 | MIT
@jest/types | 26.6.2 | MIT
@jest/types | 27.2.5 | MIT
@testing-library/dom | 7.31.2 | MIT
@testing-library/jest-dom | 5.14.1 | MIT
@testing-library/react | 11.2.7 | MIT
@testing-library/user-event | 12.8.3 | MIT
@types/aria-query | 4.2.2 | MIT
@types/istanbul-lib-coverage | 2.0.3 | MIT
@types/istanbul-lib-report | 3.0.0 | MIT
@types/istanbul-reports | 3.0.1 | MIT
@types/jest | 27.0.2 | MIT
@types/node | 13.7.7 | MIT
@types/node | 16.10.3 | MIT
@types/prop-types | 15.7.3 | MIT
@types/prop-types | 15.7.4 | MIT
@types/react | 16.9.55 | MIT
@types/react | 17.0.24 | MIT
@types/react-transition-group | 4.4.3 | MIT
@types/scheduler | 0.16.2 | MIT
@types/testing-library__jest-dom | 5.14.1 | MIT
@types/yargs | 15.0.14 | MIT
@types/yargs | 16.0.4 | MIT
@types/yargs-parser | 20.2.1 | MIT
abbrev | 1.1.1 | ISC
accepts | 1.3.7 | MIT
acorn | 7.4.1 | MIT
acorn-node | 1.8.2 | Apache-2.0
acorn-walk | 7.2.0 | MIT
after | 0.8.2 | MIT
ajv | 6.12.0 | MIT
amdefine | 1.0.1 | BSD 3-clause or MIT
amqplib | 0.5.5 | MIT
ansi-regex | 2.1.1 | MIT
ansi-regex | 3.0.0 | MIT
ansi-regex | 4.1.0 | MIT
ansi-regex | 5.0.1 | MIT
ansi-styles | 2.2.1 | MIT
ansi-styles | 3.2.1 | MIT
ansi-styles | 4.3.0 | MIT
ansi-styles | 5.2.0 | MIT
any-promise | 1.3.0 | MIT
aproba | 1.2.0 | ISC
are-we-there-yet | 1.1.5 | ISC
aria-query | 4.2.2 | Apache-2.0
arraybuffer.slice | 0.0.7 | MIT
array-find-index | 1.0.2 | MIT
array-flatten | 1.1.1 | MIT
array-flatten | 2.1.2 | MIT
array-from | 2.1.1 | MIT
asn1 | 0.2.4 | MIT
ASP.NET Core | 5.0 | Apache-2.0
assert-plus | 1.0.0 | MIT
ast-transform | 0.0.0 | MIT
ast-types | 0.7.8 | MIT
async-foreach | 0.1.3 | MIT
asynckit | 0.4.0 | MIT
async-limiter | 1.0.1 | MIT
atob | 2.1.2 | MIT or Apache-2.0
aws4 | 1.9.1 | MIT
aws-sign2 | 0.7.0 | Apache-2.0
axios | 0.19.2 | MIT
axios | 0.21.4 | MIT
axios | 0.22.0 | MIT
axios-observable | 1.3.0 | MIT
backo2 | 1.0.2 | MIT
balanced-match | 1.0.0 | MIT
base64-arraybuffer | 0.1.4 | MIT
base64-arraybuffer | 0.1.5 | MIT
base64id | 2.0.0 | MIT
base64-js | 1.3.1 | MIT
bcrypt-pbkdf | 1.0.2 | BSD 3-clause
better-assert | 1.0.2 | MIT
bitsyntax | 0.1.0 | MIT
blob | 0.0.5 | MIT
block-stream | 0.0.9 | ISC
bluebird | 3.7.2 | MIT
body-parser | 1.19.0 | MIT
bonjour | 3.5.0 | MIT
bootstrap | 4.5.3 | MIT
bootstrap | 4.6.0 | MIT
brace-expansion | 1.1.11 | MIT
brfs | 2.0.2 | MIT
brotli | 1.3.2 | MIT
browserify-optional | 1.0.1 | MIT
browser-resolve | 1.11.3 | MIT
browserslist | 4.17.3 | MIT
buffer-equal | 0.0.1 | MIT
buffer-equal-constant-time | 1.0.1 | BSD 3-clause
buffer-from | 1.1.1 | MIT
buffer-indexof | 1.1.1 | MIT
buffer-more-ints | 1.0.0 | MIT
bytes | 3.0.0 | MIT
bytes | 3.1.0 | MIT
call-bind | 1.0.2 | MIT
callsite | 1.0.0 | MIT
camelcase | 2.1.1 | MIT
camelcase | 5.3.1 | MIT
camelcase-keys | 2.1.0 | MIT
caniuse-lite | 1.0.30001265 | CC-BY-4.0
caseless | 0.12.0 | Apache-2.0
chalk | 1.1.3 | MIT
chalk | 2.4.2 | MIT
chalk | 3.0.0 | MIT
chalk | 4.1.2 | MIT
chownr | 1.1.4 | ISC
classnames | 2.2.6 | MIT
classnames | 2.3.1 | MIT
cliui | 5.0.0 | ISC
clone | 1.0.4 | MIT
cls-bluebird | 2.1.0 | BSD 2-clause
code-point-at | 1.1.0 | MIT
color-convert | 1.9.3 | MIT
color-convert | 2.0.1 | MIT
color-name | 1.1.3 | MIT
color-name | 1.1.4 | MIT
combined-stream | 1.0.8 | MIT
component-bind | 1.0.0 | MIT
component-emitter | 1.2.1 | MIT
component-emitter | 1.3.0 | MIT
component-inherit | 0.0.3 | MIT
compressible | 2.0.18 | MIT
compression | 1.7.4 | MIT
concat-map | 0.0.1 | MIT
concat-stream | 1.6.2 | MIT
connected-react-router | 6.8.0 | MIT
console-control-strings | 1.1.0 | ISC
content-disposition | 0.5.3 | MIT
content-type | 1.0.4 | MIT
convert-source-map | 1.7.0 | MIT
convert-source-map | 1.8.0 | MIT
cookie | 0.3.1 | MIT
cookie | 0.4.0 | MIT
cookie-signature | 1.0.6 | MIT
core-js-pure | 3.18.2 | MIT
core-util-is | 1.0.2 | MIT
cors | 2.8.5 | MIT
create-react-context | 0.3.0 | MIT
cross-spawn | 3.0.1 | MIT
crypto-js | 4.1.1 | MIT
css | 3.0.0 | MIT
css.escape | 1.5.1 | MIT
csstype | 3.0.4 | MIT
csstype | 3.0.8 | MIT
csstype | 3.0.9 | MIT
currently-unhandled | 0.4.1 | MIT
d | 1.0.1 | ISC
dash-ast | 2.0.1 | Apache-2.0
dashdash | 1.14.1 | MIT
date-arithmetic | 3.1.0 | MIT
date-fns | 2.16.1 | MIT
date-format | 2.1.0 | MIT
date-format | 3.0.0 | MIT
debug | 2.6.9 | MIT
debug | 3.1.0 | MIT
debug | 3.2.6 | MIT
debug | 4.1.1 | MIT
debug | 4.3.1 | MIT
debug | 4.3.2 | MIT
decamelize | 1.2.0 | MIT
decode-uri-component | 0.2.0 | MIT
deep-equal | 1.1.1 | MIT
deep-extend | 0.6.0 | MIT
deep-is | 0.1.3 | MIT
define-properties | 1.1.3 | MIT
delayed-stream | 1.0.0 | MIT
delegates | 1.0.0 | MIT
depd | 1.1.2 | MIT
destroy | 1.0.4 | MIT
detect-libc | 1.0.3 | Apache-2.0
dfa | 1.2.0 | MIT
diff-sequences | 27.0.6 | MIT
direct-styled | 1.0.1 | MIT
dns-equal | 1.0.0 | MIT
dns-packet | 1.3.4 | MIT
dns-txt | 2.0.2 | MIT
dom-accessibility-api | 0.5.8 | MIT
dom-helpers | 3.4.0 | MIT
dom-helpers | 5.2.1 | MIT
DotNetCore.NPOI | 1.2.1 | Apache-2.0
dottie | 2.0.2 | MIT
duplexer2 | 0.1.4 | BSD 3-clause
ecc-jsbn | 0.1.2 | MIT
ecdsa-sig-formatter | 1.0.11 | Apache-2.0
ee-first | 1.1.1 | MIT
electron-to-chromium | 1.3.861 | ISC
electron-to-chromium | 1.3.864 | ISC
emoji-regex | 7.0.3 | MIT
encodeurl | 1.0.2 | MIT
engine.io | 3.4.0 | MIT
engine.io-client | 3.4.0 | MIT
engine.io-client | 3.4.4 | MIT
engine.io-parser | 2.2.0 | MIT
engine.io-parser | 2.2.1 | MIT
Erlang OTP | 24.0 | Apache-2.0
error-ex | 1.3.2 | MIT
es5-ext | 0.10.53 | ISC
es6-iterator | 2.0.3 | MIT
es6-map | 0.1.5 | MIT
es6-set | 0.1.5 | MIT
es6-symbol | 3.1.1 | MIT
es6-symbol | 3.1.3 | ISC
es-abstract | 1.17.4 | MIT
es-abstract | 1.18.0-next.1 | MIT
es-abstract | 1.19.1 | MIT
escalade | 3.1.1 | MIT
escape-html | 1.0.3 | MIT
escape-string-regexp | 1.0.5 | MIT
escodegen | 1.14.1 | BSD 2-clause
escodegen | 1.14.3 | BSD 2-clause
escodegen | 1.2.0 | BSD 2-clause
esprima | 1.0.4 | BSD 2-clause
esprima | 1.2.2 | BSD 2-clause
esprima | 4.0.1 | BSD 2-clause
es-to-primitive | 1.2.1 | MIT
estraverse | 1.5.1 | BSD 2-clause
estraverse | 4.3.0 | BSD 2-clause
estree-is-function | 1.0.0 | Apache-2.0
esutils | 1.0.0 | BSD 2-clause
esutils | 2.0.3 | BSD 2-clause
etag | 1.8.1 | MIT
event-emitter | 0.3.5 | MIT
eventemitter3 | 3.1.2 | MIT
express | 4.17.1 | MIT
ext | 1.6.0 | ISC
extend | 3.0.2 | MIT
extsprintf | 1.3.0 | MIT
fast-deep-equal | 3.1.1 | MIT
fast-json-stable-stringify | 2.1.0 | MIT
fast-levenshtein | 2.0.6 | MIT
filesize | 6.1.0 | BSD 3-clause
filesize | 8.0.3 | BSD 3-clause
finalhandler | 1.1.2 | MIT
find-up | 1.1.2 | MIT
find-up | 3.0.0 | MIT
flatted | 2.0.1 | ISC
Fleck | 1.1.0 | MIT
Flurl | 3.0.2 | MIT
Flurl.Http | 3.2.0 | MIT
follow-redirects | 1.14.4 | MIT
follow-redirects | 1.5.10 | MIT
forever-agent | 0.6.1 | Apache-2.0
form-data | 2.3.3 | MIT
forwarded | 0.1.2 | MIT
fresh | 0.5.2 | MIT
fs.realpath | 1.0.0 | ISC
fs-extra | 8.1.0 | MIT
fs-minipass | 1.2.7 | ISC
fstream | 1.0.12 | ISC
function-bind | 1.1.1 | MIT
gauge | 2.7.4 | ISC
gaze | 1.1.3 | MIT
gensync | 1.0.0-beta.2 | MIT
get-assigned-identifiers | 1.2.0 | Apache-2.0
get-caller-file | 2.0.5 | ISC
get-intrinsic | 1.1.1 | MIT
getpass | 0.1.7 | MIT
get-stdin | 4.0.1 | MIT
get-symbol-description | 1.0.0 | MIT
glob | 7.1.6 | ISC
globals | 11.12.0 | MIT
globule | 1.3.2 | MIT
graceful-fs | 4.2.3 | ISC
gud | 1.0.0 | MIT
har-schema | 2.0.0 | ISC
har-validator | 5.1.3 | MIT
has | 1.0.3 | MIT
has-ansi | 2.0.0 | MIT
has-bigints | 1.0.1 | MIT
has-binary2 | 1.0.3 | MIT
has-cors | 1.1.0 | MIT
has-flag | 3.0.0 | MIT
has-flag | 4.0.0 | MIT
has-symbols | 1.0.1 | MIT
has-symbols | 1.0.2 | MIT
has-tostringtag | 1.0.0 | MIT
has-unicode | 2.0.1 | ISC
history | 4.10.1 | MIT
hoist-non-react-statics | 3.3.2 | BSD 3-clause
hosted-git-info | 2.8.8 | ISC
html-parse-stringify | 3.0.1 | MIT
html-parse-stringify2 | 2.0.1 | MIT
http-errors | 1.4.0 | MIT
http-errors | 1.7.2 | MIT
http-signature | 1.2.0 | MIT
i18next | 19.8.3 | MIT
i18next | 19.9.2 | MIT
i18next-browser-languagedetector | 4.3.1 | MIT
i18next-browser-languagedetector | 6.1.2 | MIT
iconv-lite | 0.4.24 | MIT
iconv-lite | 0.6.3 | MIT
ignore-walk | 3.0.3 | ISC
indent-string | 2.1.0 | MIT
indent-string | 4.0.0 | MIT
indexof | 0.0.1 | MIT
inflection | 1.12.0 | MIT
inflight | 1.0.6 | ISC
inherits | 2.0.1 | ISC
inherits | 2.0.3 | ISC
inherits | 2.0.4 | ISC
ini | 1.3.5 | ISC
Inno Setup | 6.0 | Inno Setup License
in-publish | 2.0.1 | ISC
internal-slot | 1.0.3 | MIT
invariant | 2.2.4 | MIT
ip | 1.1.5 | MIT
ipaddr.js | 1.9.1 | MIT
is-arguments | 1.0.4 | MIT
is-arguments | 1.1.0 | MIT
is-arguments | 1.1.1 | MIT
isarray | 0.0.1 | MIT
isarray | 1.0.0 | MIT
isarray | 2.0.1 | MIT
is-arrayish | 0.2.1 | MIT
is-bigint | 1.0.1 | MIT
is-bluebird | 1.0.2 | MIT
is-boolean-object | 1.1.0 | MIT
is-callable | 1.1.5 | MIT
is-callable | 1.2.2 | MIT
is-callable | 1.2.4 | MIT
is-core-module | 2.8.0 | MIT
is-date-object | 1.0.2 | MIT
is-date-object | 1.0.5 | MIT
isexe | 2.0.0 | ISC
is-finite | 1.1.0 | MIT
is-fullwidth-code-point | 1.0.0 | MIT
is-fullwidth-code-point | 2.0.0 | MIT
is-negative-zero | 2.0.0 | MIT
is-negative-zero | 2.0.1 | MIT
is-number-object | 1.0.4 | MIT
is-regex | 1.0.5 | MIT
is-regex | 1.1.1 | MIT
is-regex | 1.1.4 | MIT
is-shared-array-buffer | 1.0.1 | MIT
isstream | 0.1.2 | MIT
is-string | 1.0.7 | MIT
is-symbol | 1.0.3 | MIT
is-typedarray | 1.0.0 | MIT
is-utf8 | 0.2.1 | MIT
is-weakref | 1.0.1 | MIT
jest-diff | 27.2.5 | MIT
jest-get-type | 27.0.6 | MIT
js-base64 | 2.6.4 | BSD 3-clause
jsbn | 0.1.1 | MIT
jsesc | 2.5.2 | MIT
js-file-download | 0.4.12 | MIT
json5 | 2.2.0 | MIT
jsonfile | 4.0.0 | MIT
jsonpath | 1.0.2 | MIT
jsonpath | 1.1.1 | MIT
json-schema | 0.2.3 | AFL-2.1 or BSD 3-clause
json-schema-traverse | 0.4.1 | MIT
json-stringify-safe | 5.0.1 | ISC
jsonwebtoken | 8.5.1 | MIT
jsprim | 1.4.1 | MIT
js-tokens | 4.0.0 | MIT
jwa | 1.4.1 | MIT
jws | 3.2.2 | MIT
jwt-decode | 3.1.2 | MIT
keycloak | 14.0.0 | Apache-2.0
levn | 0.3.0 | MIT
loadjs | 4.2.0 | MIT
load-json-file | 1.1.0 | MIT
locate-path | 3.0.0 | MIT
lodash | 4.17.15 | MIT
lodash | 4.17.20 | MIT
lodash | 4.17.21 | MIT
lodash.get | 4.4.2 | MIT
lodash.groupby | 4.6.0 | MIT
lodash.includes | 4.3.0 | MIT
lodash.isboolean | 3.0.3 | MIT
lodash.isinteger | 4.0.4 | MIT
lodash.isnumber | 3.0.3 | MIT
lodash.isplainobject | 4.0.6 | MIT
lodash.isstring | 4.0.1 | MIT
lodash.keyby | 4.6.0 | MIT
lodash.merge | 4.6.2 | MIT
lodash.once | 4.1.1 | MIT
lodash.set | 4.3.2 | MIT
lodash.sum | 4.0.2 | MIT
log4js | 6.1.2 | Apache-2.0
loose-envify | 1.4.0 | MIT
loud-rejection | 1.6.0 | MIT
lru-cache | 4.1.5 | ISC
lz-string | 1.4.4 | WTFPL
magic-string | 0.25.1 | MIT
map-obj | 1.0.1 | MIT
media-typer | 0.3.0 | MIT
memoize-one | 5.2.1 | MIT
meow | 3.7.0 | MIT
merge-descriptors | 1.0.1 | MIT
merge-source-map | 1.0.4 | MIT
methods | 1.1.2 | MIT
Microsoft.Extensions.Logging.Abstractions | 5.0.0 | MIT
mime | 1.6.0 | MIT
mime-db | 1.43.0 | MIT
mime-types | 2.1.26 | MIT
mini-create-react-context | 0.4.1 | MIT
minimatch | 3.0.4 | ISC
minimist | 0.0.8 | MIT
minimist | 1.2.0 | MIT
minimist | 1.2.5 | MIT
min-indent | 1.0.1 | MIT
minipass | 2.9.0 | ISC
minizlib | 1.3.3 | MIT
mkdirp | 0.5.1 | MIT
moment | 2.24.0 | MIT
moment | 2.29.1 | MIT
moment-duration-format | 2.3.2 | MIT
moment-timezone | 0.5.28 | MIT
ms | 2.0.0 | MIT
ms | 2.1.1 | MIT
ms | 2.1.2 | MIT
multicast-dns | 6.2.3 | MIT
multicast-dns-service-types | 1.1.0 | MIT
nan | 2.14.0 | MIT
needle | 2.3.3 | MIT
negotiator | 0.6.2 | MIT
Newtonsoft.Json | 12.0.1 | MIT
Newtonsoft.Json | 12.0.2 | MIT
next-tick | 1.0.0 | MIT
NLog.Extensions.Logging | 1.4.0 | BSD 2-clause
NLog.WindowsEventLog | 4.5.11 | BSD 3-clause
NModbus | 3.0.62 | MIT
node-gyp | 3.8.0 | MIT
node-pre-gyp | 0.11.0 | BSD 3-clause
node-releases | 1.1.77 | MIT
node-sass | 4.14.1 | MIT
nopt | 3.0.6 | ISC
nopt | 4.0.1 | ISC
normalize-package-data | 2.5.0 | BSD 2-clause
npm-bundled | 1.1.1 | ISC
npmlog | 4.1.2 | ISC
npm-normalize-package-bin | 1.0.1 | ISC
npm-packlist | 1.4.8 | ISC
NSSM | 2.24 | Public Domain
number-is-nan | 1.0.1 | MIT
oauth-sign | 0.9.0 | Apache-2.0
object.assign | 4.1.0 | MIT
object.assign | 4.1.1 | MIT
object.assign | 4.1.2 | MIT
object-assign | 4.1.1 | MIT
object-component | 0.0.3 | MIT
object-inspect | 1.11.0 | MIT
object-inspect | 1.7.0 | MIT
object-inspect | 1.8.0 | MIT
object-is | 1.1.3 | MIT
object-is | 1.1.5 | MIT
object-keys | 1.1.1 | MIT
once | 1.4.0 | ISC
on-finished | 2.3.0 | MIT
on-headers | 1.0.2 | MIT
OpenJDK | 16.0.1 | GPL-2.0 with Classpath Exception
optionator | 0.8.3 | MIT
osenv | 0.1.5 | ISC
os-homedir | 1.0.2 | MIT
os-tmpdir | 1.0.2 | MIT
pako | 0.2.9 | MIT
parse-json | 2.2.0 | MIT
parseqs | 0.0.5 | MIT
parseqs | 0.0.6 | MIT
parseuri | 0.0.5 | MIT
parseuri | 0.0.6 | MIT
parseurl | 1.3.3 | MIT
path-exists | 2.1.0 | MIT
path-exists | 3.0.0 | MIT
path-is-absolute | 1.0.1 | MIT
path-match | 1.2.4 | MIT
path-parse | 1.0.6 | MIT
path-parse | 1.0.7 | MIT
path-to-regexp | 0.1.7 | MIT
path-to-regexp | 1.8.0 | MIT
path-type | 1.1.0 | MIT
pdfmake | 0.2.4 | MIT
pdfmake-support-chinese-fonts | 1.0.3 | MIT
performance-now | 2.1.0 | MIT
picocolors | 0.2.1 | ISC
pify | 2.3.0 | MIT
pinkie | 2.0.4 | MIT
pinkie-promise | 2.0.1 | MIT
p-limit | 2.2.2 | MIT
p-locate | 3.0.0 | MIT
png-js | 1.0.0 | MIT
popper.js | 1.16.1 | MIT
prelude-ls | 1.1.2 | MIT
pretty-format | 26.6.2 | MIT
pretty-format | 27.2.5 | MIT
process-nextick-args | 2.0.1 | MIT
prop-types | 15.7.2 | MIT
prop-types-extra | 1.1.1 | MIT
proxy-addr | 2.0.6 | MIT
pseudomap | 1.0.2 | ISC
psl | 1.7.0 | MIT
p-try | 2.2.0 | MIT
punycode | 2.1.1 | MIT
qs | 6.10.1 | BSD 3-clause
qs | 6.5.2 | BSD 3-clause
qs | 6.7.0 | BSD 3-clause
qs | 6.9.4 | BSD 3-clause
querystringify | 2.1.1 | MIT
quote-stream | 1.0.2 | MIT
RabbitMQ | 3.8.16 | MPL-2.0
RabbitMQ.Client | 6.2.2 | Apache-2.0 or MPL-2.0
range-parser | 1.2.1 | MIT
raw-body | 2.4.0 | MIT
rc | 1.2.8 | BSD 2-clause or MIT or Apache-2.0
react | 16.14.0 | MIT
react | 17.0.2 | MIT
react-component-managers | 3.2.2 | MIT
react-contextmenu | 2.14.0 | MIT
react-datepicker | 2.16.0 | MIT
react-dom | 16.14.0 | MIT
react-dom | 17.0.2 | MIT
react-i18next | 11.12.0 | MIT
react-i18next | 11.7.3 | MIT
react-icon-base | 2.1.0 | MIT
react-icons | 2.2.7 | MIT
react-icons | 3.11.0 | MIT
react-icons | 4.2.0 | MIT
react-icons | 4.3.1 | MIT
react-input-autosize | 3.0.0 | MIT
react-is | 16.13.0 | MIT
react-is | 16.13.1 | MIT
react-is | 17.0.2 | MIT
react-lifecycles-compat | 3.0.4 | MIT
react-loadable | 5.5.0 | MIT
react-onclickoutside | 6.9.0 | MIT
react-popper | 1.3.11 | MIT
react-popper | 1.3.7 | MIT
react-redux | 7.2.1 | MIT
react-redux-toastr | 7.6.5 | MIT
react-router | 5.2.0 | MIT
react-router | 5.2.1 | MIT
react-router-dom | 5.2.0 | MIT
react-router-dom | 5.3.0 | MIT
react-select | 4.3.1 | MIT
react-select | 5.0.0 | MIT
reactstrap | 8.10.0 | MIT
reactstrap | 8.6.0 | MIT
react-table | 6.11.4 | MIT
react-table | 7.7.0 | MIT
react-transition-group | 2.9.0 | BSD 3-clause
react-transition-group | 4.4.2 | BSD 3-clause
react-widgets | 4.6.1 | MIT
readable-stream | 1.1.14 | MIT
readable-stream | 2.3.7 | MIT
read-pkg | 1.1.0 | MIT
read-pkg-up | 1.0.1 | MIT
redent | 1.0.0 | MIT
redent | 3.0.0 | MIT
redux | 4.0.5 | MIT
redux-thunk | 2.3.0 | MIT
reflect-metadata | 0.1.13 | Apache-2.0
regenerator-runtime | 0.13.4 | MIT
regenerator-runtime | 0.13.7 | MIT
regenerator-runtime | 0.13.9 | MIT
regexp.prototype.flags | 1.3.0 | MIT
regexp.prototype.flags | 1.3.1 | MIT
repeating | 2.0.1 | MIT
request | 2.88.2 | Apache-2.0
require-directory | 2.1.1 | MIT
require-main-filename | 2.0.0 | ISC
requires-port | 1.0.0 | MIT
resolve | 1.1.7 | MIT
resolve | 1.15.1 | MIT
resolve | 1.20.0 | MIT
resolve-pathname | 3.0.0 | MIT
retry-as-promised | 3.2.0 | MIT
rfdc | 1.1.4 | MIT
rimraf | 2.7.1 | ISC
rxjs | 7.4.0 | Apache-2.0
safe-buffer | 5.1.2 | MIT
safer-buffer | 2.1.2 | MIT
sass-graph | 2.2.5 | MIT
sax | 1.2.4 | ISC
scheduler | 0.19.1 | MIT
scheduler | 0.20.2 | MIT
scope-analyzer | 2.1.2 | Apache-2.0
scss-tokenizer | 0.2.3 | MIT
semver | 5.3.0 | ISC
semver | 5.7.1 | ISC
semver | 6.3.0 | ISC
send | 0.17.1 | MIT
sequelize | 5.21.5 | MIT
sequelize-pool | 2.3.0 | MIT
serve-static | 1.14.1 | MIT
set-blocking | 2.0.0 | ISC
setprototypeof | 1.1.1 | ISC
shallow-copy | 0.0.1 | MIT
shallow-equal-object | 1.1.1 | MIT
SharpZipLib | 1.0.0 | MIT
shimmer | 1.2.1 | BSD 2-clause
side-channel | 1.0.4 | MIT
signal-exit | 3.0.2 | ISC
socket.io | 2.3.0 | MIT
socket.io-adapter | 1.1.2 | MIT
socket.io-client | 2.3.0 | MIT
socket.io-client | 2.3.1 | MIT
socket.io-parser | 3.3.0 | MIT
socket.io-parser | 3.3.1 | MIT
socket.io-parser | 3.4.0 | MIT
source-map | 0.1.43 | BSD 3-clause
source-map | 0.4.4 | BSD 3-clause
source-map | 0.5.7 | BSD 3-clause
source-map | 0.6.1 | BSD 3-clause
sourcemap-codec | 1.4.8 | MIT
source-map-resolve | 0.6.0 | MIT
spdx-correct | 3.1.1 | Apache-2.0
spdx-exceptions | 2.3.0 | CC-BY-3.0
spdx-expression-parse | 3.0.1 | MIT
spdx-license-ids | 3.0.6 | CC0-1.0
spy-on-component | 1.1.3 | MIT
sqlite3 | 4.1.1 | BSD 3-clause
sshpk | 1.16.1 | MIT
static-eval | 2.0.2 | MIT
static-eval | 2.1.0 | MIT
static-module | 3.0.4 | MIT
statuses | 1.5.0 | MIT
stdout-stream | 1.4.1 | MIT
streamroller | 2.2.3 | MIT
string.prototype.replaceall | 1.0.5 | MIT
string.prototype.trimend | 1.0.2 | MIT
string.prototype.trimend | 1.0.4 | MIT
string.prototype.trimleft | 2.1.1 | MIT
string.prototype.trimright | 2.1.1 | MIT
string.prototype.trimstart | 1.0.2 | MIT
string.prototype.trimstart | 1.0.4 | MIT
string_decoder | 0.10.31 | MIT
string_decoder | 1.1.1 | MIT
string-width | 1.0.2 | MIT
string-width | 2.1.1 | MIT
string-width | 3.1.0 | MIT
strip-ansi | 3.0.1 | MIT
strip-ansi | 4.0.0 | MIT
strip-ansi | 5.2.0 | MIT
strip-bom | 2.0.0 | MIT
strip-indent | 1.0.1 | MIT
strip-indent | 3.0.0 | MIT
strip-json-comments | 2.0.1 | MIT
stylis | 4.0.10 | MIT
supports-color | 2.0.0 | MIT
supports-color | 5.5.0 | MIT
supports-color | 7.2.0 | MIT
Swashbuckle.AspNetCore | 6.2.1 | MIT
Swashbuckle.AspNetCore.Annotations | 6.2.1 | MIT
symbol-observable | 1.2.0 | MIT
System.Collections.Immutable | 5.0.0 | MIT
System.Data.SQLite.Core | 1.0.109.2 | Public Domain
System.Data.SQLite.Core | 1.0.112.0 | Public Domain
System.Data.SQLite.Core | 1.0.115.0 | Public Domain
tar | 2.2.2 | ISC
tar | 4.4.13 | ISC
through | 2.3.8 | MIT
through2 | 2.0.5 | MIT
thunky | 1.1.0 | MIT
tiny-inflate | 1.0.3 | MIT
tiny-invariant | 1.1.0 | MIT
tiny-warning | 1.0.3 | MIT
to-array | 0.1.4 | MIT
to-fast-properties | 2.0.0 | MIT
toidentifier | 1.0.0 | MIT
toposort-class | 1.0.1 | MIT
tough-cookie | 2.5.0 | BSD 3-clause
trim-newlines | 1.0.0 | MIT
true-case-path | 1.0.3 | Apache-2.0
tslib | 2.1.0 | 0BSD
tslib | 2.3.1 | 0BSD
tunnel-agent | 0.6.0 | Apache-2.0
tweetnacl | 0.14.5 | Unlicense
type | 1.2.0 | ISC
type | 2.5.0 | ISC
type-check | 0.3.2 | MIT
typedarray | 0.0.6 | MIT
typed-styles | 0.0.7 | MIT
type-is | 1.6.18 | MIT
unbox-primitive | 1.0.1 | MIT
uncontrollable | 7.1.1 | MIT
underscore | 1.12.1 | MIT
underscore | 1.7.0 | MIT
unicode-properties | 1.3.1 | MIT
unicode-trie | 2.0.0 | MIT
universalify | 0.1.2 | MIT
unpipe | 1.0.0 | MIT
uri-js | 4.2.2 | BSD 2-clause
url-parse | 1.4.7 | MIT
util-deprecate | 1.0.2 | MIT
utility-types | 3.10.0 | MIT
utils-merge | 1.0.1 | MIT
uuid | 3.4.0 | MIT
uuid | 7.0.2 | MIT
uuid | 8.3.2 | MIT
validate-npm-package-license | 3.0.4 | Apache-2.0
validator | 10.11.0 | MIT
value-equal | 1.0.1 | MIT
vary | 1.1.2 | MIT
verror | 1.10.0 | MIT
void-elements | 2.0.1 | MIT
void-elements | 3.1.0 | MIT
warning | 3.0.0 | BSD 3-clause
warning | 4.0.3 | MIT
which | 1.3.1 | ISC
which-boxed-primitive | 1.0.2 | MIT
which-module | 2.0.0 | ISC
wide-align | 1.1.3 | ISC
wkx | 0.4.8 | MIT
word-wrap | 1.2.3 | MIT
wrap-ansi | 5.1.0 | MIT
wrappy | 1.0.2 | ISC
ws | 6.1.4 | MIT
ws | 7.2.1 | MIT
xmldoc | 1.1.2 | MIT
xmlhttprequest-ssl | 1.5.5 | MIT
xtend | 4.0.2 | MIT
y18n | 4.0.0 | ISC
yallist | 2.1.2 | ISC
yallist | 3.1.1 | ISC
yargs | 13.3.2 | MIT
yargs-parser | 13.1.2 | ISC
yeast | 0.1.2 | MIT

# Academic Free License v.2.1

This Academic Free License (the "License") applies to any original work of authorship (the "Original Work") whose owner (the "Licensor") has placed the following notice immediately following the copyright notice for the Original Work:

Licensed under the Academic Free License version 2.1

1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license to do the following:

a) to reproduce the Original Work in copies;

b) to prepare derivative works ("Derivative Works") based upon the Original Work;

c) to distribute copies of the Original Work and Derivative Works to the public;

d) to perform the Original Work publicly; and

e) to display the Original Work publicly.

2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, non-exclusive, perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the Original Work and Derivative Works.

3) Grant of Source Code License. The term "Source Code" means the preferred form of the Original Work for making modifications to it and all available documentation describing how to modify the Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the Original Work along with each copy of the Original Work that Licensor distributes. Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of the Source Code in an information repository reasonably calculated to permit inexpensive and convenient access by You for as long as Licensor continues to distribute the Original Work, and by publishing the address of that information repository in a notice immediately following the copyright notice that applies to the Original Work.

4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any contributors to the Original Work, nor any of their trademarks or service marks, may be used to endorse or promote products derived from this Original Work without express prior written permission of the Licensor. Nothing in this License shall be deemed to grant any rights to trademarks, copyrights, patents, trade secrets or any other intellectual property of Licensor except as expressly stated herein. No patent license is granted to make, use, sell or offer to sell embodiments of any patent claims other than the licensed claims defined in Section 2. No right is granted to the trademarks of Licensor even if such marks are included in the Original Work. Nothing in this License shall be interpreted to prohibit Licensor from licensing under different terms from this License any Original Work that Licensor otherwise would have a right to license.

5) This section intentionally omitted.

6) Attribution Rights. You must retain, in the Source Code of any Derivative Works that You create, all copyright, patent or trademark notices from the Source Code of the Original Work, as well as any notices of licensing and any descriptive text identified therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works that You create to carry a prominent Attribution Notice reasonably calculated to inform recipients that You have modified the Original Work.

7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright in and to the Original Work and the patent rights granted herein by Licensor are owned by the Licensor or are sublicensed to You under the terms of this License with the permission of the contributor(s) of those copyrights and patent rights. Except as expressly stated in the immediately proceeding sentence, the Original Work is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No license to Original Work is granted hereunder except under this disclaimer.

8) Limitation of Liability. Under no circumstances and under no legal theory, whether in tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or the use of the Original Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses. This limitation of liability shall not apply to liability for death or personal injury resulting from Licensor's negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You.

9) Acceptance and Termination. If You distribute copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License. Nothing else but this License (or another written agreement between Licensor and You) grants You permission to create Derivative Works based upon the Original Work or to exercise any of the rights granted in Section 1 herein, and any attempt to do so except under the terms of this License (or another written agreement between Licensor and You) is expressly prohibited by U.S. copyright law, the equivalent laws of other countries, and by international treaty. Therefore, by exercising any of the rights granted to You in Section 1 herein, You indicate Your acceptance of this License and all of its terms and conditions.

10) Termination for Patent Action. This License shall terminate automatically and You may no longer exercise any of the rights granted to You by this License as of the date You commence an action, including a cross-claim or counterclaim, against Licensor or any licensee alleging that the Original Work infringes a patent. This termination provision shall not apply for an action alleging patent infringement by combinations of the Original Work with other software or hardware.

11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License may be brought only in the courts of a jurisdiction wherein the Licensor resides or in which Licensor conducts its primary business, and under the laws of that jurisdiction excluding its conflict-of-law provisions. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any use of the Original Work outside the scope of this License or after its termination shall be subject to the requirements and penalties of the U.S. Copyright Act, 17 U.S.C. § 101 et seq., the equivalent laws of other countries, and international treaty. This section shall survive the termination of this License.

12) Attorneys Fees. In any action to enforce the terms of this License or seeking damages relating thereto, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. This section shall survive the termination of this License.

13) Miscellaneous. This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.

14) Definition of "You" in This License. "You" throughout this License, whether in upper or lower case, means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with you. For purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

15) Right to Use. You may use the Original Work in all ways not otherwise restricted or conditioned by this License or by law, and Licensor promises not to interfere with or be responsible for such uses by You.

This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved.

Permission is hereby granted to copy and distribute this license without modification. This license may not be modified without the express written permission of its copyright owner.

# Apache License, Version 2.0

Apache License

Version 2.0, January 2004

http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

a. You must give any other recipients of the Work or Derivative Works a copy of this License; and

b. You must cause any modified files to carry prominent notices stating that You changed the files; and

c. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

d. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

HOW TO APPLY THE APACHE LICENSE TO YOUR WORK

Include a copy of the Apache License, typically in a file called LICENSE, in your work, and consider also including a NOTICE file that references the License.

To apply the Apache License to specific files in your work, attach the following boilerplate declaration, replacing the fields enclosed by brackets "[]" with your own identifying information. (Don't include the brackets!) Enclose the text in the appropriate comment syntax for the file format. We also recommend that you include a file or class name and description of purpose on the same "printed page" as the copyright notice for easier identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");

you may not use this file except in compliance with the License.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an "AS IS" BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitations under the License.

# Zero-Clause BSD (0BSD) license

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

# BSD 2-clause "Simplified" license

Copyright <YEAR> <COPYRIGHT HOLDER>

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# BSD 3-clause "Modified" license

Copyright <YEAR> <COPYRIGHT HOLDER>

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# BSD 4-clause "Original" license

Copyright (c) <year> <owner>. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. All advertising materials mentioning features or use of this software must display the following acknowledgement:

This product includes software developed by the organization.

4. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY COPYRIGHT HOLDER "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# Creative Commons CC0 1.0 Universal

CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER.

Statement of Purpose

The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work").

Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.

For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.

1. Copyright and Related Rights.
A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following:

i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;

ii. moral rights retained by the original author(s) and/or performer(s);

iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work;

iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;

v. rights protecting the extraction, dissemination, use and reuse of data in a Work;

vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and

vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.

2. Waiver.
To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose.

3. Public License Fallback.
Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose.

4. Limitations and Disclaimers.

a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.

b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.

c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.

d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.

# Creative Commons Attribution-ShareAlike 2.0

CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.

License

THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.

BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.

1. Definitions

a. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.

b. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.

c. "Licensor" means the individual or entity that offers the Work under the terms of this License.

d. "Original Author" means the individual or entity who created the Work.

e. "Work" means the copyrightable work of authorship offered under the terms of this License.

f. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.

g."License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike.

2. Fair Use Rights.

Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.

3. License Grant.

Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:

a. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;

b. to create and reproduce Derivative Works;

c. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;

d. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works.

e.For the avoidance of doubt, where the work is a musical composition:

i.Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work.

ii.Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights society or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions).

f.Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions).

The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.

4. Restrictions.

The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:

a. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any reference to such Licensor or the Original Author, as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any reference to such Licensor or the Original Author, as requested.

b. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, a later version of this License with the same License Elements as this License, or a Creative Commons iCommons license that contains the same License Elements as this License (e.g. Attribution-ShareAlike 2.0 Japan). You must include a copy of, or the Uniform Resource Identifier for, this License or other license specified in the previous sentence with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License.

c. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and give the Original Author credit reasonable to the medium or means You are utilizing by conveying the name (or pseudonym if applicable) of the Original Author if supplied; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.

5. Representations, Warranties and Disclaimer

UNLESS OTHERWISE AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.

6. Limitation on Liability.

EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. Termination

a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.

b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.

8. Miscellaneous

a. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.

b. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.

c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.

d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.

e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.

Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.

Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.

Creative Commons may be contacted at https://creativecommons.org/.

# Creative Commons Attribution-ShareAlike 3.0 Unported License

CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.

License

THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.

BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.

1. Definitions

a."Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.

b."Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined below) for the purposes of this License.

c."Creative Commons Compatible License" means a license that is listed at https://creativecommons.org/compatiblelicenses that has been approved by Creative Commons as being essentially equivalent to this License, including, at a minimum, because that license: (i) contains terms that have the same purpose, meaning and effect as the License Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of works made available under that license under this License or a Creative Commons jurisdiction license with the same License Elements as this License.

d."Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.

e."License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike.

f."Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.

g."Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.

h."Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.

i."You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.

j."Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.

k."Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.

2. Fair Dealing Rights.

Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.

3. License Grant.

Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:

a.to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;

b.to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";

c.to Distribute and Publicly Perform the Work including as incorporated in Collections; and,

d.to Distribute and Publicly Perform Adaptations.

e.For the avoidance of doubt:

i.Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;

ii.Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and,

iii.Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License.

The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved.

4. Restrictions.

The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:

a.You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested.

b.You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible License. If you license the Adaptation under one of the licenses mentioned in (iv), you must comply with the terms of that license. If you license the Adaptation under the terms of any of the licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), you must comply with the terms of the Applicable License generally and the following provisions: (I) You must include a copy of, or the URI for, the Applicable License with every copy of each Adaptation You Distribute or Publicly Perform; (II) You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License; (III) You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License.

c.If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Ssection 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.

d.Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.

5. Representations, Warranties and Disclaimer

UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.

6. Limitation on Liability.

EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. Termination

a.This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.

b.Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.

8. Miscellaneous

a.Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.

b.Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.

c.If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.

d.No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.

e.This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.

f.The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.

Creative Commons Notice

Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.

Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of the License.

Creative Commons may be contacted at https://creativecommons.org/.

# Creative Commons Attribution 4.0 International Public License

By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.

## Section 1 – Definitions.

a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.

b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.

c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.

d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.

e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.

f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.

g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.

h. Licensor means the individual(s) or entity(ies) granting rights under this Public License.

i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.

j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.

k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.

## Section 2 – Scope.

a. License grant.

1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:

A. reproduce and Share the Licensed Material, in whole or in part; and

B. produce, reproduce, and Share Adapted Material.

2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.

3. Term. The term of this Public License is specified in Section 6(a).

4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.

5. Downstream recipients.

A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.

B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.

6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).

b. Other rights.

1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.

2. Patent and trademark rights are not licensed under this Public License.

3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties.

## Section 3 – License Conditions.

Your exercise of the Licensed Rights is expressly made subject to the following conditions.

a. Attribution.

1. If You Share the Licensed Material (including in modified form), You must:

A. retain the following if it is supplied by the Licensor with the Licensed Material:

i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);

ii. a copyright notice;

iii. a notice that refers to this Public License;

iv. a notice that refers to the disclaimer of warranties;

v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;

B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and

C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.

2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.

3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.

4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License.

## Section 4 – Sui Generis Database Rights.

Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:

a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database;

b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and

c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.

For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.

## Section 5 – Disclaimer of Warranties and Limitation of Liability.

a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.

b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.

c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.

## Section 6 – Term and Termination.

a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.

b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:

1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or

2. upon express reinstatement by the Licensor.

For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.

c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.

d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.

## Section 7 – Other Terms and Conditions.

a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.

b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.

## Section 8 – Interpretation.

a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.

b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.

c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.

d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.

Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” The text of the Creative Commons public licenses is dedicated to the public domain under the CC0 Public Domain Dedication. Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.

Creative Commons may be contacted at creativecommons.org.

# GNU General Public License, GPL V2

GNU GENERAL PUBLIC LICENSE

Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc.

51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Everyone is permitted to copy and distribute verbatim copies

of this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your

freedom to share and change it. By contrast, the GNU General Public

License is intended to guarantee your freedom to share and change free

software--to make sure the software is free for all its users. This

General Public License applies to most of the Free Software

Foundation's software and to any other program whose authors commit to

using it. (Some other Free Software Foundation software is covered by

the GNU Library General Public License instead.) You can apply it to

your programs, too.

When we speak of free software, we are referring to freedom, not

price. Our General Public Licenses are designed to make sure that you

have the freedom to distribute copies of free software (and charge for

this service if you wish), that you receive source code or can get it

if you want it, that you can change the software or use pieces of it

in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid

anyone to deny you these rights or to ask you to surrender the rights.

These restrictions translate to certain responsibilities for you if you

distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether

gratis or for a fee, you must give the recipients all the rights that

you have. You must make sure that they, too, receive or can get the

source code. And you must show them these terms so they know their

rights.

We protect your rights with two steps: (1) copyright the software, and

(2) offer you this license which gives you legal permission to copy,

distribute and/or modify the software.

Also, for each author's protection and ours, we want to make certain

that everyone understands that there is no warranty for this free

software. If the software is modified by someone else and passed on, we

want its recipients to know that what they have is not the original, so

that any problems introduced by others will not reflect on the original

authors' reputations.

Finally, any free program is threatened constantly by software

patents. We wish to avoid the danger that redistributors of a free

program will individually obtain patent licenses, in effect making the

program proprietary. To prevent this, we have made it clear that any

patent must be licensed for everyone's free use or not licensed at all.

The precise terms and conditions for copying, distribution and

modification follow.

GNU GENERAL PUBLIC LICENSE

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. This License applies to any program or other work which contains

a notice placed by the copyright holder saying it may be distributed

under the terms of this General Public License. The "Program", below,

refers to any such program or work, and a "work based on the Program"

means either the Program or any derivative work under copyright law:

that is to say, a work containing the Program or a portion of it,

either verbatim or with modifications and/or translated into another

language. (Hereinafter, translation is included without limitation in

the term "modification".) Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not

covered by this License; they are outside its scope. The act of

running the Program is not restricted, and the output from the Program

is covered only if its contents constitute a work based on the

Program (independent of having been made by running the Program).

Whether that is true depends on what the Program does.

1. You may copy and distribute verbatim copies of the Program's

source code as you receive it, in any medium, provided that you

conspicuously and appropriately publish on each copy an appropriate

copyright notice and disclaimer of warranty; keep intact all the

notices that refer to this License and to the absence of any warranty;

and give any other recipients of the Program a copy of this License

along with the Program.

You may charge a fee for the physical act of transferring a copy, and

you may at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion

of it, thus forming a work based on the Program, and copy and

distribute such modifications or work under the terms of Section 1

above, provided that you also meet all of these conditions:

a) You must cause the modified files to carry prominent notices

stating that you changed the files and the date of any change.

b) You must cause any work that you distribute or publish, that in

whole or in part contains or is derived from the Program or any

part thereof, to be licensed as a whole at no charge to all third

parties under the terms of this License.

c) If the modified program normally reads commands interactively

when run, you must cause it, when started running for such

interactive use in the most ordinary way, to print or display an

announcement including an appropriate copyright notice and a

notice that there is no warranty (or else, saying that you provide

a warranty) and that users may redistribute the program under

these conditions, and telling the user how to view a copy of this

License. (Exception: if the Program itself is interactive but

does not normally print such an announcement, your work based on

the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole. If

identifiable sections of that work are not derived from the Program,

and can be reasonably considered independent and separate works in

themselves, then this License, and its terms, do not apply to those

sections when you distribute them as separate works. But when you

distribute the same sections as part of a whole which is a work based

on the Program, the distribution of the whole must be on the terms of

this License, whose permissions for other licensees extend to the

entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest

your rights to work written entirely by you; rather, the intent is to

exercise the right to control the distribution of derivative or

collective works based on the Program.

In addition, mere aggregation of another work not based on the Program

with the Program (or with a work based on the Program) on a volume of

a storage or distribution medium does not bring the other work under

the scope of this License.

3. You may copy and distribute the Program (or a work based on it,

under Section 2) in object code or executable form under the terms of

Sections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readable

source code, which must be distributed under the terms of Sections

1 and 2 above on a medium customarily used for software interchange; or,

b) Accompany it with a written offer, valid for at least three

years, to give any third party, for a charge no more than your

cost of physically performing source distribution, a complete

machine-readable copy of the corresponding source code, to be

distributed under the terms of Sections 1 and 2 above on a medium

customarily used for software interchange; or,

c) Accompany it with the information you received as to the offer

to distribute corresponding source code. (This alternative is

allowed only for noncommercial distribution and only if you

received the program in object code or executable form with such

an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for

making modifications to it. For an executable work, complete source

code means all the source code for all modules it contains, plus any

associated interface definition files, plus the scripts used to

control compilation and installation of the executable. However, as a

special exception, the source code distributed need not include

anything that is normally distributed (in either source or binary

form) with the major components (compiler, kernel, and so on) of the

operating system on which the executable runs, unless that component

itself accompanies the executable.

If distribution of executable or object code is made by offering

access to copy from a designated place, then offering equivalent

access to copy the source code from the same place counts as

distribution of the source code, even though third parties are not

compelled to copy the source along with the object code.

4. You may not copy, modify, sublicense, or distribute the Program

except as expressly provided under this License. Any attempt

otherwise to copy, modify, sublicense or distribute the Program is

void, and will automatically terminate your rights under this License.

However, parties who have received copies, or rights, from you under

this License will not have their licenses terminated so long as such

parties remain in full compliance.

5. You are not required to accept this License, since you have not

signed it. However, nothing else grants you permission to modify or

distribute the Program or its derivative works. These actions are

prohibited by law if you do not accept this License. Therefore, by

modifying or distributing the Program (or any work based on the

Program), you indicate your acceptance of this License to do so, and

all its terms and conditions for copying, distributing or modifying

the Program or works based on it.

6. Each time you redistribute the Program (or any work based on the

Program), the recipient automatically receives a license from the

original licensor to copy, distribute or modify the Program subject to

these terms and conditions. You may not impose any further

restrictions on the recipients' exercise of the rights granted herein.

You are not responsible for enforcing compliance by third parties to

this License.

7. If, as a consequence of a court judgment or allegation of patent

infringement or for any other reason (not limited to patent issues),

conditions are imposed on you (whether by court order, agreement or

otherwise) that contradict the conditions of this License, they do not

excuse you from the conditions of this License. If you cannot

distribute so as to satisfy simultaneously your obligations under this

License and any other pertinent obligations, then as a consequence you

may not distribute the Program at all. For example, if a patent

license would not permit royalty-free redistribution of the Program by

all those who receive copies directly or indirectly through you, then

the only way you could satisfy both it and this License would be to

refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under

any particular circumstance, the balance of the section is intended to

apply and the section as a whole is intended to apply in other

circumstances.

It is not the purpose of this section to induce you to infringe any

patents or other property right claims or to contest validity of any

such claims; this section has the sole purpose of protecting the

integrity of the free software distribution system, which is

implemented by public license practices. Many people have made

generous contributions to the wide range of software distributed

through that system in reliance on consistent application of that

system; it is up to the author/donor to decide if he or she is willing

to distribute software through any other system and a licensee cannot

impose that choice.

This section is intended to make thoroughly clear what is believed to

be a consequence of the rest of this License.

8. If the distribution and/or use of the Program is restricted in

certain countries either by patents or by copyrighted interfaces, the

original copyright holder who places the Program under this License

may add an explicit geographical distribution limitation excluding

those countries, so that distribution is permitted only in or among

countries not thus excluded. In such case, this License incorporates

the limitation as if written in the body of this License.

9. The Free Software Foundation may publish revised and/or new versions

of the General Public License from time to time. Such new versions will

be similar in spirit to the present version, but may differ in detail to

address new problems or concerns.

Each version is given a distinguishing version number. If the Program

specifies a version number of this License which applies to it and "any

later version", you have the option of following the terms and conditions

either of that version or of any later version published by the Free

Software Foundation. If the Program does not specify a version number of

this License, you may choose any version ever published by the Free Software

Foundation.

10. If you wish to incorporate parts of the Program into other free

programs whose distribution conditions are different, write to the author

to ask for permission. For software which is copyrighted by the Free

Software Foundation, write to the Free Software Foundation; we sometimes

make exceptions for this. Our decision will be guided by the two goals

of preserving the free status of all derivatives of our free software and

of promoting the sharing and reuse of software generally.

NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY

FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN

OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES

PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED

OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF

MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS

TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE

PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,

REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING

WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR

REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,

INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING

OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED

TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY

YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER

PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE

POSSIBILITY OF SUCH DAMAGES.

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest

possible use to the public, the best way to achieve this is to make it

free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest

to attach them to the start of each source file to most effectively

convey the exclusion of warranty; and each file should have at least

the "copyright" line and a pointer to where the full notice is found.

<one line to give the program's name and a brief idea of what it does.>

Copyright (C) <year> <name of author>

This program is free software; you can redistribute it and/or modify

it under the terms of the GNU General Public License as published by

the Free Software Foundation; either version 2 of the License, or

(at your option) any later version.

This program is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

GNU General Public License for more details.

You should have received a copy of the GNU General Public License

along with this program; if not, write to the Free Software

Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this

when it starts in an interactive mode:

Gnomovision version 69, Copyright (C) year name of author

Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.

This is free software, and you are welcome to redistribute it

under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate

parts of the General Public License. Of course, the commands you use may

be called something other than `show w' and `show c'; they could even be

mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your

school, if any, to sign a "copyright disclaimer" for the program, if

necessary. Here is a sample; alter the names:

Yoyodyne, Inc., hereby disclaims all copyright interest in the program

`Gnomovision' (which makes passes at compilers) written by James Hacker.

<signature of Ty Coon>, 1 April 1989

Ty Coon, President of Vice

This General Public License does not permit incorporating your program into

proprietary programs. If your program is a subroutine library, you may

consider it more useful to permit linking proprietary applications with the

library. If this is what you want to do, use the GNU Library General

Public License instead of this License.

# GNU General Public License, v.2, with Classpath Exception

GNU General Public License, version 2, with the Classpath Exception

The GNU General Public License (GPL)

Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc.

59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.

Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.

The precise terms and conditions for copying, distribution and modification follow.

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.

b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.

7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.

This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.

9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.

NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.

One line to give the program's name and a brief idea of what it does.

Copyright (C) <year> <name of author>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this when it starts in an interactive mode:

Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free software, and you are welcome to redistribute it under certain conditions; type 'show c' for details.

The hypothetical commands 'show w' and 'show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than 'show w' and 'show c'; they could even be mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:

Yoyodyne, Inc., hereby disclaims all copyright interest in the program 'Gnomovision' (which makes passes at compilers) written by James Hacker.

signature of Ty Coon, 1 April 1989

Ty Coon, President of Vice

This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.

"CLASSPATH" EXCEPTION TO THE GPL

Certain source files distributed by Oracle America and/or its affiliates are subject to the following clarification and special exception to the GPL, but only where Oracle has expressly included in the particular source file's header the words "Oracle designates this particular file as subject to the "Classpath" exception as provided by Oracle in the LICENSE file that accompanied this code."

Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.

As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.

ADDITIONAL INFORMATION ABOUT LICENSING

Certain files distributed by Oracle America, Inc. and/or its affiliates are subject to the following clarification and special exception to the GPLv2, based on the GNU Project exception for its Classpath libraries, known as the GNU Classpath Exception.

Note that Oracle includes multiple, independent programs in this software package. Some of those programs are provided under licenses deemed incompatible with the GPLv2 by the Free Software Foundation and others. For example, the package includes programs licensed under the Apache License, Version 2.0 and may include FreeType. Such programs are licensed to you under their original licenses.

Oracle facilitates your further distribution of this package by adding the Classpath Exception to the necessary parts of its GPLv2 code, which permits you to use that code in combination with other independent modules not licensed under the GPLv2. However, note that this would not permit you to commingle code under an incompatible license with Oracle's GPLv2 licensed code by, for example, cutting and pasting such code into a file also containing Oracle's GPLv2 licensed code and then distributing the result.

Additionally, if you were to remove the Classpath Exception from any of the files to which it applies and distribute the result, you would likely be required to license some or all of the other code in that distribution under the GPLv2 as well, and since the GPLv2 is incompatible with the license terms of some items included in the distribution by Oracle, removing the Classpath Exception could therefore effectively compromise your ability to further distribute the package.

Failing to distribute notices associated with some files may also create unexpected legal consequences.

Proceed with caution and we recommend that you obtain the advice of a lawyer skilled in open source matters before removing the Classpath Exception or making modifications to this package which may subsequently be redistributed and/or involve the use of third party software.

# ISC License

Copyright <YEAR> <OWNER>

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

# Inno Setup License

Except where otherwise noted, all of the documentation and software included in the Inno Setup package is copyrighted by Jordan Russell.

Copyright (C) 1997-2022 Jordan Russell. All rights reserved.
Portions Copyright (C) 2000-2022 Martijn Laan. All rights reserved.

This software is provided "as-is," without any express or implied warranty. In no event shall the author be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter and redistribute it, provided that the following conditions are met:

1. All redistributions of source code files must retain all copyright notices that are currently in place, and this list of conditions without modification.

2. All redistributions in binary form must retain all occurrences of the above copyright notice and web site addresses that are currently in place (for example, in the About boxes).

3. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software to distribute a product, an acknowledgment in the product documentation would be appreciated but is not required.

4. Modified versions in source or binary form must be plainly marked as such, and must not be misrepresented as being the original software.

Jordan Russell
jr-2010 AT jrsoftware.org
http://www.jrsoftware.org/

# MIT Software License

The MIT License (MIT)

Copyright (c) <year> <copyright holders>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

# Mozilla Public License, v.2.0 (MPL-2.0)

Mozilla Public License

Version 2.0

1. Definitions 1.1. "Contributor" means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software.

1.2. "Contributor Version" means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor’s Contribution.

1.3. "Contribution" means Covered Software of a particular Contributor.

1.4. "Covered Software" means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof.

1.5. "Incompatible With Secondary Licenses" means

that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or

that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License.

1.6. "Executable Form" means any form of the work other than Source Code Form.

1.7. "Larger Work" means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software.

1.8. "License" means this document.

1.9. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License.

1.10. "Modifications" means any of the following:

any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or

any new file in Source Code Form that contains any Covered Software.

1.11. "Patent Claims" of a Contributor means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version.

1.12. "Secondary License" means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses.

1.13. "Source Code Form" means the form of the work preferred for making modifications.

1.14. "You" (or "Your") means an individual or a legal entity exercising rights under this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.

2. License Grants and Conditions 2.1. Grants Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:

under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and

under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version.

2.2. Effective Date The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution.

2.3. Limitations on Grant Scope The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor:

for any code that a Contributor has removed from Covered Software; or

for infringements caused by: (i) Your and any other third party’s modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or

under Patent Claims infringed by Covered Software in the absence of its Contributions.

This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4).

2.4. Subsequent Licenses No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3).

2.5. Representation Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License.

2.6. Fair Use This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents.

2.7. Conditions Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1.

3. Responsibilities 3.1. Distribution of Source Form All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients’ rights in the Source Code Form.

3.2. Distribution of Executable Form If You distribute Covered Software in Executable Form then:

such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and

You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients’ rights in the Source Code Form under this License.

3.3. Distribution of a Larger Work You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s).

3.4. Notices You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies.

3.5. Application of Additional Terms You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction.

4. Inability to Comply Due to Statute or Regulation If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.

5. Termination 5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice.

5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate.

5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination.

6. Disclaimer of Warranty Covered Software is provided under this License on an "as is" basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer.

7. Limitation of Liability Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party’s negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You.

8. Litigation Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party’s ability to bring cross-claims or counter-claims.

9. Miscellaneous This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor.

10. Versions of the License 10.1. New Versions Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number.

10.2. Effect of New Versions You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward.

10.3. Modified Versions If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License).

10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached.

Exhibit A - Source Code Form License Notice This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.

If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice.

You may add additional accurate notices of copyright ownership.

Exhibit B - "Incompatible With Secondary Licenses" Notice This Source Code Form is "Incompatible With Secondary Licenses", as defined by the Mozilla Public License, v. 2.0.

# Unlicense

This is free and unencumbered software released into the public domain. Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

For more information, please refer to <http://unlicense.org/>

## 适用于：